<?xml version="1.0" standalone="no"?>
<!-- Creator: fig2dev Version 3.2.7a -->
<!-- CreationDate: 2021-03-26 21:43:47 -->
<!-- Magnification: 1.05 -->
<svg	xmlns="http://www.w3.org/2000/svg"
	xmlns:xlink="http://www.w3.org/1999/xlink"
	width="657pt" height="175pt"
	viewBox="123 3720 10419 2772">
<g fill="none">
<!-- Line -->
<defs>
<clipPath id="cp0">
	<path clip-rule="evenodd" d="M 123,3720 H 10542 V 6492 H 123 z
		M 1663,4845 1775,4791 1702,4891 1815,4771 1801,4755z"/>
</clipPath>
</defs>
<polyline points=" 1260,5220 1800,4770" clip-path="url(#cp0)"
	stroke="#000000" stroke-width="15px"/>
<!-- Forward arrow to point 1800,4770 -->
<polyline points=" 1663,4845 1775,4791 1702,4891"
	stroke="#000000" stroke-width="15px" stroke-miterlimit="8"/>
<!-- Line -->
<defs>
<clipPath id="cp1">
	<path clip-rule="evenodd" d="M 123,3720 H 10542 V 6492 H 123 z
		M 1647,5235 1767,5265 1647,5295 1811,5276 1811,5255z"/>
</clipPath>
</defs>
<polyline points=" 1260,5265 1800,5265" clip-path="url(#cp1)"
	stroke="#000000" stroke-width="15px"/>
<!-- Forward arrow to point 1800,5265 -->
<polyline points=" 1647,5235 1767,5265 1647,5295"
	stroke="#000000" stroke-width="15px" stroke-miterlimit="8"/>
<!-- Line -->
<defs>
<clipPath id="cp2">
	<path clip-rule="evenodd" d="M 123,3720 H 10542 V 6492 H 123 z
		M 1689,5560 1772,5652 1656,5610 1803,5685 1815,5667z"/>
</clipPath>
</defs>
<polyline points=" 1260,5310 1800,5670" clip-path="url(#cp2)"
	stroke="#000000" stroke-width="15px"/>
<!-- Forward arrow to point 1800,5670 -->
<polyline points=" 1689,5560 1772,5652 1656,5610"
	stroke="#000000" stroke-width="15px" stroke-miterlimit="8"/>
<!-- Line -->
<defs>
<clipPath id="cp3">
	<path clip-rule="evenodd" d="M 123,3720 H 10542 V 6492 H 123 z
		M 3447,5640 3567,5670 3447,5700 3611,5681 3611,5660z"/>
</clipPath>
</defs>
<polyline points=" 2970,5670 3600,5670" clip-path="url(#cp3)"
	stroke="#000000" stroke-width="15px"/>
<!-- Forward arrow to point 3600,5670 -->
<polyline points=" 3447,5640 3567,5670 3447,5700"
	stroke="#000000" stroke-width="15px" stroke-miterlimit="8"/>
<!-- Line -->
<defs>
<clipPath id="cp4">
	<path clip-rule="evenodd" d="M 123,3720 H 10542 V 6492 H 123 z
		M 3447,5190 3567,5220 3447,5250 3611,5231 3611,5210z"/>
</clipPath>
</defs>
<polyline points=" 2970,5220 3600,5220" clip-path="url(#cp4)"
	stroke="#000000" stroke-width="15px"/>
<!-- Forward arrow to point 3600,5220 -->
<polyline points=" 3447,5190 3567,5220 3447,5250"
	stroke="#000000" stroke-width="15px" stroke-miterlimit="8"/>
<!-- Line -->
<defs>
<clipPath id="cp5">
	<path clip-rule="evenodd" d="M 123,3720 H 10542 V 6492 H 123 z
		M 3447,4740 3567,4770 3447,4800 3611,4781 3611,4760z"/>
</clipPath>
</defs>
<polyline points=" 2970,4770 3600,4770" clip-path="url(#cp5)"
	stroke="#000000" stroke-width="15px"/>
<!-- Forward arrow to point 3600,4770 -->
<polyline points=" 3447,4740 3567,4770 3447,4800"
	stroke="#000000" stroke-width="15px" stroke-miterlimit="8"/>
<!-- Line -->
<defs>
<clipPath id="cp6">
	<path clip-rule="evenodd" d="M 123,3720 H 10542 V 6492 H 123 z
		M 7947,5235 8067,5265 7947,5295 8111,5276 8111,5255z"/>
</clipPath>
</defs>
<polyline points=" 7110,5265 8100,5265" clip-path="url(#cp6)"
	stroke="#000000" stroke-width="15px"/>
<!-- Forward arrow to point 8100,5265 -->
<polyline points=" 7947,5235 8067,5265 7947,5295"
	stroke="#000000" stroke-width="15px" stroke-miterlimit="8"/>
<!-- Line -->
<defs>
<clipPath id="cp7">
	<path clip-rule="evenodd" d="M 123,3720 H 10542 V 6492 H 123 z
		M 7947,4845 8069,4828 7970,4901 8114,4821 8106,4801z"/>
</clipPath>
</defs>
<polyline points=" 7110,5220 8100,4815" clip-path="url(#cp7)"
	stroke="#000000" stroke-width="15px"/>
<!-- Forward arrow to point 8100,4815 -->
<polyline points=" 7947,4845 8069,4828 7970,4901"
	stroke="#000000" stroke-width="15px" stroke-miterlimit="8"/>
<!-- Line -->
<defs>
<clipPath id="cp8">
	<path clip-rule="evenodd" d="M 123,3720 H 10542 V 6492 H 123 z
		M 7976,5710 8070,5790 7950,5763 8105,5819 8114,5800z"/>
</clipPath>
</defs>
<polyline points=" 7110,5310 8100,5805" clip-path="url(#cp8)"
	stroke="#000000" stroke-width="15px"/>
<!-- Forward arrow to point 8100,5805 -->
<polyline points=" 7976,5710 8070,5790 7950,5763"
	stroke="#000000" stroke-width="15px" stroke-miterlimit="8"/>
<!-- Line -->
<defs>
<clipPath id="cp9">
	<path clip-rule="evenodd" d="M 123,3720 H 10542 V 6492 H 123 z
		M 7947,4740 8067,4770 7947,4800 8111,4781 8111,4760z"/>
</clipPath>
</defs>
<polyline points=" 4860,4770 8100,4770" clip-path="url(#cp9)"
	stroke="#000000" stroke-width="15px"/>
<!-- Forward arrow to point 8100,4770 -->
<polyline points=" 7947,4740 8067,4770 7947,4800"
	stroke="#000000" stroke-width="15px" stroke-miterlimit="8"/>
<!-- Line -->
<defs>
<clipPath id="cp10">
	<path clip-rule="evenodd" d="M 123,3720 H 10542 V 6492 H 123 z
		M 7952,5171 8067,5216 7944,5231 8109,5232 8112,5211z"/>
</clipPath>
</defs>
<polyline points=" 4860,4815 8100,5220" clip-path="url(#cp10)"
	stroke="#000000" stroke-width="15px"/>
<!-- Forward arrow to point 8100,5220 -->
<polyline points=" 7952,5171 8067,5216 7944,5231"
	stroke="#000000" stroke-width="15px" stroke-miterlimit="8"/>
<!-- Line -->
<defs>
<clipPath id="cp11">
	<path clip-rule="evenodd" d="M 123,3720 H 10542 V 6492 H 123 z
		M 7947,5865 8067,5895 7947,5925 8111,5906 8111,5885z"/>
</clipPath>
</defs>
<polyline points=" 7110,5895 8100,5895" clip-path="url(#cp11)"
	stroke="#000000" stroke-width="15px"/>
<!-- Forward arrow to point 8100,5895 -->
<polyline points=" 7947,5865 8067,5895 7947,5925"
	stroke="#000000" stroke-width="15px" stroke-miterlimit="8"/>
<!-- Line -->
<rect x="135" y="3960" width="6975" height="2520"
	stroke="#000000" stroke-width="8px" stroke-dasharray="40 40"/>
<!-- Line -->
<defs>
<clipPath id="cp12">
	<path clip-rule="evenodd" d="M 123,3720 H 10542 V 6492 H 123 z
		M 5697,5190 5817,5220 5697,5250 5861,5231 5861,5210z"/>
</clipPath>
</defs>
<polyline points=" 4860,5220 5850,5220" clip-path="url(#cp12)"
	stroke="#000000" stroke-width="15px"/>
<!-- Forward arrow to point 5850,5220 -->
<polyline points=" 5697,5190 5817,5220 5697,5250"
	stroke="#000000" stroke-width="15px" stroke-miterlimit="8"/>
<!-- Line -->
<defs>
<clipPath id="cp13">
	<path clip-rule="evenodd" d="M 123,3720 H 10542 V 6492 H 123 z
		M 7955,5793 8067,5844 7944,5852 8108,5862 8112,5842z"/>
</clipPath>
</defs>
<polyline points=" 4860,5265 8100,5850" clip-path="url(#cp13)"
	stroke="#a14000" stroke-width="15px"/>
<!-- Forward arrow to point 8100,5850 -->
<polyline points=" 7955,5793 8067,5844 7944,5852"
	stroke="#a14000" stroke-width="15px" stroke-miterlimit="8"/>
<!-- Line -->
<rect x="8100" y="3960" width="2430" height="2520"
	stroke="#000000" stroke-width="8px" stroke-dasharray="40 40"/>
<!-- Text -->
<text xml:space="preserve" x="180" y="6165" fill="#ff0000" font-family="Times" font-style="normal" font-weight="normal" font-size="120" text-anchor="start">backend available</text>
<!-- Text -->
<text xml:space="preserve" x="1890" y="4860" fill="#000000" font-family="Times" font-style="normal" font-weight="normal" font-size="168" text-anchor="start">libusb 0.1</text>
<!-- Text -->
<text xml:space="preserve" x="1890" y="5310" fill="#000000" font-family="Times" font-style="normal" font-weight="normal" font-size="168" text-anchor="start">libusb 1.0</text>
<!-- Text -->
<text xml:space="preserve" x="1890" y="5760" fill="#000000" font-family="Times" font-style="normal" font-weight="normal" font-size="168" text-anchor="start">OpenUSB</text>
<!-- Text -->
<text xml:space="preserve" x="180" y="5940" fill="#ff0000" font-family="Times" font-style="normal" font-weight="normal" font-size="120" text-anchor="start">otherwise: No </text>
<!-- Text -->
<text xml:space="preserve" x="180" y="5310" fill="#000000" font-family="Times" font-style="normal" font-weight="normal" font-size="168" text-anchor="start">PyUSB</text>
<!-- Text -->
<text xml:space="preserve" x="180" y="5490" fill="#000000" font-family="Times" font-style="normal" font-weight="normal" font-size="120" text-anchor="start">needs one</text>
<!-- Text -->
<text xml:space="preserve" x="180" y="5670" fill="#000000" font-family="Times" font-style="normal" font-weight="normal" font-size="120" text-anchor="start">backend with .dll/.so</text>
<!-- Text -->
<text xml:space="preserve" x="3600" y="5040" fill="#000000" font-family="Times" font-style="normal" font-weight="normal" font-size="168" text-anchor="start">libusb-0.1.so</text>
<!-- Text -->
<text xml:space="preserve" x="3600" y="5310" fill="#000000" font-family="Times" font-style="normal" font-weight="normal" font-size="168" text-anchor="start">libusb-1.0.dll</text>
<!-- Text -->
<text xml:space="preserve" x="3600" y="5535" fill="#000000" font-family="Times" font-style="normal" font-weight="normal" font-size="168" text-anchor="start">libusb-1.0.so</text>
<!-- Text -->
<text xml:space="preserve" x="3600" y="5760" fill="#000000" font-family="Times" font-style="normal" font-weight="normal" font-size="168" text-anchor="start">libopenusb.so</text>
<!-- Text -->
<text xml:space="preserve" x="3600" y="4410" fill="#000000" font-family="Times" font-style="normal" font-weight="normal" font-size="168" text-anchor="start">Libraries</text>
<!-- Text -->
<text xml:space="preserve" x="1890" y="4590" fill="#008f00" font-family="Times" font-style="normal" font-weight="normal" font-size="120" text-anchor="start">written in python</text>
<!-- Text -->
<text xml:space="preserve" x="3600" y="4590" fill="#008f00" font-family="Times" font-style="normal" font-weight="normal" font-size="120" text-anchor="start">written in C</text>
<!-- Text -->
<text xml:space="preserve" x="1890" y="4410" fill="#000000" font-family="Times" font-style="normal" font-weight="normal" font-size="168" text-anchor="start">Backends</text>
<!-- Text -->
<text xml:space="preserve" x="3600" y="6030" fill="#008f00" font-family="Times" font-style="normal" font-weight="normal" font-size="120" text-anchor="start">.so for Linux</text>
<!-- Text -->
<text xml:space="preserve" x="3600" y="6300" fill="#008f00" font-family="Times" font-style="normal" font-weight="normal" font-size="120" text-anchor="start">.dll for Windows</text>
<!-- Text -->
<text xml:space="preserve" x="3600" y="4860" fill="#000000" font-family="Times" font-style="normal" font-weight="normal" font-size="168" text-anchor="start">libusb0.dll</text>
<!-- Text -->
<text xml:space="preserve" x="1260" y="3870" fill="#000000" font-family="Times" font-style="normal" font-weight="normal" font-size="144" text-anchor="start">Usermode</text>
<!-- Text -->
<text xml:space="preserve" x="5940" y="5310" fill="#000000" font-family="Times" font-style="normal" font-weight="normal" font-size="168" text-anchor="start">libusbK.dll</text>
<!-- Text -->
<text xml:space="preserve" x="8370" y="3870" fill="#000000" font-family="Times" font-style="normal" font-weight="normal" font-size="144" text-anchor="start">Windows kernel</text>
<!-- Text -->
<text xml:space="preserve" x="8190" y="4230" fill="#000000" font-family="Times" font-style="normal" font-weight="normal" font-size="144" text-anchor="start">An USB device can use</text>
<!-- Text -->
<text xml:space="preserve" x="8190" y="4455" fill="#000000" font-family="Times" font-style="normal" font-weight="normal" font-size="144" text-anchor="start">one of the following:</text>
<!-- Text -->
<text xml:space="preserve" x="8190" y="6120" fill="#008f00" font-family="Times" font-style="normal" font-weight="normal" font-size="120" text-anchor="start">From Microsoft, no</text>
<!-- Text -->
<text xml:space="preserve" x="8190" y="6300" fill="#008f00" font-family="Times" font-style="normal" font-weight="normal" font-size="120" text-anchor="start">driver installation needed</text>
<!-- Text -->
<text xml:space="preserve" x="8190" y="5400" fill="#000000" font-family="Times" font-style="normal" font-weight="normal" font-size="168" text-anchor="start">libusbK.sys</text>
<!-- Text -->
<text xml:space="preserve" x="8190" y="5940" fill="#000000" font-family="Times" font-style="normal" font-weight="normal" font-size="168" text-anchor="start">winusb.sys</text>
<!-- Text -->
<text xml:space="preserve" x="8190" y="4860" fill="#000000" font-family="Times" font-style="normal" font-weight="normal" font-size="168" text-anchor="start">libusb0.sys</text>
<!-- Text -->
<text xml:space="preserve" x="5940" y="5940" fill="#000000" font-family="Times" font-style="normal" font-weight="normal" font-size="168" text-anchor="start">winusb.dll</text>
<!-- Text -->
<text xml:space="preserve" x="8190" y="5040" fill="#008f00" font-family="Times" font-style="normal" font-weight="normal" font-size="120" text-anchor="start">WDM kernel driver, LGPL</text>
<!-- Text -->
<text xml:space="preserve" x="8190" y="5580" fill="#008f00" font-family="Times" font-style="normal" font-weight="normal" font-size="120" text-anchor="start">KMDF kernel driver, GPL/BSD</text>
<!-- Text -->
<text xml:space="preserve" x="5535" y="5580" fill="#803000" font-family="Times" font-style="normal" font-weight="normal" font-size="120" text-anchor="start">fallback</text>
</g>
</svg>
