diff --git a/bin/update-typeshed.sh b/bin/update-typeshed.sh index 86f514e0f..53b7b01cb 100755 --- a/bin/update-typeshed.sh +++ b/bin/update-typeshed.sh @@ -7,7 +7,7 @@ set -euxo pipefail cd ../micropython-microbit-stubs python3 scripts/browser-package.py -branch=main +branch=${1:-main} cd - mkdir -p "src/micropython/${branch}/" cp ../micropython-microbit-stubs/typeshed.*.json "src/micropython/${branch}/" diff --git a/src/micropython/beta/microbit-micropython-v2.hex b/src/micropython/beta/microbit-micropython-v2.hex new file mode 100644 index 000000000..c43e9e5c7 --- /dev/null +++ b/src/micropython/beta/microbit-micropython-v2.hex @@ -0,0 +1,28537 @@ +:1000000000040020810A000015070000610A0000BA +:100010001F07000029070000330700000000000050 +:10002000000000000000000000000000A50A000021 +:100030003D070000000000004707000051070000D6 +:100040005B070000650700006F07000079070000EC +:10005000830700008D07000097070000A10700003C +:10006000AB070000B5070000BF070000C90700008C +:10007000D3070000DD070000E7070000F1070000DC +:10008000FB070000050800000F0800001908000029 +:10009000230800002D080000370800004108000078 +:1000A0004B080000550800005F08000069080000C8 +:1000B000730800007D080000870800009108000018 +:1000C0009B080000A5080000AF080000B908000068 +:1000D000C3080000CD080000D7080000E1080000B8 +:1000E000EB080000F5080000FF0800000909000007 +:1000F000130900001D090000270900003109000054 +:100100003B0900001FB500F003F88DE80F001FBD8C +:1001100000F0ACBC40F6FC7108684FF01022401CA7 +:1001200008D00868401C09D00868401C04D0086842 +:1001300000F037BA9069F5E79069F9E7704770B554 +:100140000B46010B184400F6FF70040B4FF0805073 +:100150000022090303692403406943431D1B104621 +:1001600000F048FA29462046BDE8704000F042BA47 +:10017000F0B54FF6FF734FF4B4751A466E1E11E0DA +:10018000A94201D3344600E00C46091B30F8027B3B +:10019000641E3B441A44F9D19CB204EB134394B25D +:1001A00004EB12420029EBD198B200EB134002EBB2 +:1001B000124140EA0140F0BDF34992B00446D1E952 +:1001C0000001CDE91001FF224021684600F0F4FB58 +:1001D00094E80F008DE80F00684610A902E004C8FB +:1001E00041F8042D8842FAD110216846FFF7C0FF7C +:1001F0001090AA208DF8440000F099F9FFF78AFFCB +:1002000040F6FC7420684FF01025401C0FD0206889 +:1002100010226946803000F078F92068401C08D030 +:100220002068082210A900F070F900F061F9A869AF +:10023000EEE7A869F5E74FF080500369406940F6A2 +:10024000FC71434308684FF01022401C06D0086838 +:1002500000F58050834203D2092070479069F7E788 +:100260000868401C04D00868401C03D00020704778 +:100270009069F9E70420704770B504460068C34DE3 +:10028000072876D2DFE800F033041929631E250021 +:10029000D4E9026564682946304600F062F92A46CE +:1002A0002146304600F031F9AA002146304600F0E0 +:1002B00057FB002800D0032070BD00F009FC4FF46C +:1002C000805007E0201D00F040F90028F4D100F034 +:1002D000FFFB60682860002070BD241D94E80700C3 +:1002E000920000F03DFB0028F6D00E2070BDFFF715 +:1002F000A2FF0028FAD1D4E901034FF0805100EBAE +:10030000830208694D69684382420ED840F6F8704E +:1003100005684FF010226D1C09D0056805EB8305B8 +:100320000B6949694B439D4203D9092070BD55694A +:10033000F4E70168491C03D00068401C02D003E0C8 +:100340005069FAE70F2070BD2046FFF735FFFFF731 +:1003500072FF0028F7D1201D00F0F7F80028F2D135 +:1003600060680028F0D100F0E2F8FFF7D3FE00F05B +:10037000BFF8072070BD10B50C46182802D0012028 +:10038000086010BD2068FFF777FF206010BD41684E +:10039000054609B1012700E0002740F6F8742068FF +:1003A0004FF01026401C2BD02068AA68920000F065 +:1003B000D7FA38B3A86881002068401C27D020688D +:1003C000FFF7BDFED7B12068401C22D026684FF051 +:1003D0008050AC686D68016942695143A9420DD9EA +:1003E000016940694143A14208D92146304600F0E5 +:1003F000B8F822462946304600F087F800F078F831 +:100400007069D2E700F093F8FFF784FEF6E77069B1 +:10041000D6E77669DBE740F6FC7420684FF01026DB +:10042000401C23D02068401C0CD02068401C1FD0EA +:100430002568206805F18005401C1BD027683879A5 +:10044000AA2819D040F6F8700168491C42D001680A +:10045000491C45D00168491C3ED001680968491C07 +:100460003ED00168491C39D000683EE0B069DAE747 +:10047000B569DEE7B769E2E710212846FFF778FEA5 +:100480003968814222D12068401C05D0D4F8001080 +:1004900001F18002C03107E0B169F9E730B108CA63 +:1004A00051F8040D984201D1012000E000208A4259 +:1004B000F4D158B1286810B1042803D0FEE72846CB +:1004C000FFF765FF3149686808600EE0FFF722FE1C +:1004D00000F00EF87169BBE77169BFE7706904E06D +:1004E0004FF480500168491C01D000F0CBFAFEE7C0 +:1004F000BFF34F8F26480168264A01F4E06111439B +:100500000160BFF34F8F00BFFDE72DE9F0411746B3 +:100510000D460646002406E03046296800F054F8EF +:10052000641C2D1D361DBC42F6D3BDE8F08140F69B +:10053000FC700168491C04D0D0F800004FF48051D1 +:10054000FDE54FF010208069F8E74FF080510A690F +:10055000496900684A43824201D810207047002050 +:10056000704770B50C4605464FF4806608E0284693 +:1005700000F017F8B44205D3A4F5806405F5805562 +:10058000002CF4D170BD0000F40A0000000000202F +:100590000CED00E00400FA05144801680029FCD0C5 +:1005A0007047134A0221116010490B68002BFCD0E0 +:1005B0000F4B1B1D186008680028FCD0002010603D +:1005C00008680028FCD07047094B10B501221A605A +:1005D000064A1468002CFCD0016010680028FCD08A +:1005E0000020186010680028FCD010BD00E4014015 +:1005F00004E5014070B50C46054600F073F810B9EB +:1006000000F07EF828B121462846BDE8704000F091 +:1006100007B821462846BDE8704000F037B8000012 +:100620007FB5002200920192029203920A0B000B06 +:100630006946012302440AE0440900F01F0651F80C +:10064000245003FA06F6354341F82450401C8242F8 +:10065000F2D80D490868009A10430860081D016827 +:10066000019A1143016000F03DF800280AD00649C4 +:1006700010310868029A10430860091D0868039A3F +:10068000104308607FBD00000006004030B50F4CED +:10069000002200BF04EB0213D3F800582DB9D3F8A1 +:1006A000045815B9D3F808581DB1521C082AF1D3C3 +:1006B00030BD082AFCD204EB0212C2F80008C3F8CD +:1006C00004180220C3F8080830BD000000E0014013 +:1006D0004FF08050D0F83001082801D0002070473A +:1006E000012070474FF08050D0F83011062905D016 +:1006F000D0F83001401C01D0002070470120704725 +:100700004FF08050D0F830010A2801D00020704707 +:100710000120704708208F490968095808471020B0 +:100720008C4909680958084714208A4909680958FA +:100730000847182087490968095808473020854923 +:100740000968095808473820824909680958084744 +:100750003C20804909680958084740207D490968BC +:100760000958084744207B49096809580847482028 +:1007700078490968095808474C207649096809589A +:10078000084750207349096809580847542071499F +:1007900009680958084758206E49096809580847E8 +:1007A0005C206C4909680958084760206949096854 +:1007B00009580847642067490968095808476820AC +:1007C00064490968095808476C2062490968095852 +:1007D000084770205F4909680958084774205D4937 +:1007E00009680958084778205A490968095808478C +:1007F0007C205849096809580847802055490968EC +:10080000095808478420534909680958084788202F +:1008100050490968095808478C204E490968095809 +:10082000084790204B4909680958084794204949CE +:10083000096809580847982046490968095808472F +:100840009C204449096809580847A0204149096883 +:1008500009580847A4203F49096809580847A820B3 +:100860003C49096809580847AC203A4909680958C1 +:100870000847B0203749096809580847B420354966 +:10088000096809580847B8203249096809580847D3 +:10089000BC203049096809580847C0202D4909681B +:1008A00009580847C4202B49096809580847C82037 +:1008B0002849096809580847CC2026490968095879 +:1008C0000847D0202349096809580847D4202149FE +:1008D000096809580847D8201E4909680958084777 +:1008E000DC201C49096809580847E02019490968B3 +:1008F00009580847E4201749096809580847E820BB +:100900001449096809580847EC2012490968095830 +:100910000847F0200F49096809580847F4200D4995 +:10092000096809580847F8200A490968095808471A +:10093000FC2008490968095808475FF48070054998 +:10094000096809580847000003480449024A034B54 +:100950007047000000000020000B0000000B0000AA +:1009600040EA010310B59B070FD1042A0DD310C82C +:1009700008C9121F9C42F8D020BA19BA884201D97E +:10098000012010BD4FF0FF3010BD1AB1D30703D0C6 +:10099000521C07E0002010BD10F8013B11F8014B7C +:1009A0001B1B07D110F8013B11F8014B1B1B01D198 +:1009B000921EF1D1184610BD02F0FF0343EA032254 +:1009C00042EA024200F005B87047704770474FF0A6 +:1009D00000020429C0F0128010F0030C00F01B800C +:1009E000CCF1040CBCF1020F18BF00F8012BA8BF1A +:1009F00020F8022BA1EB0C0100F00DB85FEAC17CDE +:100A000024BF00F8012B00F8012B48BF00F8012B90 +:100A100070474FF0000200B51346944696462039C1 +:100A200022BFA0E80C50A0E80C50B1F12001BFF4A7 +:100A3000F7AF090728BFA0E80C5048BF0CC05DF80D +:100A400004EB890028BF40F8042B08BF704748BF5B +:100A500020F8022B11F0804F18BF00F8012B7047CF +:100A6000014B1B68DB6818470000002009480A4951 +:100A70007047FFF7FBFFFFF745FB00BD20BFFDE719 +:100A8000064B1847064A1060016881F308884068E1 +:100A900000470000000B0000000B000017040000DE +:100AA000000000201EF0040F0CBFEFF30881EFF3ED +:100AB0000981886902380078182803D100E0000015 +:100AC000074A1047074A12682C3212681047000084 +:100AD00000B5054B1B68054A9B58984700BD0000B0 +:100AE0007703000000000020F00A0000040000006E +:100AF000001000000000000000FFFFFF0090D00386 +:10100000B00F002021AE010065B0000087AD0100E7 +:1010100065B0000065B0000065B000000000000091 +:10102000000000000000000000000000ADAE010064 +:1010300065B000000000000065B0000065B0000071 +:1010400015AF01001BAF010065B0000065B00000E6 +:1010500065B0000065B0000065B0000065B000003C +:1010600021AF010065B0000065B0000027AF0100AE +:1010700065B000002DAF010033AF010039AF0100B2 +:1010800065B0000065B0000065B0000065B000000C +:1010900065B0000065B0000065B0000065B00000FC +:1010A00065B000003FAF010065B0000065B0000012 +:1010B00065B0000065B0000065B0000065B00000DC +:1010C00045AF010065B0000065B0000065B00000EC +:1010D00065B0000065B0000065B0000065B00000BC +:1010E00065B0000065B0000065B0000065B00000AC +:1010F00065B0000065B0000065B0000065B000009C +:1011000065B0000065B0000000F002F819F077FE4D +:101110000AA090E8000C82448344AAF10107DA4552 +:1011200001D119F06CFEAFF2090EBAE80F0013F00E +:10113000010F18BFFB1A43F00103184770A201000A +:1011400090A201000A4410F8014B14F00F0508BFEB +:1011500010F8015B240908BF10F8014B6D1E05D083 +:1011600010F8013B6D1E01F8013BF9D1641E03D05C +:10117000641E01F8015BFBD19142E4D3704700008B +:101180000023002400250026103A28BF78C1FBD890 +:10119000520728BF30C148BF0B6070471FB500F031 +:1011A00003F88DE80F001FBD19F026BE70B51B4C6B +:1011B00005460A202070A01C00F0D7F85920A08016 +:1011C00029462046BDE8704006F0FEBE06F00CBF82 +:1011D00070B50C461249097829B1A0F160015E2969 +:1011E00008D3012013E0602804D0692802D043F21C +:1011F00001000CE020CC0B4E94E80E0006EB8000C2 +:10120000A0F58050241FD0F8806E2846B04720609B +:1012100070BD0120704706207047000008000020C4 +:101220001800002074AF01003249884201D2012029 +:1012300070470020704770B50446A0F500002E4EA0 +:10124000B0F1786F02D23444A4F5000429488442F6 +:1012500001D2012500E0002500F043F848B125B98E +:10126000B44204D32548006808E0012070BD002086 +:1012700070BD002DF9D1B442F9D321488442F6D291 +:10128000F3E710B50446A0F50000B0F1786F03D283 +:1012900019480444A4F5000400F023F84FF08041FD +:1012A00030B11648006804E08C4204D2012003E00B +:1012B00013488442F8D2002080F0010010BD10B520 +:1012C00020B1FFF7DEFF08B1012010BD002010BDE6 +:1012D00010B520B1FFF7AFFF08B1012010BD00200D +:1012E00010BD084808490068884201D101207047B4 +:1012F0000020704700C00100000000201C000020FA +:101300000800002058000020BEBAFECA10B50446EE +:101310000021012000F041F800210B2000F03DF8F1 +:101320000021082000F039F80421192000F035F8D8 +:1013300004210D2000F031F804210E2000F02DF8DA +:1013400004210F2000F029F80421C84300F025F8FB +:101350000621162000F021F80621152000F01DF8C6 +:101360002046FFF723FF002010BDCC2101807047ED +:10137000FFF72CBF1148704710487047104A10B54E +:1013800014680F4B0F4A08331A60FFF721FF0C480F +:10139000001D046010BD704770474907090E002802 +:1013A00004DB00F1E02080F80014704700F00F002B +:1013B00000F1E02080F8141D7047000003F900429E +:1013C000100502400100000130B5FF4D0446062C17 +:1013D000A9780ED2DFE804F0030E0E0E0509FFDF38 +:1013E00008E0022906D0FFDF04E0032902D0FFDF76 +:1013F00000E0FFDFAC7030BDF34810B5407E41081F +:10140000F14800F11A0005D00DF043FBBDE8104093 +:1014100006F07ABC0DF024FBF8E730B50446A1F1E4 +:1014200020000D460A2847D2DFE800F005070C1916 +:10143000202532373C41FFDF3FE0207820283CD197 +:10144000FFDF3AE0E0488078052836D0207824286D +:1014500033D0252831D023282FD0FFDF2DE020786E +:1014600022282AD0232828D8FFDF26E02078222827 +:1014700023D0FFDF21E0207822281ED024281CD092 +:1014800026281AD0272818D0292816D0FFDF14E0E4 +:101490002078252811D0FFDF0FE0207825280CD0F8 +:1014A000FFDF0AE02078252807D0FFDF05E020785D +:1014B000282802D0FFDF00E0FFDF257030BD1FB518 +:1014C0000022ADF800200C88ADF802404B88ADF842 +:1014D0000430CA88ADF808208988ADF806100021CC +:1014E000ADF80A10ADF80C1080B14FF6FF70062170 +:1014F000844201D1ADF80210834201D1ADF804104D +:10150000824203D14FF44860ADF8080068460DF000 +:10151000BEFB06F0F9FB04B010BD70B514460D46D5 +:101520000646FFF788FE60B90DB1A54201D90C202F +:1015300070BD002409E000BF56F82400FFF77BFED1 +:1015400008B1102070BD641CE4B2AC42F4D300209A +:1015500070BD2DE9F04105461F4690460E46002419 +:101560000068FFF7B5FE30B9A98828680844401E16 +:10157000FFF7AEFE10B11020BDE8F081286800280A +:10158000A88802D0B84202D850E00028F4D0092040 +:10159000F2E72968085DB8B1671CCA5D152A2ED02C +:1015A0003CDC152A3AD2DFE802F039122222282840 +:1015B0002A2A313139393939393939393939220019 +:1015C000085D30BB641CA4B2A242F9D833E0022803 +:1015D000DDD1A01C085C88F80000072801D2400774 +:1015E00001D40A20C8E7307840F0010015E0C1437B +:1015F000C90707E0012807D010E00620BCE7010773 +:10160000A1F180510029F5D01846B5E7307881075F +:1016100001D50B20B0E740F0020030702868005D73 +:10162000384484B2A888A04202D2B0E74FF44853AD +:1016300082B2A242ADD800209EE710B502785408CD +:1016400009D0012243F20223012C07D0022C0DD035 +:10165000032C13D10FE00020087005E080790324EB +:10166000B4EB901F0AD10A70002010BD8079B2EB54 +:10167000901F03D1F7E780798009F4D0184610BD98 +:1016800008B500208DF800004F4890F8221051B1A5 +:1016900090F8230002280FD003280FD0FFDF00BFEF +:1016A0009DF8000008BD48486946193001F0C6F9A8 +:1016B0000028F5D0FFDFF3E7032000E001208DF8DC +:1016C0000000EDE738B50C460546694601F0B6F96D +:1016D00000280DD19DF80010207861F3470020709C +:1016E00055F8010FC4F80100A888A4F805000020EF +:1016F00038BD38B51378C0B1022816D033A46D4672 +:10170000246800944C7905EB9414247864F347031F +:10171000137003280ED003F0FE0010700868C2F8A2 +:1017200001008888A2F8050038BD23F0FE0313707D +:101730000228EED1D8B240F00100EEE702210EF00F +:10174000BDBC38B50C460978222901D2082038BD25 +:10175000ADF800008DF8022068460DF0D9F906F0CA +:10176000D3FA050003D121212046FFF756FE284673 +:1017700038BD1CB500208DF80000CDF80100ADF893 +:101780000500114890F82200022801D0012000E055 +:1017900000208DF8070068460DF024FA002800D0DC +:1017A000FFDF1CBD2DE9FF478CB00025BDF834607C +:1017B00082461C4690468DF81C50700703D5606821 +:1017C000FFF739FD90B903E0A00100200302FF01FB +:1017D000FE4F4FF0010997F8220058B197F8230007 +:1017E000022807D16068FFF773FD18B1102010B010 +:1017F000BDE8F087300702D5A089802815D870078A +:1018000004D4B8F1000F01D0387E70B1E07DC0F390 +:1018100000108DF81B00617D072041B1012906D021 +:101820000229E4D00429E2D117E00720DFE78DF890 +:1018300017908DF819908DF81580606878B107A918 +:10184000FFF7FBFE0028D2D1606850F8011FCDF8E9 +:101850000F108088ADF8130005E00620C7E7CDF82B +:101860000F50ADF81350E07B0028F6D1207C002803 +:10187000F3D1607C0028F0D1A07C0028EDD1E07C81 +:10188000C006EAD18DF800A0BDF83400ADF8020022 +:10189000A0680190A0680290CDA0D0E90010CDE929 +:1018A0000A10E07C0AA901EB501000788DF80C00BA +:1018B000FFF7E6FE8DF80D009DF81C008DF80E0078 +:1018C0008DF818508DF816508DF81A5009A96846F1 +:1018D0000DF02CFA06F018FA89E7F0B58FB0002465 +:1018E0008DF830408DF814408DF8344006468DF860 +:1018F0002840019402940394049419B10FC901ADD6 +:1019000085E80F00B14DA878052801D004280CD136 +:1019100001986968884200D120B90398E968884233 +:1019200003D110B108200FB0F0BD1F273B460DAA10 +:1019300005A903A8FFF70DFE0028F4D13B460AAA2B +:101940000CA901A8FFF705FE0028ECD19DF81400B2 +:10195000C00701D00A20E6E7A88A410708D4A97D7C +:1019600031B19DF82810890702D043F20120DAE74F +:101970009DF82810C90709D0400707D4288818B156 +:1019800044F25061884201D90720CCE78DF8184015 +:101990008DF81960BDF80800ADF81A00019807909D +:1019A00006A80DF0CEF906F0AFF90028BBD18DF8EE +:1019B00020408DF82160BDF81000ADF8220003989A +:1019C000099008A80DF0DFF906F09EF90028AAD1C9 +:1019D00001AC2D1D94E80F0085E80F000020A2E760 +:1019E00070B50646FFF7AAFE054606F06FFB040039 +:1019F00000D1FFDF6680207820F00F00801C20F0EF +:101A0000F000203020700320207295F83E006072B4 +:101A1000BDE8704006F05EBB2DE9F04385B00400E0 +:101A200000D1FFDF2078694E20F00F00801C20F0ED +:101A3000F0007030207060680178C91F14292AD224 +:101A4000DFE801F04DF3290AF3F33AF2292966F2AF +:101A5000F2F129F2F2F0EFF286883046FFF76EFEDF +:101A60000546304608F0BDF8C0B16068807985F859 +:101A70003E0021212846FFF7D0FC304603F0FAF95A +:101A8000304604F0ADFB3146012012F047F9A87F43 +:101A900020F01000A87705B0BDE8F083207820F092 +:101AA000F00020302070032020726680606880790A +:101AB000607206F00FFBDCE785882846FFF73EFEE4 +:101AC00000B9FFDF60688078012800D0FFDF606820 +:101AD000817905B02846BDE8F04308F04ABA868807 +:101AE0003046FFF72BFE050000D1FFDF06F0F2FACB +:101AF00060683146C08828816068008968816068B4 +:101B00004089A881012012F009F90020A875C2E7D8 +:101B1000807828B10228BED03C28BCD0FFDFBAE7CD +:101B200006F0D8FA6568A879AD1C00B9FFDFF77830 +:101B3000B5F80290B046384606F05FF8060000D1CE +:101B4000FFDF0022022148460EF0AFFA040000D168 +:101B5000FFDF22212046FFF760FCA17F012060F318 +:101B60000101A177298B2181698B6181A98BA181D9 +:101B700084F822708DF80800B0680090F068019039 +:101B80006A46032148460EF090FA00B9FFDFB0889C +:101B9000ADF81000B0788DF8120004AA052148466F +:101BA0000EF083FA00B9FFDFB088ADF80C00F078D2 +:101BB0008DF80E0003AA042148460EF076FA00B90B +:101BC000FFDF062105F1120006E00000A001002061 +:101BD000070605040302010000F04DFF30B36879E9 +:101BE000800700D5FFDF6979E07D61F34700E0758C +:101BF000D5F80600A0616889A083062105F10C00D4 +:101C000000F039FFE0B198F819104A08617862F3E2 +:101C100047016170D8F81A10C4F80210B8F81E0015 +:101C200017E028E020E033E02DE017E0E07D20F031 +:101C3000FE00801CE075D5F81200A061E88ADBE7A1 +:101C4000607820F0FE00801C6070E868C4F8020034 +:101C5000288AE0800320FFF7B7FB1CE705B0204689 +:101C6000BDE8F04301F092BC06F034FA16F8240FF8 +:101C700040F0020005E006F02DFA16F8240F40F0BF +:101C80000400307007E705B0BDE8F04306F022BA63 +:101C9000B178052909D00429DFD106F01BFA02200A +:101CA00005B0BDE8F043FFF78FBB80780028D4D0A3 +:101CB000F07800F0AAFE06F00DFA0320F0E72DE917 +:101CC000F047054600780027000991460C463E463D +:101CD000012871D0022870D007280AD00A286DD0B8 +:101CE000FFDF00BFA9F800600CB1278066800020EC +:101CF0007EE5D5F804C0DFF8448804F108009CF8BC +:101D000000204FF0010AD21F4FF6FF71142A76D23D +:101D1000DFE802F00AF9F9F9F9F9F91DF9F926C035 +:101D2000889DF91061D476EE12271026BCF80400C5 +:101D30002146F3E01C270A26ECB3BCF80200A08081 +:101D4000686800792072686840796072CAE71B276A +:101D5000092684B30320207268684088A080C1E708 +:101D60009CF802103C29BDD010272C260CF1020C47 +:101D70000CB3BCF80210A180BCF818106182BCF84A +:101D800018102182BCF81A10A182BCF81C10E18244 +:101D90009CF8053002460CF106011846FFF7A9FC35 +:101DA0009CF8040001289DD184F80FA00020207623 +:101DB00008F1040003E00BE0A8E0B2E0EAE090E8FC +:101DC0000E00D8F81000C4E90930C4E9071289E709 +:101DD000A9F800608BE720271126002CF8D0A180FD +:101DE000686804F10A02807820726868807A6072FC +:101DF00069680B1DC8781946FFF77BFC72E782E023 +:101E000021270A26002CE3D0BCF80200A0806868D5 +:101E10000079207268684079607298F8241021F087 +:101E2000040162E022270B26002CD1D0BCF804006C +:101E3000A0806868807820726868807900F02AFE47 +:101E400060726868C07900F025FEA0724AE7262714 +:101E50001C26002CBCD0A1806868C07860726868BD +:101E60008079A07208F1040090E80E00D8F8100004 +:101E7000C4E90530C4E90312686880783C2803D0BF +:101E8000432804D0FFDF2DE784F808A02AE70220CA +:101E9000207227E724271026002C99D0BCF80200D6 +:101EA000A0806868007920816868007A608168682D +:101EB000C088A08168684089E08113E72327102645 +:101EC000002C85D0BCF80200A08068688088208142 +:101ED0006868C088608168680089A08168684089F6 +:101EE000E08198F8241021F0020188F82410F9E626 +:101EF0002F272A26002C86D0A18069682222891CDF +:101F00000BF017FAEEE64A46214644E0287A02280A +:101F100001D0FFDFE6E612271026688800F098FD62 +:101F2000E0E6287AB0B3012835D0022833D0032860 +:101F300001D0FFDFD6E611270926002C8AD0B5F89C +:101F400002804046FFF7FAFB90F822A0A4F8048034 +:101F5000687A2072042140460EF0C2F805214046FE +:101F60000EF0BEF8002140460EF0BAF801214046BE +:101F70000EF0B6F8032140460EF0B2F802214046BA +:101F80000EF0AEF8062140460EF0AAF8504600F0DA +:101F90003CFDA7E6FFE72846BDE8F04701F02CBC72 +:101FA00070B5012801D0FFDF70BD8DB22846FFF764 +:101FB000C5FB040000D1FFDF20782128F4D006F013 +:101FC00085F880B1017821F00F01891C21F0F00122 +:101FD000103101700221017245800020A075BDE81A +:101FE000704006F077B821462846BDE870401322BD +:101FF000FFF7A7BB2DE9F04116460C00804600D143 +:10200000FFDF307820F00F00801C20F0F00010304F +:1020100030702078022802D0FFDFBDE8F081404612 +:10202000FFF78CFB050000D1FFDFA1884FF6FF70A2 +:102030000027814202D1E288824203D0814201D14D +:10204000E08840B106F046F894E80F00083686E8CC +:102050000F00AF75E1E7A87D0128DED178230022CB +:10206000414611F0B1FD0220A875D6E738B5054606 +:102070000C460846FFF7DFF8A8B9242D31D006DC5E +:10208000202D0AD0212D0AD0222D04D124E0252D87 +:102090001BD03F2D2DD0072038BD062038BD6068ED +:1020A000FFF70DF908B1102038BD618820886A4615 +:1020B0000CF0E1FF05F028FE0028F5D16168002949 +:1020C000F2D0BDF800200A8038BDA07800F00101F0 +:1020D00020880DF001F808E02068BDE8384001F0E4 +:1020E000C0BD618820880CF05FFFBDE8384005F076 +:1020F0000BBE207800F001008DF8000068460CF05F +:10210000BDFD05F001FE38BD70B505460C4608461C +:10211000FFF7B7F808B1102070BD202D07D0212D92 +:102120000DD0222D0BD0252D09D0072070BD208881 +:10213000A11C0CF03CFDBDE8704005F0E5BD06209B +:1021400070BDFE481930704708B528220021FB48B1 +:102150000BF019F90120FFF737F9F84968461A31F1 +:1021600005F04AFFF5489DF80020417E62F34701E3 +:1021700021F001014176002180F822104FF46171B5 +:102180000184022180F82310FFF736F900B1FFDF48 +:1021900000F0AEFC01F0CCF908BD10B50C464022B1 +:1021A000002120460BF0EFF8A07F20F00300A0777D +:1021B000202020700020A07584F8230010BD7047F7 +:1021C0002DE9FC410746FFF736F810B11020BDE8B5 +:1021D000FC81DA4E06F11901D6F819000090B6F824 +:1021E0001D50ADF80450F47F8DF806403846FFF7D7 +:1021F00069FA0028EBD1FFF7FFF80028E7D0009933 +:1022000046F8191FB580B471E1E710B50446FFF731 +:1022100038F808B1102010BDC848C8492246407E91 +:102220001A314008FFF765FA002010BD3EB504469C +:102230000D460846FFF725F808B110203EBD14B141 +:1022400043F204003EBDBD488078052803D0042831 +:1022500001D008203EBD694602A80BF01AFB2A46B1 +:1022600069469DF80800FFF744FA00203EBDFEB520 +:102270000D4604004FF0000711D00822FFF74DF97A +:10228000002811D1002608E054F826006946FFF71F +:10229000D4F9002808D1761CF6B2AE42F4D30CF083 +:1022A00037FB10B143F20320FEBDA44E3776FCB1DC +:1022B00000271AE054F8270002A9FFF7BEF900B181 +:1022C000FFDF9DF808008DF8000054F8270050F853 +:1022D000011FCDF801108088ADF8050068460CF0AC +:1022E0003CFB00B1FFDF7F1CFFB2AF42E2D335768B +:1022F0000020FEBD2DE9F0478AB01546894604004E +:102300001DD00F4608222946FFF707F9002810D1F3 +:10231000002612E054F826006946103000F08EFBCB +:10232000002806D13FB157F82600FEF784FF10B110 +:1023300010200AB0DCE4761CF6B2AE42EAD30026E6 +:10234000A5F101081CE000BF06F1010A0AF0FF0731 +:1023500012E000BF54F82600017C4A0854F8271008 +:102360000B7CB2EB530F05D10622113011310AF06C +:10237000B3FF58B17F1CFFB2AF42EBD30AF0FF06A8 +:102380004645E1DB4E4624B1012003E043F205203F +:10239000CFE700200CF000FB10B90CF009FB10B1E6 +:1023A00043F20420C5E75CB300270DF1170825E0D0 +:1023B00054F827006946103000F040FB00B1FFDF01 +:1023C00054F82700102250F8111FCDF80110808812 +:1023D000ADF8050054F827100DF107000AF0A9FF29 +:1023E00096B156F82710102240460AF0A2FF684620 +:1023F0000CF098FA00B1FFDF7F1CFFB2AF42D7D3D9 +:10240000FFF7B7F9002094E7404601F01EFCEEE725 +:1024100030B585B00446FEF70EFF18B96068FEF7C8 +:1024200057FF10B1102005B030BD60884AF2B811D6 +:10243000884206D82078414D28B1012806D00228CC +:1024400004D00720EFE7FEF7D7FF18E060780228F6 +:1024500004D0032802D043F20220E4E785F82300E9 +:10246000C1B200200090ADF8040002292CD003294D +:1024700027D0FFDF68460CF00CFB05F045FC002878 +:10248000D1D1606801F0D4FB207858B101208DF8DB +:1024900000000DF1010001F0D8FB68460CF075FE5C +:1024A00000B1FFDF207885F82200FFF762F960882D +:1024B00060B1288480B20CF067FA00B1FFDF002021 +:1024C000B1E78DF80500D5E74020FAE74FF46170D9 +:1024D000EFE710B50446FEF7D4FE20B9606838B1C6 +:1024E000FEF7EDFE08B1102010BD606801F0ADFBF5 +:1024F000124830F8201F6180C178617080782070A8 +:10250000002010BD2DE9F843144689460646FEF723 +:10251000B8FEB8B94846FEF7DBFE98B92046FEF78C +:10252000D7FE78B9054DA878012800D154B131788B +:10253000FF2909D061B143F2040001E0A0010020AD +:10254000BDE8F8831020F8E7012801D00420F4E763 +:10255000CCB3052811D004280FD06946204600F0DE +:10256000A4FA0028E9D1217D49B1012909D0022925 +:1025700009D0032909D00720DFE70820DDE702465C +:1025800004E0012202E0022200E00322804623460A +:10259000174600200099FFF705F90028CDD1A08942 +:1025A0002880A07BE875BDF80000A882AF75BDF853 +:1025B0000010090701D5A18931B1A1892980C0077F +:1025C00004D0032003E006E08021F7E70220FEF7B5 +:1025D000FBFE86F800804946BDE8F8430020FFF77F +:1025E0007CB92DE9FC41FF4C06460D46A078022837 +:1025F00003D0032801D00820E9E516B143F2040016 +:10260000E5E506200DF00EFD10B9A078032849D0AD +:102610000FF07CFC074610F0DBFE381A00F0FF08D4 +:1026200006200DF0F7FC074606200DF0FBFC391ADA +:10263000A078042809D000221144A8EB010111F070 +:10264000FF0F04D0032804D00DE00122F4E713208B +:10265000BDE5284605F0D1FA10B3407810B32846FE +:1026600005F0D6FDE570FFF70BF80BF054F80120EC +:102670008DF800008DF801008DF802602088ADF81B +:102680000400E07D8DF8060068460CF050FC05F073 +:102690003BFB0028B0D1A078032805D0042010E02F +:1026A000052094E5122092E5E07805F0A6FA0400F2 +:1026B00000D1FFDF607800B9FFDF6078401E6070F6 +:1026C0000520FEF781FE002081E51CB510B143F224 +:1026D00004001CBDC34CA078042803D0052801D0F9 +:1026E00008201CBD00208DF8000001218DF801108C +:1026F0008DF8020068460CF01AFC05F005FB002876 +:10270000EFD1A078052805D05FF00200FEF75CFE4F +:1027100000201CBDE07800F078F90320F6E72DE9F1 +:10272000FC4180460D4603260846FEF7D1FD08B160 +:1027300010204CE54046FFF701F8040004D0207853 +:10274000222804D2082042E543F202003FE5A07FA0 +:1027500000F003073DB1012F0AD000202946FEF703 +:10276000AEFE0600E5D1012F04D0FFDF30462EE596 +:102770000120F3E7A07D2946022801D011B107E02E +:10278000112024E5684600F0E7FA0028D1D1694617 +:10279000404607F0CEFB0600E8D10120A075E5E732 +:1027A00070B50C460546FEF7C9FF010005D022466C +:1027B0002846BDE87040FEF7C4BF43F2020070BD7A +:1027C00010B5012807D1874B9B78012B00D011B1A0 +:1027D00043F2040010BD0CF009F9BDE8104005F00B +:1027E00093BA012300F01BB900231A46194600F0E2 +:1027F00016B970B5064615460C460846FEF741FD6B +:1028000018B92846FEF73DFD08B1102070BD2A46D4 +:10281000214630460CF017FC05F076FA0028F5D179 +:1028200021787F29F2D1052070BD7CB505460C4684 +:102830000846FEF700FD08B110207CBD2846FEF7D3 +:102840007DFF20B10078222804D208207CBD43F20D +:1028500002007CBD634890F82400400701D5112098 +:102860007CBD2178C80802D16078C20801D0072059 +:102870007CBD890801D1800801D006207CBDADF85F +:10288000005020788DF8020060788DF80300022057 +:10289000ADF8040068460BF00FFF05F035FA7CBD7B +:1028A00070B586B014460D460646FEF747FF28B1C0 +:1028B0000078222805D2082006B070BD43F202003D +:1028C000FAE72846FEF704FD20B944B12046FEF79A +:1028D000F6FC08B11020EFE700202060A0804148FE +:1028E00090F82400800701D51120E5E703A93046C0 +:1028F0000BF01FFF18B100BF05F006FADCE7ADF8DA +:102900000060BDF81400ADF80200BDF81600ADF887 +:102910000400BDF81000BDF81210ADF80600ADF8C7 +:1029200008107DB1298809B1ADF80610698809B190 +:10293000ADF80210A98809B1ADF80810E98809B10D +:10294000ADF80410DCB1BDF80610814201D9081AB7 +:102950002080BDF80210BDF81400814201D9081A88 +:102960006080BDF80800BDF80410BDF816200144D1 +:10297000BDF812001044814201D9081AA0806846AF +:102980000BF074FFB8E770B505460C460846FEF735 +:1029900078FC08B1102070BD214628460CF04AF999 +:1029A000BDE8704005F0B0B93EB505460C46084696 +:1029B000FEF767FC08B110203EBD0020009001909A +:1029C0000290ADF800502089ADF8080020788DF80D +:1029D0000200606801902089ADF808006089ADF8B8 +:1029E0000A0001E0A001002068460CF031F905F072 +:1029F0008BF93EBD0EB5ADF8000000200190684691 +:102A00000CF026F905F080F90EBD10B505F0F5F8CB +:102A1000040000D1FFDF6078401C607010BD1CB561 +:102A2000ADF800008DF802308DF803108DF8042009 +:102A300068460CF0D7FA05F067F91CBD0278520819 +:102A400004D0012A02D043F202207047FEF7F5BD00 +:102A500070B50C0006460DD0FEF770FE050000D1E3 +:102A6000FFDFA68028892081288960816889A0816C +:102A7000A889E08170BD10B500231A4603E0845C8C +:102A80002343521CD2B28A42F9D30BB1002010BDAD +:102A9000012010BD00B530B1012803D0022801D0BB +:102AA000FFDF002000BDFF2000BD00220A8092B29F +:102AB00022F060020A800078062817D2DFE800F0D2 +:102AC000160306090C1142F0110007E042F01D0048 +:102AD00009E042F0150006E042F0100040F002006C +:102AE00001E042F010000880002070470720704786 +:102AF000FD48002101604160018170472DE9FF4FD1 +:102B000093B09B46209F160004460DD01046FEF75A +:102B100092FB18B1102017B0BDE8F08F31460120AC +:102B2000FEF7CDFC0028F6D101258DF842504FF478 +:102B3000C050ADF84000002210A9284603F016FE50 +:102B40000028E8D18DF84250A8464FF428500025BF +:102B5000ADF840001C222946684607950AF013FC90 +:102B60009DF81C000DF11C0A20F00F00401C20F005 +:102B7000F00010308DF81C0020788DF81D00617871 +:102B80009DF81E000DF1400961F3420040F0010084 +:102B90008DF81E009DF8000008AA40F002008DF894 +:102BA00000002089ADF83000ADF832506089ADF8F2 +:102BB0003400CDF82CA060680E900AA9CDF82890BA +:102BC000684603F0C8FB0028A5D16068FEF777FBD4 +:102BD00040B16068FEF77CFB20B9607800F003002C +:102BE000022801D0012000E00020BF4C08AA0AA959 +:102BF0002072BDF8200020808DF8428042F601202E +:102C0000ADF840009DF81E0020F00600801C20F06A +:102C100001008DF81E000220ADF83000ADF8340040 +:102C200014A80E90684603F096FB002889D1BDF8E1 +:102C30002000608036B1211D304600F059F900288F +:102C4000C2D109E0BBF1000F05D00AF017F9E8BBCB +:102C50000AF014F9D0BBA58017B1012F43D04AE088 +:102C60008DF8428042F6A620ADF8400046461C2270 +:102C70000021684607950AF086FB9DF81C00ADF818 +:102C8000346020F00F00401C20F0F00010308DF870 +:102C90001C009DF81D0020F0FF008DF81D009DF820 +:102CA0001E0020F0060040F00100801C8DF81E0080 +:102CB0009DF800008DF8446040F002008DF800009F +:102CC000CDE90A9AADF8306011A800E011E00E904D +:102CD00008AA0AA9684603F03EFB0028A6D1BDF861 +:102CE0002000E08008E00AF0C9F810B90AF0C6F840 +:102CF00008B103200FE7E58000200CE73EB504464D +:102D0000794D0820ADF80000A88828B12046FEF7CC +:102D100092FA18B110203EBD06203EBD214601208A +:102D2000FEF7CDFB0028F8D12088ADF804006088BC +:102D3000ADF80600A088ADF80800E088ADF80A00FC +:102D4000A88801AB6A46002103F00CFFBDF8001013 +:102D50000829E2D003203EBD7FB5634D0446A88814 +:102D600068B1002002900820ADF80800CDF80CD022 +:102D70002046FEF760FA20B1102004B070BD062096 +:102D8000FBE7A98802AA4FF6FF7004F02DF900288E +:102D9000F3D1BDF80810082901D00320EDE7BDF8F4 +:102DA00000102180BDF802106180BDF80410A180E0 +:102DB000BDF80610E180E0E701B582B00220ADF871 +:102DC0000000494802AB6A464088002103F0CAFE71 +:102DD000BDF80010022900D003200EBD1CB5002153 +:102DE00000910221ADF800100190FEF74AFA08B1F7 +:102DF00010201CBD3C486A4641884FF6FF7004F025 +:102E0000F3F8BDF800100229F3D003201CBDFEB575 +:102E1000354C06461546207A0F46C00705D00846B1 +:102E2000FEF709FA18B11020FEBD0F20FEBDF82DE7 +:102E300001D90C20FEBD3046FEF7FDF918BB2088F5 +:102E400001A902F08AFF0028F4D130788DF805003E +:102E5000208801A903F064FE0028EBD100909DF8C2 +:102E600000009DF8051040F002008DF800000907F1 +:102E700003D040F008008DF800002088694603F078 +:102E8000ECFD0028D6D1ADF8085020883B4602AAB8 +:102E9000002103F067FEBDF80810A942CAD0032044 +:102EA000FEBD7CB505460020009001900888ADF875 +:102EB00000000C4628460195FEF701FA18B9204695 +:102EC000FEF7DFF908B110207CBD15B1BDF8000098 +:102ED00060B105486A4601884FF6FF7004F084F837 +:102EE000BDF8001021807CBDC80100200C20FAE74D +:102EF00030B5044693B000200D46014600901422E0 +:102F000001A80AF040FA1C22002108A80AF03BFAA6 +:102F10009DF80000CDF808D020F00F00401C20F0F4 +:102F2000F00010308DF800009DF8010006AA20F096 +:102F3000FF008DF801009DF8200001A940F002007B +:102F40008DF8200001208DF8460042F60420ADF8EF +:102F5000440011A801902088ADF83C006088ADF8CD +:102F60003E00A088ADF84000E088ADF842009DF832 +:102F7000020020F00600801C20F001008DF8020005 +:102F80000820ADF80C00ADF810000FA8059008A8B7 +:102F900003F0E1F9002803D1BDF8180028800020D3 +:102FA00013B030BD0A4810B5046809490948083112 +:102FB00008600FF0BEFE0648001D046010BD064903 +:102FC000002008604FF0E0210220C1F88002704725 +:102FD0001005024001000001FC1F00400548064AA0 +:102FE0000168914201D1002101600449012008607B +:102FF0007047000058000020BEBAFECA40E50140FC +:103000002CFFFFFFDBE5B15100C00100CC00FFFF4A +:1030100071000000C1CF6A00FEA0D9111C1006C3C8 +:1030200089CCFC7A7B3B49141906A8C010B504462C +:10303000FEF701F908B1102010BD2078C0F302108E +:10304000042807D86078072804D3A178102901D86C +:10305000814201D2072010BDE078410706D42179D2 +:103060004A0703D4000701D4080701D5062010BD84 +:10307000002010BD70B514460D46064605F026F832 +:1030800080B10178182221F00F01891C21F0F00194 +:10309000A03100F8081B21460AF04BF9BDE870404A +:1030A00005F018B829463046BDE870401322FEF7F7 +:1030B00048BB2DE9F047064608A8904690E8300442 +:1030C00089461F461422002128460AF05CF9002197 +:1030D000CAF80010B8F1000F03D0B9F1000F03D106 +:1030E00014E03878C00711D02068FEF7CAF8C0BBDA +:1030F000B8F1000F07D12068123028602068143022 +:1031000068602068A8602168CAF8001038788007D5 +:1031100024D56068FEF7D3F818BBB9F1000F21D0B1 +:10312000FFF70FF80168C6F868118188A6F86C11DE +:10313000807986F86E0101F034FAF84FEF6062682A +:1031400062B196F8680106F2691140081032FEF784 +:10315000D0FA1022394660680AF0EBF80020BDE88A +:10316000F08706E0606820B1E8606068C6F8640136 +:10317000F4E71020F3E730B5054608780C4620F058 +:103180000F00401C20F0F001103121700020607011 +:1031900095F8230030B104280FD0052811D0062857 +:1031A00014D0FFDF20780121B1EB101F04D295F875 +:1031B000200000F01F00607030BD21F0F0002030D2 +:1031C00002E021F0F00030302070EBE721F0F00059 +:1031D0004030F9E7F0B591B0022715460C46064697 +:1031E0003A46ADF80870092103AB05F070FD049074 +:1031F000002810D004208DF804008DF80170E03410 +:10320000099605948DF818500AA968460EF051FCED +:1032100000B1FFDF012011B0F0BD2DE9F84F0646E7 +:10322000808A0C4680B28246FEF788FA0546BB4F7C +:103230003078203F4FF002094FF000080F287CD271 +:10324000DFE800F07BA39D082C5B6A7CBADAFD976F +:1032500048979700012150460CF030FF040000D140 +:10326000FFDF97F85C00C00701D0386E0BE0032148 +:1032700004F11D0010F06BFAD4F81D00A849B0FB52 +:10328000F1F201FB1200C4F81D0070686067B068BD +:10329000A0672878252872D0FFDF70E00121504612 +:1032A0000CF00CFF060000D1FFDF3078810702D55B +:1032B0002978252904D040F001003070BDE8F88F4E +:1032C00084F80090307F207106F11D002D36C4E98E +:1032D0000206F3E7012150460CF0F0FE050000D194 +:1032E000FFDF2878C10604D5072020703D356560D2 +:1032F000E4E740F008002870E0E7E87F000700D529 +:10330000FFDF307CB28800F0010301B05046BDE819 +:10331000F04F092106F06FBD05B9FFDF716821B1DB +:10332000102205F124000AF004F828212846FEF7AF +:1033300074F8307A85F82000C0E7F7E001215046A4 +:103340000CF0BCFE050000D1FFDF022105F1850075 +:1033500010F0FDF90420207005F5B4706060B5F838 +:10336000850020826D4810387C356561C4E90270A3 +:10337000A4E7012150460CF0A1FE00B9FFDF324660 +:1033800029465046BDE8F84F74E605B9FFDF2878B6 +:10339000212893D93079012803D1E87F40F0080033 +:1033A000E877324629465046FFF764FE2846BDE8D6 +:1033B000F84F2321FEF731B83279A28004F10803D7 +:1033C0000921504605F083FCE06010B10520207013 +:1033D00074E74546012150460CF070FE040000D110 +:1033E000FFDF04F1620102231022081F0CF0FFFC32 +:1033F00005703179417061E7012150460CF05EFEA5 +:10340000040000D1FFDF94F8840000F003000128DD +:1034100059D1E87F10F0010003D194F8A010C9073A +:103420002AD0D4F8602132B394F88330117C63F34E +:1034300087011174AA7FD30963F3410100E071E0B1 +:10344000D4F860211174D4F8602160F30001117484 +:1034500090B1D4F86001102205F12401883409F0FC +:1034600068FF207E40F001002076207820F00100E7 +:1034700004F8880919E0C0B994F88810C90714D075 +:10348000D4F85C218AB194F88330117C63F387010E +:103490001174AA7FD309D4F85C2163F3410111743C +:1034A000D4F85C2160F30001117494F8880080075F +:1034B00009D594F87C00D4F86421400804F17D011A +:1034C0001032FEF716F98DF8009094F884006A46E1 +:1034D00000F003008DF8010094F888108DF80210B8 +:1034E00094F8A0008DF803002946504601F042F8F8 +:1034F0002878252805D0212807D0FFDF2878222822 +:1035000003D922212846FDF788FF012150460CF0FF +:10351000E7FD00283FF4DDAEFFDFCFE6F401002039 +:1035200040420F00716881F80180C7E6FFDFC5E601 +:1035300070B5FE4C002584F85C5025660EF085FAC7 +:1035400004F11001204604F07DFD84F8305070BD78 +:1035500070B50D46FEF7F2F8040000D1FFDF4FF41E +:10356000B8720021284609F00EFF2434012105F12C +:10357000E0002C610EF06AFA002800D0FFDF70BD79 +:103580000A46014602F1E0000EF081BA70B5054628 +:10359000406886B00178082906D00B2933D00C2961 +:1035A0002FD0FFDF06B070BD46883046FEF7C6F864 +:1035B000040000D1FFDF20782128F3D028281BD178 +:1035C000686802210C3000F0A0FFA8B168680821EB +:1035D000001D00F09AFF78B104F1240130460BF091 +:1035E000A8FC04F091FB00B1FFDF06B02046BDE867 +:1035F00070402921FDF711BF06B0BDE8704004F00E +:1036000069BD01218171686886883046FEF796F8A9 +:10361000040000D1FFDF20782128C3D068688179B9 +:1036200009B1807808B1FFDFBCE704F053FDA07F4B +:10363000000622D5E07FC00705D094F8200000F0F6 +:103640001F00102817D0052084F82300207829288F +:1036500015D02428A6D13146042010F05FFB22218A +:103660002046FDF7DAFE012130460CF039FD002836 +:1036700098D0FFDF96E70620E6E70420E4E7012183 +:1036800030460CF01BFD050000D1FFDF2521204650 +:10369000FDF7C3FE03208DF80000694605F1E00048 +:1036A0000EF0ECF90228BFD00028BDD0FFDF79E78B +:1036B0002DE9F04788B09A46164688468146FEF7BF +:1036C0003DF805003AD02878222837D3232835D072 +:1036D000E87F000732D40027012148460CF0EEFCB9 +:1036E000040005D10121002248460CF0DEFC04460E +:1036F000694600F066FF009800B9FFDF00983CB112 +:10370000E03404612878222804D0242802D005E07F +:10371000076103E025212846FDF77FFE009801217F +:103720004170C0F824908680C0E9028A01A90EF099 +:10373000C0F9022802D0002800D0FFDF08B00EE553 +:1037400070B586B00546FDF7F9FF0078222814D938 +:10375000012128460CF0B2FC04002CD1FFDF2AE046 +:10376000B4F85E0004F1620630440178427829B171 +:1037700021462846FFF72EFDB0B913E7ADF8042027 +:103780000921284602AB05F0A2FA03900028F4D0E4 +:1037900005208DF80000694604F1E0000EF06EF996 +:1037A000022801D000B1FFDF02231022314604F1CC +:1037B0005E000CF052FBB4F860000028D0D1F1E6B6 +:1037C00010B586B00446FDF7B9FF0078222811D95C +:1037D000012120460CF072FC040000D1FFDF06201E +:1037E0008DF80000694604F1E0000EF047F900286A +:1037F00000D0FFDF06B010BD2DE9F84F0546007878 +:103800000C460027010904F1080090463E46BA46DE +:10381000009002297ED0072902D00A2909D142E06E +:1038200068680178082905D00B292CD00C292AD0EA +:10383000FFDF72E114271C26002C6CD04088A0808A +:10384000FDF77CFF5FEA000900D1FFDF99F8170060 +:1038500009F118014008009AFDF74BFF686880895C +:10386000208268684168C4F812108068C4F81600A5 +:10387000A07E20F0060040F00100A07699F81E001E +:1038800040F020014FE01A270A26002CD5D080886E +:10389000A080FDF753FF050000D1FFDF2846009907 +:1038A000FFF769FC39E10CB1A88BA080287A4FF0B2 +:1038B000010B0B287ED006DC01287CD0022808D022 +:1038C000032804D137E00D2876D00E2875D0FFDF0D +:1038D00023E11E270926002CAFD0A088FDF72EFF7C +:1038E0005FEA000900D1FFDF287B00F00300012818 +:1038F000207A1DD020F001002072297B890861F315 +:1039000041002072297BC90861F382002072297B63 +:10391000090901E0F7E0AEE061F3C300207299F815 +:103920001E0040F0400189F81E10F6E0D40100208E +:1039300040F00100E0E713270D26002CA6D0A08858 +:10394000FDF7FCFE81460121A0880CF0B7FB0500C5 +:1039500000D1FFDF686F817801F003010129217A2E +:1039600050D021F00101217283789B0863F341015B +:1039700021728378DB0863F38201217283781B094B +:1039800063F3C3012172037863F306112172437854 +:1039900063F3C711217284F809A0C178A17202797A +:1039A000E17A62F30001E1720279520862F34101A7 +:1039B000E17203E029E067E04EE05FE002799208FF +:1039C00062F38201E1720279D20862F3C301E1720B +:1039D0004279217B62F3000121734279520862F33C +:1039E000410121734279920862F382012173407987 +:1039F000C00860F3C301217399F8000023282AD975 +:103A0000262139E041F00101ADE71827102694B3D3 +:103A1000A088FDF793FE00900121A0880CF04EFBDA +:103A20005FEA000900D1FFDFE868A06099F80000B4 +:103A300040F0040189F8001099F80100800708D5CA +:103A400084F80CB000980078232866D927210098C4 +:103A500052E084F80CA060E015270F265CB1A08826 +:103A6000FDF76CFE81460622E868009909F0E9FC42 +:103A700084F80EB085E042E048463DE0162709266E +:103A8000ECB3287B207248E0287B19270E26B4B3BC +:103A9000C4F808A0A4F80CA0012807D0022808D078 +:103AA00003280CD004280AD0FFDF15E084F808B002 +:103AB00001E002202072607A20F003000BE0697BB5 +:103AC000042801F00F0141F080012172F3D1607AE6 +:103AD00020F00300401C6072A088FDF72FFE054611 +:103AE0000078212819D0232800D0FFDF0121A088E9 +:103AF0000CF0F6FA22212846FDF78FFC0DE0FFE7D7 +:103B0000A8F800600EE00CB16888A080287A10B395 +:103B1000012809D002283AD0FFDFA8F800600CB1D4 +:103B200027806680002007E415270F26002CE7D0A9 +:103B3000A088FDF703FE0121A0880CF0BFFA050064 +:103B400000D1FFDFD5F81D000622009909F079FCAD +:103B500084F80EA0E1E717270926002CD0D0A08812 +:103B6000FDF7ECFD81460121A0880CF0A7FA0500C5 +:103B700000D1FFDF6878800701D5022000E0012036 +:103B8000207299F800002328C7D9272174E7192744 +:103B90000E26002CB4D0A088FDF7D0FD5FEA000906 +:103BA00000D1FFDFC4F808A0A4F80CA084F808A096 +:103BB000A07A40F00300A07299F81E10C90961F3C1 +:103BC0008200A07299F81F2099F81E1012EAD11FE6 +:103BD00005D099F8201001F01F01102925D020F000 +:103BE0000800A07299F81F10607A61F3C300607238 +:103BF000697A01F0030101298FD140F0040060725D +:103C0000E87A217B60F300012173AA7A607B62F37A +:103C100000006073EA7A520862F341012173A97AC5 +:103C2000490861F34100607377E740F00800D8E786 +:103C300010B5F84C30B10146102204F1200009F013 +:103C400078FB012084F8300010BD10B5044600F068 +:103C5000A8FCF04920461022BDE81040203109F0B0 +:103C600068BB70B5EB4D06004FF0000412D0FDF7B5 +:103C7000E2FA08B110240BE00621304609F0C8FB37 +:103C8000411C04D02866012085F85C0000E0072470 +:103C9000204670BD0020F7E7007810F00F0204D036 +:103CA000012A05D0022A0CD110E0000909D10AE04E +:103CB0000009012807D0022805D0032803D00428D2 +:103CC00001D0072070470870002070470620704719 +:103CD00005282AD2DFE800F003070F171F00087835 +:103CE00020F0FF001EE0087820F00F00401C20F0BC +:103CF000F000103016E0087820F00F00401C20F093 +:103D0000F00020300EE0087820F00F00401C20F07A +:103D1000F000303006E0087820F00F00401C20F062 +:103D2000F0004030087000207047072070472DE9F0 +:103D3000F043804687B00D464FF000090846FDF776 +:103D4000C7FAA8B94046FDF7F9FC060003D0307861 +:103D500022280BD104E043F2020007B0BDE8F08353 +:103D600035B1B07FC10601D4000703D50820F4E7C0 +:103D70001020F2E7F07F000701D50D20EDE70027C6 +:103D8000012140460CF09AF9040006D101210022DD +:103D900040460CF08AF9040005D0694600F011FC99 +:103DA000009818B901E00420D7E7FFDF009802214E +:103DB000E0344170C0F82480446107810121017121 +:103DC000297801F00102017E62F3010101762A786F +:103DD000520862F3820101762A78920862F3C301E5 +:103DE00001762A78D20862F3041101762421304644 +:103DF000FDF713FB01A900980DF05BFE022801D02E +:103E000000B1FFDF4846A8E72DE9FF4F0E46824983 +:103E1000904697B09A4607C914AB4FF0000983E863 +:103E200007001798FDF78AFC050006D02878262899 +:103E300006D008201BB0BDE8F08F43F20200F9E77E +:103E400026B94046FFF7F2F80028F3D10121179870 +:103E50000CF034F9040000D1FFDF852E27D007DCF9 +:103E6000EEB1812E1DD0822E1DD0832E08D11CE0F4 +:103E7000862E1ED0882E1ED0892E1ED08A2E1ED0B1 +:103E80000F2020710F281CD004F020F9D8B1012098 +:103E90008DF83400201D0E902079B0B126E100206D +:103EA000EFE70120EDE70220EBE70320E9E705203B +:103EB000E7E70620E5E70820E3E70920E1E70A2035 +:103EC000DFE70720B6E71120B4E798F80000D4E94F +:103ED0001D764208A87F002162F3C710A87798F8E2 +:103EE00000008208E87F62F30000E87798F800009D +:103EF000C209607862F34100607098F8000002091E +:103F0000207862F34710207098F80000C2086078AB +:103F100062F30000607098F80100607198F800008A +:103F200000F00102B07862F30100B070AA7FD209FC +:103F300062F38200B070EA7F62F3C300B07062780F +:103F400062F30410B0702278C0F3C00052093270DE +:103F50006278C2F34002727098F80220F2707171B8 +:103F60003171B978C1F3C00108405FEA000B2ED06F +:103F70005046FDF760F978BBDAF80C00FDF75BF905 +:103F800050BBDAF81C00FDF756F928BBDAF80C0034 +:103F9000A060DAF81C00E06060787A7842EA5001AC +:103FA00061F341006070B978C0B200EA111161F3A9 +:103FB000000060700020207705F117006061681C28 +:103FC000A061B07800F00300012806D046E06078D8 +:103FD0007A7802EA5001E3E719E0B87800F00300CC +:103FE00001283BD1321D711D404600F099FA31790C +:103FF000387901408DF8281070797A7910408DF861 +:10400000300001432AD05046FDF715F930B1102099 +:1040100010E70000D4010020E8B001000AF1100010 +:1040200004F5AE7304F18C028DE80D0000210AAB9B +:104030005A462046FFF73DF80028E9D104F5B07252 +:1040400004F1A403CDF800A0CDE9013201210CABAD +:104050005A462046FFF72DF80028D9D1607880070E +:1040600022D4B078B978C0F38000C1F3800108434E +:104070001AD0307814AA397832F810204B00DA4080 +:1040800002F00309B9F1030F01D14FF00209BBF1AE +:10409000000F09D0012801D0042805D1012901D041 +:1040A000042901D14FF00409A87F40F08000A877CF +:1040B000E97F6BF30001E9776078800706D503207C +:1040C000A071BBF1000F11D100202CE00220B9F14A +:1040D000020F1AD0B9F1010F19D0B9F1040F2AD08B +:1040E0000020A071A87F20F08000A8772521284615 +:1040F000FDF793F90DA904F1E0000DF0BFFC10B13C +:10410000022800D0FFDF002094E6A071DCE7A07158 +:104110000D22002104F1200009F035F9207840F04B +:104120000200207001208DF84C0013AA2946179830 +:1041300000F020FADAE70120A071D7E72DE9F0437B +:1041400087B09046894604460025FDF7F7FA070038 +:1041500004D03878272804D00820FEE543F2020076 +:10416000FBE5012120460BF0A9FF040000D1FFDF91 +:10417000A6795FEA090005D0012821D0B9F1020F24 +:1041800026D110E0B8F1000F22D1012E05D0022E69 +:1041900005D0032E05D0FFDF2EE00C252CE00125F5 +:1041A0002AE0022528E04046FDF745F8B0B9032E85 +:1041B0000ED11022414604F11D0009F0BAF81BE0AF +:1041C000012E02D0022E03D104E0B8F1000F13D06B +:1041D0000720C2E54046FDF72EF808B11020BCE5E7 +:1041E0001022002104F11D0009F0CDF806214046FF +:1041F00009F00EF9C4F81D002078252140F00200D6 +:1042000020703846FDF709F92078C10713D020F057 +:104210000100207002208DF8000004F11D000290C2 +:104220008DF804506946C3300DF028FC022803D0F5 +:1042300010B1FFDF00E0257700208EE530B587B0B4 +:104240000D460446FDF77AFA60B1012120460BF0D5 +:1042500035FF04000CD02846FCF7EDFF28B11020F4 +:1042600007B030BD43F20200FAE72078400701D4DE +:104270000820F5E7294604F13D002022054609F013 +:1042800058F8207840F01000207001070FD520F07A +:104290000800207007208DF80000694604F1E00056 +:1042A00001950DF0EBFB022801D000B1FFDF0020EB +:1042B000D6E770B50D460646FDF740FA18B100780E +:1042C000272817D102E043F2020070BD01213046D9 +:1042D0000BF0F4FE040000D1FFDFA079022809D121 +:1042E0006078C00706D02A4621463046FEF772FFA6 +:1042F00010B10FE0082070BDB4F860000E280BD29A +:1043000004F1620102231022081F0BF070FD01214D +:1043100001704570002070BD112070BD70B506465B +:1043200014460D460846FCF786FF18B92046FCF7F0 +:10433000A8FF08B1102070BDA6F57F40FF380ED051 +:104340003046FDF7FBF938B1417822464B08811C15 +:104350001846FDF7CEF907E043F2020070BD204693 +:10436000FDF753FF0028F9D11021E01D0FF0EFF900 +:10437000E21D294604F1170000F033F9002070BD5A +:104380002DE9F04104468AB015460E46002708463E +:10439000FCF79EFF18B92846FCF79AFF18B11020C9 +:1043A0000AB0BDE8F0812046FDF7C8F95FEA0008D1 +:1043B00004D098F80000272810D102E043F2020050 +:1043C000EEE7012120460BF079FE040000D1FFDF6B +:1043D0002078400702D56078800701D40820DFE705 +:1043E000D4E91D01497801B18DB1407800B176B1B1 +:1043F000ADB1EA1D06A8E16800F0F3F8102206A9A5 +:1044000005F1170008F068FF18B1042707E007203E +:10441000C6E71022E91D04F12D0008F08AFF2EB135 +:104420001022F11D04F11D0008F083FF20782521E2 +:1044300040F0020020704046FCF7EFFF2078C107F3 +:1044400015D020F00100207002208DF8000004F14A +:104450001D000290103003908DF804706946B3304F +:104460000DF00CFB022803D010B1FFDF00E027772E +:10447000002095E770B50D4606460BB1072070BDCC +:10448000FDF75CF9040007D02078222802D3A07F32 +:10449000800604D4082070BD43F2020070BDADB1A7 +:1044A000294630460AF045FD03F02EFC297C4A08D7 +:1044B000A17F62F3C711A177297CE27F61F300023B +:1044C000E277297C890884F8201004E030460AF05D +:1044D00053FD03F019FCA17F21F02001A17770BDED +:1044E00070B50D46FDF72AF9040005D02846FCF703 +:1044F000C8FE20B1102070BD43F2020070BD2946F5 +:104500002046FEF738FE002070BD04E010F8012BB5 +:104510000AB100207047491E89B2F7D201207047C6 +:1045200010B5C4780B7864F300030B70C47864088A +:1045300064F341030B70C478A40864F382030B7026 +:10454000C478E40864F3C3030B700379117863F350 +:104550000001117003795B0863F341011170037965 +:104560009B0863F3820111700079C00860F3C301F6 +:10457000117010BD70B51546064603F0A7FD040086 +:1045800000D1FFDF207820F00F00801C20F0F00029 +:104590002030207066802868A060BDE8704003F07D +:1045A00099BD10B5134C94F83000002808D104F1DF +:1045B0002001A1F110000DF0A3FA012084F83000D1 +:1045C00010BD10B190F8B9202AB10A4890F8350012 +:1045D00018B1002003E0B83001E00648343008602C +:1045E000704708B50023009313460A460BF065FF99 +:1045F00008BD0000D4010020F0B5007B059F1E46D9 +:1046000014460D46012800D0FFDF0C2030803A20F0 +:104610003880002C08D0287A032806D0287B01286F +:1046200000D0FFDF17206081F0BDA889FBE72DE9EE +:10463000F04786B0144691F80C900E9A0D46B9F1E9 +:10464000010F0BD01021007B2E8A8846052807D049 +:10465000062833D0FFDF06B0BDE8F0870221F2E77D +:10466000E8890C2100EB400001EB4000188033206A +:104670001080002CEFD0E889608100271AE00096B6 +:10468000688808F1020301AA696900F086FF06EB59 +:104690000800801C07EB470186B204EB4102BDF81D +:1046A000040090810DF1060140460E320DF09EFA95 +:1046B0007F1CBFB26089B842E1D8CCE734201080BB +:1046C000E889B9F1010F11D0122148430E3018804A +:1046D000002CC0D0E88960814846B9F1010F00D0B4 +:1046E0000220207300270DF1040A1FE00621ECE7E9 +:1046F0000096688808F1020301AA696900F04DFF7D +:1047000006EB0800801C86B2B9F1010F12D007EB4E +:10471000C70004EB4000BDF80410C18110220AF16B +:104720000201103008F005FE7F1CBFB26089B8425C +:10473000DED890E707EB470104EB4102BDF8040027 +:10474000D0810AF10201404610320DF04FFAEBE73A +:104750002DE9F0470E4688B090F80CC096F80C8012 +:10476000378AF5890C20109902F10C044FF0000AE9 +:10477000BCF1030F08D0BCF1040F3FD0BCF1070F10 +:104780007ED0FFDF08B067E705EB850C00EB4C003F +:10479000188031200880002AF4D0A8F1060000F02B +:1047A000FF09558126E01622002101A808F0EBFD43 +:1047B00000977088434601AA716900F0EEFEBDF8CB +:1047C00004002080BDF80600E080BDF808002081CC +:1047D000A21C0DF10A0148460DF008FAB9F1000FCC +:1047E00000D018B184F804A0A4F802A007EB0800D8 +:1047F00087B20A346D1EADB2D5D2C3E705EB850C86 +:1048000000EB4C00188032200880002ABAD0A8F1B2 +:10481000050000F0FF09558137E000977088434696 +:1048200001AA716900F0B9FE9DF80600BDF80410F8 +:10483000E1802179420860F3000162F341018208BE +:1048400062F38201C20862F3C301020962F3041138 +:10485000420962F34511820962F386112171C00990 +:104860006071BDF80700208122460DF1090148461C +:104870000DF0BCF918B184F802A0A4F800A000E083 +:1048800007E007EB080087B20A346D1EADB2C4D250 +:1048900078E7A8F1020084B205FB08F000F10E0CE5 +:1048A000A3F800C035230B80002AA6D0558194813F +:1048B000009783B270880E32716900F06EFE61E776 +:1048C0002DE9F84F1E460A9D0C4681462AB1607AB2 +:1048D00000F58070D080E089108199F80C000C27D9 +:1048E0004FF000084FF00E0A0D2872D2DFE800F0FA +:1048F0009D070E1B272F374554697272720021469F +:1049000048460095FFF778FEBDE8F88F207B91467A +:10491000082802D0032800D0FFDF3780302009E0CC +:10492000A9F80A80F0E7207B9146042800D0FFDF39 +:10493000378031202880B9F1000FF1D1E4E7207BE6 +:104940009146042800D0FFDF37803220F2E7207B39 +:104950009146022800D0FFDF37803320EAE7207B32 +:104960001746022800D0FFDF3420A6F800A02880D8 +:10497000002FC9D0A7F80A80C6E7207B1746042875 +:1049800000D0FFDF3520A6F800A02880002FBBD084 +:104990004046A7F80A8012E0207B1746052802D07F +:1049A000062800D0FFDF1020308036202880002F1E +:1049B000AAD0E0897881A7F80E80B9F80E00B881F6 +:1049C000A2E7207B9146072800D0FFDF3780372001 +:1049D000B0E72AE04FF0120018804FF038001700BF +:1049E000288091D0E0897881A7F80E80A7F8108000 +:1049F00099F80C000A2805D00B2809D00C280DD0F6 +:104A0000FFDF81E7207B0A2800D0FFDF01200AE0DA +:104A1000207B0B2800D0FFDF042004E0207B0C2843 +:104A200000D0FFDF052038736EE7FFDF6CE770B55D +:104A30000C460546FCF782FE20B10078222804D2FD +:104A4000082070BD43F2020070BD052128460BF01E +:104A500035FB206008B1002070BD032070BD30B46C +:104A60004880087820F00F00C01C20F0F000903043 +:104A700001F8080B1DCA81E81D0030BC03F02ABBF9 +:104A80002DE9FF4784B00027824602970798904699 +:104A90008946123006F043FB401D20F003060798BC +:104AA00028B907A95046FFF7C2FF002854D1B9F131 +:104AB000000F05D00798017B19BB052504681BE092 +:104AC00098F80000092803D00D2812D0FFDF46E037 +:104AD000079903254868B0B3497B428871439142E6 +:104AE00039D98AB2B3B2011D0BF06DF904460780C3 +:104AF00002E0079C042508340CB1208810B1032D76 +:104B000029D02CE007980121123006F03AFBADF8CD +:104B10000C00024602AB2946504604F0D8F80700C4 +:104B200001D1A01C029007983A461230C8F8040040 +:104B3000A8F802A003A94046029B06F02FFBD8B1BB +:104B40000A2817D200E006E0DFE800F00709141495 +:104B5000100B0D141412132014E6002012E611207D +:104B600010E608200EE643F203000BE6072009E6F4 +:104B70000D2007E6032005E6BDF80C002346CDE92D +:104B800000702A465046079900F017FD57B9032DCB +:104B900008D10798B3B2417B406871438AB2011DC6 +:104BA0000BF025F9B9F1000FD7D0079981F80C90D7 +:104BB000D3E72DE9FE4F91461A881C468A46804667 +:104BC000FAB102AB494604F082F8050019D040461C +:104BD000A61C27880BF0B7FB3246072629463B4622 +:104BE00000960AF0D6FF20882346CDE900504A46B9 +:104BF0005146404600F0E1FC002020800120BDE845 +:104C0000FE8F0020FBE710B586B01C46AAB1042336 +:104C10008DF800301388ADF808305288ADF80A20BE +:104C20008A788DF80E200988ADF80C1000236A46AA +:104C30002146FFF725FF06B010BD1020FBE770B539 +:104C40000D4605210BF03AFA040000D1FFDF29469A +:104C500004F11200BDE8704006F07CBA2DE9F8437B +:104C60000D468046002603F031FA044628781028C5 +:104C700078D2DFE800F0773B3453313112313131F3 +:104C80000831313131312879001FC0B2022801D0FA +:104C9000102810D114BBFFDF35E004B9FFDF052178 +:104CA00040460BF00BFA007B032806D004280BD0FB +:104CB000072828D0FFDF072655E02879801FC0B2DB +:104CC000022820D050B1F6E72879401FC0B2022850 +:104CD00019D0102817D0EEE704B9FFDF13E004B9AC +:104CE000FFDF287901280ED1172137E00521404642 +:104CF0000BF0E4F9070000D1FFDF07F11201404695 +:104D000006F005FA2CB12A4621464046FFF7A7FED9 +:104D100029E013214046FDF743FD24E004B9FFDFFD +:104D2000052140460BF0CAF9060000D1FFDF6946B5 +:104D300006F1120006F0F5F9060000D0FFDFA988A1 +:104D4000172901D2172200E00A46BDF8000082426E +:104D500002D9014602E005E01729C5D3404600F01C +:104D60003CFCD0E7FFDF3046BDE8F883401D20F073 +:104D7000030219B102FB01F0001D00E00020104405 +:104D8000704713B5009848B1002468460AF0C5FF83 +:104D9000002C02D1F74A009911601CBD01240020AB +:104DA000F4E72DE9F0470C46154624220021204661 +:104DB00008F0E9FA05B9FFDFA87860732888DFF802 +:104DC000B4A3401D20F00301AF788946DAF8000053 +:104DD0000AF0C1FF060000D1FFDF4FF00008266097 +:104DE000A6F8008077B109FB07F1091D0AD0DAF8AF +:104DF00000000AF0B0FF060000D1FFDF6660C6F8D1 +:104E0000008001E0C4F80480298804F11200BDE8A4 +:104E1000F04706F06DB92DE9F047804601F1120028 +:104E20000D46814606F07BF9401DD24F20F003026B +:104E30006E7B1446296838680AF0B8FF3EB104FB5F +:104E400006F2121D03D0696838680AF0AFFF05202A +:104E50000BF0E0F8044605200BF0E4F8201A0128D6 +:104E600002D138680AF06CFF49464046BDE8F04779 +:104E700006F054B970B5054605210BF01FF9040082 +:104E800000D1FFDF04F112012846BDE8704006F0B2 +:104E90003EB92DE9F04F91B04FF0000BADF834B0B2 +:104EA000ADF804B047880C460546924605213846C1 +:104EB0000BF004F9060000D1FFDF24B1A780A4F8AD +:104EC00006B0A4F808B0297809220B20B2EB111F14 +:104ED0007ED12A7A04F1100138274FF00C084FF0E8 +:104EE00001090391102A74D2DFE802F073F3F2F1A2 +:104EF0008008D3898EA03DDCF4EFB7B7307B022861 +:104F000000D0FFDFA88908EBC001ADF80410302104 +:104F1000ADF83410002C25D06081B5F80E90002734 +:104F20001DE004EBC708317C88F80E10F189A8F861 +:104F30000C10CDF800906888042304AA296900F0B9 +:104F40002CFBBDF81010A8F8101009F10400BDF8F2 +:104F500012107F1C1FFA80F9A8F81210BFB26089E6 +:104F6000B842DED80EE1307B022800D0FFDFE989AD +:104F700008EBC100ADF804003020ADF83400287B08 +:104F80000A90001FC0B20F90002CEBD06181B5F8E1 +:104F90001090002726E000BFCDF80090688869696E +:104FA00003AA0A9B00F0F9FA0A9804EBC7084844E0 +:104FB0001FFA80F908F10C0204A90F980CF016FEF4 +:104FC00018B188F80EB0A8F80CB0BDF80C1001E0CC +:104FD000D4E0D1E0A8F81010BDF80E107F1CA8F89E +:104FE0001210BFB26089B842D6D8CBE00DA80090AD +:104FF00001AB224629463046FFF719FBC2E0307B61 +:10500000082805D0FFDF03E0307B082800D0FFDF51 +:10501000E8891030ADF804003620ADF83400002CDB +:105020003FD0A9896181F189A18127E0307B0928DE +:1050300000D0FFDFA88900F10C01ADF80410372182 +:10504000ADF83410002C2CD06081E8890090AB8939 +:10505000688804F10C02296956E0E889392110308A +:1050600080B2ADF80400ADF83410002C74D0A989DA +:105070006181287A0E280AD002212173E989E18111 +:10508000288A0090EB8968886969039A3CE00121CD +:10509000F3E70DA8009001AB224629463046FFF702 +:1050A00057FB6FE0307B0A2800D0FFDF1220ADF8FD +:1050B0000400ADF834704CB3A9896181A4F810B034 +:1050C000A4F80EB084F80C905CE020E002E031E03F +:1050D00039E042E0307B0B2800D0FFDF288AADF8B2 +:1050E00034701230ADF8040084B104212173A98911 +:1050F0006181E989E181298A2182688A00902B8A6D +:10510000688804F11202696900F047FA3AE0307BDE +:105110000C2800D0FFDF1220ADF80400ADF8347089 +:105120003CB305212173A4F80AB0A4F80EB0A4F88A +:1051300010B027E00DA8009001AB2246294630466A +:10514000FFF75AFA1EE00DA8009001AB224629464F +:105150003046FFF7B5FB15E034E03B21ADF8040025 +:10516000ADF8341074B3A4F80690A4F808B084F82D +:105170000AB007E010000020FFDF03E0297A0129D0 +:1051800017D0FFDFBDF80400AAF800006CB1BDF82D +:1051900034002080BDF804006080BDF83400392858 +:1051A00003D03C2801D086F80CB011B00020BDE837 +:1051B000F08F3C21ADF80400ADF8341014B1697AD9 +:1051C000A172DFE7AAF80000EFE72DE9F84356885F +:1051D0000F4680461546052130460AF06FFF040051 +:1051E00000D1FFDF123400943B46414630466A68E6 +:1051F00006F008F9B8E570B50D4605210AF05EFF26 +:10520000040000D1FFDF294604F11200BDE8704020 +:1052100005F092BF70B50D4605210AF04FFF04005E +:1052200000D1FFDF294604F11200BDE8704005F00F +:10523000B0BF70B5054605210AF040FF040000D15B +:10524000FFDF04F1080321462846BDE87040042230 +:10525000AFE470B5054605210AF030FF040000D127 +:10526000FFDF214628462368BDE870400522A0E400 +:1052700070B5064605210AF021FF040000D1FFDFCA +:1052800004F1120005F04BFF401D20F0030511E072 +:10529000011D00880322431821463046FFF789FC90 +:1052A00000280BD0607BABB2684382B26068011DFE +:1052B0000AF0D3FD606841880029E9D170BD70B55E +:1052C0000E46054602F002FF040000D1FFDF012078 +:1052D000207266726580207820F00F00C01C20F0DC +:1052E000F00030302070BDE8704002F0F3BE2DE9D0 +:1052F000F0438BB00D461446814606A9FFF797FB95 +:10530000002814D14FF6FF7601274FF420588CB1B6 +:1053100003208DF800001020ADF8100007A80590BC +:1053200007AA204604A90CF080FC78B107200BB036 +:10533000BDE8F0830820ADF808508DF80E708DF8A8 +:105340000000ADF80A60ADF80C800CE00698A1787A +:1053500001742188C1818DF80E70ADF80850ADF848 +:105360000C80ADF80A606A4602214846069BFFF7AA +:1053700087FBDCE708B501228DF8022042F6020225 +:10538000ADF800200A4603236946FFF73CFC08BD40 +:1053900008B501228DF8022042F60302ADF8002084 +:1053A0000A4604236946FFF72EFC08BD00B587B006 +:1053B00079B102228DF800200A88ADF808204988CA +:1053C000ADF80A1000236A460521FFF759FB07B024 +:1053D00000BD1020FBE709B1072314E40720704744 +:1053E00070B588B00D461446064606A9FFF71FFBA8 +:1053F00000280ED17CB10620ADF808508DF80000D1 +:10540000ADF80A40069B6A460821DC813046FFF76A +:1054100037FB08B070BD05208DF80000ADF80850CE +:10542000F0E700B587B059B107238DF80030ADF82B +:105430000820039100236A460921FFF721FBC6E7F4 +:105440001020C4E770B588B00C460646002506A9B2 +:10545000FFF7EDFA0028DCD106980121123005F0A3 +:1054600090FE9CB12178062921D2DFE801F02005C9 +:1054700005160318801E80B2C01EE28880B20AB1F1 +:10548000A3681BB1824203D90C20C2E71020C0E7F9 +:10549000042904D0A08850B901E00620B9E7012909 +:1054A00013D0022905D004291CD005292AD00720B1 +:1054B000AFE709208DF800006088ADF80800E088AB +:1054C000ADF80A00A068039023E00A208DF80000E0 +:1054D0006088ADF80800E088ADF80A00A0680A25E9 +:1054E000039016E00B208DF800006088ADF80800EE +:1054F000A088ADF80A00E088ADF80C00A0680B2584 +:10550000049006E00C208DF8000060788DF808000B +:105510000C256A4629463046069BFFF7B1FA78E724 +:1055200000B587B00D228DF80020ADF808100023DB +:105530006A461946FFF7A4FA49E700B587B071B18A +:1055400002228DF800200A88ADF808204988ADF8BD +:105550000A1000236A460621FFF792FA37E7102067 +:1055600035E770B586B0064601200D46ADF8081047 +:105570008DF80000014600236A463046FFF780FAA6 +:10558000040008D12946304601F006FB00213046D0 +:1055900001F020FB204606B070BDF8B51C4615464C +:1055A0000E46069F0AF0BDFE2346FF1DBCB23146E3 +:1055B0002A4600940AF0B9FAF8BD30B41146DDE984 +:1055C00002423CB1032903D0002330BC04F013BCD9 +:1055D0000123FAE71A8030BC704770B50C460546C7 +:1055E000FFF72DFB2146284601F0E5FA2846BDE8E5 +:1055F0007040012101F0EEBA18B18178012938D14B +:1056000001E010207047018842F60112881A914289 +:1056100031D018DC42F60102A1EB020091422AD0FF +:105620000CDC41B3B1F5C05F25D06FF4C050081851 +:1056300021D0A0F57060FF381BD11CE001281AD0E2 +:1056400002280AD117E0B0F5807F14D008DC0128C9 +:1056500011D002280FD003280DD0FF2809D10AE06D +:10566000B0F5817F07D0A0F58070033803D0012802 +:1056700001D0002070470F2070470A281FD008DC97 +:105680000A2818D2DFE800F0191B1F1F171F231D5F +:105690001F21102815D008DC0B2812D00C2810D0A0 +:1056A0000D2816D00F2806D10DE011280BD0842824 +:1056B0000BD087280FD003207047002070470520AB +:1056C0007047072070470F2070470420704706205E +:1056D00070470C20704743F20200704738B50C4603 +:1056E000050041D06946FEF7D7FA002819D19DF888 +:1056F0000010607861F3020060706946681CFEF774 +:10570000CBFA00280DD19DF80010607861F3C50038 +:105710006070A978C1F34101012903D0022905D0A5 +:10572000072038BD217821F0200102E0217841F0E6 +:1057300020012170410704D0A978C90861F38610BF +:105740006070607810F0380F07D0A978090961F30C +:10575000C710607010F0380F02D16078400603D592 +:10576000207840F040002070002038BD70B504461D +:105770000020088015466068FFF7B0FF002816D1AA +:105780002089A189884211D860688078C0070AD032 +:10579000B1F5007F0AD840F20120B1FBF0F200FB26 +:1057A0001210288007E0B1F5FF7F01D90C2070BDF1 +:1057B00001F201212980002070BD10B50478137812 +:1057C00064F3000313700478640864F341031370F6 +:1057D0000478A40864F3820313700478E40864F383 +:1057E000C30313700478240964F30413137004785A +:1057F000640964F3451313700078800960F386131D +:10580000137031B10878C10701D1800701D501209B +:1058100000E0002060F3C713137010BD42785307F7 +:1058200002D002F0070306E012F0380F02D0C2F3F4 +:10583000C20300E001234A7863F302024A70407811 +:1058400010F0380F02D0C0F3C20005E0430702D0C9 +:1058500000F0070000E0012060F3C5024A707047C5 +:105860002DE9F04F95B00D00824613D01222002191 +:10587000284607F088FD4FF6FF7B05AA0121584610 +:1058800007F049FB0024264637464FF420586FF4B2 +:10589000205972E0102015B0BDE8F08F9DF81E0071 +:1058A00001280AD1BDF81C1041450BD011EB0900AD +:1058B0000AD001280CD002280CD0042C0ED0052CC4 +:1058C0000FD10DE0012400E00224BDF81A6008E0C9 +:1058D000032406E00424BDF81A7002E0052400E069 +:1058E0000624BDF81A10514547D12C74BEB34FF0B1 +:1058F000000810AA4FF0070ACDE90282CDE900A8FE +:105900000DF13C091023CDF810904246314658461F +:1059100007F0D1FB08BBBDF83C002A46C0B210A975 +:105920000CF064F9C8B9AE81CFB1CDE900A80DF192 +:10593000080C0AAE40468CE8410213230022394687 +:10594000584607F0B8FB40B9BDF83C00F11CC01E3A +:10595000C0B22A1D0CF04AF910B103209BE70AE0FF +:10596000BDF82900E881062C05D19DF81E00A8721B +:10597000BDF81C00288100208DE705A807F0D7FAA4 +:1059800000288BD0FFF779FE85E72DE9F0471C460C +:10599000DDE90978DDF8209015460E00824600D139 +:1059A000FFDF0CB1208818B1D5B11120BDE8F08718 +:1059B000022D01D0012100E0002106F1140006F0C3 +:1059C00073F9A8F8000002463B462946504603F00A +:1059D0007EF9C9F8000008B9A41C3C600020E5E786 +:1059E0001320E3E7F0B41446DDE904528DB100233F +:1059F00014B1022C09D101E0012306E00D7CEE0771 +:105A000003D025F0010501230D742146F0BC04F0FC +:105A1000F2B91A80F0BC70472DE9FE4F91461A8802 +:105A20001C468A468046FAB102AB494603F04FF95C +:105A3000050019D04046A61C27880AF084FC32468F +:105A4000072629463B4600960AF0A3F820882346FD +:105A5000CDE900504A4651464046FFF7C3FF0020BB +:105A600020800120BDE8FE8F0020FBE72DE9F047F4 +:105A700086B082460EA8904690E8B000894604AAF7 +:105A800005A903A88DE807001E462A462146504670 +:105A9000FFF77BFF039901B101213970002818D16C +:105AA000FA4904F1140204AB0860039805998DE8E3 +:105AB000070042464946504606F0A9FCA8B109280D +:105AC00011D2DFE800F005080510100A0C0C0E00DA +:105AD000002006B06AE71120FBE70720F9E708205D +:105AE000F7E70D20F5E70320F3E7BDF81010039862 +:105AF000CDE9000133462A4621465046FFF772FFA2 +:105B0000E6E72DE9F04389B01646DDE910870D463A +:105B100081461C461422002103A807F034FC012012 +:105B200002218DF810108DF80C008DF81170ADF871 +:105B3000146064B1A278D20709D08DF81600E0880D +:105B4000ADF81A00A088ADF81800A068079008A862 +:105B50000095CDE90110424603A948466B68FFF75E +:105B600085FF09B0BDE8F083F0B58BB00024064690 +:105B7000069407940727089405A8099401940097B0 +:105B80000294CDE903400D4610232246304607F02B +:105B900092FA78B90AA806A9019400970294CDE96F +:105BA0000310BDF8143000222946304607F021F8D2 +:105BB000002801D0FFF761FD0BB0F0BD06F0B2BECA +:105BC0002DE9FC410C468046002602F07FFA05468E +:105BD00020780D287ED2DFE800F0BC0713B325BD86 +:105BE00049496383AF959B00A848006820B141787C +:105BF00041F010014170ADE0404602F099FAA9E091 +:105C0000042140460AF05AFA070000D1FFDF07F1ED +:105C10001401404605F0DDFFA5BB13214046FCF70B +:105C2000BFFD97E0042140460AF048FA070000D182 +:105C3000FFDFE088ADF800000020B8819DF800008B +:105C4000010704D5C00602D5A088B88105E09DF8FB +:105C5000010040067ED5A088F88105B9FFDF224605 +:105C60002946404601F0C0FC022673E0E188ADF809 +:105C700000109DF8011009060FD5072803D006284B +:105C80000AD00AE024E0042140460AF017FA060090 +:105C900000D1FFDFA088F0810226CDB9FFDF17E039 +:105CA000042140460AF00AFA070000D1FFDF07F19D +:105CB000140006F06EFE90F0010F02D1E0790006AC +:105CC00048D5387C022640F00200387405B9FFDF61 +:105CD000224600E03DE02946404601F085FC39E0DF +:105CE000042140460AF0EAF9017C002D01F0020689 +:105CF000C1F340016171017C21F002010174E7D11F +:105D0000FFDFE5E702260121404602F043FA21E0E9 +:105D1000042140460AF0D2F90546606800902089C7 +:105D2000ADF8040001226946404602F054FA287C8E +:105D300020F0020028740DE0002DC9D1FFDFC7E775 +:105D4000022600214046FFF765FA002DC0D1FFDF93 +:105D5000BEE7FFDF3046BDE8FC813EB50C0009D050 +:105D600001466B4601AA002007F02AFA20B1FFF78E +:105D700084FC3EBD10203EBD00202080A0709DF818 +:105D8000050002A900F00700FDF7A2FF50B99DF839 +:105D9000080020709DF8050002A9C0F3C200FDF7BD +:105DA00097FF08B103203EBD9DF8080060709DF884 +:105DB0000500C109A07861F30410A0709DF80510DA +:105DC000890961F3C300A0709DF80410890601D50C +:105DD000022100E0012161F342009DF8001061F30F +:105DE0000000A07000203EBD70B5144606460D466A +:105DF00051EA040005D075B10846FBF760FA78B99E +:105E000001E0072070BD2946304607F040FA10B186 +:105E1000BDE8704031E454B12046FBF750FA08B1B8 +:105E2000102070BD21463046BDE8704095E7002047 +:105E300070BD2DE9FC5F0C469046054600270178B1 +:105E40000822007A3E46B2EB111F7DD104F10A010F +:105E500000910A31821E4FF0020A04F1080B0191F1 +:105E6000092A72D2DFE802F0EDE005F528287BAAC6 +:105E7000CE00688804210AF021F9060000D1FFDF76 +:105E8000B08928B152270726C3E00000380200205D +:105E900051271026002C7DD06888A0800120A07199 +:105EA000A88900220099FFF79FFF002873D1A889D5 +:105EB0002081288AE081D1E0B5F81290072824D10A +:105EC000E87B000621D5512709F1140086B2002C89 +:105ED000E1D0A88900220099FFF786FF00285AD157 +:105EE0006888A08084F806A0A88920810120A0737A +:105EF000288A2082A4F81290A88A009068884B46CD +:105F0000A969019A01F04CFBA8E0502709F11200A1 +:105F100086B2002C3ED0A88900225946FFF764FFC4 +:105F2000002838D16888A080A889E080287A0728CE +:105F300013D002202073288AE081E87BC0096073B7 +:105F4000A4F81090A88A01E085E082E000906888BB +:105F50004B4604F11202A969D4E70120EAE7B5F83B +:105F60001290512709F1140086B2002C66D068887F +:105F700004210AF0A3F883466888A080A88900223B +:105F80000099FFF731FF00286ED184F806A0A88998 +:105F9000208101E052E067E00420A073288A20827B +:105FA000A4F81290A88A009068884B46A969019AC3 +:105FB00001F0F6FAA989ABF80E104FE06888FBF7FC +:105FC000BDFB0746688804210AF078F8064607B941 +:105FD000FFDF06B9FFDF687BC00702D05127142618 +:105FE00001E0502712264CB36888A080502F06D0BD +:105FF00084F806A0287B594601F0E2FA2EE0287BBF +:10600000A11DF9E7FE49A8894989814205D1542794 +:1060100006269CB16888A08020E053270BE06888A2 +:10602000A080A889E08019E0688804210AF046F879 +:1060300000B9FFDF55270826002CF0D1A8F8006032 +:1060400011E056270726002CF8D06888A080002091 +:1060500013E0FFDF02E0012808D0FFDFA8F80060AE +:106060000CB1278066800020BDE8FC9F57270726DB +:10607000002CE3D06888A080687AA071EEE7401D0C +:1060800020F0030009B14143091D01EB40007047B6 +:1060900013B5DB4A00201071009848B1002468460F +:1060A00009F03BFE002C02D1D64A009911601CBDBC +:1060B00001240020F4E770B50D461446064686B06C +:1060C0005C220021284607F05EF904B9FFDFA078C2 +:1060D0006874A2782188284601F09DFA0020A881E2 +:1060E000E881228805F11401304605F056FD6A4624 +:1060F0000121304606F00FFF1AE000BF9DF80300B3 +:10610000000715D5BDF806103046FFF72DFD9DF8A8 +:106110000300BDF8061040F010008DF80300BDF834 +:106120000300ADF81400FF233046059A07F077F816 +:10613000684606F0FCFE0028E0D006B070BD10B541 +:106140000C4601F1140005F060FD0146627C20461A +:10615000BDE8104001F094BA30B50446A84891B0AB +:106160004FF6FF75C18905AA284606F0D4FE30E037 +:106170009DF81E00A0422AD001282AD1BDF81C009B +:10618000B0F5205F03D042F60101884221D1002002 +:1061900002AB0AAA0CA9019083E80700072000902F +:1061A000BDF81A1010230022284606F084FF38B9E3 +:1061B000BDF828000BAAC0B20CA90BF017FD10B156 +:1061C000032011B030BD9DF82E00A04201D1002067 +:1061D000F7E705A806F0ABFE0028C9D00520F0E7D8 +:1061E00070B50546042109F069FF040000D1FFDF06 +:1061F00004F114010C46284605F0EBFC2146284624 +:10620000BDE8704005F0ECBC70B58AB00C4606469F +:10621000FBF794FA050014D02878222827D30CB174 +:10622000A08890B101208DF80C0003208DF810009B +:1062300000208DF8110054B1A088ADF81800206836 +:1062400007E043F202000AB070BD0920FBE7ADF899 +:10625000180005900421304609F030FF040000D1F9 +:10626000FFDF04F1140005F0E6FC000701D408206C +:10627000E9E701F02BFF60B108A802210094CDE905 +:10628000011095F8232003A930466368FFF7EEFB61 +:10629000D9E71120D7E72DE9F04FB2F802A08346E5 +:1062A00089B0154689465046FBF748FA074604214F +:1062B000504609F003FF0026044605964FF00208F9 +:1062C0000696ADF81C6007B9FFDF04B9FFDF414651 +:1062D000504603F0DAFE50B907AA06A905A88DE8D2 +:1062E00007004246214650466368FFF74EFB44488C +:1062F00007AB0660DDE9051204F11400CDF800904B +:10630000CDE90320CDE9013197F8232059465046C5 +:106310006B6805F0D9FC06000AD0022E04D0032ECB +:1063200014D0042E00D0FFDF09B03046BDE8F08F56 +:10633000BDF81C000028F7D00599CDE900104246B1 +:10634000214650466368FFF74DFBEDE7687840F063 +:1063500008006870E8E72DE9F04F99B004464FF067 +:1063600000082748ADF81C80ADF82080ADF82480E7 +:10637000A0F80880ADF81480ADF81880ADF82C8036 +:10638000ADF82880007916460D464746012808D00A +:10639000022806D0032804D0042802D0082019B00F +:1063A000C4E72046FAF747FF70BB2846FAF743FFD9 +:1063B00050BB6068FAF78CFF30BB606848B16089F9 +:1063C0002189884202D8B1F5007F01D90C20E6E787 +:1063D00080460EAA06A92846FFF7C8F90028DED194 +:1063E00068688078C0F34100022808D19DF8190040 +:1063F00010F0380F03D02869FAF761FF20B904E0E4 +:10640000380200201400002022E005A92069FFF7CF +:1064100065F90028C3D1206948B1607880079DF8EC +:10642000150000F0380001D5F0B300E0E0BB9DF8A6 +:10643000140080060ED59DF8150010F0380F03D01B +:106440006068FAF73CFF18B96068FAF741FF08B1D5 +:106450001020A4E70AA96069FFF740F900289ED13F +:10646000606940B19DF8290000F0070101293CD185 +:1064700010F0380F39D00BA9A069FFF72FF90028C9 +:106480008DD19DF8280080062FD49DF82C00800621 +:106490002BD4A06950B19DF82D0000F0070101290F +:1064A00023D110F0380F00E01FE01ED0E06818B1D3 +:1064B0000078D0B11C2818D20FAA611C2046FFF723 +:1064C0007CF90121384661F30F2082468DF8521085 +:1064D000B94642F603000F46ADF850000DF13F02F9 +:1064E00018A928680BF0A1FB08B1072057E79DF811 +:1064F000600015A9CDF80090C01CCDE9019100F015 +:10650000FF0B00230BF20122514614A806F02EFCCB +:10651000F0BBBDF854000C90FE482A89296900920E +:10652000CDE901106B89BDF838202868069906F07E +:106530001DFC01007ED120784FF0020AC10601D473 +:1065400080062BD5CDF80C90606950B90AA906A831 +:10655000FFF764F99DF8290020F00700401C8DF832 +:1065600029009DF8280008A940F0C8008DF82800EF +:106570008DF8527042F60210ADF8500003AACDF823 +:1065800000A0CDE90121002340F2032214A800E07D +:106590001EE00A9906F0EAFB01004BD1DD484D46AA +:1065A00008385B460089ADF83D000FA8CDE90290A0 +:1065B000CDF80490CDF810904FF007090022CDF8E7 +:1065C0000090BDF854104FF6FF7006F012FB10B1AA +:1065D000FFF753F8E3E69DF83C00000624D5294672 +:1065E000012060F30F218DF852704FF42450039571 +:1065F000ADF8500062789DF80C00002362F30000B3 +:106600008DF80C006278CDF800A0520862F34100CA +:106610008DF80C0003AACDE9012540F2032214A84D +:1066200006F0A4FB010005D1606888B32069A8B911 +:1066300005A900E084E006A8FFF7F0F8607880077D +:1066400006D49DF8150020F038008DF8150005E0FF +:106650009DF8140040F040008DF814008DF8527041 +:1066600042F60110ADF85000208940F20121B0FB44 +:10667000F1F201FB1202606809ABCDF80080CDE9B0 +:106680000103002314A8059906F070FB010057D1FF +:106690002078C00728D00395A06950B90BA906A897 +:1066A000FFF7BCF89DF82D0020F00700401C8DF886 +:1066B0002D009DF82C008DF8527040F040008DF8B0 +:1066C0002C0042F60310ADF8500007A903AACDF83C +:1066D00000A0CDE90121002340F2032214A80B9968 +:1066E00006F044FB01002BD1E06868B32946012085 +:1066F00060F30F218DF8527042F60410ADF850008F +:10670000E068002302788DF8582040788DF8590011 +:10671000E06816AA4088ADF85A00E06800798DF864 +:106720005C00E068C088ADF85D00CDF80090CDE970 +:1067300001254FF4027214A806F018FB010003D0E3 +:106740000C9800F0C9FF2AE672480321083801714D +:1067500056B100893080BDF824007080BDF820005B +:10676000B080BDF81C00F080002018E670B501254F +:106770008AB016460B46012802D0022816D104E042 +:106780008DF80E504FF4205003E08DF80E5042F675 +:106790000100ADF80C005BB10024601C60F30F2415 +:1067A00004AA08A918460BF040FA18B107204AE5D8 +:1067B000102048E504A99DF820205648CDE9002185 +:1067C000801E02900023214603A802F2012206F057 +:1067D000CDFA10B1FEF751FF35E54E4808380EB13D +:1067E000C1883180057100202DE5F0B593B00746D2 +:1067F00001268DF83E6041F60100ADF83C0012AA7A +:106800000FA93046FFF7B2FF002849D1414C0025BF +:10681000083CEFB31C22002102A806F0B4FD9DF84D +:1068200008008DF83E6040F020008DF8080042F628 +:106830000520ADF83C000E959DF83A00119520F02A +:106840000600801C8DF83A009DF838006A4620F05A +:10685000FF008DF838009DF8390009A920F0FF00ED +:106860008DF839000420ADF82C00ADF830000EA8EA +:106870000A9011A80D900FA80990ADF82E5002A80B +:10688000FFF769FD00280BD1BDF80000608100E032 +:1068900008E0BDF80400A081401CE08125710020C3 +:1068A00013B0F0BD6581A581BDF84800F4E72DE97E +:1068B000F74F1849A0B00024083917940A79A14667 +:1068C000012A04D0022A02D0082023B02EE5CA886B +:1068D000824201D00620F8E721988A46824201D1FF +:1068E0000720F2E70120214660F30F21ADF84800B0 +:1068F0004FF6FF780691ADF84A808DF86E0042F6AB +:10690000020B8DF872401CA9ADF86CB0ADF8704068 +:10691000139101E040020020ADF8508012A806F06B +:1069200035FB00252E462F460DAB072212A9404607 +:1069300006F02FFB78B10A285DD195B38EB3ADF880 +:106940006450ADF866609DF85E008DF8144019AC97 +:10695000012864D06BE09DF83A001FB3012859D19B +:10696000BDF8381059451FD118A809A901940294FF +:10697000CDE9031007200090BDF836101023002247 +:10698000404606F098FBB0BBBDF86000042801D07B +:1069900006284AD1BDF82410219881423AD10F200F +:1069A00093E73AE0012835D1BDF83800B0F5205F13 +:1069B00003D042F6010188422CD1BAF80600BDF896 +:1069C0003610884201D1012700E0002705B19EB1B1 +:1069D000219881421ED118A809AA01940294CDE9F8 +:1069E0000320072000900D4610230022404606F0A9 +:1069F00062FB00B902E02DE04E460BE0BDF86000FE +:106A0000022801D0102810D1C0B217AA09A90BF092 +:106A1000EDF850B9BDF8369086E7052055E705A991 +:106A200017A8221D0BF001F908B103204DE79DF8CE +:106A300014000023001DC2B28DF814202298009289 +:106A4000CDE901401BA8069906F090F910B9022281 +:106A50008AF80420FEF711FE37E710B50B46401EFA +:106A600088B084B205AA00211846FEF7A6FE0020D1 +:106A70000DF1080C06AA05A901908CE80700072073 +:106A800000900123002221464FF6FF7006F0B1F876 +:106A90000446BDF81800012800D0FFDF2046FEF7AD +:106AA000ECFD08B010BDF0B5F74F044687B038795B +:106AB0000E46032804D0042802D0082007B0F0BDF9 +:106AC00004AA03A92046FEF751FE0500F6D160682E +:106AD0008078C0F3410002280AD19DF80D0010F023 +:106AE000380F05D02069FAF7EAFB08B11020E5E776 +:106AF000208905AA21698DE807006389BDF8102067 +:106B00002068039906F032F910B1FEF7B6FDD5E71B +:106B100016B1BDF814003080042038712846CDE746 +:106B2000F8B50C0006460CD001464FF6FF75002361 +:106B30006A46284606F044FB28B100BFFEF79DFDDB +:106B4000F8BD1020F8BD69462046FEF7C7FD0028B5 +:106B5000F8D1A078314600F001032846009A06F0EB +:106B60005EFBEBE730B587B0144600220DF1080C50 +:106B700005AD01928CE82C00072200920A460146DE +:106B800023884FF6FF7006F034F8BDF8141021800A +:106B9000FEF773FD07B030BD70B50D46042109F056 +:106BA0008DFA040000D1FFDF294604F11400BDE88E +:106BB000704005F039B870B50D46042109F07EFA31 +:106BC000040000D1FFDF294604F11400BDE8704045 +:106BD00005F04DB870B50D46042109F06FFA0400B8 +:106BE00000D1FFDF294604F11400BDE8704005F034 +:106BF00065B870B50546042109F060FA040000D1BB +:106C0000FFDF214628462368BDE870400122FEF7D9 +:106C100003BF70B50646042109F050FA040000D104 +:106C2000FFDF04F1140004F0F0FF401D20F0030525 +:106C300011E0011D00880022431821463046FEF76E +:106C4000EBFE00280BD0607CABB2684382B2A06838 +:106C5000011D09F002F9A06841880029E9D170BD41 +:106C600070B50546042109F029FA040000D1FFDFC0 +:106C7000214628466368BDE870400222FEF7CCBE7C +:106C800070B50E46054601F021FA040000D1FFDF81 +:106C90000120207266726580207820F00F00001DB0 +:106CA00020F0F00040302070BDE8704001F012BAD2 +:106CB00010B50446012900D0FFDF2046BDE8104092 +:106CC0000121FEF7A7BA2DE9F04F97B04FF0000A67 +:106CD0000C008346ADF814A0D04619D0E06830B15E +:106CE000A068A8B10188ADF81410A0F800A058461B +:106CF000FAF724FD070043F2020961D03878222810 +:106D00005CD30421584609F0D9F9050005D103E008 +:106D1000102017B0BDE8F08FFFDF05F1140004F07C +:106D200074FF401D20F00306A078012803D002283C +:106D300001D00720EDE7218807AA584606F0EBF8B6 +:106D400030BB07A806F0F3F810BB07A806F0EFF871 +:106D500048B99DF82600012805D1BDF82400A0F50A +:106D60002451023902D04FF45050D2E7E068B0B15C +:106D7000CDE902A00720009005AACDF804A0049256 +:106D8000A2882188BDF81430584605F032FF10B1B2 +:106D9000FEF773FCBDE7A168BDF8140008809DF8FC +:106DA0001F00C00602D543F20140B2E70B9838B18C +:106DB000A1780078012905D080071AD40820A8E717 +:106DC0004846A6E7C007F9D002208DF83C00A86825 +:106DD0004FF00009A0B1697C4288714391420FD9FC +:106DE0008AB2B3B2011D08F0EEFF8046A0F800A001 +:106DF00006E003208DF83C00D5F800804FF0010933 +:106E00009DF8200010F0380F00D1FFDF9DF8200022 +:106E10001E49C0F3C200084497F8231010F8010C73 +:106E2000884201D90F2074E72088ADF8400014A9EA +:106E30000095CDE90191434607220FA95846FEF778 +:106E400015FE002891D19DF8500050B9A078012876 +:106E500007D1687CB3B2704382B2A868011D08F004 +:106E6000C6FF002055E770B5064615460C46084695 +:106E7000FEF7C2FB002805D12A4621463046BDE870 +:106E8000704073E470BD12E538020020F2B00100DA +:106E900070B51E4614460D0009D044B1616831B189 +:106EA00038B1FC49C988814203D0072070BD102049 +:106EB00070BD2068FEF7A0FB0028F9D132462146BC +:106EC0002846BDE87040FFF746BA70B515460C007D +:106ED00006D038B1EF490989814203D0072070BD3F +:106EE000102070BD2068FEF787FB0028F9D12946E5 +:106EF0002046BDE87040D6E570B5064686B00D4622 +:106F000014461046FAF7BDF9D0BB6068FAF7E0F90D +:106F1000B0BBA6F57F40FF3803D03046FAF70EFC31 +:106F200080B128466946FEF79BFC00280CD19DF8ED +:106F300010100F2008293DD2DFE801F008060606F0 +:106F4000060A0A0843F2020006B070BD0320FBE700 +:106F50009DF80210012908D1BDF80010B1F5C05FFD +:106F6000F2D06FF4C052D142EED09DF80610012944 +:106F70000DD1BDF80410A1F52851062907D200E073 +:106F800029E0DFE801F0030304030303DCE79DF8D5 +:106F90000A1001290FD1BDF80810B1F5245FD3D034 +:106FA000A1F60211B1F50051CED00129CCD00229B1 +:106FB00001D1C9E7FFDF606878B9002305AA294637 +:106FC000304606F0FDF810B1FEF757FBBCE79DF820 +:106FD0001400800601D41020B6E7618822462846B6 +:106FE0006368FFF7BFFDAFE72DE9F043814687B047 +:106FF000884614461046FAF744F918B1102007B035 +:10700000BDE8F083002306AA4146484606F0D8F8BA +:1070100018B100BFFEF731FBF1E79DF81800C0067C +:1070200002D543F20140EAE70025072705A80195AC +:1070300000970295CDE9035062884FF6FF734146F1 +:10704000484606F038F8060013D16068FAF719F9D7 +:1070500060B960680195CDE90250009704952388D6 +:1070600062884146484606F026F80646BDF81400F8 +:1070700020803046CEE739B1864B0A889B899A42F8 +:1070800002D843F2030070471DE610B586B0814C6C +:107090000423ADF81430638943B1A4898C4201D232 +:1070A000914205D943F2030006B010BD0620FBE76C +:1070B000ADF81010002100910191ADF800300221CF +:1070C0008DF8021005A9029104A90391ADF81220D0 +:1070D0006946FFF7F8FDE7E72DE9FC4781460D46D5 +:1070E0000846FAF7A8F888BB4846FAF727FB5FEA94 +:1070F00000080AD098F80000222829D30421484625 +:1071000008F0DCFF070005D103E043F20200BDE810 +:10711000FC87FFDF07F1140004F08DFD0646287898 +:10712000012803D0022804D00720F0E7B0070FD5CC +:1071300002E016F01C0F0BD0A8792C1DC00709D057 +:10714000E08838B1A068FAF776F818B11020DEE7C9 +:107150000820DCE721882A780720B1F5847F35D024 +:107160001EDC40F20315A1F20313A94226D00EDC67 +:10717000B1F5807FCBD003DCF9B1012926D1C6E778 +:10718000A1F58073013BC2D0012B1FD113E0012B6D +:10719000BDD0022B1AD0032BB9D0042B16D112E08C +:1071A000A1F20912082A11D2DFE802F00B04041040 +:1071B00010101004ABE7022AA9D007E0012AA6D0DC +:1071C00004E0320700E0F206002AA0DACDB200F0B7 +:1071D0007DFF50B198F82300CDE90005FA892346D8 +:1071E00039464846FEF78DFC91E711208FE72DE9DF +:1071F000F04F8BB01F4615460C4683460026FAF723 +:107200009DFA28B10078222805D208200BB081E52C +:1072100043F20200FAE7B80801D00720F6E7032F8F +:1072200000D100274FF6FF79CCB1022D73D3204651 +:10723000FAF74EF830B904EB0508A8F10100FAF7A7 +:1072400047F808B11020E1E7AD1E38F8028CAAB269 +:107250002146484606F007F940455CD1ADB20D49DC +:10726000B80702D58889401C00E001201FFA80F889 +:10727000F80701D08F8900E04F4605AA41465846DD +:1072800005F049FE4FF0070A4FF00009DCB3204635 +:107290000BE0000038020020408810283BD8361D43 +:1072A000304486B2AE4236D2A01902884245F3D3AA +:1072B00051E000BF9DF8170002074CD594B304EBD2 +:1072C0000608361DB8F80230B6B2102B23D89A192A +:1072D000AA4220D8B8F8002091421CD1C0061CD583 +:1072E000CDE900A90DF1080C0AAAA11948468CE8BD +:1072F0000700B8F800100022584605F07AFC20B1CB +:10730000FEF7BBF982E726E005E0B8F80200BDF819 +:107310002810884201D00B2078E7B8F802003044EA +:1073200086B207E0FFE7C00604D55846FEF71CFC0E +:10733000002888D19DF81700BDF81A1020F0100021 +:107340008DF81700BDF81700ADF80000FF23584670 +:10735000009A05F064FF05A805F0E9FD18B9BDF82D +:107360001A10B942A6D90421584608F0A7FE040015 +:1073700000D1FFDFA2895AB1CDE900A94D46002313 +:1073800021465846FEF7BDFB0028BBD1A5813DE74D +:1073900000203BE72DE9FF4F8BB01E4617000D463E +:1073A0004FF0000412D0B00802D007200FB0B1E4B3 +:1073B000032E00D100265DB10846F9F780FF28B9F9 +:1073C0003888691E0844F9F77AFF08B11020EDE704 +:1073D000C74AB00701D5D18900E00121F0074FF677 +:1073E000FF7802D0D089401E00E0404686B206AA4F +:1073F0000B9805F090FD4FF000094FF0070B0DF1D1 +:10740000140A38E09DF81B00000734D5CDF804902D +:10741000CDF800B0CDF80890CDE9039A434600229C +:107420000B9805F048FE60BB05B3BDF814103A8810 +:1074300021442819091D8A4230D3BDF81E2020F8A6 +:10744000022BBDF8142020F8022BCDE900B9CDE9BC +:107450000290CDF810A0BDF81E10BDF81430002227 +:107460000B9805F028FE08B103209FE7BDF8140033 +:107470002044001D84B206A805F059FD20B10A2859 +:1074800006D0FEF7FAF891E7BDF81E10B142B9D95F +:1074900034B17DB13888A11C884203D20C2085E725 +:1074A000052083E722462946404605F0DCFF0146D9 +:1074B00028190180A41C3C80002077E710B5044601 +:1074C000F9F7DFFE08B1102010BD8948C08920807F +:1074D000002010BDF0B58BB00D46064614220021E9 +:1074E00003A805F050FF01208DF80C008DF8100066 +:1074F00000208DF81100ADF814503046FAF71EF94F +:1075000048B10078222812D30421304608F0D6FD75 +:10751000040005D103E043F202000BB0F0BDFFDF31 +:1075200004F11400074604F086FB800601D408200D +:10753000F3E7207C022140F00100207409A80094A8 +:10754000CDE90110072203A930466368FEF78EFAE1 +:1075500020B1217C21F001012174DEE7294630466B +:10756000FDF749FE08A9384604F054FB00B1FFDFDF +:10757000BDF82040172C01D2172000E02046A84279 +:1075800001D92C4602E0172C00D2172421463046A0 +:10759000FFF711FB21463046FDF751FB0020BCE709 +:1075A000F8B51C4615460E46069F08F0BAFE23465F +:1075B000FF1DBCB231462A46009408F0B6FAF8BD69 +:1075C00070B50C4605460E220021204605F0DBFE74 +:1075D000002020802DB1012D01D0FFDF70BD0620DD +:1075E00000E00520A07170BD10B5488008781346F2 +:1075F00020F00F00001D20F0F00080300C460870D5 +:107600001422194604F1080005F093FE00F062FD13 +:107610003748046010BD2DE9F047DFF8D890491DC8 +:10762000064621F0030117460C46D9F8000008F081 +:1076300092FB050000D1FFDF4FF000083560A5F890 +:1076400000802146D9F8000008F085FB050000D134 +:10765000FFDF7560A5F800807FB104FB07F1091D0D +:107660000BD0D9F8000008F076FB040000D1FFDF52 +:10767000B460C4F80080BDE8F087C6F80880FAE777 +:107680002DE9F0411746491D21F00302194D064628 +:1076900001681446286808F089FB2246716828684A +:1076A00008F084FB3FB104FB07F2121D03D0B16860 +:1076B000286808F07BFB042008F0ACFC044604209A +:1076C00008F0B0FC201A012804D12868BDE8F04178 +:1076D00008F036BBBDE8F08110B50C4605F0EAFBBA +:1076E00000B1FFDF2046BDE81040FDF7C6BF000037 +:1076F00038020020140000204FF0E0214FF4004039 +:10770000C1F88001BFF34F8FBFF36F8F00F021B836 +:1077100010B5044600F01DF8002C09D0124A12489A +:1077200012491432124B012C03D0022C07D0FFDF78 +:1077300010BD0224046011604FF0407004E0032487 +:10774000046011604FF40000186010BD00B5FFDF49 +:1077500000BD054800210160016005494FF06070DF +:10776000091D08607047000000F500404802002035 +:1077700004F501402DE9F05FDFF850A44FF0000858 +:107780008B4606469AF80940474645469AF80190C6 +:1077900008E0284601F00EF8817B407811FB007765 +:1077A0006D1CEDB24D45F4D19AF8090020442044F7 +:1077B00020440744FF2F01D94FF013083068C01C44 +:1077C00020F0030232605BEA080021D1FF48FBB2DF +:1077D000062120300CF0C8F9002408E0062C0FD256 +:1077E000DFE804F005030A0A0C05F94800E0F9484F +:1077F0000CF0DAF9054604E0F748F9E7F748F7E74F +:10780000FFDFA54200D0FFDF641CE4B2062CE5D305 +:10781000306800EB071030604046BDE8F09F38B597 +:107820000C468288817B19B14189914200D90A4670 +:107830002280C188121D90B26A4607F081FCBDF813 +:107840000000032800D30320C1B2208800F0D1FF3C +:1078500038BD38B50C468288817B19B101899142C7 +:1078600000D90A462280C188121D90B26A4607F0EC +:1078700067FCBDF80000022800D30220C1B22088B6 +:1078800000F0B7FF401CC0B238BD2DE9FF5F824653 +:107890008B46D34814460BF10302D0E90110CDE921 +:1078A000021022F0030201A84421019208F035FAE7 +:1078B000C64E002C02D1CB49019A8A60019901443D +:1078C0000191B57E05F1010504D1E8B20AF026F96F +:1078D00000B1FFDF019800EB0510C01C20F0030190 +:1078E000019144B9727A00200870B08B80B205F023 +:1078F00040F900B1FFDF0198F16908440190214689 +:1079000001A8FFF737FF80460198C01C20F0030054 +:107910000190717A04B1002008F0F5FA0199084449 +:107920000190214601A800F06FFFA84800273D46BE +:1079300090F801900CE0284600F03CFF0646817864 +:107940008088FDF713FA71786D1C00FB0177EDB2AA +:107950004D45F0D10198C01C20F00300019004B106 +:1079600000203946FDF70DFA0199002708440190DF +:1079700096483D4690F801900CE0284600F01AFF2A +:107980000646C1788088FEF77AFB71786D1C00FB93 +:107990000177EDB24D45F0D10198C01C20F00300F5 +:1079A000019004B100203946FEF772FB01994FF0B7 +:1079B00000090844019085484D4647780EE0284666 +:1079C00000F0F8FE0646807B30B106F1080002F0B8 +:1079D0009DF8727800FB02996D1CEDB2BD42EED1AC +:1079E0000198C01C20F00300019004B100207D49E3 +:1079F0004A78494602F08EF80199084401902146E0 +:107A000001A800F0B3FE0198C01D20F0070001900E +:107A1000DAF80010814204D3A0EB0B01B1F5803FEE +:107A200004DB4FF00408CAF8000004E0CAF80000C4 +:107A3000B8F1000F02D0404604B0EEE674BB6A49CC +:107A40000020019A0CF0FEF9FAF77EFB5F4C207ED5 +:107A50000090607E012823D0002318B300225B48E9 +:107A600000210C30FBF74AF800B1FFDFE07EFEF7A3 +:107A7000BCFE00B1FFDF55484FF4F67200213830EC +:107A800005F081FC51480421383080F8E91180F874 +:107A9000EA11062180F8EB11032101710020CBE7E8 +:107AA0000123DAE702AADAE770B5484C0646383413 +:107AB000207804EB4015E078083598B9A01990F8C3 +:107AC000E80100280FD0A0780F2800D3FFDF202284 +:107AD0000021284605F057FC687866F302006870BC +:107AE0000120E070284670BD2DE9F04105460C46A6 +:107AF00000270078052190463E46B1EB101F00D0CC +:107B0000FFDF287A50B101280ED0FFDFA8F800600F +:107B10000CB1278066800020BDE8F081012709268E +:107B200074B16888A08008E00227142644B16888F0 +:107B3000A0802869E060A88A2082287B2072E5E77F +:107B4000A8F80060E7E730B5204C01200021207044 +:107B50006170207260726176217621730521A182A5 +:107B60001F21E182607321A121610A21A176E076C3 +:107B70001C4D4FF4B060E0616868C11C21F0030146 +:107B8000814200D0FFDF6868606030BD30B5154CC1 +:107B90001568636810339D4202D20420136030BD23 +:107BA0000A4B5D785A6802EB051210705170032081 +:107BB000D080172090800120D070907000209073AA +:107BC0005878401C58706068103013E0540300204F +:107BD000A11F0000359C0000A9B000000F19010092 +:107BE000F8B0010018000020000000206E52463559 +:107BF000780000006060002030BD70B50646F8488F +:107C00000024457807E0204600F0D4FD0178B14219 +:107C100004D0641CE4B2AC42F5D1002070BDF7B5CD +:107C2000074608780C4610B3FFF7E7FF0546A7F1B3 +:107C30002006202F06D0052E19D2DFE806F00F2BE4 +:107C40002B151A0000F0C2FD0DB1697800E000218B +:107C5000401AA17880B20844FF2808D8A07830B133 +:107C6000A088022824D202E06088172820D20720AA +:107C7000FEBD207AE0B161881729F8D3A1881729C1 +:107C8000F5D3A1790029F2D0E1790029EFD040287D +:107C900004D9ECE7242F0BD1207A48B161884FF644 +:107CA000FB70814202D8A188814201D90420FEBD27 +:107CB00065B9207802AA0121FFF768FF0028F6D1F4 +:107CC0002078FFF79AFF050000D1FFDF052E18D2BC +:107CD000DFE806F0030B0E081100A0786870A0889A +:107CE000E8800FE06088A8800CE0A078A87009E028 +:107CF000A078E87006E054F8020FA8606068E860B9 +:107D000000E0FFDF0020FEBD1A2835D00DDC13286F +:107D100032D2DFE800F01B31203131272723252D17 +:107D2000313129313131312F0F00302802D003DCBD +:107D30001E2821D1072070473A3809281CD2DFE8D5 +:107D400000F0151B0F1B1B1B1B1B0700002070479F +:107D500043F20400704743F202007047042070476A +:107D60000D2070470F207047082070471120704782 +:107D700013207047062070470320704710B5007825 +:107D800000F0010007F0D2F9BDE81040BCE710B5E3 +:107D9000007800F0010007F0CEF9BDE81040B3E72D +:107DA0000EB5017801F001018DF80010417801F065 +:107DB00001018DF801100178C1F340018DF8021026 +:107DC0004178C1F340018DF80310017889088DF8DE +:107DD0000410417889088DF8051081788DF8061017 +:107DE000C1788DF8071000798DF80800684606F014 +:107DF0005DFEFFF789FF0EBD2DE9F84F784CDFF8E7 +:107E0000E481383400261FE0012000F048FD012005 +:107E1000FFF74AFE054644214746D8F8080007F018 +:107E20009AFF686000B9FFDF686806F03BFDA8B103 +:107E30002846F9F7F1FD284600F036FD20B9442226 +:107E40006968B86807F0B2FF94F9E9010428DBDA41 +:107E5000022008F0DFF807460025A6E04422696802 +:107E6000D8F8080007F0A2FFF2E7B8F80210404681 +:107E7000491C89B2A8F80210B94201D300214180FF +:107E80000221B8F8020008F019F9002865D0B8F806 +:107E90000200694607F0C8F8FFF736FF00B1FFDFC0 +:107EA0009DF8000078B1B8F8020008F04CFA5FEADB +:107EB000000900D1FFDF484607F0CBFC18B1B8F845 +:107EC000020002F0D0F8B8F8020008F02AFA5FEADF +:107ED000000900D1FFDF484607F0B3FCE8BB0321EF +:107EE000B8F8020008F0EAF85FEA000B48D1FFDFBB +:107EF00046E000BFDBF8100010B10078FF2849D041 +:107F0000022000F0CCFC0220FFF7CEFD824648465E +:107F100007F0A3FDCAF8040000B9FFDFDAF8040097 +:107F200007F06BFE002100900170B8F80210504677 +:107F3000AAF8021001F0BAFF484607F060FE00B947 +:107F4000FFDF504600F0B0FC18B99AF801000007B6 +:107F500004D50099CBF8101012E024E0DBF81000F3 +:107F600038B10178491C11F0FF01017008D1FFDF21 +:107F700006E000221146484600F0F6FB00B9FFDF9C +:107F800094F9EA01022805DBB8F8020001F055FF78 +:107F90000028AFD194F9E901042804DB484607F032 +:107FA00092FE00B101266D1CEDB2BD4204D294F9DF +:107FB000EA010228BFF659AF002E7FF423AFBDE8D7 +:107FC000F84F032000F06BBC10B5064CE060086869 +:107FD0002061AFF2DB1002F0C8FF607010BD00003E +:107FE0005403002018000020F74800210170F748D2 +:107FF0000170F7494160704770B505464FF08050F9 +:108000000C46D0F8A410491C05D1D0F8A810C943DB +:108010000904090C0BD050F8A01F01F001012970D0 +:10802000416821608068A080287830B970BD062141 +:1080300020460BF08CFB01202870607940F0C000D6 +:10804000607170BD70B54FF080540D46D4F880104B +:10805000491C0BD1D4F88410491C07D1D4F88810DE +:10806000491C03D1D4F88C10491C0CD0D4F88010D2 +:108070000160D4F884104160D4F888108160D4F88D +:108080008C10C16002E010210BF061FBD4F890006D +:10809000401C0BD1D4F89400401C07D1D4F89800B0 +:1080A000401C03D1D4F89C00401C09D054F8900F18 +:1080B000286060686860A068A860E068E86070BDDB +:1080C0002846BDE8704010210BF041BBBE48383057 +:1080D0000079E9E470B5BC4C3834E07830B32078EE +:1080E00004EB4010407A00F00700204490F9E801CA +:1080F000002800DCFFDF2078002504EB4010407AE8 +:1081000000F00700011991F8E801401E81F8E8012C +:108110002078401CC0B220700F2800D12570A078B4 +:10812000401CA0700BF09CF9E57070BDFFDF70BDC6 +:108130003EB50546032107F0C1FF0446284608F076 +:10814000F0F8054604B9FFDF206918B10078FF2870 +:1081500000D1FFDF01AA6946284600F005FB60B99F +:10816000FFDF0AE0002202A9284600F0FDFA00B96C +:10817000FFDF9DF8080000B1FFDF9DF80000411E01 +:108180008DF80010EED220690199884201D10020BB +:1081900020613EBD70B50546A0F57F400C46FF3816 +:1081A00000D1FFDF012C01D0FFDF70BDFFF78EFF94 +:1081B000040000D1FFDF207820F00F00401D20F0E8 +:1081C000F000503020706580002020720120207364 +:1081D000BDE870407EE72DE9F04116460D460746A2 +:1081E000FFF774FF040000D1FFDF207820F00F00BC +:1081F000401D20F0F0005030207067800120207278 +:1082000028682061A888A0822673BDE8F04161E754 +:108210007FB5FFF7F2FC040000D1FFDF02A9204682 +:10822000FFF7FDFA054603A92046FFF712FB8DF87C +:1082300000508DF80100BDF80800001DADF80200E7 +:10824000BDF80C00001DADF80400E088ADF8060094 +:10825000684606F053FF002800D0FFDF7FBD2DE900 +:10826000F05F5A4E8146307810B10820BDE8F09F8B +:108270004846F9F706F808B11020F7E7524C207885 +:1082800008B9FFF760FC647A4D4600F09FFAA042FF +:1082900007D2201AC1B22A460020FFF777FC002837 +:1082A000E4D171684848C91C002721F003017160BE +:1082B000B3463E463D46BA463C4690F801800AE049 +:1082C000204600F077FA4178807B0E4410FB015580 +:1082D000641CE4B27F1C4445F2D10AEB870000EB3A +:1082E000C600DBF8041000EB850045185C4601224F +:1082F00029464846FFF7C9FA060013D00020FFF7C9 +:108300007CFC05000CD005F11300616820F003002F +:10831000884200D0FFDF2C484178491E41706560DB +:108320003046A3E7002229464846FFF7AEFA00B1DF +:10833000FFDFD9F8000060604FF6FF706080012019 +:108340002070002092E72DE9F04104461F481746AF +:108350000E46007810B10820BDE8F0810846F8F715 +:108360006AFF08B11020F7E7174D287808B9FFF722 +:10837000EAFB601E1E2807D8012C22D13078FE2887 +:108380001FD8A8760020E7E7A4F120001F2805D811 +:10839000E0B23A463146BDE8F04140E4A4F1400085 +:1083A0001F2805D831462046BDE8F04100F0A2BAAA +:1083B000A4F1A0001F2804D80020A02C0AD0A12CD2 +:1083C0000DD00720C8E7000054030020180000204B +:1083D00048100020317801F00101E976BCE73168EE +:1083E0000922F82901D38B0701D01046B4E76B7B33 +:1083F00003F00303012B04D1EB8AD7339CB28C42E8 +:10840000F3D8E961A8E72DE9F04781460E46084612 +:10841000F8F737FF48B94846F8F751FF28B909F18E +:10842000030020F00301494502D01020BDE8F08789 +:10843000FC484FF0000A817869B14178804600EB32 +:1084400041140834378832460021204600F039FABA +:10845000050004D027E0A6F800A00520E6E7B9F162 +:10846000000F24D03088B84201D90C251FE0607875 +:1084700000F00705284600F012FA08EB050732461F +:1084800097F8E8014946401C87F8E801204607F5BF +:10849000F47700F016FA05463878401E387003204D +:1084A00000F0FDF92DB10C2D01D0A6F800A0284652 +:1084B000BCE76078DC4E00F00701012923D00229D7 +:1084C0000CD0032933D0FFDF98F801104046491C37 +:1084D000C9B288F801100F2934D035E0616821B1A4 +:1084E000000702D46088FFF723FE98F8EA014746A8 +:1084F000012802D1707802F057FD97F9EA010428AB +:10850000E2DBFFDFE0E7616819B14422B06807F001 +:108510004DFC98F8E9014746032802D1707802F033 +:1085200043FD97F9E9010428CEDBFFDFCCE7C00665 +:1085300002D56088FFF7FCFD98F9EB010628C3DB44 +:10854000FFDFC1E780F801A08178491E8170617862 +:1085500001F0070101EB080090F8E811491C80F8D0 +:10856000E811A4E770B50D460446F8F764FE18B9A3 +:108570002846F8F786FE08B1102070BD294620462F +:10858000BDE8704009F002BB70B5054609F021FB5B +:10859000C4B22846F8F793FE08B1102070BD35B17B +:1085A00028782C7018B1A04201D0072070BD204659 +:1085B000FDF7D2FD052805D109F00FFB012801D0F8 +:1085C000002070BD0F2070BD70B5044615460E46E4 +:1085D0000846F8F730FE18B92846F8F752FE08B1F9 +:1085E000102070BD022C03D0102C01D0092070BDCA +:1085F0002A463146204609F0F9FA0028F7D005202E +:1086000070BD70B514460D460646F8F714FE38B92D +:108610002846F8F736FE18B92046F8F750FE08B19C +:10862000102070BD22462946304609F0FEFA002887 +:10863000F7D0072070BD3EB50446F8F722FE08B11A +:1086400010203EBD684606F0C0F9FFF75DFB00282C +:10865000F7D19DF806002070BDF808006080BDF8D5 +:108660000A00A08000203EBD70B505460C460846B5 +:10867000F8F725FE20B93CB12068F8F702FE08B1F2 +:10868000102070BDA08828B121462846BDE8704062 +:10869000FDF7BABD092070BD70B505460C46084609 +:1086A000F8F7C9FD30B9681E1E2814D82046F8F71F +:1086B000C2FD08B1102070BD032D01D9072070BD87 +:1086C00005B9FFDF594800EB850050F8041C20462F +:1086D000BDE870400847A5F120001F2805D82146B5 +:1086E0002846BDE87040F9F7C1BCF02D0AD0BF2D77 +:1086F000E4D1A078218800F0010001F08DFA68B182 +:10870000002070BDA068F8F796FD0028D2D1204661 +:1087100006F04CFDBDE87040FFF7F6BA082070BDCA +:1087200070B504460D460846F8F7ABFD30B9601E3B +:108730001E280FD82846F8F77EFD08B1102070BD1E +:10874000012C03D0022C01D0032C01D1062070BDD6 +:10875000072070BDA4F120001F28F9D82946204623 +:10876000BDE87040F9F7D0BC07F03AB81CB5002955 +:108770001FD104F02AFE2C4800224178C06805F081 +:108780001DFF29481030C0788DF8000010B1012875 +:1087900002D004E0012000E000208DF800006846CF +:1087A00006F06BF9214824380068019001A806F012 +:1087B000BFFA1CBD30B51B4D0446383D6878A04259 +:1087C00000D8FFDF686800EB041030BD70B51548B5 +:1087D000002538382C46467807E02046FFF7EAFFA8 +:1087E0004078641C2844C5B2E4B2B442F5D12846AE +:1087F00070BD021D5143452900D245210844C01CCB +:10880000B0FBF2F0C0B270472DE9FC5F06460548A8 +:108810004FF0000838388B464746444690F80190A0 +:1088200029E000008C030020180000201CB101008A +:108830002046FFF7BFFF050000D1FFDF68786946DB +:108840003844C7B22846FEF7EAFF824601A9284607 +:10885000FEF7FFFF0346BDF804005246001D81B23B +:10886000BDF80000001D80B207F0A6FC6A78641C09 +:1088700000FB0288E4B24C45DAD13068C01C20F01D +:1088800003003060BBF1000F00D0002042463946A3 +:1088900007F0A0FC316808443060BDE8FC9F5649F1 +:1088A00008710020C87070475349CA782AB10A7805 +:1088B00001EB42110831814201D0012070470020B4 +:1088C00070472DE9F04106460078154600F00F0488 +:1088D00000201080601E0F46052800D3FFDF4748A8 +:1088E0002A4600EB8400394650F8043C3046BDE887 +:1088F000F04118472DE9F0413F4E0C46383E4028E4 +:1089000006D041281AD0422822D0432826D11AE086 +:1089100020786578012801D913201DE5FF2D08D89E +:1089200009F0F4FA07460AF053FD381A401EA8422F +:1089300001DA122010E5208830810DE0BDE8F04119 +:10894000084600F00DB80878022807D8307603E012 +:108950000878022802D870760020FDE40720FBE4A6 +:1089600038B50446407800F00300012803D00228FF +:108970000BD0072038BD606858B1F8F7A9FCD0B912 +:108980006068F8F79CFC20B915E06068F8F753FCC4 +:1089900088B969462046FBF77FF90028EAD160785C +:1089A00000F00300022808D19DF8000028B160689B +:1089B000F8F785FC08B1102038BD6189F8290ED878 +:1089C000208988420BD8607800F003020A483838C2 +:1089D000012A06D1D731C26989B28A4201D209205F +:1089E00038BD94E80E0000F10C0585E80E000AB9C8 +:1089F00000218182002038BD8C03002004B10100D9 +:108A00002DE9F041074614468846084601F024FD4A +:108A1000064608EB88001C22796802EBC0000D189E +:108A2000688C58B14146384601F025FD014678680A +:108A30000078C200082305F120000CE0E88CA8B102 +:108A40004146384601F01EFD01467868082340780B +:108A5000C20005F1240007F000FA38B106212172A6 +:108A60006681D0E90010C4E9031009E028780928DC +:108A70000BD00520207266816868E06000202870B5 +:108A80002046BDE8F04101F0C8BC07202072668195 +:108A9000F4E72DE9F04116460D460746406801EB24 +:108AA00085011C2202EBC1014418204601F00CFD97 +:108AB00040B10021708865F30F2160F31F4105204C +:108AC0000BF02CF909202070324629463846BDE8C3 +:108AD000F04195E72DE9F0410E46074600241C21A0 +:108AE000F07816E004EB8403726801EBC303D25CF8 +:108AF0006AB1FFF7EBFA050000D1FFDF6F802A466D +:108B000021463046FFF7C5FF0120BDE8F081641C17 +:108B1000E4B2A042E6D80020F7E770B5064600248C +:108B20001C21C0780AE000BF04EB8403726801EBEB +:108B3000C303D5182A782AB1641CE4B2A042F3D842 +:108B4000402070BD28220021284604F01CFC7068DB +:108B500080892881204670BD70B5034600201C2501 +:108B6000DC780CE000EB80065A6805EBC606324460 +:108B7000167816B1128A8A4204D0401CC0B28442D0 +:108B8000F0D8402070BDF0B5044600201C26E578E2 +:108B90000EE000BF00EB8007636806EBC7073B44AD +:108BA0001F788F4202D15B78934204D0401CC0B240 +:108BB0008542EFD84020F0BD0078032801D0002086 +:108BC0007047012070470078022801D000207047CC +:108BD000012070470078072801D00020704701204D +:108BE00070472DE9F041064688461078F178154621 +:108BF000884200D3FFDF2C781C27641CF078E4B295 +:108C0000A04201D8201AC4B204EB8401706807EBBB +:108C1000C1010844017821B14146884708B12C7050 +:108C200073E72878A042E8D1402028706DE770B53E +:108C300014460B880122A240134207D113430B8034 +:108C400001230A22011D07F0D2F8047070BD2DE93E +:108C5000FF4F81B00878DDE90E7B9A4691460E46BB +:108C600040072CD4019807F06EFB040000D1FFDF11 +:108C700007F1040820461FFA88F106F0BDFC050044 +:108C800000D1FFDF204629466A4606F008FF00981B +:108C9000A0F80370A0F805A0284606F0AEFF017802 +:108CA00069F306016BF3C711017020461FFA88F1C2 +:108CB00006F0E5FC00B9FFDF019805F027FC06EBA4 +:108CC0000900017F491C017705B0BDE8F08F2DE94F +:108CD000F84F0E469A4691460746032107F0EEF9F3 +:108CE0000446008DDFF87C85002518B198F8000057 +:108CF000B0421ED1384607F026FB070000D1FFDF47 +:108D000009F10401384689B206F076FC050010D05E +:108D1000384629466A4606F0C2FE009800210A46F7 +:108D20000180817005F067FC0098C01DCAF8000042 +:108D300021E098F80000B04216D104F1260734F87B +:108D4000341F012000FA06F911EA090F00D0FFDFF5 +:108D50002088012340EA090020800A22391D384674 +:108D600007F060F8067006E0324604F1340104F1C1 +:108D70002600FFF75CFF0A2188F800102846BDE8AE +:108D8000F88FFEB515460C46064602AB0C220621AE +:108D9000FFF79DFF002827D00299607812220A7001 +:108DA000801C487008224A80A070029829880523F8 +:108DB00081806988C180A9880181E9884181002575 +:108DC0000C20CDE90005062221463046FFF73FFF83 +:108DD0002946002266F31F41F02310460AF0F4FEF4 +:108DE0006078801C60700120FEBD2DE9FE430C46BA +:108DF000804644E002AB0E2207214046FFF767FFA2 +:108E0000002841D060681C2267788678BF1C06EB7A +:108E1000860102EBC10145180298142101704770C8 +:108E20000A214180698A0181E98A4181A98881807A +:108E3000A9898181304601F00FFB029905230722A1 +:108E4000C8806F700420287000250E20CDE9000531 +:108E500021464046FFF7FBFE294666F30F2168F3E3 +:108E60001F41F023002205200AF0AEFE6078FE4983 +:108E7000801C607062682046921CFFF7B2FE60683A +:108E800080784028B6D10120BDE8FE83FEB50D46AE +:108E9000064638E002AB0E2207213046FFF717FFE7 +:108EA000002835D068681C23C17801EB810203EBF0 +:108EB000C2028418029815220270627842700A2257 +:108EC0004280A2894281A2888281084601F0C4FAC8 +:108ED000014602988180618AC180E18A0181A0886F +:108EE000B8B10020207000210E20CDE9000105233B +:108EF000072229463046FFF7AAFE6A68DB49284662 +:108F0000D21CFFF76EFE6868C0784028C2D10120ED +:108F1000FEBD0620E6E72DE9FE430C46814644E00F +:108F2000204601F0BBFAD0B302AB08220721484625 +:108F3000FFF7CDFE0028A7D060681C22657806796F +:108F4000AD1C06EB860102EBC10147180298B7F889 +:108F5000108006210170457004214180304601F0E7 +:108F60007BFA0146029805230722C180A0F80480FD +:108F70007D70082038700025CDE90005214648465F +:108F8000FFF765FE294666F30F2169F31F41F023C1 +:108F9000002205200AF018FE6078801C607062686C +:108FA000B3492046121DFFF71CFE60680179402975 +:108FB000B6D1012068E72DE9F34F83B00D4691E06B +:108FC000284601F06BFA00287ED068681C2290F8D1 +:108FD00006A00AEB8A0102EBC1014418514628465B +:108FE00001F050FAA178CB0069684978CA000146BF +:108FF00004F1240006F04DFF07468188E08B4FF016 +:109000000009091A8EB208B1C84607E04FF00108FE +:10901000504601F00CFA08B9B61CB6B2208BB0422B +:1090200000D80646B34602AB324607210398FFF745 +:109030004EFE060007D0B8F1000F0BD0504601F0ED +:10904000F6F910B106E000203EE60299B8884FF02C +:10905000020908800196E28B3968ABEB09001FFA20 +:1090600080F80A4403984E46009207F06CF9DDE957 +:109070000021F61D4346009606F08BFDE08B404430 +:1090800080B2E083B988884201D1012600E0002641 +:10909000CDE900B6238A072229460398FFF7D7FDBA +:1090A000504601F0C4F910B9E089401EE0815EB17C +:1090B000A078401CA0706868E978427811FB02F142 +:1090C000CAB20123816900E006E00E3006F08FFE8F +:1090D00080F800A00020E0836A6866492846921D57 +:1090E000FFF77FFD6868817940297FF469AF01202F +:1090F000EAE570B5064648680D4614468179402970 +:1091000010D104EB84011C2202EBC101084401F0E0 +:10911000FCF9002806D06868294684713046BDE80D +:10912000704048E770BDFEB50C460746002645E096 +:10913000204601F0B3F9D8B360681C22417901EBF5 +:10914000810102EBC1014518688900B9FFDF02AB5C +:10915000082207213846FFF7BAFD002833D00299CC +:10916000607816220A70801C48700420488060686D +:10917000407901F071F901460298052307228180A8 +:109180006989C1800820CDE9000621463846FFF7ED +:109190005EFD6078801C6070A88969890844B0F51C +:1091A000803F00D3FFDFA88969890844A8816E81C8 +:1091B000626831492046521DFFF713FD606841790E +:1091C0004029B5D10120FEBD30B5438C458BC3F39A +:1091D000C704002345B1838B641EED1AC38A6D1E3C +:1091E0001D4495FBF3F3E4B22CB1008918B1A04201 +:1091F00000D8204603444FF6FF70834200D3034655 +:1092000013800C7030BD2DE9FC41074616460D4613 +:10921000486802EB86011C2202EBC10144186A4631 +:1092200001A92046FFF7D0FFA089618901448AB2D5 +:10923000BDF80010914212D0081A00D500206081BC +:109240006868407940280AD1204601F054F9002886 +:1092500005D06868294646713846FFF764FFBDE8C7 +:10926000FC8100002C000020B98B0000C78B00009F +:10927000D58B00000BA50000F7A400002DE9FE4FE0 +:109280000F46814615465088032106F017FF0190CE +:10929000B9F8020001F0D3F882460146019801F0C6 +:1092A000FDF8002824D001981C2241680AEB8A00AE +:1092B00002EBC0000C18204601F006F9002817D177 +:1092C000B9F80000E18A88420ED8A18961B1B8429C +:1092D0000ED100265146019801F0CDF8218C01EB0A +:1092E0000008608B30B114E0504601F0A0F8A0B344 +:1092F000BDE8FE8F504601F09AF808B1678308E098 +:10930000022FF5D3B9F804006083618A884224D81B +:109310000226B81B87B2B8F80400A28B801A002876 +:1093200014DD874200DA38461FFA80FB68886968D6 +:109330000291D8F800100A44009206F0F2FFF61DE0 +:10934000009A5B460299009606F0EFFBA08B38442A +:1093500080B2A083618B884207D96888019903B0E5 +:109360005246BDE8F04F01F0EDB81FD14FF00900B3 +:109370002872B9F802006881D8E90010C5E9041024 +:10938000608BA881284601F048F85146019801F009 +:1093900072F801460198082340680078C20004F181 +:1093A000200006F05AFD0020A0836083504601F0A3 +:1093B0003EF810B9A089401EA0816888019903B0C9 +:1093C0000AF0FF02BDE8F04F1DE72DE9F041064627 +:1093D00015460F461C461846F7F72DFF18B92068AA +:1093E000F7F74FFF08B110201AE47168688C09780C +:1093F000B0EBC10F01D3132012E43946304601F01F +:109400003AF80146706808230078C20005F1200090 +:1094100006F0EDFCD4E90012C0E90012002005E4DA +:1094200010B50446032106F049FE014600F114027E +:109430002046BDE81040A4E470B50446032106F0C0 +:109440003DFE054601462046FFF765FD002816D083 +:1094500029462046FFF767FE002810D029462046FF +:10946000FFF714FD00280AD029462046FFF7BDFC6F +:10947000002804D029462046BDE870409BE570BD19 +:109480002DE9F0410C4680461EE0E178427811FB60 +:1094900002F1CAB2816901230E3006F0DEFC0778C2 +:1094A00060681C22C179491EC17107EB87016068A1 +:1094B00002EBC10146183946204600F0EFFF18B113 +:1094C000304600F0FAFF20B16068C1790029DCD194 +:1094D0008AE7FEF7FBFD050000D1FFDF0A202872B6 +:1094E000384600F0B9FF68813946204600F0CAFFCF +:1094F0000146606808234078C20006F1240006F0A7 +:10950000ACFCD0E90010C5E90310A5F8028028469C +:1095100000F083FFB07800B9FFDFB078401EB07074 +:1095200062E770B50C460546032106F0C7FD01460B +:109530004068C2792244C2712846BDE870409FE766 +:109540002DE9FE4F8246507814460F464FF0000832 +:10955000002850D0012807D0022822D0FFDF206841 +:10956000B8606068F860C3E602AB0E22082150467E +:10957000FFF7ADFB0028F2D00298152105230170FA +:10958000217841700A214180C0F80480C0F8088029 +:10959000A0F80C80628882810E20CDE900080822A4 +:1095A00021E0A678304600F057FF054606EB86011D +:1095B0002C22786802EBC1010822465A02AB114600 +:1095C0005046FFF784FB0028C9D00298072101709C +:1095D000217841700421418008218580C680CDE931 +:1095E000001805230A4639464FEA0A00FFF72FFB09 +:1095F00087F808807CE6A678022516B1022E13D0E3 +:10960000FFDF2A1D914602AB08215046FFF75FFBA2 +:109610000028A4D002980121022E01702178417007 +:109620004580868002D005E00625EAE7A188C18052 +:10963000E1880181CDE9009805230822394650468A +:10964000D4E710B50446032106F038FD014600F1C9 +:1096500008022046BDE8104072E72DE9F04F0F46A2 +:10966000054687B014465088032106F027FD4FF0C9 +:1096700000088DF808800646ADF80A80042F5CD3F8 +:109680006A78002A59D028784FF6FF794FF01C0AE3 +:10969000132815D006DC01286FD006282BD0072808 +:1096A00006D16EE0142869D0152868D0162867D036 +:1096B000CDF80080CDF8048068788DF8000037E0A0 +:1096C000B078904239D13078010736D5062F34D1A1 +:1096D00020F0080030706088414660F31F41002090 +:1096E0000AF01CFB02208DF80800ADF80C90A88849 +:1096F000ADF80E00F4E0082F1FD1A888EF8881464E +:1097000000F09DFE80460146304600F0C7FE18B1CD +:10971000404600F08CFE98B1FA48D0E90010CDE93F +:1097200000106878ADF804908DF80000ADF8067070 +:1097300060886A463146FFF703FF07B0BDE8F08F47 +:10974000716808EB88002C2202EBC000085AB8426E +:10975000F3D1EC486A46D0E90210CDE900106878F0 +:109760008DF8000008F0FF058DF802506088314642 +:10977000FFF7E6FE2246294623E097E025E0CEE00B +:1097800023E1082FD9D1B5F80480E88800F057FE0E +:1097900007460146304600F081FE0028CDD007EB99 +:1097A000870271680AEBC2000844028A4245C4D1AC +:1097B00001780829C1D1407869788842BDD1F9B2D1 +:1097C00022463046FFF765F9B7E70E2F7FF470AFFA +:1097D000E9886F898B46B5F808903046FFF7BCF9E9 +:1097E000ABF14001402901D3092048E0B9F1170F3E +:1097F00001D3172F01D20B2041E040280ED000EBFF +:10980000800271680AEBC20008440178012903D183 +:1098100040786978884290D00A2030E03046FFF7DF +:109820007CF940282AD000EB800372680AEBC30160 +:1098300002EB0108012288F800206A7888F80120EC +:109840007168AA884989B94200D93946AD8903238C +:109850002372A282E7812182A4F80C90658200F035 +:10986000FBFD6081A8F81490A8F81870A8F80E50B5 +:10987000A8F810B0204600F0D0FD5EE704200521D6 +:109880002172A4F80A80E081012121739D49D1E968 +:109890000421CDE9002169788DF80010ADF80200AF +:1098A00060886A463146FFF74BFEE3E7062F8BD30D +:1098B000B07890421AD13078010717D520F008000F +:1098C00030706088414660F31F4100200AF026FA9C +:1098D00002208DF80800A888ADF80C00ADF80E90B5 +:1098E0006088224602A9F8F785FB26E70421304666 +:1098F000FFF749F905464028BFD0022083030090B6 +:1099000022462946304600F0E6FD4146608865F370 +:109910000F2160F31F4105200AF000FA0DE70E2F1A +:10992000ABD104213046FFF72EF981464028A4D060 +:109930004146608869F30F2160F31F4105200AF05A +:10994000EDF9A88906906889009070682F89408990 +:10995000B84200D938468346B5F80680A8880190F9 +:10996000484600F079FD6081069818B10220009009 +:10997000069B24E0B8F1170F1ED3172F1CD3042029 +:10998000207200986082E781A4F810B0A4F80C80DF +:1099900009EB890271680AEBC2000D18DDE90002CB +:1099A000A5F81480A5F818B0E8812A82204600F0B6 +:1099B00034FD06202870C0E601200B2300902246CB +:1099C0004946304600F087FDB7E6082F8DD1A988BB +:1099D0003046FFF7C1F80746402886D000F027FD43 +:1099E00000289BD107EB870271680AEBC20008448C +:1099F000804600F069FD002890D1ED88B8F80E008F +:109A00002844B0F5803F05D360883A46314600F0DF +:109A100099FD92E6002DCED0A8F80E0060883A4657 +:109A20003146FFF766FB08202072384600F014FD2F +:109A30006081A5811EE72DE9F05F0C4601281ED04C +:109A4000957992F80480567905EB85011F2202EB87 +:109A5000C10121F0030B08EB060111FB05F14FF6E4 +:109A6000FF7202EAC10909F1030115FB0611264F35 +:109A700021F0031ABB6840B101283ED125E061689E +:109A8000E57891F800804E78DEE75946184606F0F2 +:109A900062F9606000B9FFDF5A460021606803F098 +:109AA00072FCE5705146B86806F055F96168486186 +:109AB00000B9FFDF6068426902EB090181616068FB +:109AC00080F800806068467017E06068524641691F +:109AD000184606F06BF95A466168B86806F066F9F0 +:109AE000032006F097FA0446032006F09BFA201A9A +:109AF000012802D1B86806F023F90BEB0A00BDE893 +:109B0000F09F000028B101002C0000200246002137 +:109B1000022090E7F7B5FF4C0A2016462070009807 +:109B200060B100254FEA0D0006F0F7F80021A170A2 +:109B30006670002D01D10099A160FEBD01250020B5 +:109B4000F2E770B50C46154638220021204603F096 +:109B50001AFC012666700A22002104F11C0003F0A1 +:109B600012FC05B9FFDF297A207861F3010020702B +:109B7000A87900282DD02A4621460020FFF75BFF58 +:109B800061684020E34A88706168C8706168087144 +:109B900061684871616888716168288808816168B6 +:109BA00068884881606886819078002811D0616853 +:109BB0000620087761682888C885616828884886F3 +:109BC0006068068560686988928801868186468516 +:109BD000828570BDC878002802D0002201202AE7C3 +:109BE000704770B50546002165F31F4100200AF05B +:109BF00095F80321284606F061FA040000D1FFDF42 +:109C000021462846FEF766FF002804D0207840F061 +:109C100010002070012070BD70B505460C46032071 +:109C200006F0EAF908B1002070BDBA48857084805A +:109C3000012070BD2DE9FF4180460E460F0CFEF756 +:109C400045FA050007D06F800321384606F036FA42 +:109C5000040008D106E004B03846BDE8F041132105 +:109C6000F8F79EBDFFDF5FEA080005D0B8F1050FE9 +:109C700018D0FFDFBDE8FF8120782A4620F00800D9 +:109C800020700020ADF8020002208DF800004FF691 +:109C9000FF70ADF80400ADF8060069463846F8F7E5 +:109CA000A9F9E7E7C6F3072101EB81021C236068ED +:109CB00003EBC202805C042803D008280AD0FFDF2F +:109CC000D8E7012000904FF440432A46204600F098 +:109CD00002FCCFE704B02A462046BDE8F041FEF77B +:109CE000D8BE2DE9F05F05464089002790460C4616 +:109CF0003E46824600F0A3FB8146287AC01E082813 +:109D00006BD2DFE800F00D04192058363C4772276B +:109D10001026002C6CD0D5E90301C4E902015CE0F7 +:109D200070271226002C63D00A2205F10C0104F1E1 +:109D3000080003F0FEFA50E071270C26002C57D0E3 +:109D4000E868A06049E0742710269CB3D5E90301B8 +:109D5000C4E902016888032106F0B0F98346FEF7E2 +:109D6000B5F902466888508049465846FEF748FED5 +:109D700033E075270A26ECB1A88920812DE07627EB +:109D80001426BCB105F10C0004F1080307C883E8F0 +:109D9000070022E07727102664B1D5E90301C4E962 +:109DA00002016888032106F089F901466888FFF7F7 +:109DB00067FB12E01CE073270826CCB168880321FA +:109DC00006F07CF901460078C00606D56888FEF7E3 +:109DD00081FE10B96888F7F703FEA8F800602CB17F +:109DE0002780A4F806A066806888A080002086E608 +:109DF000A8F80060FAE72DE9FC410C461E4617461C +:109E00008046032106F05AF905460A2C0AD2DFE8FB +:109E100004F005050505050509090907042303E004 +:109E2000062301E0FFDF0023CDE900762246294624 +:109E30004046FEF70CFFBDE8FC81F8B50546A0F5ED +:109E40007F40FF382BD0284606F06BFA040000D183 +:109E5000FFDF204605F001FE002821D001466A46BA +:109E6000204605F01CFE00980321B0F80560284646 +:109E700006F024F90446052E13D0304600F0DFFA30 +:109E800005460146204600F009FB40B1606805EB3D +:109E900085013E2202EBC101405A002800D001207A +:109EA000F8BD007A0028FAD00020F8BDF8B50446C5 +:109EB000408806F036FA050000D1FFDF6A462846E2 +:109EC000616800F0A8FA01460098091F8BB230F8CB +:109ED000032F0280428842800188994205D1042ADA +:109EE00008D0052A20D0062A16D022461946FFF7A8 +:109EF000C5F9F8BD001D0E4605460146224630460E +:109F0000FBF763F90828F4D1224629463046FCF7CE +:109F1000C2F9F8BD2C000020636864880A46011D60 +:109F20002046F9F7C5FBF4E72246001DFFF795FB35 +:109F3000EFE770B50D460646032106F0BFF80400B2 +:109F400004D02078000704D5112070BD43F2020030 +:109F500070BD2A4621463046FEF713FF18B928681F +:109F600060616868A061207840F0080020700020DF +:109F700070BD2DE9F04F0E4691B08046032106F0EA +:109F80009DF80446404606F0DEF90746002007909B +:109F900008900990ADF830000A9002900390049068 +:109FA00004B9FFDF0DF10809FFB9FFDF1DE03846F6 +:109FB0000BA9002205F014FC9DF82C0000F07F0591 +:109FC0000A2D00D3FFDF6019017F491E01779DF83C +:109FD0002C00000609D52A460CA907A8FEF727FE83 +:109FE00019F80510491C09F80510761EF6B2DED2E4 +:109FF00004F13400F84D04F1260BDFF8E0A304F17E +:10A000002A07069010E05846069900F08DFA064699 +:10A0100028700A2800D3FFDF5AF8261040468847E8 +:10A02000E08CC05DB04202D0208D0028EBD10A2028 +:10A030002870EA4D4E4628350EE00CA907A800F01E +:10A0400073FA0446375D55F8240000B9FFDF55F870 +:10A050002420394640469047BDF81E000028ECD128 +:10A0600011B0BDE8F08F10B5032106F027F8040009 +:10A0700000D1FFDF0A22002104F11C0003F083F964 +:10A08000207840F00400207010BD10B50C4603216C +:10A0900006F014F82044007F002800D0012010BDF5 +:10A0A0002DE9F84F894615468246032106F006F849 +:10A0B000070004D02846F7F7BEF840B903E043F2A2 +:10A0C0000200BDE8F88F4846F7F7DBF808B110202A +:10A0D000F7E7786828B169880089814201D90920A9 +:10A0E000EFE7B9F800001C2488B100F0A8F9804619 +:10A0F0000146384600F0D2F988B108EB880079684B +:10A1000004EBC000085C01280BD00820D9E73846D2 +:10A11000FEF703FD8046402807D11320D1E7052034 +:10A12000CFE7FDF7D3FF06000BD008EB8800796876 +:10A1300004EBC0000C18B9F8000020B1E88910B198 +:10A1400013E01120BDE72888172802D36888172854 +:10A1500001D20720B5E7686838B12B1D2246414679 +:10A160003846FFF732F90028ABD104F10C026946FA +:10A170002046FFF729F8288860826888E082B9F8CD +:10A18000000030B102202070E889A080E889A0B1E9 +:10A190002BE003202070A889A0807868817840296E +:10A1A00005D180F8028039465046FEF71EFE404633 +:10A1B00000F052F9A9F8000021E07868218B40896D +:10A1C000884200D908462083A6F802A004203072F5 +:10A1D000B9F800007081E0897082F181208B3082B3 +:10A1E000A08AB081304600F018F97868C17840291B +:10A1F00005D180F8038039465046FEF747FE00201F +:10A200005FE770B50D460646032105F057FF0400D1 +:10A210000ED0284600F013F905460146204600F00E +:10A220003DF918B1284600F002F920B1052070BDB3 +:10A2300043F2020070BD05EB85011C22606802EB51 +:10A24000C101084400F040F908B1082070BD2A4659 +:10A250002146304600F076F9002070BD2DE9F0412E +:10A260000C4617468046032105F028FF0546204688 +:10A2700000F0E5F8044695B10146284600F00EF9D5 +:10A2800080B104EB84011C22686802EBC10146180E +:10A29000304600F019F938B10820BDE8F08143F2EA +:10A2A0000200FAE70520F8E73B46324621462846F9 +:10A2B000FFF78BF80028F0D1E2B229464046FEF7BE +:10A2C000A2FF708C0838082803D24348407800F079 +:10A2D0006BFE0020E1E72DE9F0410D461746804670 +:10A2E000032105F0EBFE0446284600F0A8F80646D8 +:10A2F00024B13846F6F79FFF38B902E043F2020076 +:10A30000CBE73868F6F797FF08B11020C5E731466C +:10A31000204600F0C3F860B106EB86011C2260689D +:10A3200002EBC1014518284600F0CEF818B108200C +:10A33000B3E70520B1E7B888A98A884201D90C2083 +:10A34000ABE76168E88C4978B0EBC10F01D313200B +:10A35000A3E73146204600F095F8014660680823DF +:10A360004078C20005F1240005F041FDD7E9001254 +:10A37000C0E90012F2B221464046FEF7BAFE0020C4 +:10A380008BE72DE9F0470D461F4690468146032195 +:10A3900005F094FE0446284600F051F806463CB10C +:10A3A0004DB13846F6F78BFF50B11020BDE8F0876D +:10A3B00043F20200FAE7606858B1A0F80C8028E088 +:10A3C0003146204600F06AF818B1304600F02FF808 +:10A3D00030B10520EAE700002C00002040B1010068 +:10A3E00006EB86011C22606802EBC1014518284675 +:10A3F00000F06AF808B10820D8E7A5F80880F2B2A2 +:10A4000021464846FEF7FFFE1FB1A8896989084426 +:10A4100038800020CAE705F042BB017821F00F0127 +:10A42000491C21F0F00110310170FDF753BE20B935 +:10A430004E48807808B101207047002070474B4992 +:10A440008988884201D100207047402801D24020ED +:10A4500000E0403880B2704710B50446402800D96B +:10A46000FFDF2046FFF7E3FF10B14048808810BDB2 +:10A470004034A0B210BD406842690078484302EB06 +:10A48000C0007047C2784068037812FB03F243783B +:10A49000406901FB032100EBC1007047C2788A428A +:10A4A00009D9406801EB81011C2202EBC101405C2B +:10A4B00008B101207047002070470078062801D9B4 +:10A4C00001207047002070470078062801D0012045 +:10A4D000704700207047F0B401EB81061C274468E8 +:10A4E00007EBC6063444049D05262670E3802571DB +:10A4F000F0BCFEF785BA10B5418911B1FFF7DDFF59 +:10A5000008B1002010BD012010BD10B5C18C8278AB +:10A51000B1EBC20F04D9C18911B1FFF7CEFF08B169 +:10A52000002010BD012010BD10B50C4601230A22E9 +:10A53000011D05F092FC00782188012282409143A0 +:10A54000218010BDF0B402EB82051C264C6806EB9E +:10A55000C505072363554B681C79402C03D11A713C +:10A56000F0BCFEF7D8BCF0BC704700002C00002007 +:10A5700070B50B2000F0BDF9082000F0BAF90021F9 +:10A580000B2000F0D4F90021082000F0D0F9F44CA1 +:10A5900001256560A5600020C4F84001C4F84401AD +:10A5A000C4F848010B2000F0B5F9082000F0B2F91A +:10A5B0000B2000F091F9256070BD10B50B2000F064 +:10A5C00098F9082000F095F9E54801214160816083 +:10A5D000E4490A68002AFCD10021C0F84011C0F803 +:10A5E0004411C0F848110B2000F094F9BDE8104068 +:10A5F000082000F08FB910B50B2000F08BF9BDE8F2 +:10A600001040082000F086B900B530B1012806D00E +:10A61000022806D0FFDF002000BDD34800BDD3488C +:10A6200000BDD248001D00BD70B5D1494FF00040BB +:10A630000860D04DC00BC5F80803CF480024046063 +:10A64000C5F840410820C43500F053F9C5F83C4135 +:10A65000CA48047070BD08B5C14A002128B101285C +:10A6600011D002281CD0FFDF08BD4FF48030C2F8A3 +:10A670000803C2F84803BB483C300160C2F84011EF +:10A68000BDE80840D0E74FF40030C2F80803C2F834 +:10A690004803B44840300160C2F84411B3480CE0AC +:10A6A0004FF48020C2F80803C2F84803AD48443094 +:10A6B0000160C2F84811AD48001D0068009008BD57 +:10A6C00070B516460D460446022800D9FFDF002269 +:10A6D000A348012304F110018B4000EB8401C1F871 +:10A6E000405526B1C1F84021C0F8043303E0C0F85A +:10A6F0000833C1F84021C0F8443370BD2DE9F04162 +:10A700001D46144630B1012833D0022838D0FFDF6F +:10A71000BDE8F081891E002221F07F411046FFF73D +:10A72000CFFF012D23D00020944D924F0126687059 +:10A730003E61914900203C3908600220091D0860F3 +:10A740008D490420303908608B483D34046008206E +:10A750006C6000F0DFF83004C7F80403082000F054 +:10A76000BBF88349F007091F08602E70D0E701206D +:10A77000DAE7012B02D00022012005E00122FBE7ED +:10A78000012B04D000220220BDE8F04198E701220D +:10A79000F9E774480068704770B500F0D8F8704C5D +:10A7A0000546D4F840010026012809D1D4F8080351 +:10A7B000C00305D54FF48030C4F80803C4F84061E5 +:10A7C000D4F8440101280CD1D4F80803800308D53B +:10A7D0004FF40030C4F80803C4F84461012008F0C5 +:10A7E00014FAD4F8480101280CD1D4F80803400326 +:10A7F00008D54FF48020C4F80803C4F8486102204B +:10A8000008F003FA5E48056070BD70B500F09FF86F +:10A810005A4D0446287850B1FFF706FF687818B102 +:10A820000020687008F0F1F95548046070BD0320FD +:10A83000F8E74FF0E0214FF40010C1F80002704734 +:10A84000152000F067B84B4901200861082000F08E +:10A8500061B848494FF47C10C1F808030020024653 +:10A8600001EB8003C3F84025C3F84021401CC0B26F +:10A870000628F5D37047410A43F609525143C0F305 +:10A88000080010FB02F000F5807001EB50207047CB +:10A8900010B5430B48F2376463431B0C5C020C6039 +:10A8A000384C03FB0400384B4CF2F72443435B0D58 +:10A8B00013FB04F404EB402000F58070401210708C +:10A8C00008681844086010BD2C4840687047294942 +:10A8D0000120C1F800027047002809DB00F01F02C8 +:10A8E000012191404009800000F1E020C0F80011F2 +:10A8F000704700280DDB00F01F0201219140400944 +:10A90000800000F1E020C0F88011BFF34F8FBFF34B +:10A910006F8F7047002809DB00F01F020121914072 +:10A920004009800000F1E020C0F88012704749071C +:10A93000090E002804DB00F1E02080F800147047C5 +:10A9400000F00F0000F1E02080F8141D70470C4863 +:10A95000001F00680A4A0D49121D1160704700006F +:10A9600000B0004004B500404081004044B10040C8 +:10A9700008F501400080004040850040380000207C +:10A9800014050240F7C2FFFF6F0C01000100000137 +:10A9900010B5EFF3108000F0010472B6FC48417866 +:10A9A000491C41704078012801D108F081FD002C3C +:10A9B00000D162B610BD70B5F54CA07848B901253C +:10A9C000A570FFF7E5FF08F084FD20B1002008F036 +:10A9D0004EFD002070BD4FF08040E570C0F804537C +:10A9E000F7E770B5EFF3108000F0010572B6E84CA0 +:10A9F000607800B9FFDF6078401E6070607808B949 +:10AA000008F05AFD002D00D162B670BDE04810B5C7 +:10AA1000817821B10021C1708170FFF7E2FF002031 +:10AA200010BD10B5044608F054FDD9498978084096 +:10AA300000D001202060002010BD10B5FFF7A8FF56 +:10AA400008F047FD02220123D149540728B1D1481B +:10AA5000026023610320087202E00A72C4F8043322 +:10AA60000020887110BD2DE9F84FDFF8249342785B +:10AA7000817889F80420002689F80510074689F8AE +:10AA800006600078DFF810B3354620B1012811D0F8 +:10AA9000022811D0FFDF08F02EFD4FF0804498B15E +:10AAA00008F030FDB0420FD1304608F02FFD0028ED +:10AAB000FAD042E00126EEE7FFF76AFF5846016848 +:10AAC000C907FCD00226E6E70120E060C4F8045183 +:10AAD000B2490E600107D1F84412B04AC1F34231C5 +:10AAE00024321160AD49343108604FF0020AC4F8D5 +:10AAF00004A3A060AA480168C94341F3001101F111 +:10AB00000108016841F01001016001E010F030F926 +:10AB1000D4F804010028F9D0304608F0F7FC0028EA +:10AB2000FAD0B8F1000F04D19D48016821F010015E +:10AB30000160C4F808A3C4F8045199F805004E4612 +:10AB400080B1387870B908F0C4FC804608F0CAFEBD +:10AB50006FF00042B8F1000F02D0C6E9032001E017 +:10AB6000C6E90302DBF80000C00701D008F0ADFC25 +:10AB7000387810B13572BDE8F88F4FF01808C4F876 +:10AB800008830127A7614FF42070ADF8000000BFD3 +:10AB9000BDF80000411EADF80010F9D2C4F80C5108 +:10ABA000C4F810517A48C01D08F030FD3570FFF729 +:10ABB00044FF67617949307920310860C4F8048323 +:10ABC000D9E770B5050000D1FFDF4FF080424FF0AC +:10ABD000FF30C2F808030021C2F80011C2F80411C6 +:10ABE000C2F80C11C2F81011694C617008F07DFCBC +:10ABF00010B10120A070607067480068C00701D0E4 +:10AC000008F063FC2846BDE870402CE76048007AF5 +:10AC1000002800D0012070472DE9F04F61484FF027 +:10AC2000000A85B0D0F800B0D14657465D4A5E496B +:10AC3000083211608406D4F8080110B14FF0010801 +:10AC400001E04FF0000808F0B4FC78B1D4F824011A +:10AC500000B101208246D4F81C0100B101208146D8 +:10AC6000D4F8200108B1012700E00027D4F8000142 +:10AC700000B101200490D4F8040100B10120039038 +:10AC8000D4F80C0100B101200290D4F8100100B1F9 +:10AC900001203F4D0190287800260090B8F1000F68 +:10ACA00004D0C4F80861012008F0E1FBBAF1000FFC +:10ACB00004D0C4F82461092008F0D9FBB9F1000FD1 +:10ACC00004D0C4F81C610A2008F0D1FB27B1C4F8F5 +:10ACD00020610B2008F0CBFB2D48C01D08F09EFC26 +:10ACE00000B1FFDFDFF8AC800498012780B1C4F821 +:10ACF0000873E87818B1EE70002008F0B8FB287AE5 +:10AD0000022805D1032028720221C8F8001027610B +:10AD1000039808B1C4F80461029850B1C4F80C61FA +:10AD2000287A032800D0FFDFC8F800602F72FFF7F1 +:10AD300058FE019838B1C4F81061287A012801D171 +:10AD400000F05CF86761009838B12E70287A01280D +:10AD500001D1FFF772FEFFF744FE0D48C01D08F059 +:10AD600073FC1049091DC1F800B005B0BDE8F08FB3 +:10AD7000074810B5C01D08F051FC0549B0B10120CD +:10AD800008704FF0E021C1F80002BDE81040FFE577 +:10AD900040000020340C00400C0400401805004026 +:10ADA00010ED00E01005024001000001087A0128C2 +:10ADB00001D1FFF742FEBDE81040244808F044BC32 +:10ADC00070B5224CE41FA07808B908F075FB01208B +:10ADD0008507A861207A0026032809D1D5F80C013F +:10ADE00020B9002008F092FB0028F7D1C5F80C61CB +:10ADF00026724FF0FF30C5F8080370BD70B5134CD4 +:10AE0000E41F6079F0B1012803D0A179401E81428E +:10AE100018DA08F05EFB054608F064FD6179012947 +:10AE200002D9A179491CA1710DB1216900E0E16845 +:10AE3000411A022902DA11F1020F06DC0DB120617C +:10AE400000E0E060BDE87040F7E570BD470000201D +:10AE5000374901200860704770B50D2000F049F8AF +:10AE6000344C0020C4F800010125C4F804530D201F +:10AE700000F050F825604FF0E0216014C1F80001A7 +:10AE800070BD10B50D2000F034F82A480121416052 +:10AE90000021C0F80011BDE810400D2000F03AB8C4 +:10AEA000254810B504682449244808310860214920 +:10AEB000D1F80001012804D0FFDF1F48001D046005 +:10AEC00010BD1B48001D00680022C0B2C1F800215F +:10AED00008F05FFCF1E710B5164800BFD0F800118C +:10AEE0000029FBD0FFF7DCFFBDE810400D2000F08B +:10AEF00011B800280DDB00F01F020121914040092C +:10AF0000800000F1E020C0F88011BFF34F8FBFF345 +:10AF10006F8F7047002809DB00F01F02012191406C +:10AF20004009800000F1E020C0F880127047000066 +:10AF300004D5004000D0004010050240010000018F +:10AF40004FF0E0214FF00070C1F8800101F5C071B1 +:10AF5000BFF34F8FBFF36F8FC1F80001394B8022D1 +:10AF600083F8002441F8800C704700B502460420A5 +:10AF7000354903E001EBC0031B792BB1401EC0B281 +:10AF8000F8D2FFDFFF2000BD41F8302001EBC00107 +:10AF900000224A718A7101220A7100BD2A4A0021E9 +:10AFA00002EBC0000171704710B50446042800D3BD +:10AFB000FFDF254800EBC4042079012800D0FFDF23 +:10AFC0006079A179401CC0B2814200D060714FF01D +:10AFD000E0214FF00070C1F8000210BD70B50425EB +:10AFE000194E1A4C16E0217806EBC1000279012AAD +:10AFF00008D1427983799A4204D04279827156F815 +:10B00000310080472078401CC0B22070042801D352 +:10B01000002020706D1EEDB2E5D270BD0C4810B559 +:10B0200004680B490B4808310860064890F8000492 +:10B030004009042800D0FFDFFFF7D0FF0448001DBF +:10B04000046010BD19E000E07805002054000020E5 +:10B0500010050240010000010F4A12680D498A42A2 +:10B060000CD118470C4A12680A4B9A4206D101B516 +:10B0700008F00AFC08F0DDFEBDE801400749096858 +:10B080000958084706480749054A064B704700001B +:10B0900000000000BEBAFECA5800002004000020D4 +:10B0A000B00F0020B00F002070B50C46054600F030 +:10B0B00045FB21462846BDE8704001F026BC000053 +:10B0C000F8B51D46DDE906470E000AD005F03BF94C +:10B0D0002346FF1DBCB231462A46009404F059FDB8 +:10B0E000F8BDD0192246194602F023F92046F8BDD2 +:10B0F00070B50D4604461022002102F044F9258166 +:10B1000017206081A07B40F00A00A07370BD4FF64D +:10B11000FF720A800146022008F000BE70470089D5 +:10B120007047827BD30701D1920703D480890880BE +:10B130000020704705207047827B920700D58181EF +:10B14000704701460020098841F6FE52114200D0A6 +:10B150000120704700B50346807BC00701D0052061 +:10B1600000BD59811846FFF7ECFFC00703D0987B5C +:10B1700040F004009873987B40F001009873002021 +:10B1800000BD827B520700D509B140897047172066 +:10B190007047827B61F3C302827370472DE9FC5FC5 +:10B1A0000E46044601789646012000FA01F14DF65C +:10B1B000FF5201EA020962684FF6FF7B1188594588 +:10B1C00002D10920BDE8FC9FB9F1000F05D041F67E +:10B1D000FE55294201D00120F4E741EA090111801E +:10B1E0001D0014D000232B7094F800C00521032209 +:10B1F0001F464FF0020ABCF10E0F76D2DFE80CF0CA +:10B20000F909252F47646B77479193B4D1D804206F +:10B21000D8E7616820898B7B9B0767D517284AD3BD +:10B220000B89834247D38989172901D3814242D1AF +:10B2300085F800A0A5F80100328061688881606807 +:10B24000817B21F002018173C6E0042028702089EF +:10B25000A5F801006089A5F803003180BCE0208AD0 +:10B260003188C01D1FFA80F8414524D3062028707C +:10B270002089A5F801006089A5F80300A089A5F838 +:10B2800005000721208ACDE90001636941E00CF047 +:10B29000FF00082810D0082028702089A5F8010098 +:10B2A0006089A5F8030031806A1D694604F10C002D +:10B2B00006F0BBFC10B15EE01020EDE730889DF891 +:10B2C00000100844308087E00A2028702089A5F803 +:10B2D0000100328044E00C2028702089A5F801008C +:10B2E0006089A5F8030031803AE082E064E02189BA +:10B2F000338800EB41021FFA82F843453BD3B8F193 +:10B30000050F38D30E222A700BEA4101CDE9001057 +:10B31000E36860882A467146FFF7D2FEA6F80080EF +:10B320005AE04020287060893188C01C1FFA80F8DC +:10B33000414520D32878714620F03F001230287014 +:10B340002089A5F801006089CDE9000260882A46BD +:10B35000E368FFF7B5FEA6F80080287840063BD4E6 +:10B3600061682089888037E0A0893288401D1FFAF3 +:10B3700080F8424501D204273DE01620287020893C +:10B38000A5F801006089A5F80300A089CDE90001B6 +:10B3900060882A4671462369FFF792FEA6F800806E +:10B3A000DEE718202870207A6870A6F800A013E065 +:10B3B00061680A88920401D405271CE0C9882289A3 +:10B3C000914201D0062716E01E2129703080606866 +:10B3D000018821F400510180B9F1000F0BD0618880 +:10B3E00078230022022008F0EFFB61682078887043 +:10B3F00006E0338003276068018821EA09010180A3 +:10B400003846DFE62DE9FF4F85B01746129C0D0048 +:10B410001E461CD03078C10703D000F03F00192829 +:10B4200001D9012100E000212046FFF7AAFEA84231 +:10B430000DD32088A0F57F41FF3908D03078410630 +:10B4400001D4000605D5082009B0BDE8F08F07201B +:10B45000FAE700208DF800008DF8010030786B1EAF +:10B4600000F03F0C0121A81E4FF0050A4FF0020921 +:10B470004FF0030B9AB2BCF1200F75D2DFE80CF04D +:10B480008B10745E7468748C749C74B574BA74C8D0 +:10B4900074D474E1747474F174EF74EE74ED748B9D +:10B4A000052D78D18DF80090A0788DF80400708873 +:10B4B000ADF8060030798DF80100707800F03F009B +:10B4C0000C2829D00ADCA0F10200092863D2DFE8A9 +:10B4D00000F0126215621A621D622000122824D048 +:10B4E00004DC0E281BD01028DBD11BE016281FD04F +:10B4F0001828D6D11FE02078800701E02078400787 +:10B50000002848DAEEE020780007F9E72078C00646 +:10B51000F6E720788006F3E720784006F0E7207809 +:10B520000006EDE72088C005EAE720884005E7E748 +:10B5300020880005E4E72088C004E1E72078800740 +:10B5400029D5032D27D18DF800B0B6F8010081E090 +:10B55000217849071FD5062D1DD381B270780128A7 +:10B5600003D0022817D102E0C9E0022000E0102039 +:10B5700004228DF8002072788DF80420801CB1FB25 +:10B58000F0F2ADF8062092B242438A4203D103970B +:10B59000ADF80890A6E079E02078000776D598B25B +:10B5A00082088DF800A0ADF80420B0EB820F6DD1B9 +:10B5B0000297ADF8061095E02178C90666D5022DF0 +:10B5C00064D381B206208DF80000707802285DD324 +:10B5D000B1FBF0F28DF80400ADF8062092B24243C0 +:10B5E0008A4253D1ADF808907BE0207880064DD593 +:10B5F000072003E0207840067FD508208DF8000062 +:10B60000A088ADF80400ADF80620ADF8081068E099 +:10B610002078000671D50920ADF804208DF80000CF +:10B62000ADF8061002975DE02188C90565D5022DA9 +:10B6300063D381B20A208DF80000707804285CD3AF +:10B64000C6E72088400558D5012D56D10B208DF82E +:10B650000000A088ADF8040044E021E026E016E0F8 +:10B66000FFE72088000548D5052D46D30C208DF82E +:10B670000000A088ADF80400B6F803006D1FADF817 +:10B680000850ADF80600ADF80AA02AE035E02088A1 +:10B69000C00432D5012D30D10D208DF8000021E0FD +:10B6A0002088800429D4B6F80100E080A07B000740 +:10B6B00023D5032D21D3307800F03F001B2818D06C +:10B6C0000F208DF80000208840F40050A4F80000FE +:10B6D000B6F80100ADF80400ED1EADF80650ADF867 +:10B6E00008B0039769460598F9F7B8FA050008D03D +:10B6F00016E00E208DF80000EAE7072510E0082587 +:10B700000EE0307800F03F001B2809D01D2807D03C +:10B710000220059908F002FB208800F400502080E8 +:10B72000A07B400708D52046FFF70BFDC00703D1DB +:10B73000A07B20F00400A073284685E61FB50228F0 +:10B7400006D101208DF8000088B26946F9F786FA23 +:10B750001FBD0000F8B51D46DDE906470E000AD002 +:10B7600004F0F1FD2346FF1DBCB231462A46009489 +:10B7700004F00FFAF8BDD0192246194601F0D9FDA0 +:10B780002046F8BD2DE9FF4F8DB09B46DDE91B57E4 +:10B79000DDF87CA00C46082B05D0E06901F0FEF82E +:10B7A00050B11020D2E02888092140F010002880F4 +:10B7B0008AF80010022617E0E16901208871E26929 +:10B7C0004FF420519180E1698872E06942F60101ED +:10B7D0000181E069002181732888112140F0200057 +:10B7E00028808AF80010042638780A900A203870D9 +:10B7F0004FF0020904F118004D460C9001F0C6FB11 +:10B80000B04681E0BBF1100F0ED1022D0CD0A9EB98 +:10B810000800801C80B20221CDE9001005AB524621 +:10B820001E990D98FFF796FFBDF816101A988142E1 +:10B8300003D9F74800790F9004E003D10A9808B1C2 +:10B8400038702FE04FF00201CDE900190DF1160319 +:10B8500052461E990D98FFF77DFF1D980088401BEA +:10B86000801B83B2C6F1FF00984200D203461E99A6 +:10B870000BA8D9B15FF00002DDF878C0CDE9032054 +:10B8800009EB060189B2CDE901C10F980090BDF81E +:10B89000161000220D9801F00EFC387070B1C0B285 +:10B8A000832807D0BDF8160020833AE00AEB09018F +:10B8B0008A19E1E7022011B0BDE8F08FBDF82C0035 +:10B8C000811901F0FF08022D0DD09AF801204245A0 +:10B8D00006D1BDF82010814207D0B8F1FF0F04D087 +:10B8E0009AF801801FE08AF80180C9480068017851 +:10B8F000052902D1BDF81610818009EB08001FFA56 +:10B9000080F905EB080085B2DDE90C1005AB0F9A54 +:10B9100001F03FFB28B91D980088411B4145BFF647 +:10B9200071AF022D13D0BBF1100F0CD1A9EB0800A1 +:10B93000801C81B20220CDE9000105AB52461E9960 +:10B940000D98FFF707FF1D98058000203870002034 +:10B95000B1E72DE9F8439C46089E13460027B26BD9 +:10B960009AB3491F8CB2F18FA1F57F45FF3D05D0F9 +:10B970005518AD882944891D8DB200E0002529198C +:10B98000B6F83C800831414520D82A44BCF8011063 +:10B9900022F8021BBCF8031022F8021B984622F87A +:10B9A000024B914604F0BDFC4FF00C0C41464A4658 +:10B9B0002346CDF800C004F0B8F8F587B16B00203D +:10B9C0002944A41D2144088003E001E0092700E088 +:10B9D00083273846BDE8F88310B50B88848F9C42D6 +:10B9E0000CD9846BE018048844B1848824F40044A2 +:10B9F000A41D23440B801060002010BD0A2010BD40 +:10BA00002DE9F0478AB00025904689468246ADF878 +:10BA1000185007274BE0059806888088000446D414 +:10BA2000A8F8006007A8019500970295CDE903509A +:10BA30004FF4007300223146504601F03CFB0400F5 +:10BA40003CD1BDF81800ADF8200005980488818825 +:10BA5000B44216D10A0414D401950295039521F439 +:10BA600000410097049541F48043428821465046A6 +:10BA700001F0BFF804000BD10598818841F4004122 +:10BA8000818005AA08A94846FFF7A6FF0400DCD07C +:10BA90000097059802950195039504950188BDF8D6 +:10BAA0001C300022504601F0A4F80A2C06D105AA49 +:10BAB00006A94846FFF790FF0400ACD0ADF8185037 +:10BAC00004E00598818821F40041818005AA06A937 +:10BAD0004846FFF781FF0028F3D00A2C03D0204608 +:10BAE0000AB0BDE8F0870020FAE710B50C46896B74 +:10BAF00086B051B10C218DF80010A18FADF808105F +:10BB0000A16B01916946FAF75BF800204FF6FF71CF +:10BB1000A063E187A08706B010BD2DE9F0410D4676 +:10BB20000746896B0020069E1446002911D0012B80 +:10BB30000FD1324629463846FFF762FF002808D168 +:10BB4000002C06D0324629463846BDE8F04100F0C8 +:10BB500034BFBDE8F0812DE9FC411446DDE9087CE5 +:10BB60000E46DDE90A15521DBCF800E092B296457A +:10BB700002D20720BDE8FC81ACF8002017222A7011 +:10BB8000A5F80160A5F803300522CDE900423B4647 +:10BB90002A46FFF7DFFD0020ECE770B50C4615469E +:10BBA00048220021204601F0EEFB04F1080044F891 +:10BBB0001C0F00204FF6FF71E06161842084A58492 +:10BBC0001720E08494F82A0040F00A0084F82A0044 +:10BBD00070BD4FF6FF720A800146032008F09EB840 +:10BBE00030B585B00C460546FFF77FFFA18E28468D +:10BBF00029B101218DF800106946F9F7E1FF002015 +:10BC0000E0622063606305B030BDB0F8400070476B +:10BC10005C00002090F84620920703D440880880FA +:10BC20000020F4E70620F2E790F846209207EED5D0 +:10BC3000A0F84410EBE70146002009880A0700D568 +:10BC4000012011F0F00F01D040F00200CA0501D52B +:10BC500040F004008A0501D540F008004A0501D5EE +:10BC600040F010000905D2D540F02000CFE700B524 +:10BC7000034690F84600C00701D0062000BDA3F897 +:10BC800042101846FFF7D7FF10F03E0F05D093F88B +:10BC9000460040F0040083F8460013F8460F40F0D9 +:10BCA00001001870002000BD90F84620520700D512 +:10BCB00011B1B0F84200AAE71720A8E710F8462F04 +:10BCC00061F3C3020270A2E72DE9FF4F9BB00E00A3 +:10BCD000DDE92B34DDE92978289D24D02878C107B7 +:10BCE00003D000F03F00192801D9012100E0002114 +:10BCF0002046FFF7D9FFB04215D32878410600F05F +:10BD00003F010CD41E290CD0218811F47F6F0AD179 +:10BD10003A8842B1A1F57F42FF3A04D001E01229EE +:10BD200001D1000602D504201FB0C5E5FA491D98CF +:10BD30004FF0000A08718DF818A08DF83CA00FAAEA +:10BD40000A60ADF81CA0ADF850A02978994601F022 +:10BD50003F02701F5B1C04F1180C4FF0060E4FF0F1 +:10BD6000040BCDF858C01F2A7ED2DFE802F07D7D9B +:10BD7000107D267DAC7DF47DF37DF27DF17DF47D3B +:10BD8000F07D7D7DEF7DEE7D7D7D7D7DED0094F808 +:10BD90004610B5F80100890701D5032E02D08DF8B1 +:10BDA00018B01EE34FF40061ADF85010608003211D +:10BDB0008DF83C10ADF84000D4E2052EEFD1B5F877 +:10BDC00001002083ADF81C00B5F80310618308B1B1 +:10BDD000884201D9012079E10020A07220814FF62C +:10BDE000FF702084169801F0D1F8052089F8000032 +:10BDF0000220029083460AAB1D9A16991B9801F007 +:10BE0000C8F890BB9DF82E00012804D0022089F8C4 +:10BE10000100102003E0012089F8010002200590B4 +:10BE2000002203A90BA805F000FFE8BB9DF80C0059 +:10BE3000059981423DD13988801CA1EB0B018142DB +:10BE400037DB02990220CDE900010DF12A034A46B1 +:10BE500041461B98FFF77EFC02980BF1020B801CF9 +:10BE600081B217AA029101E09CE228E003A90BA885 +:10BE700005F0DBFE02999DF80C00CDE9000117AB3F +:10BE80004A4641461B98FFF765FC9DF80C000AAB3B +:10BE90000BEB00011FFA81FB02991D9A084480B246 +:10BEA000029016991B9800E003E001F072F8002858 +:10BEB000B6D0BBF1020F02D0A7F800B04FE20A20C3 +:10BEC0008DF818004BE200210391072EFFF467AFB5 +:10BED000B5F801002083ADF81C00B5F8032062839B +:10BEE00000283FF477AF90423FF674AF0120A07274 +:10BEF000B5F8050020810020A073E06900F04EFD38 +:10BF000078B9E16901208871E2694FF4205191808C +:10BF1000E1698872E16942F601000881E069002167 +:10BF20008173F01F20841E98606207206084169839 +:10BF300001F02CF8072089F80000012004900290FD +:10BF40000020ADF82A0028E019E29FE135E1E5E0A4 +:10BF500012E2A8E080E043E00298012814D0E069F2 +:10BF60008079012803D1BDF82800ADF80E000498AF +:10BF700003ABCDE900B04A4641461B98FFF7EAFB08 +:10BF80000498001D80B20490BDF82A00ADF80C00A2 +:10BF9000ADF80E00059880B202900AAB1D9A169972 +:10BFA0001B9800F0F6FF28B902983988001D05900B +:10BFB0008142D1D20298012881D0E069807901289C +:10BFC00003D1BDF82800ADF80E00049803ABCDE90D +:10BFD00000B04A4641461B98FFF7BCFB0298BDE102 +:10BFE000072E02D0152E7FF4DAAEB5F801102183AA +:10BFF000ADF81C10B5F80320628300293FF4EAAEC7 +:10C0000091423FF6E7AE0121A1724FF0000BA4F878 +:10C0100008B084F80EB0052E07D0C0B2691DE269E1 +:10C0200005F0E4FD00287FF44AAF4FF6FF7020844E +:10C0300001A906AA14A8CDF800B081E885032878E4 +:10C04000214600F03F031D9A1B98FFF79BFB824699 +:10C05000208BADF81C0082E10120032EC3D14021CA +:10C06000ADF85010B5F801102183ADF81C100AAAE4 +:10C07000B8F1000F00D00023CDE9020304921D980F +:10C08000CDF80480009038880022401E83B21B98AF +:10C0900001F011F88DF8180090BB0B2089F8000012 +:10C0A000BDF8280035E04FF0010C052E9BD1802013 +:10C0B000ADF85000B5F801102183B5F803002084D5 +:10C0C000ADF81C10B0F5007F03D907208DF81800DB +:10C0D00087E140F47C4222840CA8B8F1000F00D024 +:10C0E0000023CDE90330CDE9018C1D9800903888FC +:10C0F000401E83B21B9800F0DEFF8DF8180018B1C7 +:10C100008328A8D10220BFE00D2189F80010BDF8D6 +:10C110003000401C22E100005C000020032E04D20D +:10C1200048067FF53CAE002018E1B5F80110ADF8E7 +:10C130001C102878400602D58DF83CE002E007206C +:10C140008DF83C004FF000080320CDE902081E9B4B +:10C15000CDF810801D980193A6F1030B00901FFAF3 +:10C160008BF342461B9800F044FD8DF818008DF8C3 +:10C170003C80297849060DD52088C00506D5208B3E +:10C18000BDF81C10884201D1C4F8248040468DF8C7 +:10C190001880E3E0832801D14FF0020A4FF4807049 +:10C1A000ADF85000BDF81C002083A4F820B01E9804 +:10C1B0006062032060841321CDE0052EFFF4EFAD13 +:10C1C000B5F80110ADF81C10A28F6AB3A2F57F4339 +:10C1D000FE3B29D008228DF83C2000BF4FF0000B19 +:10C1E0000523CDE9023BDDF878C0CDF810B01D9AEB +:10C1F00080B2CDF804C040F400430092B5F80320AB +:10C200001B9800F0F6FC8DF83CB04FF400718DF8EF +:10C210001800ADF85010832810D0F8B1A18FA1F507 +:10C220007F40FE3807D0DCE00B228DF83C204FF633 +:10C23000FE72A287D2E7A4F83CB0D2E000942B466D +:10C2400031461E9A1B98FFF784FB8DF8180008B141 +:10C2500083284BD1BDF81C00208353E700942B4664 +:10C2600031461E9A1B98FFF774FB8DF81800E8BB47 +:10C27000E18FA06B0844831D8DE888034388828882 +:10C2800001881B98FFF767FC824668E095F80180FB +:10C29000022E70D15FEA080002D0B8F1010F6AD116 +:10C2A00009208DF83C0007A800908DF84080434697 +:10C2B000002221461B98FFF730FC8DF842004FF01A +:10C2C000000B8DF843B050B9B8F1010F12D0B8F19E +:10C2D000000F04D1A18FA1F57F40FF380AD0A08FB5 +:10C2E00040B18DF83CB04FF4806000E037E0ADF82D +:10C2F00050000DE00FA91B98F9F762FC82468DF8FB +:10C300003CB04FF48060ADF85000BAF1020F06D097 +:10C31000FC480068C07928B18DF8180027E0A4F81F +:10C32000188044E0BAF1000F03D081208DF8180086 +:10C330003DE007A800904346012221461B98FFF7E5 +:10C34000ECFB8DF8180021461B98FFF7CEFB9DF8FB +:10C35000180020B9192189F80010012038809DF8B3 +:10C360003C0020B10FA91B98F9F72AFC8246BAF1CC +:10C37000000F33D01BE018E08DF818E031E0207892 +:10C38000000712D5012E10D10A208DF83C00E0885C +:10C39000ADF8400003201B9907F0C0FC0820ADF861 +:10C3A0005000C0E648067FF5FAAC4FF0040A20883A +:10C3B000BDF8501008432080BDF8500080050BD513 +:10C3C000A18FA1F57F40FE3806D11E98E062289823 +:10C3D0002063A6864FF0030A5046A5E49DF8180096 +:10C3E00078B1012089F80000297889F80110BDF89A +:10C3F0001C10A9F802109DF8181089F804100520E7 +:10C4000038802088BDF8501088432080E4E72DE96B +:10C41000FF4F8846087895B0012181404FF209000E +:10C42000249C0140ADF820102088DDF88890A0F50C +:10C430007F424FF0000AFF3A06D039B1000705D518 +:10C44000012019B0BDE8F08F0820FAE7239E4FF0D5 +:10C45000000B0EA886F800B018995D460988ADF863 +:10C460003410A8498DF81CB0179A0A718DF838B0AD +:10C47000086098F8000001283BD0022809D0032862 +:10C480006FD1307820F03F001D303070B8F80400D4 +:10C49000E08098F800100320022904D1317821F0BF +:10C4A0003F011B31317094F84610090759D505AB8F +:10C4B000B9F1000F13D0002102AA82E80B00072077 +:10C4C000CDE90009BDF83400B8F80410C01E83B2ED +:10C4D0000022159800F0EFFD0028D1D101E0F11CF9 +:10C4E000EAE7B8F80400A6F80100BDF81400C01C83 +:10C4F00004E198F805108DF81C1098F80400012844 +:10C5000006D04FF4007A02282CD00328B8D16CE171 +:10C510002188B8F8080011F40061ADF8201020D08F +:10C5200017281CD3B4F84010814218D3B4F8441033 +:10C53000172901D3814212D1317821F03F01C91C62 +:10C540003170A6F801000321ADF83410A4F84400BE +:10C5500094F8460020F0020084F8460065E10525C5 +:10C560007EE177E1208808F1080700F4FE60ADF86D +:10C57000200010F0F00F1BD010F0C00F03D038884F +:10C58000228B9042EBD199B9B878C00710D0B96826 +:10C590000720CDE902B1CDF804B00090CDF810B07D +:10C5A000FB88BA883988159800F023FB0028D6D17B +:10C5B0002398BDF82010401C80294ED006DC10299D +:10C5C0000DD020290BD0402987D124E0B1F5807F00 +:10C5D0006ED051457ED0B1F5806F97D1DEE0C806B0 +:10C5E00001D5082000E0102082460DA907AA0520E9 +:10C5F000CDE902218DF83800ADF83CB0CDE90496C4 +:10C6000008A93888CDE9000153460722214615982C +:10C61000FFF7B8F8A8E09DF81C2001214FF00A0AA6 +:10C62000002A9BD105ABB9F1000F00D00020CDE965 +:10C6300002100720CDE90009BDF834000493401E24 +:10C6400083B2218B0022159800F035FD8DF81C0077 +:10C650000B203070BDF8140020E09DF81C20012153 +:10C660004FF00C0A002A22D113ABB9F1000F00D011 +:10C670000020CDE902100720CDE900090493BDF8A0 +:10C680003400228C401E83B2218B159800F013FDDC +:10C690008DF81C000D203070BDF84C00401CADF82A +:10C6A000340005208DF83800208BADF83C00BCE04C +:10C6B0003888218B88427FF452AF9DF81C004FF0E0 +:10C6C000120A00281CD1606AA8B1B878C0073FF4EC +:10C6D00046AF00E018E0BA680720CDE902B2CDF815 +:10C6E00004B00090CDF810B0FB88BA88159800F01F +:10C6F00080FA8DF81C00132030700120ADF8340052 +:10C7000093E000005C0000203988208B8142D2D168 +:10C710009DF81C004FF0160A0028A06B08D0E0B36B +:10C720004FF6FF7000215F46ADF808B0019027E09A +:10C7300068B1B978C907BED1E18F0DAB0844821D3D +:10C7400003968DE80C0243888288018809E0B87856 +:10C75000C007BCD0BA680DAB03968DE80C02BB884D +:10C76000FA881598FFF7F7F905005ED0072D72D00B +:10C7700076E0019005AA02A92046FFF72DF90146AF +:10C78000E28FBDF80800824201D00029F1D0E08F8D +:10C79000A16B084407800198E08746E09DF81C00E3 +:10C7A0004FF0180A40B1208BC8B138882083214649 +:10C7B0001598FFF79AF938E004F118000090237EED +:10C7C000012221461598FFF7A8F98DF81C000028D2 +:10C7D000EDD1192030700120ADF83400E7E70525D0 +:10C7E00021461598FFF781F93AE0208800F400709F +:10C7F000ADF8200050452DD1A08FA0F57F41FE3926 +:10C8000001D006252CE0D8F808004FF0160A48B1F0 +:10C81000A063B8F80C10A1874FF6FF71E187A0F86C +:10C8200000B002E04FF6FF70A087BDF8200030F4A2 +:10C830007F611AD0782300220320159907F0C4F9EC +:10C8400098F8000020712088BDF82010084320804F +:10C850000EE000E007252088BDF8201088432080E6 +:10C86000208810F47F6F1CD03AE02188814321801A +:10C870009DF8380020B10EA91598F9F7A1F90546E1 +:10C880009DF81C000028EBD086F801A00120307034 +:10C89000208B70809DF81C0030710520ADF83400AD +:10C8A000DEE7A18EE1B118980DAB0088ADF8340039 +:10C8B0002398CDE90304CDE90139206B0090E36AA8 +:10C8C000179A1598FFF700FA054601208DF83800F1 +:10C8D0000EA91598F9F774F900B10546A4F834B01B +:10C8E00094F8460040070AD52046FFF7A4F910F057 +:10C8F0003E0F04D114F8460F20F004002070189861 +:10C90000BDF83410018028469BE500B585B00328AA +:10C9100006D102208DF8000088B26946F9F750F977 +:10C9200005B000BD10B5384C0B782268012B02D041 +:10C93000022B2AD111E013780BB1052B01D104236E +:10C94000137023688A889A802268CB88D3802268F3 +:10C950000B891381498951810DE08B88938022686E +:10C96000CB88D38022680B8913814B8953818B89B3 +:10C970009381096911612168F9F722F92268002180 +:10C980000228117003D0002800D0812010BD832020 +:10C9900010BD806B002800D00120704781780129EC +:10C9A00009D10088B0F5205F03D042F6010188422A +:10C9B00001D10020704707207047F0B587B00024F0 +:10C9C00015460E460746ADF8184011E00598008858 +:10C9D000288005980194811DCDE902410721049426 +:10C9E0000091838842880188384600F002F930B906 +:10C9F00005AA06A93046FEF7EFFF0028E6D00A2870 +:10CA000000D1002007B0F0BD5C00002010B58B788D +:10CA100083B102789A4205D10B885BB102E08B7931 +:10CA2000091D4BB18B789A42F9D1B0F801300C88CE +:10CA3000A342F4D1002010BD812010BD072826D0CC +:10CA400012B1012A27D103E0497801F0070102E081 +:10CA50004978C1F3C20105291DD2DFE801F00318AE +:10CA6000080C12000AB10320704702207047042806 +:10CA70000DD250B10DE0052809D2801E022808D33E +:10CA800003E0062803D0032803D0052070470020C8 +:10CA900070470F20704781207047C0B282060BD4C8 +:10CAA000000607D5FA48807A4143C01D01EBD0004B +:10CAB00080B27047084670470020704770B51388F1 +:10CAC0000B800B781C0625D5F14CA47A844204D83F +:10CAD00043F010000870002070BD956800F0070654 +:10CAE00005EBD0052D78F54065F304130B70137832 +:10CAF000D17803F0030341EA032140F20123B1FBA3 +:10CB0000F3F503FB15119268E41D00FB012000EB17 +:10CB1000D40070BD906870BD37B51446BDF80410E0 +:10CB20001180117841F0040111709DF804100A067B +:10CB30001ED5D74AA368C1F30011927A824208D861 +:10CB4000FE2811D1D21DD2084942184600F01BFC24 +:10CB50000AE003EBD00200F00703012510789D40A6 +:10CB6000A843994008431070207820F010002070EE +:10CB70003EBD2DE9F0410746C81C0E4620F00300DB +:10CB8000B04202D08620BDE8F081C14D002034467D +:10CB90002E60AF802881AA72E8801AE0E988491CDB +:10CBA000E980810614D4E17800F0030041EA002016 +:10CBB00040F20121B0FBF1F201FB12012068FFF706 +:10CBC0006CFF2989084480B22881381A3044A0605B +:10CBD0000C3420784107E1D40020D4E7AC4801228E +:10CBE0000189C08800EB400002EB8000084480B25D +:10CBF00070472DE9FF4F89B01646DDE9168A0F46CA +:10CC0000994623F44045084600F054FB040002D046 +:10CC10002078400703D401200DB0BDE8F08F0998BB +:10CC200003F016FA02902078000606D59848817A1B +:10CC30000298814201D88720EEE7224601A9029896 +:10CC4000FFF73CFF834600208DF80C004046B8F10A +:10CC5000070F1AD001222146FFF7F0FE0028DBD192 +:10CC60002078400611D502208DF80C00ADF8107028 +:10CC7000BDF80400ADF81200ADF814601898ADF8D6 +:10CC80001650CDF81CA0ADF818005FEA094004D595 +:10CC900000252E46A84601270CE02178E07801F017 +:10CCA000030140EA012040F20121B0FBF1F280468D +:10CCB00001FB12875FEA494009D5B84507D1A17841 +:10CCC000207901F0030140EA0120B04201D3BE42C5 +:10CCD00001D90720A0E7A8191FFA80F9B94501D9A1 +:10CCE0000D2099E79DF80C0028B103A90998F8F7E1 +:10CCF00065FF002890D1B84507D1A0784FEA1921E7 +:10CD000061F30100A07084F804901A9800B10580C6 +:10CD1000199850EA0A0027D0199830B10BEB060099 +:10CD20002A46199900F005FB0EE00BEB0608574662 +:10CD3000189E099803F0F5FA2B46F61DB5B2394650 +:10CD40004246009502F0F1FE224601A90298FFF743 +:10CD5000B5FE9DF80400224620F010008DF8040076 +:10CD6000DDE90110FFF7D8FE002055E72DE9FF4F60 +:10CD7000DFF81C91824685B0B9F80610D9F800009A +:10CD800001EB410100EB810440F20120B2FBF0F124 +:10CD9000174600FB1175DDE9138B4E4629460698B0 +:10CDA000FFF77BFE0346FFF719FF1844B1880C30EC +:10CDB000884202D9842009B02FE70698C6B230060F +:10CDC00003D5B00601D50620F5E7B9F80620521CB8 +:10CDD00092B2A9F80620BBF1000F01D0ABF80020F9 +:10CDE000B00602D5C4F808800AE0B9F808201A4451 +:10CDF00092B2A9F80820D9F80000891A0844A06066 +:10CE00002246FE200699FFF787FEE77025712078FD +:10CE1000390A61F301002A0AA17840F0040062F3A4 +:10CE20000101A17020709AF802006071BAF8000048 +:10CE3000E08000252573300602D599F80A7000E0DD +:10CE40000127B00601D54FF000084E4600244FF0F0 +:10CE500007090FE0CDE902580195CDF8009004953F +:10CE6000F1882046129B089AFFF7C3FE0028A2D142 +:10CE7000641CE4B2BC42EDD300209CE700B5FFF790 +:10CE8000ADFE03490C308A88904203D9842000BD4E +:10CE900098050020CA88086802EB420300EB830073 +:10CEA000521C037823F004030370CA80002101732D +:10CEB0000846ECE72DE9F047804600F0FBF9070053 +:10CEC00005D000264446F74D40F2012916E0012026 +:10CED000BDE8F087204600F0EDF90278C17802F055 +:10CEE000030241EA0222B2FBF9F309FB13210068B5 +:10CEF000FFF7D3FD3044641C86B2A4B2E988601EFB +:10CF00008142E7DCA8F10100E8802889801B2881A4 +:10CF100000203870DCE710B5144631B1491E21807D +:10CF200003F096F8A070002010BD012010BD70B570 +:10CF30000446DC48C188036801E0401C208020884A +:10CF4000884207D200EB400213EB820202D0157830 +:10CF50006D07F2D580B2884216D2AAB15079A0727C +:10CF6000D08820819178107901F0030140EA0120F6 +:10CF7000A081A078E11CFFF7A1FD20612088401C62 +:10CF80002080E080002070BD0A2070BD0121018258 +:10CF900070472DE9FF4F85B04FF6FF798246A3F821 +:10CFA000009048681E460D4680788DF80600486857 +:10CFB0000088ADF8040000208DF80A00088A0C886B +:10CFC000A04200D304462C8251E03878400708D4B0 +:10CFD000641C288AA4B2401C288208F10100C0B257 +:10CFE00046E0288A401C2882781D6968FFF70EFDFC +:10CFF000D8BB3188494501D1601E30803188A1EB12 +:10D00000080030806888A04238D3B878397900F0B9 +:10D01000030041EA002801A9781DFFF7F7FC20BBB7 +:10D02000298949452ED0002239460798FFF706FD89 +:10D03000D8B92989414518D1E9680391B5F80AC0E2 +:10D04000D7F808B05046CDF800C003F06AF9DDF813 +:10D0500000C05A460CF1070C1FFA8CFC434603999A +:10D06000CDF800C002F02BFD60B1641CA4B200201A +:10D070008046204600F01EF90700A6D1641E2C82CF +:10D080000A2098E674807879B071F888B080397891 +:10D09000F87801F0030140EA01207081A6F80C80C5 +:10D0A000504602F0D5FF3A4606F10801FFF706FDAB +:10D0B000306100207FE62DE9FF4F87B081461C4696 +:10D0C0009246DDF860B0DDF85480089800F0F2F880 +:10D0D000050002D02878400702D401200BB09CE55F +:10D0E000484602F0B5FF2978090605D56D49897AC9 +:10D0F000814201D88720F1E7CAF309062A4601A92F +:10D10000FFF7DCFC0746149807281CD000222946AC +:10D11000FFF794FC0028E1D12878400613D50120C0 +:10D120008DF808000898ADF80C00BDF80400ADF8C3 +:10D130000E00ADF81060ADF8124002A94846F8F7AD +:10D140003DFD0028CAD12978E87801F0030140EAC2 +:10D150000121AA78287902F0030240EA022056450C +:10D1600007D0B1F5007F04D9611E814201DD0B209B +:10D17000B4E7864201D90720B0E7801B85B2A542FB +:10D1800000D92546BBF1000F01D0ABF8005017982D +:10D1900018B1B9192A4600F0CCF8B8F1000F0DD03B +:10D1A0003E4448464446169F03F0CDF82146FF1DF5 +:10D1B000BCB232462B46009402F0EBFC00208DE717 +:10D1C0002DE9F04107461D461646084600F072F864 +:10D1D000040002D02078400701D40120D3E438466F +:10D1E00002F036FF2178090605D52E49897A814259 +:10D1F00001D88720C7E422463146FFF75FFC65B1BE +:10D200002178E07801F0030140EA0120B0F5007FC9 +:10D2100001D8012000E0002028700020B3E42DE9AF +:10D22000F04107461D461646084600F043F8040044 +:10D2300002D02078400701D40120A4E4384602F04F +:10D2400007FF2178090605D51649897A814201D858 +:10D25000872098E422463146FFF75EFCFF2D14D06C +:10D260002178E07801F0030240EA022040F2012236 +:10D27000B0FBF2F302FB130015B900F2012080B2FB +:10D28000E070000A60F30101217000207BE410B51A +:10D290000C4600F00FF810B10178490704D40120C2 +:10D2A00010BD000098050020C18821804079A07041 +:10D2B0000020F5E70749CA88824209D340B10968CE +:10D2C00000EB40006FF00B0202EB80000844704757 +:10D2D000002070479805002070B504460D46214691 +:10D2E0002B460AB9002070BD01E0491C5B1C501E92 +:10D2F000021E03D008781E78B042F6D008781E7857 +:10D30000801BF0E730B50C4601462346051B9542CD +:10D3100006D202E0521E9D5C8D54002AFAD107E02D +:10D3200004E01D780D70491C5B1C521E002AF8D1C8 +:10D3300030BDF0B50E460146334680EA030404F0E2 +:10D340000304B4B906E002B9F0BD13F8017B01F89B +:10D35000017B521E01F00307002FF4D10C461D463D +:10D3600002E080CD80C4121F042AFAD221462B4647 +:10D3700000BF04E013F8014B01F8014B521E002AD4 +:10D38000F8D100BFE0E7F0B50C460146E6B204E094 +:10D3900002B9F0BD01F8016B521E01F00307002F26 +:10D3A000F6D10B46E5B245EA052545EA054501E01B +:10D3B00020C3121F042AFBD2194602E001F8016BB8 +:10D3C000521E002AFAD100BFE3E710B506F0F7FEBF +:10D3D000FAF792F906F09CFDBDE8104006F02EBE6B +:10D3E000202801D2012070470020704701224FF011 +:10D3F000A043824011B1C3F80C257047C3F808253B +:10D4000070474FF0A04101228240C1F818257047B3 +:10D4100070B50346002002466FF02F050EE09C5CBD +:10D42000A4F130060A2E02D34FF0FF3070BD00EB9E +:10D43000800005EB4000521C2044D2B28A42EED359 +:10D4400070BD30B50A230BE0B0FBF3F403FB14040A +:10D45000B0FBF3F08D183034521E05F8014CD2B2F7 +:10D46000002AF1D130BD30B500234FF6FF7510E032 +:10D47000040A44EA002084B2C85C6040C0F303148C +:10D48000604005EA00344440E0B25B1C84EA40108E +:10D490009BB29342ECD330BDF94A137882F88B30BB +:10D4A000A2F88C0082F88A10012082F8880092F895 +:10D4B000640008B192F8600082F88E00704710B5E1 +:10D4C0000B46114658B11846FFF7E6FFED48806855 +:10D4D000008802F026FFBDE8104002F0CDBBBDE899 +:10D4E00010404FF6FF70D7E770B50026044646702F +:10D4F000E44D1120207029682022A01C6831FFF71C +:10D5000018FF0121A171286800F8666F8078002853 +:10D5100011D1DB48B0F86A20A0F89220AA68537BAA +:10D5200080F8943080F89010108802F0FAFEBDE880 +:10D53000704002F0B0BB70BD70B5D24D296891F853 +:10D5400096200024012A11D091F89020012A1CD0A5 +:10D5500091F86620012A22D091F88820012A21D052 +:10D5600091F8A020012A2ED0002070BD447017220F +:10D57000027051F8972FC0F802204A68C0F80620C0 +:10D580000A7A827201F8014C1BE044700522027095 +:10D59000D1F89220C0F8022081F8904011E0FFF706 +:10D5A000A3FF0EE091F86620012AF8D044701422FF +:10D5B000027051F88A2FC0F802208A88C28001F8D0 +:10D5C000024C012070BD44701A2200F8022B222266 +:10D5D000A131FFF7AEFE286880F8A040F1E7A94826 +:10D5E000006890F8661011B1B0F86A0070474FF605 +:10D5F000FF70704770B5A34C206800B9FFDF20684A +:10D60000417811B10C25284670BD0025C422294659 +:10D61000FFF7B9FE2168FF2008707F2081F83700EE +:10D6200013204884282081F86500012081F85C00DF +:10D63000002081F85F0007F0AFF906F091FCE2E707 +:10D6400070B5904C0546206800B9FFDF21680020C6 +:10D6500048706560FFF7CEFF002800D0FFDF70BD87 +:10D66000884909680978814201D10120704700206A +:10D670007047844800B5016891F82400498CC0F3D4 +:10D680008002C0F340031A4400F001001044132943 +:10D6900015D004DC102909D0122904D10FE0152976 +:10D6A00008D01D2904D0FFDF002000BD764903E02B +:10D6B000764800BD7449083131F8100000BD724948 +:10D6C0000839F9E76F4840F271210068806A4843E1 +:10D6D00070476C48006890F83600002800D00120A0 +:10D6E000704710B5664C207B00F074FD40B1207D82 +:10D6F00004F115010BF034FB082801D0012010BD06 +:10D70000207B30B1022804D00120BDE8104007F092 +:10D71000A6BC0020F9E75A490873704759490968BF +:10D7200081F83000704770B50646554890F82D00D6 +:10D730000BF0A4FA050018D010210BF076FD00289C +:10D7400013D1504C012032462168C87628461C313E +:10D7500007F092FCD4E900101C310BF0BFFF6068A9 +:10D76000BDE8704001210BF0C8BF70BD2DE9F0414C +:10D77000434C074694F82D000BF0FDFA064694F84A +:10D780002F0004F10E0528B126B194F82D000BF0FE +:10D7900018FAA0B194F83000002824D094F82E0094 +:10D7A000002820D0607B294600F025FDA8B10BF0B1 +:10D7B0008AFB3A462946BDE8F04107F05DBC0120EE +:10D7C00060733A462946304607F056FC94F82D100F +:10D7D0002846BDE8F0410BF065BB39462846BDE858 +:10D7E000F04107F07EBCBDE8F08170B5254C2168A2 +:10D7F000087BB0B1022814D0012048730E3107F025 +:10D8000018FC2068007B00F0E5FC216881F82F00FF +:10D81000082081F82D00487B0E3100F0E3FC40B970 +:10D8200001E00020E9E72168487B0E3100F0E3FCCD +:10D8300000B10120216881F82E0091F82F0018B95D +:10D8400091F82200400706D5087D15310BF088FAC3 +:10D85000216881F82D0020680025456004F0ADFDA9 +:10D86000216888600020FFF781FF2068C57690F866 +:10D87000220040070CD5BDE87040002053E70000AF +:10D88000A405002064000020A0B101008F891300CE +:10D8900070BDFB4A1268137B0370D2F80E0008605B +:10D8A000508A8880704778B5F6490446F44D407B2D +:10D8B00008732A68207810706088ADF8000080B284 +:10D8C00000F00101C0F3400341EA4301C0F38003CB +:10D8D00041EA8301C0F3C00341EAC301C0F300136E +:10D8E00041EA0311C0F3401341EA4311C0F3801031 +:10D8F00041EA80105084E07D012825D0022825D0FF +:10D90000FFDF286880F85E60217B80F82410418C5E +:10D910001D291DD061688162617D80F83610A17B70 +:10D92000C1B1022916D00121017554F80F1FC0F8AA +:10D930001510A188A0F81910217B012900D0002121 +:10D9400080F83410002078BD0126DAE70226D8E7F7 +:10D950000021E0E70021E7E7C948006890F82200CD +:10D96000C0F38000704700B5FFF7F6FF08B1002054 +:10D9700000BD1F2000BD00B5FFF7F5FF002800D057 +:10D98000012000BDBE49002209680A664B8C1D2B90 +:10D9900002D081F86400704781F864207047B84A6B +:10D9A0000023126882F85D3042F84C1F90800120FD +:10D9B00050747047B24A0023126882F85C30A2F8B3 +:10D9C000580042F8541F012010727047AC49096892 +:10D9D00081F835007047AA49096881F85F007047EF +:10D9E000A748006890F95F007047A548006890F864 +:10D9F000220000F001007047A148006890F8220062 +:10DA0000C0F340007047002070479D48006890F8C0 +:10DA10002200C0F3C000704701207047012070470A +:10DA20000120704770B500F0FAFB954C2068016E3C +:10DA3000491C016690F83300002530B106F0ACFFB8 +:10DA400006F08EFA206880F833502068457090F810 +:10DA5000381009B102201AE090F86410B1B1006EDC +:10DA6000814213D8022007F095FF206890F8220029 +:10DA7000C00704D0A06843220188012003E04322AC +:10DA80004FF6FF710020BDE8704018E50020BDE8AA +:10DA9000704007F07FBF10B501280DD002280DD0CF +:10DAA00004280FD0FFDF7648006890F85E10BDE8CC +:10DAB0001040252006F0FEBB252000E0262006F0C1 +:10DAC000D3FCF0E72720FAE702460020D30701D075 +:10DAD000CB0705D0930705D58B0703D402207047E9 +:10DAE000012070475207FCD54907FAD4042070473B +:10DAF0002DE9F041624C86B0206800B9FFDF206854 +:10DB00004178E9BB0178FF2942D0002580F83150E7 +:10DB1000A0F85A50857080F83850284606F09EFECE +:10DB2000182259496846FFF704FC684606F08AFE49 +:10DB300006F0CCFB206890F95F0006F085FC5248A7 +:10DB40001D3806F087FC5048203806F06CFE6068EF +:10DB500006F087FE2068002190F82400FFF7B4FF4C +:10DB6000FFF799FF206880F82C5006F071FE2068BE +:10DB700090F85E10002006F030FD0F21052000E037 +:10DB800006E006F038FC206890F82E1051B902E04B +:10DB90000C2006B027E690F82F1019B990F8220053 +:10DBA00040072BD504F009FC804620684146806878 +:10DBB00005F004F9354F064690FBF7F007FB1060BF +:10DBC0004142404604F0CDF82168886096FBF7F0AA +:10DBD0004A68104448600BF0BFF821684A689042D8 +:10DBE0000CD8C1E901580120FFF7C0FD206890F86A +:10DBF0002200400702D50120FFF795FD2068417BF8 +:10DC00000E3006F0EAFB206890F85C1039B1B0F8ED +:10DC10005810A0F84810416D416480F85C5090F8AD +:10DC20005D1041B1B0F85010A0F84010C16C40F840 +:10DC30003C1F80F821500BF0FCF8032160680BF0CA +:10DC40002FF9216881F833000020A2E70C49886091 +:10DC500070472DE9F0410A4C0746002620683146FE +:10DC6000C57E6068068000F0D1FA2068408C1328D9 +:10DC700040D00DDC102861D012280DD15CE00000EE +:10DC800064000020A4050020B0B1010040420F0054 +:10DC9000152838D01D2836D0FFDF00BF00F0CAFAA3 +:10DCA0002068418C1D2907D0152905D0B0F84820DF +:10DCB000416C60680BF028FD206890F82C1090F8FB +:10DCC0002400FFF701FF05463FB1FFF7E4FE012204 +:10DCD0004FF49671002006F01EFD206890F82C107D +:10DCE000294380F82C1090F824208A434FF001013A +:10DCF00029D02DE0002160680BF0C4FC0121606890 +:10DD000000F084FACAE7012160680BF0BBFC012136 +:10DD1000606800F07BFAD4E9001025B11C310BF0EB +:10DD2000DDFC012104E015310BF0D8FC2068017DF9 +:10DD300060680BF0E2FCB1E7062100E002216068B8 +:10DD40000BF0A0FCAAE7428C1D2A0BD080F8311002 +:10DD50004170418C13290ED007DC10290AD01229FA +:10DD600007D108E080F82C60F2E7152903D01D29BF +:10DD700001D0FFDF37E590F85E20BDE8F0410121DA +:10DD8000084606F05ABEF84810B50068417841B917 +:10DD90000078FF2805D00021084600F059FA00203D +:10DDA00010BD00F03CFA0C2010BD2DE9F041EE4D05 +:10DDB0000446174628680E4690F8660000B1FFDF5B +:10DDC0002968002F81F868704ED12088A1F86A0078 +:10DDD0006088A1F88000A088A1F88200E088A1F8FE +:10DDE000840094F88C0181F8860091F82F0020B10E +:10DDF000487B0E3100F0FFF940B9296891F83000F6 +:10DE000060B1487B0E3100F0EDF938B12868D0F8E8 +:10DE10000E104167418AA0F8781003E02868476730 +:10DE2000A0F878706968FF2E0878C0F380106076DB +:10DE3000D1F80300C4F81A00B1F80710E18314D038 +:10DE4000296801F16E02C1F87A00E08BA1F87E002A +:10DE500030466D310AF099FF00B9FFDF286810F8ED +:10DE60006D1F41F002010170BDE42868C0F87A70AE +:10DE7000A0F87E70617E80F86D10D4F81A1040F81A +:10DE80006E1FE18B8180AEE470B5FFF7BEFDB64C2E +:10DE9000012538B13C22FF21A068FFF786FF2068EA +:10DEA00080F86650206890F82200C00704D0A0686F +:10DEB0003C220188012003E03C224FF6FF71002044 +:10DEC000FFF7FDFA206880F8385070BDA649096850 +:10DED00081F83200704770B5002507F0BAFC50B1E8 +:10DEE000A14C20684178012908D0022901D00329DA +:10DEF00036D0FFDF70BDBDE8704093E58178002922 +:10DF0000F8D1418C102913D090F8330020B106F0DD +:10DF100019F8402006F02DFD206890F822104907DE +:10DF200010D490F83610012904D0032902D002E061 +:10DF3000002119E0102590F85E2045F00E01002028 +:10DF400006F07BFD206890F8340008B106F054FD1F +:10DF50000021962006F0B1FC21680220487070BDB7 +:10DF600081780029FBD18178BDE87040012000F064 +:10DF70006FB957E510B57C4C206890F8340008B1B3 +:10DF800000F07AF9206890F8330018B106F004FD2B +:10DF900005F0E6FF07F05DFC88B1206840780228B4 +:10DFA00000D0FFDF0021012000F052F92068417805 +:10DFB000002903D04078012800D0FFDF10BDBDE864 +:10DFC00010402FE510B50AF0CBFE04460AF07DFFA5 +:10DFD00038B120460AF052FE18B110210BF025F995 +:10DFE00008B1002010BD012010BD2DE9F047DFF879 +:10DFF00078910E460746032809D0FFF7F6FC044641 +:10E00000D9F8000090F8320020B1012003E0FFF7BA +:10E01000F3FC04460020804606F018FA0546032F5C +:10E020002BD0012734EA080453D0D9F800004C461D +:10E0300090F8330068B10AF0E2FE30700146FF2824 +:10E0400007D06068C01C0AF0B7FE30780AF0E1FE25 +:10E05000054360680178C1F3801221680B7D9A4204 +:10E0600005D10622C01C1531FFF736F938B1002062 +:10E070003178FF290BD0D8B903E00227D2E701207D +:10E08000F6E7206890F82D00884211D008E038B1FA +:10E09000616811F8030BC0F38010FFF793FF38B1EC +:10E0A0000020216891F82210490703D5A0B910E09B +:10E0B0000120F6E785B92D4890F8360008B1B8423E +:10E0C00007D1616811F8030BC0F38010FFF77AFFE6 +:10E0D00010B10020BDE8F0870120FBE7F8B5224C25 +:10E0E0000746002520684078022800D0FFDF20681E +:10E0F00090F8340008B100F0BFF860680BF0E4FA63 +:10E1000006460FB306F073F9F0B1052E1DD1606815 +:10E1100090F8240000F01F00102816D9206890F80D +:10E12000350090B1FF208DF80000012569460520DB +:10E13000FFF75BFF40B1206880F8A05061682222A1 +:10E14000A130C91CFFF7F5F815E060680BF0FCFA88 +:10E1500088B1062E0FD2DFE806F00E0E0E030E0B6E +:10E1600000F0CDF806E0000064000020A4050020C7 +:10E1700000F091F800B90125206890F8330018B13B +:10E1800006F00AFC05F0ECFE1DB10021012000F0B4 +:10E190005FF820684178002906D04178012903D032 +:10E1A0004078032800D0FFDFF8BD70B59F4E0546CC +:10E1B0000C463068807800280BD106F02FF8034613 +:10E1C0003068214690F85E202846BDE8704007F090 +:10E1D000C1BD70BD022803D0032801D000207047C4 +:10E1E00001207047012802D14879800901D0002020 +:10E1F000704701207047012806D148790121B1EB11 +:10E20000901F01D101207047002070470278202321 +:10E2100022F0200203EA41110A430270704710B550 +:10E2200006F09AFB06F079FB06F0C8FABDE810404C +:10E2300006F0FFBA10B57D4C7D4960680BF048FAD6 +:10E240007B480E38417B6068BDE810400BF04CBA4B +:10E25000764A10B5126892F831303BB1508C1D28C7 +:10E2600000D1FFDFBDE81040FFF7DCBB002902D181 +:10E27000BDE81040EDE410BD10B56C4C206837309F +:10E2800006F0C5FB18B921687F2081F83700BDE88A +:10E29000104006F0A7BB38B5FF208DF8000001251F +:10E2A00069460520FFF7A1FE30B3604C20688078F6 +:10E2B00008BB6268A0681278417BC2F3401211402B +:10E2C0004173012100F04AF800229DF80010A06877 +:10E2D000FFF76BFD2068012100F8661F82788188B6 +:10E2E0000120FFF7ECF8216800204870FFF797FF46 +:10E2F000012007F04FFB00E00025284638BD38B567 +:10E30000FF208DF80000012569460320FFF76DFE10 +:10E31000464C002820681CD090F8341031B190F899 +:10E32000960018B99DF8000000F04CF860680021D4 +:10E33000018004210BF0A6F9FFF77CFF2068B0F8FC +:10E340004020C16B60680BF0EFF921680320487032 +:10E3500002E0807800B90025284638BD70B5334DFD +:10E360000446686850F80F2FC4F80E208288628235 +:10E3700082792275C27962750289E282428962805D +:10E380008289A280C289E2800269A260027D227332 +:10E39000427D02F01F022276407D400984F88C0104 +:10E3A00084F8641084F86510002104F130000BF04B +:10E3B0002AFB286890F8651004F8661F90F85F0043 +:10E3C000607070BD70B5194C0122216881F89620EB +:10E3D0000A7881F89720FF280DD001F19902983131 +:10E3E0000AF0D3FC00B9FFDF206810F8981F41F055 +:10E3F000020101700CE060680278C2F3801281F8BB +:10E400009820D0F8032041F8992FB0F807008880B1 +:10E41000256895F837009F357F2800D1FFDF2068F9 +:10E4200010F8371F29707F21017070BD6400002033 +:10E43000B20500202DE9FC470C460646694600F06F +:10E4400010FF002860D1FFF7CAF8B0425CD0214627 +:10E45000304608F0DEFF28BB019D95F82C01703591 +:10E4600018B9287F08B1012000E00020814695F806 +:10E4700039004FF000084FF0010AA0B195F83A00BA +:10E48000800710D584F8018084F800A084F8028009 +:10E49000A68095F83B10A171A98F2181E98F618138 +:10E4A00085F839802DE0304601F04DFF070000D19E +:10E4B000FFDF384601F06DF940B184F801800D218D +:10E4C0002170A680E08084F802A01AE0304601F0B6 +:10E4D00028FF070000D1FFDFB9F1000F14D0384644 +:10E4E00001F0AFF980B1304606F01EFD84F80180DE +:10E4F0000A21217084F80280A680697FA17185F8C5 +:10E500001C800120BDE8FC870020FBE71CB56946A4 +:10E5100000F0A7FE00B1FFDF684600F0AFFEF9494A +:10E5200000208968A1F8F2001CBD2DE9FC410446D9 +:10E530000E46062001F06EFD00250746A84606445B +:10E5400017E02088401C80B22080B04202D34046B1 +:10E55000A4F8008080B2B84204D3B04202D20020B6 +:10E56000BDE8FC81694600F07CFE0028F8D06D1CF7 +:10E57000EDB2AE42E5D84FF6FF7020801220EFE7F3 +:10E5800010B506F043FD0AF026FBDF484FF6FF7199 +:10E5900000234182818203701B2141804FF4A472C9 +:10E5A0008280C180028103228275C2758272042436 +:10E5B000C4728181C1810282837610BD70B5D14C55 +:10E5C0000D466060217006F0ADFC00F063FEFFF7C1 +:10E5D000D7FF207809F09EFD284607F04DFACA487B +:10E5E0002838FFF72DF82178606808F0F6FFBDE8BD +:10E5F00070400AF0F0BA10B501240AB1002010BD35 +:10E6000021B1012903D00024204610BD02210BF0C6 +:10E61000CBF8F9E7887800B90320C97801B903215C +:10E62000107019700020704730B587B0044600881C +:10E63000694600F016FE002806D1A08830B10128F6 +:10E6400004D0022802D0122007B030BD05AB04AAC6 +:10E6500021466846FFF7DEFF0400F5D1019901204D +:10E6600081F8C501019991F81012002539B9019975 +:10E6700091F8C41119B9019991F8971009B13A2488 +:10E6800015E00199039581F8C40101989DF81020C7 +:10E6900080F8C621019B9DF8140083F8C7018DF80E +:10E6A0000C208DF80D0003AA01200AF0F4FE019859 +:10E6B00080F8C5512046C7E710B504460020A17870 +:10E6C00001B90120E2780AB940F0020000F0F6FD3D +:10E6D000002803D12046BDE81040A5E710BD70B565 +:10E6E0000D4604460189002380880AF0C9FE696A44 +:10E6F00081421DD2401A401CA1884008091A8AB2E2 +:10E70000A2802189081A2081668895F86410104635 +:10E710000AF08DFE864200D230466080E68895F889 +:10E72000651020890AF083FE864200D23046E080E0 +:10E7300070BDF0B585B00D46064603A900F091FD09 +:10E7400000282AD104990022FB20B1F84E30FB2B7F +:10E7500000D30346B1F85040FB20FB2C00D3044605 +:10E76000DFF8A8C19CE8811000900197CDF808C09F +:10E77000ADF80230ADF806406846FFF7B0FF6E8096 +:10E78000BDF80400E880BDF808006881BDF802000B +:10E79000A880BDF806002881002005B0F0BD2DE955 +:10E7A000F04186B004460088694600F05AFD002812 +:10E7B00059D12189E08800F09BFD002853D1A18820 +:10E7C000608800F095FD00284DD12189E08800F097 +:10E7D00085FD002847D1A188608800F07FFD0600F4 +:10E7E00041D1208802A9FFF7A4FF00B1FFDFBDF8E7 +:10E7F000101062880920914235D3BDF80C10E288D0 +:10E80000914230D3BDF81210BDF80E202389114477 +:10E81000A2881A44914226D3019D01274FF0000897 +:10E8200085F8BB71019890F8FC0105F5DD7508B11C +:10E830003A2615E0E08868806088E880218940F603 +:10E840004800814200D30146A980A188814200D2BC +:10E8500008462881002228460199FFF740FF2F70C3 +:10E8600085F80180304606B0BDE8F08197E710B525 +:10E870000446FEF761FE002813D0207814280FD13B +:10E88000A07868B1A088062101F018FC40B100888A +:10E8900006F04AFBA088062101F022FC00B1FFDF50 +:10E8A000012010BD2DE9F041060000D1FFDF164820 +:10E8B000022114308046FFF738FE00B1FFDF124C12 +:10E8C0000620A78A01F0A6FB0546A08AA84203D12C +:10E8D0003046FFF7CCFF20B9A08A3146FFF7AAFDEA +:10E8E00030B1304600F012FD0028EED10120BBE728 +:10E8F00002214046FFF719FE10B9A08AB842E4D1C0 +:10E900000020B1E77000002090060020C8B101008F +:10E9100010B500F083FC08B10C2010BD0AF096F988 +:10E92000002010BD10B50446007818B1012801D0B0 +:10E93000122010BD00F07DFC20B10AF0FDF908B1F5 +:10E940000C2010BD207800F053FCE21D04F11703E9 +:10E95000611CBDE810400AF09BB910B5044600F0F8 +:10E960005DFC08B10C2010BD207818B1012801D041 +:10E97000122010BD00F03CFC611C0AF041F908B106 +:10E98000002010BD072010BD10B50AF0D9F908B15C +:10E99000002010BD302010BD10B5044600F049FC29 +:10E9A00008B10C2010BD20460AF0C2F9002010BDAD +:10E9B00010B500F03EFC20B10AF0BEF908B10C2001 +:10E9C00010BD0AF0A7F9002010BDFF2181704FF69D +:10E9D000FF718180F84949680A7882718A880281CA +:10E9E0004988418101214170002070471CB50024F5 +:10E9F00012F1080F15D00CDC12F1280F11D012F112 +:10EA0000140F0ED012F1100F0BD012F10C0F0CD10D +:10EA100007E012F1040F04D01AB1032A01D0042A2E +:10EA200003D1012804D0032806D0122420461CBD9F +:10EA30001046FEF7D0FFF9E708461446694600F095 +:10EA400010FC08B10224F1E7019880F86740002427 +:10EA5000ECE710B5134601220AF003FC002010BDBC +:10EA600010B5044600F0E5FB08B10C2010BD2146AE +:10EA7000002006F0CCFA002010BD10B5044607F0C7 +:10EA800095F920B1207807F003F8002010BD0C2084 +:10EA900010BD10B5044600F0CCFB08B10C2010BD31 +:10EAA0002146012006F0B3FA002010BD38B5044617 +:10EAB0004FF6FF70ADF80000A079E179884216D0DA +:10EAC0002079FEF78DFC90B16079FEF789FC70B17A +:10EAD0000022A07911460BF0DBFB40B90022E0795F +:10EAE00011460BF0D5FB10B9207A072801D9122066 +:10EAF00038BD07F067F948B900216846FFF715FDF2 +:10EB000020B1204605F0ADFB002038BD0C2038BDFB +:10EB10002DE9FC41817804461A2925D00EDC1629FE +:10EB20002DD2DFE801F02C2C2C2C2C212C2C2C2C81 +:10EB30002C2C2C2C2C2C2C2C2C2121212A291ED0A5 +:10EB40000BDCA1F11E010C2919D2DFE801F0181825 +:10EB50001818181818181818180D3A3904290ED250 +:10EB6000DFE801F00D020D022088B0F5706F06D2CB +:10EB70000127694600F075FB18B10220F0E412206D +:10EB8000EEE4019D68462E4605F5C87506F291161D +:10EB900000F05AFB08B1287808B10C20E0E42F708F +:10EBA000A0783070684600F069FB0020D8E41CB5FE +:10EBB0000C46694600F055FB002118B12160217117 +:10EBC00002201CBD0198024610F1700080F842102E +:10EBD00093682360137B237190F84230002BF5D1AA +:10EBE00000201CBD10B5044600F023FB20B10AF044 +:10EBF000A3F808B10C2010BD207800F0F9FAE279F2 +:10EC0000611C0AF06EF908B1002010BD022010BD91 +:10EC100010B5886E60B1002241F8682F0120CA71DA +:10EC2000897988400BF028FB002800D01F2010BDF8 +:10EC30000C2010BD1CB50C46694600F012FB0028E4 +:10EC400005D10198B0F87000401C208000201CBD48 +:10EC50001CB504460088694600F003FB08B1022099 +:10EC60001CBD606828B1DDE90001224600F09CFB74 +:10EC70001CBDDDE90001FFF7CBFF1CBD10B500781E +:10EC8000012800D00020FEF7A1FE002010BDF0B545 +:10EC900044888188C288038945898089A71F40F6F6 +:10ECA0007B46B74215D28F1FB74212D28C4210D882 +:10ECB000B2F5FA7F0DD2A3F10A04361FB44208D28E +:10ECC000521C4A43B2EB830F03DA854201D800207D +:10ECD000F0BD3020F0BDF8B515460E46044607F0ED +:10ECE00071F808B10C20F8BD204600F09CFB00280C +:10ECF000F9D1A078C1064FF01100F4D5E17D0329C8 +:10ED0000F1D0FEF76DFE3070A07555B9FF208DF87B +:10ED1000000069460020FEF74DFE69460020FEF720 +:10ED20003EFE2046BDE8F840FEF7BDBD0022D2E71A +:10ED30000078C10801D01220704720498876002051 +:10ED4000704710B504460078C00704D1608810B140 +:10ED5000FEF711FE80B12078618800F00102607832 +:10ED600000F0ACFB002806D1FEF7FDFD01466088EF +:10ED7000884203D9072010BD122010BD6168FEF73C +:10ED800019FE002010BD10B504460078C00704D15C +:10ED9000608810B1FEF730FE90B12078618800F0F5 +:10EDA0000102607800F08AFB002804D16088616865 +:10EDB000FEF7F5FD002010BD700000209006002039 +:10EDC0001220F8E77CB5044640784225012808D88F +:10EDD000A078FEF745FC20B120781225012802D04A +:10EDE00090B128467CBDFEF710FE20B1A088002817 +:10EDF000F7D08028F5D8FEF70FFE60B160780028C4 +:10EE0000EFD02078012808D006F07EF9044606F0FD +:10EE100009FE00287FD00C207CBDFEF762FC10B9F3 +:10EE2000FEF7F1FD90B306F0CDFF0028F3D1FEF719 +:10EE3000D6FBA0F57F41FF39EDD1FEF7D6FCA688C1 +:10EE400042F210704643A079FEF79CFDFEF7CDFD1F +:10EE5000F8B10022062101A801F002F9040058D0FF +:10EE6000F7480021846020460AF01EF92046FEF78C +:10EE7000EDFEF44D04F13000AA89E989C2830184D2 +:10EE8000FEF7CCFD60B1288A01210DE0FFE71220DA +:10EE90007CBD3146002006F0FEFD88B3FFDF44E074 +:10EEA000FEF7BEFD0146288A06F090FE0146A062EC +:10EEB0000022204606F02BF9FEF7B0FD38B9FEF728 +:10EEC000AFFD0246214601200AF0E3FAD0B1DD4A47 +:10EED0002146163201200AF0DEFAE87A0090AB7A79 +:10EEE000EA89A989208801F0A5F900B1FFDF20880F +:10EEF00006F019F83146204606F0CDFD00B1FFDFDF +:10EF000013E008E00621BDF8040001F0E9F800B1C3 +:10EF1000FFDF09207CBD44B1208806F005F8208879 +:10EF2000062101F0DDF800B1FFDF00207CBD0021EB +:10EF300048E770B50D46062101F0C0F8040003D083 +:10EF400094F8930110B10AE0022070BD94F87D009E +:10EF5000142801D0152802D194F8E00108B10C2042 +:10EF600070BD1022294604F5CA70FEF7E2F90120AF +:10EF700084F89301002070BD10B5062101F09EF8C1 +:10EF800018B190F8931111B107E0022013E790F83F +:10EF90007D10142903D0152901D00C200BE7022184 +:10EFA00080F89311002006E72DE9FC410D464BF651 +:10EFB00080321221954213D895B1694600F051F97B +:10EFC00000280CD1019EB41C703627882A46394689 +:10EFD00030460AF02AF82088B842F6D10020CDE564 +:10EFE0000846CBE51CB504460088694600F039F9AF +:10EFF000002808D10199A378084691F82C20703197 +:10F000009A4201D10C201CBD7F220A728A72002212 +:10F01000CA72E17880F82D10217980F82E10A1783D +:10F0200080F82C1010461CBD1CB50C46694600F03B +:10F0300018F9002806D1019890F88C0000B1012041 +:10F04000207000201CBD7CB50D461446694600F0BA +:10F0500008F9002805D1019890F82C00012801D06A +:10F060000C207CBD019890F87810297090F87900F8 +:10F07000207000207CBD70B50D461646062101F0BB +:10F080001DF818B381880124C388428804EB410429 +:10F09000AC4217D842F210746343A4106243B3FB2E +:10F0A000F2F2521E94B24FF4FA72944200D914460E +:10F0B000A54200D22C46491C641CB4FBF1F24A4321 +:10F0C000521E91B290F8CC211AB901E0022070BD15 +:10F0D00001843180002070BD10B50C46062100F07F +:10F0E000EDFF48B180F8FF4024B190F8FD1009B160 +:10F0F00006F083FD00205EE602205CE6017899B10F +:10F10000417889B141881B290ED381881B290BD3F3 +:10F11000C188022908D34B490268283941F8322FA7 +:10F1200040684860002070471220704710B506F014 +:10F130001EFD00203FE610B506F01CFD00203AE65B +:10F1400070B514460A46064600250121104606F011 +:10F150003DFD002800D8284605460121304600F034 +:10F160004EF806460121002000F049F8311801222E +:10F1700096318D4206D901F19600691AB1FBF0F083 +:10F18000401C82B22280002070BD10B5044600F001 +:10F1900050F808B10C200EE6601C09F08FFE2078B4 +:10F1A00000F00100FEF7BAFA002004E610B50446AC +:10F1B000062000F021FF08B10C20FCE52078C007F4 +:10F1C00010D00022607811460BF062F808B11220CE +:10F1D000F1E5A06808F073FD6078616808F078FDDB +:10F1E0000020E8E5002008F06AFD00210846F5E768 +:10F1F00018B1022801D0012070470020704710B5D7 +:10F20000012904D0022905D0FFDF2046D3E5C00044 +:10F21000503001E080002C3084B2F6E710B506F0E3 +:10F22000D1FD20B1FEF755FA08B10120C3E5002059 +:10F23000C1E510B506F0C6FD002800D00120BAE5F2 +:10F240007000002090060020416891F82C0191F890 +:10F250008C1021B918B1042801D00120704700207A +:10F26000704710B50C46062100F028FF606018B109 +:10F270000120207000209EE502209CE5416891F865 +:10F28000FD20002A05D0002281F8FD20406806F00C +:10F29000B4BC704708B54FF6FF70ADF8000006E04B +:10F2A0000621BDF8000000F01BFF00B1FFDF0021C8 +:10F2B0006846FFF73AF90028F2D008BD70B5144649 +:10F2C0000546012200F00EF9002806D12146284605 +:10F2D000BDE87040002200F005B970BDFB2803D8DE +:10F2E00040F64800814201D9112070470020704744 +:10F2F0001B38E12806D2B1F5A47F03D344F2902055 +:10F30000814201D912207047002070471FB58E49F5 +:10F31000897ECA0702D10278192A0AD08A0702D444 +:10F320000278182A24D0490739D40178122933D019 +:10F3300035E04088ADF8000002A9FFF792FF00B168 +:10F34000FFDF039810F8601F8DF8021040788DF8E9 +:10F3500003000020ADF8040001B9FFDF9DF80300B1 +:10F3600000B9FFDF6846FFF7A7F9D8B1FFDF19E062 +:10F370004088ADF8000040F64800FB21ADF80400DD +:10F38000ADF80800ADF80210ADF806106846FFF7BA +:10F390006DFA38B1FFDF05E0007BC00702D0002026 +:10F3A00004B008E50120FBE7F8B50646508914468D +:10F3B0000F4640B1B0F5004F05D20022A0781146AB +:10F3C0000AF066FF08B11220F8BDB86E394607F1A1 +:10F3D000700530B1A07891F86E20904201D00C20D9 +:10F3E000F8BD012081F86F00A07881F86E00606898 +:10F3F00041F8680F608988802089A884002087F8F8 +:10F400006F0020886946FFF715FCA88CBDF8001036 +:10F41000081A00B2002804DD39463046FFF7F8FB31 +:10F42000DDE70020F8BD38B504460078EF2841D864 +:10F430006088ADF80000009800F061F888B361883A +:10F44000080708D4D4E90120824233D8202A31D3D6 +:10F45000B0F5804F2ED8207B18B307282AD8607BC0 +:10F4600028B1012803D0022801D0032822D14A075D +:10F4700003D4022801D0032805D1A07B08B10128BC +:10F4800018D1480707D4607D28B1012803D002288D +:10F4900001D003280ED1C806E07D03D5012809D18B +:10F4A00004E007E0012801D0032803D1E07E18B171 +:10F4B000012801D0122038BD002038BD70B50C469F +:10F4C0000546FF2904D8FEF7A9FA18B11F2C01D967 +:10F4D000122070BD2846FEF7C3F808B1002070BDA9 +:10F4E000422070BD0AB1012200E00222024202D194 +:10F4F000880802D109B1002070471120704780B2FE +:10F50000C1060BD401071CD481064FEAC07101D596 +:10F51000B9B900E099B1800713D410E0410610D4C6 +:10F5200081060ED4C1074FEA807104D0002902DBA6 +:10F53000400704D405E0010703D4400701D40120AB +:10F5400070470020704700009006002030B5058805 +:10F5500025F4004421448CB24FF4004194420AD275 +:10F56000121B92B21B339A4201D2A94307E005F461 +:10F570000041214303E0A21A92B2A9431143018042 +:10F5800030BD0844083050434A31084480B27047C7 +:10F5900070B51D4616460B46044629463046049A69 +:10F5A000FFF7EFFF0646B34200D2FFDF282200211B +:10F5B0002046FDF7E8FE4FF6FF70A082283EB0B26D +:10F5C00065776080B0F5004F00D9FFDF618805F1F5 +:10F5D0003C00814200D2FFDF60880835401B343890 +:10F5E00080B220801B2800D21B2020800020A07722 +:10F5F00070BD8161886170472DE9F05F0D46C1885B +:10F60000044600F12809008921F4004620F400484E +:10F6100000F063FB10B10020BDE8F09F4FF0000A3E +:10F620004FF0010BB0450CD9617FA8EB0600401AE2 +:10F630000838854219DC09EB06000021058041806D +:10F640001AE06088617F801B471A083F0DD41B2F8A +:10F6500000DAFFDFBD4201DC294600E0B9B2681ADA +:10F660000204120C04D0424502DD84F817A0D2E750 +:10F6700009EB06000180428084F817B0CCE770B532 +:10F68000044600F12802C088E37D20F400402BB13D +:10F6900010440288438813448B4201D2002070BD7D +:10F6A00000258A4202D30180458008E0891A0904B6 +:10F6B000090C418003D0A01D00F01FFB08E0637F10 +:10F6C00000880833184481B26288A01DFFF73EFF0E +:10F6D000E575012070BD70B5034600F12804C588AA +:10F6E000808820F400462644A84202D100201882D7 +:10F6F00070BD98893588A84206D3401B75882D1A9D +:10F700002044ADB2C01E05E02C1AA5B25C7F204497 +:10F710003044401D0C88AC4200D90D809C8924B136 +:10F72000002414700988198270BD0124F9E770B5AE +:10F73000044600F12801808820F400404518208A02 +:10F74000002825D0A189084480B2A08129886A8830 +:10F750001144814200D2FFDF2888698800260844CE +:10F76000A189884212D1A069807F2871698819B166 +:10F77000201D00F0C2FA08E0637F2888083318448F +:10F7800081B26288201DFFF7E1FEA681268201205A +:10F7900070BD2DE9F041418987880026044600F1BB +:10F7A0002805B94219D004F10A0800BF21F400402D +:10F7B0002844418819B1404600F09FFA08E0637F71 +:10F7C00000880833184481B262884046FFF7BEFEC5 +:10F7D000761C6189B6B2B942E8D13046BDE8F08105 +:10F7E0002DE9F04104460B4627892830A68827F4E6 +:10F7F0000041B4F80A8001440D46B74201D100200F +:10F80000ECE70AB1481D106023B1627F691D1846FC +:10F81000FDF78FFD2E88698804F1080021B18A194F +:10F8200096B200F06AFA06E0637F6288083399199D +:10F8300089B2FFF78BFE474501D1208960813046B0 +:10F84000CCE78188C088814201D101207047002027 +:10F85000704701898088814201D1012070470020D2 +:10F86000704770B58588C38800F1280425F40042EC +:10F8700023F4004114449D421AD08389058A5E19FD +:10F8800025886388EC18A64214D313B18B4211D398 +:10F890000EE0437F08325C192244408892B2801AFD +:10F8A00080B22333984201D211B103E08A4201D1E0 +:10F8B000002070BD012070BD2DE9F0478846C18849 +:10F8C0000446008921F4004604F1280720F400458D +:10F8D00007EB060900F001FA002178BBB54204D914 +:10F8E000627FA81B801A002503E06088627F801B6E +:10F8F000801A083823D4E28962B1B9F80020B9F837 +:10F9000002303BB1E81A2177404518DBE0893844E2 +:10F91000801A09E0801A217740450ADB607FE1897F +:10F920000830304439440844C01EA4F81280BDE8B1 +:10F93000F087454503DB01202077E7E7FFE7618299 +:10F940000020F4E72DE9F74F044600F12805C088B0 +:10F95000884620F4004A608A05EB0A0608B1404553 +:10F9600002D20020BDE8FE8FE08978B13788B6F872 +:10F97000029007EB0901884200D0FFDF207F4FF0A3 +:10F98000000B50EA090106D088B33BE00027A07FB6 +:10F99000B9463071F2E7E18959B1607F29440830F6 +:10F9A00050440844B4F81F1020F8031D94F82110A7 +:10F9B0008170E28907EB080002EB0801E1813080E9 +:10F9C000A6F802B002985F4650B1637F30880833D2 +:10F9D000184481B26288A01DFFF7B8FDE78121E0DD +:10F9E000607FE18908305044294408442DE0FFE756 +:10F9F000E089B4F81F102844C01B20F8031D94F8B8 +:10FA00002110817009EB0800E28981B202EB080045 +:10FA1000E081378071800298A0B1A01D00F06DF9DF +:10FA2000A4F80EB0A07F401CA077A07D08B1E088AC +:10FA3000A08284F816B000BFA4F812B084F817B002 +:10FA400001208FE7E0892844C01B30F8031DA4F88B +:10FA50001F10807884F82100EEE710B5818800F14E +:10FA6000280321F400442344848AC288A14212D08E +:10FA7000914210D0818971B9826972B11046FFF745 +:10FA8000E8FE50B91089283220F40040104419795A +:10FA90000079884201D1002010BD184610BD00F148 +:10FAA0002803407F08300844C01E1060088808B949 +:10FAB000DB1E136008884988084480B270472DE92E +:10FAC000F04100F12806407F1C460830904643185C +:10FAD00008884D88069ADB1EA0B1C01C80B29042F7 +:10FAE00014D9801AA04200DB204687B298183A4603 +:10FAF0004146FDF7F1FB002816D1E01B84B2B84463 +:10FB0000002005E0ED1CADB2F61EE8E7101A80B249 +:10FB10000119A94206D8304422464146BDE8F041C9 +:10FB2000FDF7DABB4FF0FF3058E62DE9F04100F168 +:10FB30002804407F1E460830904643180025088858 +:10FB40004F88069ADB1E90B1C01C80B2904212D939 +:10FB5000801AB04200DB304685B299182A464046EA +:10FB6000FDF7E7FB701B86B2A844002005E0FF1CF0 +:10FB7000BFB2E41EEAE7101A80B28119B94206D872 +:10FB8000211832464046FDF7D4FBA81985B2284615 +:10FB900024E62DE9F04100F12804407F1E4608309C +:10FBA00090464318002508884F88069ADB1E90B1BE +:10FBB000C01C80B2904212D9801AB04200DB30469D +:10FBC00085B298182A464146FDF7B3FB701B86B2F2 +:10FBD000A844002005E0FF1CBFB2E41EEAE7101AAB +:10FBE00080B28119B94206D8204432464146FDF719 +:10FBF000A0FBA81985B22846F0E5401D704710B556 +:10FC0000044600F12801C288808820F4004319448A +:10FC1000904206D0A28922B9228A12B9A28A9042C1 +:10FC200001D1002010BD0888498831B1201D00F0A5 +:10FC300064F800202082012010BD637F62880833B1 +:10FC4000184481B2201DFFF781FCF2E70021C18139 +:10FC500001774182C1758175704703881380C2891D +:10FC600042B1C28822F4004300F128021A440A601B +:10FC7000C08970470020704710B50446808AA0F5FF +:10FC80007F41FF3900D0FFDFE088A082E08900B12A +:10FC90000120A07510BD4FF6FF7181820021817592 +:10FCA000704710B50446808AA0F57F41FF3900D126 +:10FCB000FFDFA07D28B9A088A18A884201D1002059 +:10FCC00010BD012010BD8188828A914201D1807DC2 +:10FCD00008B1002070470120704720F4004221F451 +:10FCE00000439A4207D100F4004001F400418842E9 +:10FCF00001D0012070470020704730B504460088CD +:10FD00000D4620F40040A84200D2FFDF21884FF4C6 +:10FD1000004088432843208030BD70B50C00054664 +:10FD200009D0082C00D2FFDF1DB1A1B2286800F075 +:10FD300044F8201D70BD0DB100202860002070BD6A +:10FD40000021026803E093881268194489B2002AEE +:10FD5000F9D100F032B870B500260D4604460829E6 +:10FD600000D2FFDF206808B91EE0044620688188C1 +:10FD7000A94202D001680029F7D181880646A9422C +:10FD800001D100680DE005F1080293B2002299420A +:10FD900009D32844491B02608180216809682160D9 +:10FDA0000160206000E00026304670BD00230B603B +:10FDB0008A8002680A600160704700234360021D68 +:10FDC000018102607047F0B50F46018840881546F2 +:10FDD0000C181E46AC4200D3641B3044A84200D924 +:10FDE000FFDFA019A84200D9FFDF3819F0BD2DE9C7 +:10FDF000F041884606460188408815460C181F4683 +:10FE0000AC4200D3641B3844A84200D9FFDFE0199C +:10FE1000A84200D9FFDF70883844708008EB0400E6 +:10FE2000BDE8F0812DE9F041054600881E461746E1 +:10FE3000841B8846BC4200D33C442C8068883044F4 +:10FE4000B84200D9FFDFA019B84200D9FFDF6888A7 +:10FE50003044688008EB0400E2E72DE9F0410688B1 +:10FE60001D460446701980B2174688462080B84265 +:10FE700001D3C01B20806088A84200D2FFDF701928 +:10FE8000B84200D9FFDF6088401B608008EB0600A5 +:10FE9000C6E730B50D460188CC18944200D3A41AA9 +:10FEA0004088984200D8FFDF281930BD2DE9F04185 +:10FEB000BF4D04469046A8780E46A04200D8FFDF0A +:10FEC00005EB8607786A50F8240000B1FFDFB868B8 +:10FED000002816D0304600F032F90146B868FFF726 +:10FEE0003AFF05000CD0786A072E40F8245000D362 +:10FEF000FFDFB0484246294650F826302046984752 +:10FF00002846BDE8F0812DE9F84305000C46009530 +:10FF100024D00026E81C20F00300A84200D0FFDF18 +:10FF2000DFF88C820027314688F8007088F801409D +:10FF300088F8024088F8034088F8044088F80540B3 +:10FF400088F80640684600F003F900204246009910 +:10FF5000C91C21F00301009116B10FE00126D9E779 +:10FF600002EB80035962002106E000BFD3F824C0F1 +:10FF70004CF82170491CC9B2A142F7D30099401C2A +:10FF800001EB8401C0B200910728E0D3481BBDE813 +:10FF9000F88310B50446F1F774F908B1102010BDCC +:10FFA0002078834A618802EB800092780EE0436AF1 +:10FFB00053F8213043B14A1C6280A180406A50F856 +:10FFC0002100A060002010BD491C89B28A42EED8F1 +:10FFD0006180052010BD70B505460C460846F1F756 +:10FFE00050F908B1102070BD072D01D3072070BD56 +:10FFF00025700020608070BD0EB56946FFF7EBFFED +:020000021000EC +:1000000000B1FFDF6846FFF7C4FF08B100200EBD56 +:1000100001200EBD10B50446072800D3FFDF644859 +:10002000005D10BD3EB5054600246946FFF7D3FFCD +:1000300018B1FFDF01E0641CE4B26846FFF7A9FFD6 +:100040000028F8D02846FFF7E5FF001BC0B23EBDF0 +:1000500057498978814201D9C0B27047FF20704763 +:100060002DE9F04106291BD1514C00273B464FF6A4 +:10007000FF7604EB810514F801C00AE0DC19D5F81D +:1000800024E0A4B25EF824E0BEF1000F04D05B1CB3 +:100090009BB29C45F2D8344604802046B44201D13C +:1000A00000202EE7BDE8F04100E7A0F57F43FF3BCD +:1000B00001D0072901D300207047F7E6A0F57F4261 +:1000C000FF3A0BD0072909D2394A9378834205D9E0 +:1000D00002EB8101496A51F8200070470020704707 +:1000E0002DE9F04104460D46A4F57F4143F202009C +:1000F000FF3902D0072D01D3072002E72C494FF02A +:1001000000088A78A242F8D901EB8506726A52F893 +:100110002470002FF1D0274839461C3050F8252094 +:1001200020469047716A284641F8248000F007F87D +:1001300002463946B068FFF739FE0020E1E61D4966 +:10014000383131F810004FF6FC71C01C0840704780 +:100150002DE9F843164E8846054600242868C01C41 +:1001600020F0030028602046FFF7E9FF315D484397 +:10017000B8F1000F01D0002200E02A680146009289 +:1001800032B100274FEA0D00FFF7C7FD1FB106E0AF +:1001900001270020F8E706EB8401009A8A602968AD +:1001A000641C0844E4B22860072CD7D3EFE60000B3 +:1001B000AC060020D4B1010070B50E461D461146B4 +:1001C00000F0D5F804462946304600F0D9F820441E +:1001D000001D70BD2DE9F04190460D4604004FF022 +:1001E000000610D00027E01C20F00300A04200D041 +:1001F000FFDFE5B141460020FFF78FFD0C3000EB3B +:10020000850617B113E00127EDE7624F04F10C00FA +:10021000AA003C602572606000EB85002060002130 +:100220006068FDF7B0F841463868FFF776FD304664 +:10023000BDE8F0812DE9FF4F564C804681B0206823 +:100240009A46934600B9FFDF2068027A424503D9F7 +:10025000416851F8280020B143F2020005B0BDE822 +:10026000F08F5146029800F082F886B258460E99F7 +:1002700000F086F885B27019001D87B22068A1468B +:1002800039460068FFF767FD04001FD067802580AE +:100290002946201D0E9D07465A4601230095FFF76B +:1002A00077F92088314638440123029ACDF800A01E +:1002B000FFF76EF92088C1193846FFF79AF9D9F887 +:1002C00000004168002041F82840C7E70420C5E746 +:1002D00070B5304C0546206800B9FFDF2068017A10 +:1002E000A9420ED9426852F8251051B1002342F8B4 +:1002F00025304A880068FFF759FD216800200A7AF6 +:1003000008E043F2020070BD4B6853F8203033B967 +:10031000401CC0B28242F7D80868FFF711FD0020E8 +:1003200070BD70B51B4E05460024306800B9FFDF74 +:100330003068017AA94204D9406850F8250000B11C +:10034000041D204670BD70B5124E0546002430686D +:1003500000B9FFDF3068017AA94206D9406850F839 +:10036000251011B131F8040B4418204670BD10B5AA +:100370000A460121FFF705F9C01C20F0030010BD5B +:1003800010B50A460121FFF7FCF8C01C20F003005D +:1003900010BD00007C00002070B50446C2F11005BD +:1003A0002819FCF7C6FF15F0FF0109D0491ECAB293 +:1003B0008020A0542046BDE870400021FCF7E3BF38 +:1003C00070BD30B505E05B1EDBB2CC5CD55C6C402B +:1003D000C454002BF7D130BD10B5002409E00B78D0 +:1003E000521E44EA430300F8013B11F8013BD2B22C +:1003F000DC09002AF3D110BD2DE9F04389B01E4677 +:10040000DDE9107990460D00044622D002460846E8 +:10041000F949FEF71EFB102221463846FFF7DCFFA4 +:10042000E07B000606D5F44A394610231032084610 +:10043000FFF7C7FF102239464846FFF7CDFFF87B8C +:10044000000606D5EC4A4946102310320846FFF74D +:10045000B8FF102200212046FCF795FF0DE0103E6A +:10046000B6B208EB0601102322466846FFF7A9FF43 +:10047000224628466946FEF7ECFA102EEFD818D02F +:10048000F2B241466846FFF787FF10234A466946A5 +:1004900004A8FFF796FF1023224604A96846FFF739 +:1004A00090FF224628466946FEF7D3FA09B0BDE818 +:1004B000F08310233A464146EAE770B59CB01E46E9 +:1004C0000546134620980C468DF808002022194650 +:1004D0000DF10900FCF72DFF202221460DF1290026 +:1004E000FCF727FF17A913A8CDE90001412302AAB1 +:1004F00031462846FFF780FF1CB070BD2DE9FF4F45 +:100500009FB014AEDDE92D5410AFBB49CDE90076A4 +:10051000202320311AA8FFF76FFF4FF000088DF855 +:1005200008804FF001098DF8099054F8010FCDF8BB +:100530000A00A088ADF80E0014F8010C1022C0F3D8 +:1005400040008DF8100055F8010FCDF81100A88873 +:10055000ADF8150015F8010C2C99C0F340008DF88A +:10056000170006A88246FCF7E4FE0AA8834610227C +:100570002299FCF7DEFEA0483523083802AA40681D +:100580008DF83C80CDE900760E901AA91F98FFF7F0 +:1005900033FF8DF808808DF809902068CDF80A00A7 +:1005A000A088ADF80E0014F8010C1022C0F3400032 +:1005B0008DF810002868CDF81100A888ADF8150056 +:1005C00015F8010C2C99C0F340008DF81700504627 +:1005D000FCF7AFFE584610222299FCF7AAFE864887 +:1005E0003523083802AA40688DF83C90CDE90076A2 +:1005F0000E901AA92098FFF7FFFE23B0BDE8F08FF8 +:10060000F0B59BB00C460546DDE922101E461746A4 +:10061000DDE92032D0F801C0CDF808C0B0F805C03F +:10062000ADF80CC00078C0F340008DF80E00D1F892 +:100630000100CDF80F00B1F80500ADF813000878FF +:100640001946C0F340008DF815001088ADF816006B +:1006500090788DF818000DF119001022FCF769FE52 +:100660000DF1290010223146FCF763FE0DF139002F +:1006700010223946FCF75DFE17A913A8CDE9000149 +:10068000412302AA21462846FFF7B6FE1BB0F0BD63 +:10069000F0B5A3B017460D4604461E46102202A828 +:1006A0002899FCF746FE06A820223946FCF741FEB1 +:1006B0000EA820222946FCF73CFE1EA91AA8CDE967 +:1006C0000001502302AA314616A8FFF795FE16989E +:1006D000206023B0F0BDF0B589B00446DDE90E0717 +:1006E0000D463978109EC1F340018DF80010317825 +:1006F0009446C1F340018DF801101968CDF802103D +:100700009988ADF8061099798DF808100168CDF830 +:1007100009108188ADF80D1080798DF80F00102335 +:100720006A46614604A8FFF74CFE2246284604A903 +:10073000FEF78FF9D6F801000090B6F80500ADF885 +:100740000400D7F80100CDF80600B7F80500ADF8B1 +:100750000A000020039010236A46214604A8FFF7F0 +:1007600030FE2246284604A9FEF773F909B0F0BD11 +:100770001FB51C6800945B6801931368029352686C +:100780000392024608466946FEF763F91FBD10B59D +:1007900088B00446106804905068059000200690C8 +:1007A000079008466A4604A9FEF753F9BDF8000011 +:1007B000208008B010BD1FB51288ADF800201A883F +:1007C000ADF80220002201920292039202460846EE +:1007D0006946FEF73EF91FBD7FB5074B1446054637 +:1007E000083B9A1C6846FFF7E6FF22466946284602 +:1007F000FFF7CDFF7FBD000022B2010070B50446B7 +:1008000000780E46012813D0052802D0092813D1FC +:100810000EE0A06861690578042003F07FFA052DD9 +:100820000AD0782300220420616903F0CDF903E0A7 +:100830000420616903F072FA31462046BDE8704039 +:1008400001F08AB810B500F12D03C2799C78411DE2 +:10085000144064F30102C271D2070DD04A795C7969 +:1008600022404A710A791B791A400A718278C97844 +:100870008A4200D9817010BD00224A71F5E74178A3 +:10088000012900D00C21017070472DE9F04F93B081 +:100890004FF0000B0C690D468DF820B00978012649 +:1008A0000C2017464FF00D084FF0110A4FF00809C1 +:1008B0001B2975D2DFE811F01B00C40207031F03D8 +:1008C0005E037103A303B803F9031A0462049504D9 +:1008D000A204EF042D05370555056005F30536061E +:1008E000390668068406FE062207EB06F00614B1F8 +:1008F00020781D282AD0D5F808805FEA08004FD05C +:1009000001208DF82000686A02220D908DF82420C5 +:100910000A208DF82500A8690A90A8880028EED042 +:1009200098F8001091B10F2910D27DD2DFE801F0C4 +:100930007C1349DEFCFBFAF9F8F738089CF6F50061 +:1009400002282DD124B120780C2801D00026F0E314 +:100950008DF82020CBE10420696A03F0DFF9A88834 +:100960000728EED1204600F0F2FF022809D02046E9 +:1009700000F0EDFF032807D9204600F0E8FF072824 +:1009800002D20120207004E0002CB8D02078012889 +:10099000D7D198F80400C11F0A2902D30A2061E0C8 +:1009A000C4E1A070D8F80010E162B8F80410218604 +:1009B00098F8060084F83200012028700320207087 +:1009C00044E00728BDD1002C99D020780D28B8D15B +:1009D00098F8031094F82F20C1F3C000C2F3C002AE +:1009E000104201D0062000E00720890707D198F8BF +:1009F00005100142D2D198F806100142CED194F8E8 +:100A0000312098F8051020EA02021142C6D194F86C +:100A1000322098F8061090430142BFD198F80400A4 +:100A2000C11F0A29BAD200E008E2617D81427CD868 +:100A3000D8F800106160B8F80410218198F8060019 +:100A4000A072012028700E20207003208DF8200055 +:100A5000686A0D9004F12D000990601D0A900F3016 +:100A60000B9022E12875FCE3412891D1204600F04B +:100A70006EFF042802D1E078C00704D1204600F0C0 +:100A800066FF0F2884D1A88CD5F80C8080B24FF077 +:100A9000400BE669FFF745FC324641465B464E4651 +:100AA000CDF80090FFF741F80B208DF82000686A20 +:100AB0000D90E0690990002108A8FFF79FFE2078BB +:100AC000042806D0A07D58B1012809D003280AD0F7 +:100AD0004AE305202070032028708DF82060CEE1C5 +:100AE00084F800A032E712202070EAE11128BCD17E +:100AF000204600F02CFF042802D1E078C00719D06E +:100B0000204600F024FF062805D1E078C00711D167 +:100B1000A07D02280ED0204608E0CCE084E072E1FF +:100B200051E124E103E1E9E019E0B0E100F00FFF59 +:100B300011289AD1102208F1010104F13C00FCF7C0 +:100B4000F8FB607801286ED012202070E078C00792 +:100B500060D0A07D0028C8D00128C6D05AE0112856 +:100B600090D1204600F0F3FE082804D0204600F083 +:100B7000EEFE132886D104F16C00102208F1010169 +:100B80000646FCF7D6FB207808280DD014202070EC +:100B9000E178C8070DD0A07D02280AD06278022A29 +:100BA00004D00328A1D035E00920F0E708B10128DE +:100BB00037D1C80713D0A07D02281DD00020009097 +:100BC000D4E9062133460EA8FFF777FC10220EA9C0 +:100BD00004F13C00FCF780FBC8B1042042E7D4E9F3 +:100BE0000912201D8DE8070004F12C0332460EA8DF +:100BF000616BFFF770FDE9E7606BC1F34401491ECB +:100C00000068C84000F0010040F08000D7E720787D +:100C1000092806D185F800908DF8209036E32870D9 +:100C2000EFE30920FBE79EE1112899D1204600F06F +:100C30008EFE0A2802D1E078C00704D1204600F0D9 +:100C400086FE15288CD104F13C00102208F1010128 +:100C50000646FCF76EFB20780A2816D01620207076 +:100C6000D4E90932606B611D8DE80F0004F15C036B +:100C700004F16C0247310EA8FFF7C2FC10220EA946 +:100C80003046FCF729FB18B1F9E20B20207073E223 +:100C90002046FFF7D7FDA078216AC0F110020B189B +:100CA00000211846FCF76FFB26E3394608A8FFF73A +:100CB000A5FD06463CE20228B7D1204600F047FEDB +:100CC000042804D3204600F042FE082809D3204619 +:100CD00000F03DFE0E2829D3204600F038FE1228F1 +:100CE00024D2A07D0228A0D10E208DF82000686AB1 +:100CF0000D9098F801008DF82400F5E3022894D1B6 +:100D0000204600F024FE002810D0204600F01FFEF0 +:100D10000128F9D0204600F01AFE0C28F4D0042057 +:100D20008DF8240098F801008DF8250060E2112864 +:100D3000FCD1002CFAD020781728F7D16178606AAE +:100D4000022912D05FF0000101EB4101182606EBE9 +:100D5000C1011022405808F10101FCF7EAFA042011 +:100D6000696A00F0E7FD2670F0E50121ECE70B2849 +:100D7000DCD1002CDAD020781828D7D16078616ACD +:100D800002281CD05FF0000000EB4002102000EBB6 +:100D9000C2000958B8F8010008806078616A02282A +:100DA0000FD0002000EB4002142000EBC2000958D5 +:100DB000404650F8032F0A604068486039E001203F +:100DC000E2E70120EEE71128B0D1002CAED0207868 +:100DD0001928ABD16178606A022912D05FF0000156 +:100DE00001EB41011C2202EBC1011022405808F125 +:100DF0000101FCF79EFA0420696A00F09BFD1A20AD +:100E0000B6E00121ECE7082890D1002C8ED02078A4 +:100E10001A288BD1606A98F80120017862F34701A3 +:100E20000170616AD8F8022041F8012FB8F8060075 +:100E300088800420696A00F07DFD90E2072011E6B9 +:100E40003878012894D1182204F114007968FCF74D +:100E500070FAE079C10894F82F0001EAD001E07837 +:100E600061F30000E070217D002974D1217803290D +:100E700009D0C00725D0032028708DF82090686A1B +:100E80000D90412008E3607DA178884201D90620B9 +:100E9000E8E502262671E179204621F0E001E171C2 +:100EA000617A21F0F0016172A17A21F0F001A17262 +:100EB000FFF7C8FC2E708DF82090686A0D9007200F +:100EC000EAE20420ABE6387805289DD18DF82000B1 +:100ED000686A0D90B8680A900720ADF824000A9857 +:100EE0008DF830B06168016021898180A17A8171BB +:100EF00004202070F8E23978052985D18DF820107A +:100F0000696A0D91391D09AE0EC986E80E004121AE +:100F1000ADF824108DF830B01070A88CD7F80C8084 +:100F200080B24026A769FFF70EFA41463A4633469B +:100F3000C846CDF80090FEF72CFE002108A8FFF768 +:100F40005DFCE07820F03E00801CE07020780528F1 +:100F500002D00F200CE04AE1A07D20B1012802D090 +:100F6000032802D002E10720BEE584F80080EDE40A +:100F70002070EBE4102104F15C0002F0E8FB606BF0 +:100F8000B0BBA07D18B1012801D00520FDE00620EE +:100F90002870F8486063A063C2E23878022894D1D0 +:100FA000387908B12875B7E3A07D022802D003285C +:100FB00005D022E0B8680028F5D060631CE06078B6 +:100FC000012806D0A07994F82E10012805D0E94810 +:100FD00006E0A17994F82E00F7E7B8680028E2D07F +:100FE0006063E078C00701D0012902D0E14803E046 +:100FF00003E0F8680028D6D0A06306200FE68DF83D +:101000002090696A0D91E1784846C90709D0617856 +:10101000022903D1A17D29B1012903D0A17D032992 +:1010200000D00720287033E138780528BBD120781C +:1010300007281ED084F800A005208DF82000686ADB +:101040000D90B8680A90ADF824A08DF830B0032157 +:101050000170E178CA070FD0A27D022A1AD00021C0 +:101060000091D4E9061204F15C03401CFFF725FA55 +:101070006BE384F80090DFE7D4E90923211D8DE8B4 +:101080000E0004F12C0304F15C02401C616BFFF7BD +:1010900022FB5AE3626BC1F34401491E1268CA4045 +:1010A00002F0010141F08001DAE738780528BDD16E +:1010B0008DF82000686A0D90B8680A90ADF824A0F9 +:1010C0008DF830B0042100F8011B102204F15C01FE +:1010D000FCF72FF9002108A8FFF790FB20780928DA +:1010E00001D0132044E70A2020709AE5E078C10778 +:1010F00042D0A17D012902D0022927D038E06178B1 +:1011000008A8012916D004F16C010091D4E9061257 +:1011100004F15C03001DFFF7BBFA0A2028700326C8 +:101120008DF82080686A0D90002108A8FFF766FB03 +:10113000E1E2C7E204F15C010091D4E9062104F187 +:101140006C03001DFFF7A4FA0026E9E7C0F3440191 +:1011500014290DD24FF0006101EBB0104FEAB060DE +:10116000E0706078012801D01020BDE40620FFE681 +:10117000607801283FF4B6AC0A2050E5E178C90751 +:1011800008D0A17D012903D10B202870042030E074 +:1011900028702EE00E2028706078616B012818D02E +:1011A00004F15C0304F16C020EA8FFF7E1FA20469B +:1011B000FFF748FBA0780EAEC0F1100230440021CA +:1011C000FCF7E1F806208DF82000686A09960D907A +:1011D0009BE004F16C0304F15C020EA8FFF7C8FA6F +:1011E000E8E73978022903D139790029D0D0297567 +:1011F00092E28DF82000686A0D9056E5387807284D +:10120000F6D1D4E909216078012808D004F16C00F6 +:10121000CDE90002029105D104F16C0304E004F170 +:101220005C00F5E704F15C0304F14C007A680646C3 +:10123000216AFFF763F96078012822D1A078216A3A +:10124000C0F110020B1800211846FCF79CF8D4E9F5 +:101250000923606B04F12D018DE80F0004F15C039C +:1012600000E05BE204F16C0231460EA8FFF7C8F91A +:1012700010220EA904F13C00FCF72EF808B10B2057 +:10128000ACE485F8008000BF8DF82090686A0D906E +:101290008DF824A009E538780528A9D18DF820001B +:1012A000686A0D90B8680A90ADF824A08DF830B047 +:1012B00080F80080617801291AD0D4E9092104F16D +:1012C0002D03A66B03910096CDE9013204F16C0366 +:1012D00004F15C0204F14C01401CFFF791F900217C +:1012E00008A8FFF78BFA6078012805D015203FE6A3 +:1012F000D4E90912631DE4E70E20287006208DF85A +:101300002000686ACDF824B00D90A0788DF82800F0 +:10131000CBE438780328C0D1E079C00770D00F2023 +:101320002870072065E7387804286BD11422391D0E +:1013300004F11400FBF7FDFF616A208CA1F809009D +:10134000616AA078C871E179626A01F003011172E3 +:10135000616A627A0A73616AA07A81F824001620B1 +:101360005DE485F800A08DF82090696A50460D91E3 +:1013700092E0000022B201003878052842D1B86816 +:10138000A8616178606A022901D0012100E0002192 +:1013900001EB4101142606EBC1014058082102F07F +:1013A000D6F96178606A022901D0012100E00021AC +:1013B00001EB410106EBC101425802A8E169FFF7C8 +:1013C0000BFA6078626A022801D0012000E0002058 +:1013D00000EB4001102000EBC1000223105802A9CD +:1013E0000932FEF7EEFF626AFD4B0EA80932A169D1 +:1013F000FFF7E1F96178606A022904D0012103E076 +:1014000044E18DE0BFE0002101EB4101182606EB2D +:10141000C101A27840580EA9FBF78BFF6178606A82 +:10142000022901D0012100E0002101EB410106EB7E +:10143000C1014158A0780B18C0F1100200211846D4 +:10144000FBF7A1FF05208DF82000686A0D90A869C0 +:101450000A90ADF824A08DF830B0062101706278B2 +:10146000616A022A01D0012200E0002202EB42025E +:1014700006EBC202401C89581022FBF75AFF0021DC +:1014800008A8FFF7BBF91220C5F818B028708DF82E +:101490002090686A0D900B208DF8240005E43878C0 +:1014A000052870D18DF82000686A0D90B8680A9000 +:1014B0000B20ADF824000A98072101706178626A58 +:1014C000022901D0012100E0002101EB410310219C +:1014D00001EBC30151580988A0F801106178626AD4 +:1014E000022902D0012101E02FE1002101EB41039B +:1014F000142101EBC30151580A6840F8032F4968D1 +:10150000416059E01920287001208DF8300074E600 +:10151000162028708DF830B0002108A8FFF76EF96A +:10152000032617E114202870AEE6387805282AD162 +:101530008DF82000686A0D90B8680A90ADF824A074 +:101540008DF830B080F800906278616A4E46022AC9 +:1015500001D0012200E0002202EB42021C2303EB37 +:10156000C202401C89581022FBF7E3FE002108A8A4 +:10157000FFF744F9152028708DF82060686A0D90F7 +:101580008DF8246039E680E0387805287DD18DF823 +:101590002000686A0D90B8680A90ADF8249009217F +:1015A00001706169097849084170616951F8012F3A +:1015B000C0F802208988C18020781C28A8D1A1E722 +:1015C000E078C00702D04FF0060C01E04FF0070CA6 +:1015D000607802280AD000BF4FF0000000EB040141 +:1015E00001F1090105D04FF0010004E04FF00100C6 +:1015F000F4E74FF000000B78204413EA0C030B7063 +:1016000010F8092F02EA0C02027004D14FF01B0CF3 +:1016100084F800C0D2B394F801C0BCF1010F00D02F +:101620009BB990F800C0E0465FEACC7C04D028F07B +:1016300001060670102606E05FEA887C05D528F0D2 +:101640000206067013262E70032694F801C0BCF122 +:10165000020F00D092B991F800C05FEACC7804D0B4 +:101660002CF001060E70172106E05FEA8C7805D594 +:101670002CF002060E701921217000260078D0BBD4 +:10168000CAB3C3BB1C20207035E012E002E03878FA +:10169000062841D11A2015E4207801283CD00C28D6 +:1016A0003AD02046FFF7EBF809208DF82000686A51 +:1016B0000D9031E03878052805D0062038700326D3 +:1016C0001820287046E005208DF82000696A0D91E9 +:1016D000B9680A910221ADF8241001218DF830106B +:1016E0000A990870287D4870394608A8FFF786F8DF +:1016F000064618202870012E0ED02BE001208DF810 +:101700002000686A0D9003208DF82400287D8DF854 +:10171000250085F814B012E0287D80B11D202070CE +:10172000172028708DF82090686A0D9002208DF89F +:101730002400394608A8FFF761F806460AE00CB114 +:10174000FE2020709DF8200020B1002108A8FFF79E +:1017500055F80CE413B03046BDE8F08F2DE9F043A6 +:1017600087B00C464E6900218DF8041001202578C1 +:10177000034602274FF007094FF0050C85B1012DF4 +:1017800053D0022D39D1FE2030708DF80030606AC0 +:10179000059003208DF80400207E8DF8050063E09D +:1017A0002179012925D002292DD0032928D0042907 +:1017B00023D1B17D022920D131780D1F042D04D30E +:1017C0000A3D032D01D31D2917D12189022914D3E4 +:1017D0008DF80470237020899DF80410884201E080 +:1017E0001AB2010018D208208DF80000606A059036 +:1017F00057E070780128EBD0052007B0BDE8F083F2 +:101800001D203070E4E771780229F5D131780C2978 +:10181000F3D18DF80490DDE7083402F804CB94E8A6 +:101820000B0082E80B000320E7E71578052DE4D1D3 +:101830008DF800C0656A0595956802958DF81010C1 +:1018400094F80480B8F1010F13D0B8F1020F2DD035 +:10185000B8F1030F1CD0B8F1040FCED1ADF804706D +:101860000E202870207E687000216846FEF7C6FFB3 +:101870000CE0ADF804700B202870207E002100F0F1 +:101880001F0068706846FEF7B9FF37700020B4E7A4 +:10189000ADF804708DF8103085F800C0207E6870B7 +:1018A000277011466846FEF7A9FFA6E7ADF8049039 +:1018B0002B70207F6870607F00F00100A870A07F0F +:1018C00000F01F00E870E27F2A71C0071CD094F876 +:1018D000200000F00700687194F8210000F0070074 +:1018E000A87100216846FEF789FF2868F062A88881 +:1018F0003086A87986F83200A0694078707528791A +:10190000B0700D203070C1E7A9716971E9E700B5C9 +:1019100087B004280CD101208DF800008DF8040058 +:10192000002005918DF8050001466846FEF766FF28 +:1019300007B000BD70B50C46054602F0EFF9214630 +:101940002846BDE870407823002202F03DB908B176 +:10195000007870470C20704770B50C0005784FF088 +:1019600000010CD021702146F1F757FC694821781D +:10197000405D884201D1032070BD022070BDF1F7A7 +:101980004CFC002070BD0279012A05D000220A70AB +:101990004B78012B02D003E0042070470A758A615E +:1019A00002799300521C0271C15003207047F0B5B8 +:1019B00087B00F4605460124287905EB800050F8D2 +:1019C000046C7078411E02290AD252493A460839FD +:1019D00001EB8000314650F8043C28469847044605 +:1019E0000CB1012C11D12879401E10F0FF00287194 +:1019F00001D00324E0E70A208DF80000706A05900A +:101A0000002101966846FFF7A7FF032CD4D007B04A +:101A10002046F0BD70B515460A46044629461046D4 +:101A2000FFF7C5FF064674B12078FE280BD1207C55 +:101A300030B100202870294604F10C00FFF7B7FFF1 +:101A40002046FEF71CFF304670BD704770B50E464D +:101A500004467C220021FBF796FC0225012E03D0D0 +:101A6000022E04D0052070BD0120607000E065707A +:101A70002046FEF704FFA575002070BD28B1027C4A +:101A80001AB10A4600F10C01C4E70120704710B5F5 +:101A9000044686B0042002F041F92078FE2806D0E2 +:101AA00000208DF8000069462046FFF7E7FF06B0EA +:101AB00010BD7CB50E4600218DF804104178012937 +:101AC00003D0022903D0002405E0046900E0446942 +:101AD0000CB1217C89B16D4601462846FFF753FFC2 +:101AE000032809D1324629462046FFF793FF9DF887 +:101AF0000410002900D004207CBD04F10C05EBE7A4 +:101B000030B40C460146034A204630BC024B0C3A26 +:101B1000FEF751BE60B201001AB2010070B50D4669 +:101B2000040012D08DB1220100212846FBF72BFCC6 +:101B3000102255492846FBF7FCFB53480121083881 +:101B4000018044804560002070BD012070BD70B5EB +:101B50004D4E00240546083E10E07068AA7B00EB5D +:101B60000410817B914208D1C17BEA7B914204D170 +:101B70000C222946FBF7B0FB30B1641C308884424C +:101B8000EBDB4FF0FF3070BD204670BD70B50D46E9 +:101B9000060006D02DB1FFF7DAFF002803DB401C5A +:101BA00014E0102070BD384C083C20886288411C2D +:101BB000914201D9042070BD6168102201EB001030 +:101BC0003146FBF7B6FB2088401C2080287000209F +:101BD00070BD2D480838008870472B49083908889F +:101BE000012802D0401E08800020704770B51446BE +:101BF0000D0018D0BCB10021A170022802D010281D +:101C000011D105E0288870B10121A170108008E091 +:101C10002846FFF79CFF002805DB401CA070A88920 +:101C20002080002070BD012070BD70B505461446AF +:101C30000E000BD000203070A878012808D005D9FC +:101C40001149A1F108010A8890420AD9012070BD0A +:101C500024B1287820702888000A5070022008706B +:101C60000FE064B14968102201EB001120461039E1 +:101C7000FBF75FFB287820732888000A6073102028 +:101C80003070002070BD0000880000202DE9F04178 +:101C900090460C4607460025C2EB4811FE48072F28 +:101CA00000EB410607D2DFE807F007070707040447 +:101CB0000400012500E0FFDF06F81470002D13D0AA +:101CC000F5487C3000EB880191F827001F2803D0ED +:101CD00006EB4000447001E081F8264006EB440228 +:101CE0001F20507081F82740BDE8F081F0B51F46F5 +:101CF00014460E4605461F2A00D1FFDFE648C7EB13 +:101D0000471100EB410CE4490CEB44007C3101EB42 +:101D100087021F2E07D00CEB460140784B784870A5 +:101D200018461F210AE092F82530407882F82500F5 +:101D3000F6E701460CEB410005704078A142F8D16E +:101D400092F827401F2C03D00CEB4404637001E091 +:101D500082F826300CEB41041F23637082F82710B1 +:101D6000F0BD30B50D46CD4B44190022181A72EB68 +:101D7000020100D2FFDFCA48854200DDFFDFC8480C +:101D80004042854200DAFFDFC448401C844207DA43 +:101D9000002C01DB204630BDC048401C201830BD5F +:101DA000BE48C043FAE710B504460168407ABD4A10 +:101DB00052F82020114450B10220084420F07F4006 +:101DC000F8F759FD94F90810BDE81040C9E7042060 +:101DD000F3E72DE9F047B04E7C3696F82D50DFF84A +:101DE000B89206EB850090F8264036E0C5EB451129 +:101DF00009EB41074FF0070817F81400012806D037 +:101E000004282ED005282ED0062800D0FFDF01F0B0 +:101E100045F9014607EB4400427806EB850080F85F +:101E2000262090F82720A24202D11F2280F82720E6 +:101E3000084601F03EF92A4621460120FFF726FF19 +:101E40009948414600EB041002682046904796F8F6 +:101E50002D5006EB850090F826401F2CC6D1BDE81A +:101E6000F087022000E003208046D0E710B58A4CBE +:101E70001F217C3484F8251084F8261084F827105C +:101E8000002084F8280084F82D0084F82E10411ECC +:101E9000A16044F8100B2074607420736073A07309 +:101EA0008249E07720750870487000217A4A103C1A +:101EB00002F81100491CC9B21F29F9D30120F8F713 +:101EC000CAFB0020F8F7C7FB012084F82200F9F7CD +:101ED00037F87748F9F749F8744CA41E2070754814 +:101EE000F9F743F86070BDE81040F8F741BB10B552 +:101EF000F8F763FB6D4CA41E2078F9F74FF8607873 +:101F0000F9F74CF8BDE8104001F000B91F20704708 +:101F10000020F8F779BB70B5054601240E46AC40A9 +:101F20005AB1FFF7F5FF0146634800EBC500C0F862 +:101F30001015C0F81465614801E06048001D046098 +:101F400070BD2DE9F34F544D00247C3505EB810A1B +:101F500089B09AF825001F2823D0611E02915249AA +:101F6000009401EB0017391D03AB07C983E8070094 +:101F700005F11400A0460189ADF81C10807A8DF897 +:101F80001E009DF81500C8B10226464951F82040B0 +:101F90000399A219114421F07F41019184B10221DA +:101FA0000FE00120F8F757FB0020F8F754FBF8F793 +:101FB00022FB01F0ABF885F82F40A9E00426E4E706 +:101FC00000218DF81810022801D0012820D1039893 +:101FD00001190998081A801C9DF81C1020F07F40F8 +:101FE00001B10221353181420BD203208DF8150059 +:101FF0000398C4F13201401A20F07F40322403904C +:102000000CE095F8240018B901F063FA002863D0B9 +:10201000322C03D214B101F06DF801E001F076F832 +:10202000224A107818B393465278039B121B002162 +:102030009DF81840994601281AD0032818D000208E +:102040008DF81E00002A04DD981A039001208DF8F7 +:1020500018009DF81C0000B102210398184A20F0D6 +:102060007F40039003AB099801F05CF810B110E0D9 +:102070000120E5E79DF81D0018B99BF80000032832 +:1020800029D08DF81C80CDF80C908DF818408DF873 +:102090001E809DF8180015E0DC080020FF7F841EDC +:1020A0000020A10770B20100EC0600209A00002079 +:1020B000773A0100D31D010000F0014004F5014012 +:1020C000FFFF3F0058B103980123811900221846F1 +:1020D000F8F714FB06E000200BB0BDE8F08F0120FC +:1020E000F8F7B9FA97F90C20012300200199F8F7C5 +:1020F00005FBF87BC00701D0F8F7E9FB012085F864 +:102100002F008AF8288020226946FE48FBF711F943 +:102110000120E1E72DE9F05FDFF8E883064608EBF0 +:10212000860090F825501F2D21D0A8F17C01C6EB28 +:1021300046102C4601EB4007A1F5F879DFF8C8B34B +:1021400005E0A24607EB4A0044781F2C0AD0F8F7B6 +:1021500020FB09EB04135A4601211B1D00F0E2FF8E +:102160000028EED0AC4202D0334652461EE0E7488B +:1021700008B1AFF30080F8F70CFB98F82F206AB194 +:10218000D8F80C20411C891A0902CA1701EB126108 +:102190000912002902DD0020BDE8F09F3146FFF75B +:1021A000D0FE08B10120F7E733462A461F2104205C +:1021B000FFF79CFDEFE72DE9F041D24C2569F8F7D8 +:1021C000E8FA401B0002C11700EB1160001200D4B6 +:1021D000FFDF94F8220000B1FFDF012784F82270AE +:1021E00094F82E001F2800D1FFDF94F82E601F20E6 +:1021F00084F82E00002584F82F5084F8205084F8AD +:102200002150C34825600078022835D0032833D0F8 +:1022100000202077A068401C05D04FF0FF30A06060 +:102220000120F8F718FA0020F8F715FAF8F711FB73 +:10223000F8F709FBF8F7DFF908F0C6F8B5480560CC +:1022400005604FF0E0214FF40040B846C1F880022D +:10225000F0F7B5FE94F82D703846FFF75BFF0028C5 +:10226000FAD0A849C7EB47107C3901EB400010F8C1 +:102270001600022802D006E00120CAE73A4631469D +:102280000620FFF703FD84F8238004EB870090F815 +:1022900026001F2804D09E48801E4078F8F784FE50 +:1022A000207F002803D0F8F7C4FA257765771BE56F +:1022B000944910B591F82D20924B0024C2EB4211A5 +:1022C0007C3B03EB410100BF11F814302BB1641CBF +:1022D000E4B21F2CF8D31F2010BD8F4901EB04116D +:1022E00008600020C87321460120FFF7CFFC20467C +:1022F00010BD10B5012801D0032800D181B3814A57 +:1023000092F82D307F4C0022C3EB43137C3C04EB4E +:10231000430300BF13F812400CB1082010BD521C3B +:10232000D2B21F2AF6D37A4A48B1022807D0072929 +:1023300017D2DFE801F01606080A0C0E1000002183 +:102340000AE01B2108E03A2106E0582104E0772149 +:1023500002E0962100E0B52151701070002010BD00 +:10236000FFE70720FBE76A4810B54078F8F783FAE3 +:1023700080B2F4E710B51F2815D2624991F82D20DC +:10238000C2EB4213A1F17C0202EB430414F81030BB +:102390004BB191F82D30C3EB431302EB430212F81B +:1023A0001020012A01D00020D9E791F82D20014604 +:1023B0000020FFF76BFC0120D1E710B5F8F7E9F931 +:1023C000BDE81040F8F757BA2DE9F0410E464D4FE1 +:1023D00001781F257C3FC3EB43130C4607EB4303F7 +:1023E00003E0254603EB45046478944202D01F2C99 +:1023F000F7D108E01F2C06D0A14206D103EB410122 +:102400004978017007E000206EE403EB440003EB21 +:10241000450140784870414F7EB127B1002140F21C +:102420002D40AFF300803078A04206D127B10021C3 +:102430004FF48660AFF30080357027B1002140F281 +:102440003540AFF3008001204EE410B542680B68C0 +:102450009A1A1202D41702EB1462121216D4497A95 +:1024600091B1427A82B92E4A006852F8211012685E +:1024700019441044001D891C081A0002C11700EB02 +:1024800011600012322801DB012068E7002066E7B6 +:102490002DE9F0478146204EC1EB411006F5F87159 +:1024A0009846144601EB400713E000BF06EB041505 +:1024B000291D4846FFF7C9FF68B988F80040A97B85 +:1024C00099F80A00814201D80020C8E407EB4400D3 +:1024D00044781F2CEAD10120C1E42DE9F04782465F +:1024E00008480E4600EB8600DFF82C8090F8254067 +:1024F0001F201070C1EB46109946154608F5F8717B +:1025000010E0000058090020FFFF3F00000000001D +:102510009A00002000F50040EC06002000000000BA +:1025200070B2010001EB40070BE000BF08EB0410A4 +:102530005146001DFFF789FF28B107EB44002C70BE +:1025400044781F2CF2D1297889F800104B46224696 +:1025500031465046BDE8F0479AE72DE9FC410E466A +:1025600007460024FE4D08E09DF8000005EB001032 +:102570008168384600F0EAFD01246B4601AA314625 +:102580003846FFF7AAFF0028EED02046BDE8FC81C0 +:1025900070B50446C0EB44110125F248A54300EB99 +:1025A0004101C5EB451200EB42003E22FAF7C1FEA5 +:1025B000ED4E26B100214FF49360AFF30080E9485F +:1025C0007C3000EB850100EB8400D0F82500C1F8D9 +:1025D000250026B1002140F29C40AFF30080284640 +:1025E00070BD8A4203D003460520FFF77FBB1F2939 +:1025F00008D0DC4AC0EB401002EB400000EB410089 +:1026000040787047D7497C3101EB800090F8250075 +:102610007047D34901EB0010001DFFF7C4BB7CB528 +:102620001D46134604460E4600F108022146184690 +:10263000F8F72EF994F908000F2804DD1F382072EE +:102640002068401C206096B10220C84951F826102D +:10265000461820686946801B20F07F40206094F96E +:1026600008002844C01C1F2803DA012009E00420C8 +:10267000EBE701AAF8F70CF99DF8040010B10098F7 +:10268000401C00900099206831440844C01C20F090 +:102690007F4060607CBDFEB50C46064609786079D7 +:1026A000907220791F461546507279B12179002227 +:1026B0002846A368FFF7B3FFAA4928467C3191F862 +:1026C0002E201F2A0AD00969491D0DE0D4E90223F2 +:1026D000217903B02846BDE8F040A0E7A449497835 +:1026E000052900D20521314421F07F4100F02EFD63 +:1026F00039462846FFF731FFD4E90232217968468E +:10270000FFF78DFF2B4600213046019A00F00AFDAD +:10271000002806D103B031462846BDE8F04000F05D +:1027200015BDFEBD2DE9FE4F814600F0CBFC38B152 +:102730005FF0000799F8000020B10020BDE8FE8F8F +:102740000127F7E7874D884C4FF0000A7C3524B10C +:10275000002140F2FF40AFF3008095F82D8085F80E +:1027600023A0002624B1002140F20450AFF30080E2 +:102770001FB94046FFF70CFF804624B1002140F20C +:102780000C50AFF30080F8F704F843466A46494618 +:10279000FFF781FF24B1002140F21250AFF3008017 +:1027A00095F82E001F280CD029690098401A0002C5 +:1027B000C21700EB1260001203D5684600F0C6FC99 +:1027C000012624B1002140F21C50AFF3008095F89F +:1027D00023000028BBD124B1002140F22250AFF3E6 +:1027E0000080F7F7D6FF6B46624A002100F09AFCA2 +:1027F0000028A3D027B941466846FFF7AEFE06433E +:1028000026B16846FFF7CFFAC9F8080024B10021C5 +:1028100040F23550AFF3008001208FE72DE9F04FF3 +:1028200089B08B46824600F04DFC4E4C7C3428B378 +:102830009BF80000002710B1012800D0FFDF4A4DAF +:1028400025B1002140F2F750AFF300804449012048 +:1028500001EB0A18A94607905FEA090604D0002197 +:1028600040F2FF50AFF30080079800F022FC94F88C +:102870002D50002084F8230067B119E094F82E0051 +:1028800001271F2800D1FFDF9BF800000028D6D0C9 +:10289000FFDFD4E72846FFF77BFE054626B100217F +:1028A00040F20960AFF3008094F823000028D3D1F0 +:1028B00026B1002140F21360AFF30080F7F769FF03 +:1028C0002B4602AA59460790FFF7E5FE98F80F003D +:1028D0005FEA060900F001008DF8130004D0002122 +:1028E00040F21D60AFF300803B462A4602A9CDF8B6 +:1028F00000A0079800F035FC064604EB850090F830 +:1029000028000090B9F1000F04D0002140F22460AB +:10291000AFF3008000F0C2FB0790B9F1000F04D0C4 +:10292000002140F22A60AFF3008094F823000028D1 +:1029300092D1B9F1000F04D0002140F23260AFF320 +:1029400000800DF1080C9CE80E00C8E90112C8F8DF +:102950000C30BEB35FEA090612D000210CE0000083 +:10296000EC060020DC0800200000000070B201002E +:102970009A000020FFFF3F0040F23F60AFF300806D +:102980000098B84312D094F82E001F280ED126B11B +:10299000002140F24460AFF300802846FFF7BAFB05 +:1029A00020B99BF80000D8B3012849D0B9F1000F35 +:1029B00004D0002140F26160AFF30080284600F0AF +:1029C00066FB01265FEA090504D0002140F26A6037 +:1029D000AFF30080079800F06CFB25B1002140F2B6 +:1029E0006E60AFF300808EB194F82D0004EB800090 +:1029F00090F826001F2809D025B1002140F275600B +:102A0000AFF30080F9484078F8F7CEFA25B10021FD +:102A100040F27A60AFF3008009B03046BDE8F08F35 +:102A2000FFE7B9F1000F04D0002140F24C60AFF392 +:102A3000008094F82D2051460420FFF727F9C0E7C5 +:102A4000002E3FF409AF002140F25760AFF3008041 +:102A500002E72DE9F84FE64D814695F82D004FF03D +:102A60000008E44C4FF0010B474624B100214FF41D +:102A7000D160AFF30080584600F01BFB85F823704F +:102A800024B1002140F28D60AFF3008095F82D0055 +:102A9000FFF77EFD064695F8230028B1002CE4D010 +:102AA000002140F293604DE024B1002140F2976094 +:102AB000AFF30080CE49C6EB46107C3901EB4001F4 +:102AC00011F81900032856D1334605EB830A4A460C +:102AD0009AF82500904201D1012000E000200090EA +:102AE0000AF125000021FFF76FFC01460098014222 +:102AF00003D001228AF82820AF77E1B324B1002166 +:102B000040F29C60AFF30080324649460120FFF757 +:102B1000BDF89AF828A024B1002140F2A760AFF3D5 +:102B2000008000F0BBFA834624B1002140F2AC6083 +:102B3000AFF3008095F8230038B1002C95D0002128 +:102B40004FF4D660AFF300808FE7BAF1000F07D0E3 +:102B500095F82E001F2803D13046FFF7DBFAE0B1CD +:102B600024B1002140F2C460AFF30080304600F091 +:102B70008EFA4FF0010824B1002140F2CD60AFF38E +:102B80000080584600F095FA24B1002140F2D1604F +:102B9000AFF300804046BDE8F88F002CF1D0002153 +:102BA00040F2BF60AFF30080E6E70120F7F72CBDED +:102BB0008E48007870472DE9F0418D4C94F82E0036 +:102BC0001F2821D194F82D6004EB860797F8255033 +:102BD0001F2D00D1FFDF8649C6EB46107C3901EB83 +:102BE000400000EB4500407807F8250F0120F87001 +:102BF00084F82300294684F82E50324602202234DD +:102C0000FFF744F8002020701EE42DE9F0417A4ED1 +:102C1000774C012538B1012821D0022879D003282A +:102C20007DD0FFDF10E400F065FAFFF7C4FF207EDF +:102C300000B1FFDF84F821500020F7F70CFDA168F8 +:102C4000481C04D0012300221846F7F757FD14F85A +:102C50002E0F217806EB01110A68012154E0FFF7DD +:102C6000AAFF0120F7F7F7FC94F8210050B1A06803 +:102C7000401C07D014F82E0F217806EB01110A68CA +:102C8000062141E0207EDFF86481002708F1020878 +:102C9000012803D002281ED0FFDFB5E7A777F7F79A +:102CA000C8FD98F80000032801D165772577607D7D +:102CB000524951F8200094F8201051B948B1616888 +:102CC0000123091A00221846F7F718FD0220207682 +:102CD0009AE7277698E784F8205000F00BFAA07F57 +:102CE00050B198F8010061680123091A00221846C2 +:102CF000F7F704FD257600E0277614F82E0F2178EB +:102D000006EB01110A680021BDE8F041104700E020 +:102D100005E036480078BDE8F041F8F745B9FFF71F +:102D20004AFF14F82E0F217806EB01110A680521DD +:102D3000EAE710B52E4C94F82E001F2800D1FFDFD3 +:102D400014F82E0F21782C4A02EB01110A68BDE815 +:102D50001040042110477CB5254C054694F82E0000 +:102D60001F2800D1FFDFA068401C00D0FFDF94F8CF +:102D70002E00214901AA01EB0010694690F90C00D0 +:102D80002844F7F785FD9DF904000F2801DD012097 +:102D900000E00020009908446168084420F07F4169 +:102DA000A16094F82100002807D002B00123BDE8FB +:102DB000704000221846F7F7A1BC7CBD30B5104A20 +:102DC0000B1A541CB3EB940F1ED3451AB5EB940F9A +:102DD0001AD3934203D9101A43185B1C14E095428E +:102DE00010D9511A0844401C43420DE098000020BD +:102DF0005809002000000000EC06002070B201001D +:102E0000FF7F841EFFDF0023184630BD0123002210 +:102E100001460220F7F772BC0220F7F71CBCF7F757 +:102E2000B8BC2DE9FE4FF24C05468A4694F82E00B8 +:102E30001F2800D1FFDFEE4E94F82E10A04620464A +:102E4000A6F51B7202EB01141F218DF8001090F8FB +:102E50002D10376900EB8101D8F8000091F825901A +:102E6000284402AA01A90C36F7F712FD9DF90800C3 +:102E7000002802DD0198401C0190A0680199642D92 +:102E8000084453D3DB4B00225B1B72EB02014DD392 +:102E90006168411A21F07F41B1F5800F46D220F0E0 +:102EA0007F40706086F80AA098F82D1044466B4663 +:102EB0004A463046FFF7ECFAB8B3A068401C10D081 +:102EC000F7F767FCA168081A0002C11700EB116050 +:102ED000001202282CDD0120F7F7BDFB4FF0FF3078 +:102EE000A06094F82D009DF800201F210F34FFF7FB +:102EF00078FBA17FBE4AC1EB41117C3A02EB410154 +:102F0000E27F01EB4201487054F80F0C284444F86A +:102F10000F0C012020759DF800001F2803D0B64833 +:102F20004078F8F741F8012008E401E0002005E4CA +:102F30007760FBE72DE9F047AD4C074694F82D008C +:102F4000A4F17C06C0EB401006EB400010F817001F +:102F500000B9FFDF94F82D50A046A84C24B1002101 +:102F600040F6E800AFF30080C5EB451040F6F409E9 +:102F700040F6FD0A06EB400616F81700012819D0A6 +:102F8000042811D005280FD006280DD01CB100212F +:102F90004846AFF3008007F0EBFE002CECD0002198 +:102FA0005046AFF30080E7E72A4639460120FEF796 +:102FB0006DFEF2E74FF0010A4FF00009454624B1DB +:102FC000002140F60410AFF30080504600F071F885 +:102FD00085F8239024B1002140F60910AFF300805A +:102FE00095F82D00FFF7D4FA064695F8230028B18E +:102FF000002CE4D0002140F60F101FE024B1002186 +:1030000040F61310AFF3008005EB860000F12701B6 +:1030100033463A462630FFF7D7F924B1002140F66F +:103020001710AFF3008000F039F8824695F82300BE +:1030300038B1002CC3D0002140F61D10AFF3008042 +:10304000BDE785F82D60012085F82300504600F08B +:1030500030F8002C04D0002140F62A10AFF3008095 +:10306000BDE8F08730B5044661480D4690F82D0064 +:103070005F49C0EB40107C3901EB400010F81400B0 +:1030800000B9FFDF5E4800EB0410C57330BD58493E +:1030900081F82D00012081F82300704710B55948B0 +:1030A00008B1AFF30080EFF3108000F0010072B6BA +:1030B00010BD10B5002804D1534808B1AFF300800B +:1030C00062B610BD51480068C005C00D10D0103860 +:1030D00040B2002804DB00F1E02090F8000405E095 +:1030E00000F00F0000F1E02090F8140D4009704747 +:1030F0000820704710B53E4C94F82400002804D1F5 +:10310000F7F746FC012084F8240010BD10B5384CB8 +:1031100094F82400002804D0F7F763FC002084F81A +:10312000240010BD10B51C685B68241A181A24F01E +:103130007F4420F07F40A14206D8B4F5800F03D22F +:10314000904201D8012010BD002010BDD0E900320E +:10315000D21A21F07F43114421F07F41C0E90031B0 +:1031600070472DE9FC418446214815460F46C2EBC5 +:1031700045117C38089C00EB410616F81400012824 +:1031800004D0022802D00020BDE8FC813B46204A42 +:1031900001216046FFF7C6FFF0B101AB6A46294640 +:1031A0003846FFF79AF9B8B19DF804209DF8001051 +:1031B0002846FFF716FA06EB440148709DF8000018 +:1031C0001F280DD006EB400044702A4621460320FC +:1031D000FEF75CFD0120D7E72A4621460420F7E7E9 +:1031E0000348012100EB850000F8254FC170ECE792 +:1031F00058090020FF1FA1079800002000000000D0 +:10320000EC060020000000000000000004ED00E0DB +:10321000FFFF3F002DE9F041044680074FF0000515 +:103220004FF001060CD56B480560066000F0DEF932 +:1032300020B16948016841F48061016024F0020412 +:10324000E0044FF0FF3705D564484660C0F80873C6 +:1032500024F48054600003D56148056024F0804464 +:10326000E0050FD55F48C0F80052C0F808735E490A +:103270000D60091D0D605C4A04210C32116006616D +:1032800024F48074A00409D558484660C0F8005260 +:10329000C0F808735648056024F40054C4F3803025 +:1032A000C4F3C031884200D0FFDF14F4404F14D083 +:1032B00050484660C0F808734F488660C0F8005216 +:1032C000C0F808734D490D600A1D16608660C0F88D +:1032D00008730D60166024F4404420050AD5484860 +:1032E00046608660C0F80873C0F8487345480560BA +:1032F00024F4006407F042F84348044200D0FFDFA2 +:10330000BDE8F081F0B50022202501234FEA020438 +:1033100020FA02F1C9072DD051B2002910DB00BFFD +:103320004FEA51174FEA870701F01F0607F1E02720 +:1033300003FA06F6C7F88061BFF34F8FBFF36F8FB4 +:103340000CDB00BF4FEA51174FEA870701F01F0659 +:1033500007F1E02703FA06F6C7F8806204DB01F103 +:10336000E02181F8004405E001F00F0101F1E021C6 +:1033700081F8144D02F10102AA42C9D3F0BD10B583 +:10338000224C20600846F7F71CFC2068FFF742FF3C +:103390002068FFF7B7FF06F031FC00F088F906F06F +:1033A000EDFF06F02CFFF7F7CBFDBDE8104006F06F +:1033B000D9BC10B5154C2068FFF72CFF2068FFF72B +:1033C000A1FF06F0DBFFF7F7FBFC0020206010BD3B +:1033D0000A207047FC1F00403C17004000C000401E +:1033E00004E50140008000400485004000D000401A +:1033F00004D5004000E0004000F0004000F500402F +:1034000000B0004008B50040FEFF0FFD9C0000200A +:1034100070B526490A680AB30022154601244B6894 +:103420005B1C4B600C2B00D34D600E7904FA06F345 +:103430000E681E420FD0EFF3108212F0010272B636 +:1034400000D001220C689C430C6002B962B6496846 +:103450000160002070BD521C0C2AE0D3052070BD15 +:103460004FF0E0214FF48000C1F800027047EFF305 +:10347000108111F0010F72B64FF0010202FA00F252 +:103480000A48036842EA0302026000D162B6E7E735 +:1034900006480021016041607047012181400348D6 +:1034A0000068084000D0012070470000A000002004 +:1034B00001208107086070470121880741600021D1 +:1034C000C0F80011184801707047174901200870B2 +:1034D00070474FF08040D0F80001012803D0124817 +:1034E0000078002800D00120704710480068C0070D +:1034F00000D0012070470D480C300068C00700D094 +:10350000012070470948143000687047074910319E +:103510000A68D20306D5096801F00301814201D18E +:103520000120704700207047A800002008040040D8 +:103530004FF08050D0F830010A2801D000207047A9 +:103540000120704700B5FFF7F3FF20B14FF0805026 +:10355000D0F8340108B1002000BD012000BD4FF0BB +:103560008050D0F83001062803D0401C01D0002044 +:103570007047012070474FF08050D0F830010D287F +:1035800001D000207047012070474FF08050D0F8E4 +:103590003001082801D000207047012070474FF00B +:1035A0008050D0F83001102801D000207047012051 +:1035B000704700B5FFF7F3FF30B9FFF7DCFF18B92C +:1035C000FFF7E3FF002800D0012000BD00B5FFF7A2 +:1035D000C6FF38B14FF08050D0F83401062803D32D +:1035E000401C01D0002000BD012000BD00B5FFF748 +:1035F000B6FF48B14FF08050D0F83401062803D30D +:10360000401C01D0012000BD002000BD0021017040 +:10361000084670470146002008707047EFF310819C +:1036200001F0010172B60278012A01D0012200E006 +:1036300000220123037001B962B60AB1002070476D +:103640004FF400507047E9E7EFF3108111F0010FDC +:1036500072B64FF00002027000D162B600207047CF +:10366000F2E700002DE9F04115460E46044600271A +:1036700000F0EBF8A84215D3002341200FE000BF73 +:1036800094F84220A25CF25494F84210491CB1FB19 +:10369000F0F200FB12115B1C84F84210DBB2AB426B +:1036A000EED3012700F0DDF83846BDE8F08172491D +:1036B00010B5802081F800047049002081F8420094 +:1036C00081F84100433181F8420081F841004331E3 +:1036D00081F8420081F841006948FFF797FF684888 +:1036E000401CFFF793FFF7F7B3FBBDE8104000F075 +:1036F000B8B840207047614800F0A7B80A460146B4 +:103700005E48AFE7402070475C48433000F09DB80A +:103710000A46014659484330A4E740210170002081 +:10372000704710B504465548863000F08EF820707A +:10373000002010BD0A460146504810B58630FFF7FC +:1037400091FF08B1002010BD42F2070010BD70B516 +:103750000C460646412900D9FFDF4A480068103868 +:1037600040B200F054F8C5B20D2000F050F8C0B2DD +:10377000854201D3012504E0002502E00DB1F7F7F1 +:10378000AAFB224631463D48FFF76CFF0028F5D0E2 +:1037900070BD2DE9F0413A4F0025064617F10407A8 +:1037A00057F82540204600F041F810B36D1CEDB2EB +:1037B000032DF5D33148433000F038F8002825D0E8 +:1037C0002E4800F033F8002820D02C48863000F036 +:1037D0002DF800281AD0F7F754FB2948FFF71EFFF1 +:1037E000B0F5005F00D0FFDFBDE8F0412448FFF7EF +:1037F0002BBF94F841004121265414F8410F401C7E +:10380000B0FBF1F201FB12002070D3E74DE7002876 +:1038100004DB00F1E02090F8000405E000F00F0068 +:1038200000F1E02090F8140D4009704710F8411F96 +:103830004122491CB1FBF2F302FB13114078814293 +:1038400001D1012070470020704710F8411F4078D7 +:10385000814201D3081A02E0C0F141000844C0B21D +:10386000704710B50648FFF7D9FE002803D1BDE820 +:103870001040F7F7F1BA10BD0DE000E08809002014 +:10388000AC00002004ED00E070B5154D2878401C18 +:10389000C4B26878844202D000F0DBFA2C7070BDAC +:1038A0002DE9F0410E4C4FF0E02600BF00F0C6FAC3 +:1038B00007F05EFA40BF20BF677820786070D6F8C6 +:1038C0000052EDF759FD854305D1D6F8040210B931 +:1038D0002078B842EAD000F0ACFA0020BDE8F081D0 +:1038E000BC0000202DE9F04101264FF0E022310319 +:1038F0004FF000084046C2F88011BFF34F8FBFF36E +:103900006F8F204CC4F800010C2000F02EF81E4DE3 +:103910002868C04340F30017286840F01000286072 +:10392000C4F8046326607F1C02E000BF07F020FAA1 +:10393000D4F800010028F9D01FB9286820F0100041 +:103940002860124805686660C4F80863C4F80081FE +:103950000C2000F00AF82846BDE8F08110B50446B6 +:10396000FFF7C0FF2060002010BD002809DB00F039 +:103970001F02012191404009800000F1E020C0F8C1 +:103980008012704700C0004010ED00E008C5004004 +:103990002DE9F047FF4C0646FF21A06800EB061218 +:1039A00011702178FF2910D04FF0080909EB01119F +:1039B00009EB06174158C05900F0F4F9002807DD5B +:1039C000A168207801EB061108702670BDE8F08729 +:1039D00094F8008045460DE0A06809EB05114158B8 +:1039E000C05900F0DFF9002806DCA068A84600EB0B +:1039F00008100578FF2DEFD1A06800EB061100EB51 +:103A000008100D700670E1E7F0B5E24B04460020A7 +:103A100001259A680C269B780CE000BF05EB001787 +:103A2000D75DA74204D106EB0017D7598F4204D0C7 +:103A3000401CC0B28342F1D8FF20F0BD70B5FFF743 +:103A4000EEF9D44C08252278A16805EB02128958BA +:103A500000F0A8F9012808DD2178A06805EB011124 +:103A60004058BDE87040FFF7D1B9FFF7A1F8BDE8B5 +:103A70007040F7F799BA2DE9F041C64C2578FFF769 +:103A8000CEF9FF2D6ED04FF00808A26808EB05169E +:103A9000915900F087F90228A06801DD80595DE0A6 +:103AA00000EB051109782170022101EB0511425C40 +:103AB0005AB1521E4254815901F5800121F07F41D3 +:103AC00081512846FFF764FF34E00423012203EB11 +:103AD000051302EB051250F803C0875CBCF1000F20 +:103AE00010D0BCF5007F10D9CCF3080250F806C006 +:103AF0000CEB423C2CF07F4C40F806C0C3589A1A9D +:103B0000520A09E0FF2181540AE0825902EB4C324B +:103B100022F07F428251002242542846FFF738FFAC +:103B20000C21A06801EB05114158E06850F82720EE +:103B3000384690472078FF2814D0FFF770F9227894 +:103B4000A16808EB02124546895800F02BF90128BC +:103B500093DD2178A06805EB01114058BDE8F041E4 +:103B6000FFF754B9BDE8F081F0B51D4614460E4686 +:103B70000746FF2B00D3FFDFA00700D0FFDF8548FB +:103B8000FF210022C0E90247C57006710170427032 +:103B900082701046012204E002EB0013401CE15445 +:103BA000C0B2A842F8D3F0BD70B57A4C064665782D +:103BB0002079854200D3FFDFE06840F82560607817 +:103BC000401C6070284670BD2DE9FF5F1D468B4686 +:103BD0000746FF24FFF723F9DFF8B891064699F866 +:103BE0000100B84200D8FFDF00214FF001084FF07C +:103BF0000C0A99F80220D9F808000EE008EB01132E +:103C0000C35CFF2B0ED0BB4205D10AEB011350F869 +:103C100003C0DC450CD0491CC9B28A42EED8FF2C47 +:103C200002D00DE00C46F6E799F803108A4203D162 +:103C3000FF2004B0BDE8F09F1446521C89F8022012 +:103C400008EB04110AEB0412475440F802B00421B7 +:103C5000029B0022012B01EB04110CD040F8012043 +:103C60004FF4007808234FF0020C454513D9E905BD +:103C7000C90D02D002E04550F2E7414606EB413261 +:103C800003EB041322F07F42C250691A0CEB0412BA +:103C9000490A81540BE005B9012506EB453103EBD8 +:103CA000041321F07F41C1500CEB0411425499F8E8 +:103CB00000502046FFF76CFE99F80000A84201D0A2 +:103CC000FFF7BCFE3846B4E770B50C460546FFF773 +:103CD000A6F8064621462846FFF796FE0446FF282A +:103CE0001AD02C4D082101EB0411A8684158304628 +:103CF00000F058F800F58050C11700EBD140401398 +:103D00000221AA6801EB0411515C09B100EB4120CA +:103D1000002800DC012070BD002070BD2DE9F047B7 +:103D200088468146FFF770FE0746FF281BD0194DD5 +:103D30002E78A8683146344605E0BC4206D02646B7 +:103D400000EB06121478FF2CF7D10CE0FF2C0AD000 +:103D5000A6420CD100EB011000782870FF2804D097 +:103D6000FFF76CFE03E0002030E6FFF755F8414610 +:103D70004846FFF7A9FF0123A968024603EB041395 +:103D8000FF20C854A878401EB84200D1A87001EBAB +:103D9000041001E0540A002001EB061100780870BD +:103DA000104613E6081A0002C11700EB116000125A +:103DB0007047000010B5202000F07FF8202000F0B0 +:103DC0008DF84D49202081F80004EDF7D3FA4B49D6 +:103DD00008604B48D0F8041341F00101C0F8041307 +:103DE000D0F8041341F08071C0F804134249012057 +:103DF0001C39C1F8000110BD10B5202000F05DF89D +:103E00003E480021C8380160001D01603D4A481E3F +:103E100010603B4AC2F80803384B1960C2F8000131 +:103E2000C2F8600138490860BDE81040202000F069 +:103E300055B834493548091F08607047314933483F +:103E4000086070472D48C8380160001D521E02608E +:103E500070472C4901200860BFF34F8F70472DE950 +:103E6000F0412849D0F8188028480860244CD4F83C +:103E700000010025244E6F1E28B14046EDF7D4F90D +:103E800040B9002111E0D4F8600198B14046EDF747 +:103E9000CBF948B1C4F80051C4F860513760BDE8AF +:103EA000F041202000F01AB831684046BDE8F041EA +:103EB00006F068BFFFDFBDE8F08100280DDB00F0F1 +:103EC0001F02012191404009800000F1E020C0F86C +:103ED0008011BFF34F8FBFF36F8F7047002809DB4E +:103EE00000F01F02012191404009800000F1E02014 +:103EF000C0F880127047000020E000E0C8060240D1 +:103F000000000240180502400004024001000001C8 +:103F1000454800210170417010218170704770B5D3 +:103F2000054616460C460220F3F7F2FB3E490120F7 +:103F3000F61E08703D4806603C4808380560001FC2 +:103F4000046070BD10B50220F3F7E2FB3649012092 +:103F5000087000F051F836494FF40000086010BDB9 +:103F600010B5314C207888B131494FF40000091D5B +:103F7000086000F04AF8002120B1012060702D484F +:103F8000006801E061701020A0702170BDE8104051 +:103F90000020F3F7BDBB244810B5017859B126487D +:103FA000D0F8000128B100F030F8002800D001203E +:103FB00010BD022010BD407810BD10B5C824641E8D +:103FC000E4B2FFF7E8FF022803D0012800D0002068 +:103FD00010BD002CF3D1FFDFF9E7134810B50178CD +:103FE00041B100F012F818B112480068C0B210BD1B +:103FF000102010BD807810BD0F480021C0F80011BE +:10400000C0F80411C0F8081170470B48D0F800112F +:1040100029B1D0F8041111B1D0F8080108B100207D +:104020007047012070470000BE00002010F50040DE +:1040300004F5014000F4004000F000404748002132 +:1040400001704170704770B5064614460D46012058 +:10405000F3F75EFB42480660001D0460001D05602A +:1040600070BD70B53D4901250D7040EA02413C4AE2 +:1040700041F08071121F11603A4C0026C4F80461AF +:10408000394A4FF04071116058B1012800D0FFDF6C +:10409000C4F80062256034494FF00070091F0860C1 +:1040A00070BDC4F80052256070BD2C48017871B114 +:1040B0002D4A4FF0407111602A49D1F804210021A6 +:1040C0001AB12A4A1268427000E041700170002063 +:1040D000F3F71EBB2148017841B12248D0F8040112 +:1040E000002802D021480068C0B27047407870476D +:1040F0002DE9F04700282AD01848007800B9FFDFE2 +:10410000184DD5F80401002821D10227C5F8047301 +:10411000174C2068C04340F30016206840F01000A0 +:1041200020604FF400484FF0E029761C04E000BF07 +:10413000C9F8808206F01CFED5F804010028F7D0EB +:104140001EB9206820F010002060C5F80873BDE893 +:10415000F08704490120886070470000C1000020FA +:1041600008F5004000F0004008F5014000F4004070 +:1041700010ED00E010B541F6A474012802D0022829 +:1041800002D0FFDF204610BD41F2883010BD38B5A7 +:10419000FE4D0024C5F80041C5F80C41C5F810419A +:1041A000C5F80441C5F81441C5F81841FFF70EFAE7 +:1041B00008B1C5F82841F6480068009038BD70B5D0 +:1041C000F44D00246C702C7000F0D2FD85F8254071 +:1041D000EC620922002105F11800AC63F9F7D3F86D +:1041E000ED49601E0860091D0860091D0C60091D6D +:1041F0000860091D0C60091D0860091D0860091D83 +:104200000860091D0860091D0860091D0860091D76 +:104210000860091D0860091D086070BDDF4800B511 +:10422000016801F00F01032905D0006800F00F00BC +:10423000042802D0FFDF012000BD022000BD00B530 +:10424000012802D0022800D0FFDF002000BD00B509 +:10425000012802D0022802D0FFDF282000BD18204C +:1042600000BD10B5CB4902681839CA4C0A634268D0 +:104270004A63007A81F83800207E50B1207FF9F738 +:10428000C0F8A07E08B1012100E00021207FF9F7ED +:10429000ADF8607E00280CD0607FF9F7B2F8E07EC0 +:1042A00008B1012100E00021607FBDE81040F9F76E +:1042B0009DB810BD00F063BD10B500F060FDB348BF +:1042C000D0F80001002800D0FFDF10BD70B501203C +:1042D00000F030FDB2480025056001260660FFF7BA +:1042E00085F9B04C18B1206840F480602060FFF779 +:1042F00036F928B12068AC4920F0770008432060E7 +:10430000FFF764F938B1A748001D016821F47F4127 +:1043100041F4B0510160A349A4483C310860FFF763 +:1043200055F99C4C60B19D490220503184F8210020 +:104330000860A0499E48086095481030091F086031 +:104340004FF01020806C411C05D094497C310A68E4 +:1043500060F317420A60914940F25B6028310860BF +:10436000091F40F203100860081F06608B490320F4 +:1043700008608C48EC38066094F8211011B14FF4B5 +:10438000C02100E08C498B4A41F46021943A1160CD +:104390008749884A091F083211607D490839121F70 +:1043A0001160016821F440710160016841F480717D +:1043B0000160012000F0CFFC74491020C1F8040313 +:1043C00084F83150E56270BD76483830016821F0DC +:1043D000010141F08071016070476E4A0368183A2C +:1043E000C2F81A308088D0836A48017270476948E1 +:1043F00090F825007047674A517010707047F0B50B +:104400000546840061488B882044C0F820360B782C +:10441000D1F8011043EA0121C0F8001605F10800A7 +:104420000127604C07FA00F6FC3C52B1012A00D08B +:10443000FFDF2068304320602068AF4038432060B1 +:10444000F0BD2068B043F6E706F0E8B8514890F8B0 +:1044500032007047514AC1781432116000684F49E8 +:1044600000020C3108607047252807D0262807D0A5 +:10447000272807D00A2807D8042206E0022107E0EF +:104480001A2105E0502103E0062202EB4001C9B2E7 +:10449000424A083A116041494431086070473D483A +:1044A000817A012917D0022914D1417E002911D027 +:1044B000827F0121C37F01FA02F299400A433D49FC +:1044C00094390A6090F820003C4A002102EB8000F9 +:1044D000C0F810157047017EE8E72DE9F0472D4C34 +:1044E000A17A01290BD0022975D1627E002A72D0EF +:1044F000012906D0677FE17E59B101260AE0227EBC +:10450000F4E7277FA17E09B1012600E000261121F2 +:1045100001E000262421DFF898804FF0010AA8F17D +:104520004408C8F84CA0DFF898904518D9F8000066 +:10453000A84200D3FFDF0021C8F84C11C9F8005091 +:10454000380286F0010140EA015040F0031294F86D +:1045500020101A4800EB8103C3F8102500EB8101FD +:10456000A27F184800EBC203C3F81415164DC3F818 +:104570001055E37F00EBC300C0F814150449083957 +:10458000C0F810150AFA02F120E024E00010004003 +:10459000181100407C0A0020000E00401015004059 +:1045A000FC1F00403C170040880000802C00008960 +:1045B000448000409CF5014000000404006000407D +:1045C0004C85004000F001404C8100400AFA03F0A5 +:1045D0000143F9480160BDE8F0872DE9F0410E463E +:1045E000F64907460320C1F80002F54C94F8210073 +:1045F00010B14FF4C02000E0F248EF4D2860304683 +:1046000006F036F817B1012F0FD017E0FEF7DEFFE6 +:1046100010B1304600F0C9FB0120A072A06B40F43D +:104620008010A0634FF4801007E00220A072A06BFE +:1046300040F40010A0634FF400102860F6F744F92E +:104640003146BDE8F04148E72DE9F05FDB4C074615 +:1046500003200E469346C4F80002D94D95F8210078 +:1046600010B14FF4C02100E0D649DFF84C93C9F8EF +:104670000010104605F0FCFFDFF83C834FF0010A04 +:1046800008F1A808A7B3012F3ED0FFDFCE4806608F +:10469000C949CE48A4310860A86B40F40020A86343 +:1046A000D4F800721025C4F808530020C4F80002A2 +:1046B000C1494FF48028091DC1F8008004F5007439 +:1046C000FFF765FD2760C9F80080C4F80451E903CD +:1046D000C9F80010BE49C1F84CA0BB48001D0068D5 +:1046E000B04200D3FFDF59463046BDE8F05FF4E644 +:1046F000FFE7FEF76BFF10B1584600F056FBC8F815 +:10470000004085F80AA0C1E7AC49091DC8F80010AF +:104710000220A872BAE72DE9F041A94C064690465E +:1047200094F831000F46002500B9FFDF16B1012EC5 +:1047300012D01DE094F83100012806D094F8302002 +:104740004146384605F0A2FF10E094F8301042468A +:10475000384605F0DCFF09E094F8310094F8301099 +:1047600001284246384609D005F0F8FFE16A4518AD +:10477000424629463046BDE8F04165E705F0A8FF0E +:10478000F4E708B5FF208DF800008C480021C0F840 +:1047900010110121016104E09DF80010491E8DF8FF +:1047A00000109DF8001019B1D0F810110029F3D0B5 +:1047B0009DF80000002800D1FFDF08BD2DE9F04181 +:1047C0007E4CD4F8000220F00307D4F804034FF025 +:1047D0001008C0F30016C4F808830025C4F800527E +:1047E000774890F8210010B14FF4C02000E07548E0 +:1047F000714940F46020091D0860FFF750FEFFF783 +:10480000C0FFC4F81051FEF7E1FE08B1C4F828510A +:1048100000F0AEFAC4F80072002E01D0C4F8048390 +:10482000BDE8F081ADE700686A4920F07F4008608C +:10483000704710B5012000F07DFABDE8104001205E +:1048400000F089BA01465E4818221838F8F771BDA1 +:104850004FF0E0210220C1F8000170475E49087066 +:1048600070475C4938390860704770B50546F6F7FF +:104870002BF8534C2844E16A884200D8FFDF01201E +:104880002074F6F721F82844606194F8211041B1B2 +:10489000084460614948D0F8001241F04001C0F876 +:1048A00000124B490020C1F8440147496069091FC3 +:1048B0000860BDE8704000F0A2BA70B5404C0646F2 +:1048C00002200D462074FFF7A9FC024694F831003F +:1048D00094F8301001281BD0304605F081FF60614C +:1048E00094F8210048B16169084460613348D0F808 +:1048F000001241F04001C0F8001235490020C1F813 +:1049000044016169E06A08442F49091F086070BDCD +:104910002B46304605F037FFE1E727494FF480008A +:10492000091D08602648816B21F480018163002104 +:10493000017470472A4A10B502EBC002274BC2F837 +:104940001035C2F81415012181401B4801601C4834 +:10495000826B0A43826310BD1D4801214160C16022 +:104960000021C0F844111848001F01601448C162BA +:10497000704710B50446FEF729FE10B1104880F8C4 +:1049800021401448243004600C48D0F8001241F053 +:104990004001C0F8001210BD084810B5D0F8001250 +:1049A00021F04001C0F80012FEF710FE0949243141 +:1049B00000B10220086010BD04F501400010004065 +:1049C0007C0A002000000404488500404881004023 +:1049D000008000403C150040C3000020041100404E +:1049E00000F00140F948D0F8001221F01001C0F8A1 +:1049F0000012012181617047F4480021C0F81C11A8 +:104A0000D0F8001241F01001C0F800127047EF49D1 +:104A100008B5D1F81C21012A01D0002008BDEC4ABC +:104A2000126802F07F02524202700020C1F81C019D +:104A3000E84800680090012008BDF0B517460C005A +:104A4000064600D1FFDFE44DE0072F7302D0012CB2 +:104A500000D0FFDF46B102206872EC72012802D05C +:104A6000022800D0FFDFF0BD0120F5E770B5DA4C79 +:104A70000021E27A930703D5830701D5430713D4B6 +:104A8000D30605D594F8333013B194F835305BB1C3 +:104A9000130702D594F8243033B9520702D594F89D +:104AA00025200AB1C00700D00121607A012518B184 +:104AB000A1B1BDE8704081E694F8210010B14FF437 +:104AC000C02000E0C548C6490860C048D0F80012C0 +:104AD00021F00301C0F80012E57270BD012803D077 +:104AE000022808D0FFDF70BD00F042F9A5729621C0 +:104AF000227B002006E000F03BF90220A072227B1E +:104B000096210120BDE8704005E62DE9F05FDFF851 +:104B1000D4B29BF80000042800D3FFDFB248D0F8DD +:104B20004C0108B1FFF7BBFCAB4CAD49A06B086072 +:104B30004FF00008C4F8388000F06BF9DFF8AC9251 +:104B40000546D9F80010A16294F8210008B1081AAE +:104B5000A062A648001F0068E062FFF75FFB84F8D0 +:104B60003000A07ADFF868A2012184F83100AAF1B0 +:104B7000440A022808D1607830B1DAF800201278AF +:104B800002402078904310D084F82480924EA807E9 +:104B9000A6F1180605D5F5F797FEA16A081A31693E +:104BA0008847E80704D0002709E084F82410EDE7DF +:104BB000A80701D5012702E0280707D50227F5F746 +:104BC00083FEE16A7269081A394690479BF8000033 +:104BD000C0071CD1DAF800005746007800F00F003B +:104BE000072812D239680622A01C0931F8F774FB95 +:104BF00038B9207A39680978B0EBD11F01D101208A +:104C000000E0002084F8250001E084F82580284693 +:104C1000FFF72CFFE80701D030682FE0A80726D562 +:104C200068071ED4FEF7D2FCD8B9FEF7DFFCC0B986 +:104C30006748F4380168001F0068C0F3425CC0F3A5 +:104C4000006700F00F03C0F30312C0F3032047B165 +:104C50000BB102B128B921B1BCF1030F01D245F06B +:104C6000040545F380007168401C884709E0280767 +:104C700001D5B06802E0E80602D5F068804700E0A0 +:104C8000FFDFA07A02281BD1207C002818D0564ACA +:104C9000C2F8448102280FD0012800D0FFDFE16A6A +:104CA0006069884200D8FFDFD4F81410C9F80010FA +:104CB000BDE8F05F00F0A3B86169E06A0144F5E780 +:104CC000BDE8F09F70B5054641F2643441F66A06CE +:104CD000022806D0012D12D0022D0CD0FFDF304665 +:104CE00070BDFEF72FFC0028F6D1FEF738FC002837 +:104CF000F2D141F6583441F29A00204470BD42F698 +:104D0000CE3070BD324808300168032904D00068F5 +:104D1000022801D000207047012070472C4808303D +:104D200001680B2904D000680A2801D000207047D0 +:104D30000120704700280DDB00F01F020121914087 +:104D40004009800000F1E020C0F88011BFF34F8FD0 +:104D5000BFF36F8F7047002809DB00F01F020121AD +:104D600091404009800000F1E020C0F880127047B7 +:104D700019480021417281720121C172704730B51A +:104D800000240546012902D002290BD0FFDF184874 +:104D900004430F4834380460164805430C48303843 +:104DA000056030BD4FF08074F1E7094A4032116868 +:104DB00053060228D3F820031ED0C0F3062000BFFC +:104DC00021F4FE4141EA00201060704700100040CD +:104DD000481500401C1100407C0A0020000004041B +:104DE00008F50140C30000200080004044850040D9 +:104DF0000801100000000302C0F30660E0E7354838 +:104E0000816B41F48001816333494FF48000086075 +:104E1000DBE7F8B52F4C314E0020217C19B1D6F8D4 +:104E20004411012907D00023A27A2D49012A04D078 +:104E3000022A0AD019E00123F6E7D1F80C01012873 +:104E400001D0002011E008200FE0D1F80C0101286A +:104E500006D0002223480068012803D0042002E085 +:104E60000222F7E7002010431843D1F81021012A4D +:104E70002ED0002505431C48026812F0FF0F03D016 +:104E8000D1F81421012A00D0002284F832200068D1 +:104E900010F0FF0F03D0D1F81801012800D0002036 +:104EA00084F833000F481030006884F83400FFF7AE +:104EB00072F8012800D0002084F83500FFF767F968 +:104EC0000020C6F844010948006800902846F8BD53 +:104ED0001025CFE77C0A002004F501400080004047 +:104EE0000010004000140040401600404481004083 +:104EF00010B5444822220021F8F745FA4148002421 +:104F0000017821F010010170012104F04DFC3D49B0 +:104F10004FF6FF70263981F8224088843A4908808C +:104F2000488010BDE4E7704700F05FB83549016084 +:104F30007047354908807047324926398A8CA2F576 +:104F40007F43FF3B02D00021016008E091F822205E +:104F50002C492639012A02D0016001207047002027 +:104F600070472848263810F8221F012908D001214F +:104F7000017025482349263900888884012070471C +:104F8000002070472049488070471E491E4B263933 +:104F90008A8C5B889A4205D191F8222012B1016077 +:104FA00001207047002070471648174A2638818C28 +:104FB0005288914209D14FF6FF71818410F8221F67 +:104FC00019B10021017001207047002070470D4881 +:104FD0000D4A2638818C5288914204D190F82200E3 +:104FE00008B10020704701207047064926398A8C95 +:104FF000824205D1002081F822004FF6FF7088849C +:1050000070470000DE0A0020C400002070473D4ABF +:10501000012338B1012804D1137008689060888892 +:105020009081704753700868C2F802008888D08069 +:105030007047344A10B1012807D00EE0507860B1B3 +:10504000D2F802000860D08804E0107828B1906897 +:1050500008609089888001207047002070472949A6 +:1050600010B1012802D005E0487800E0087808B1C6 +:10507000012070470020704730B50C4605468DB0C2 +:105080004FF0030104F1030012B1FEF741FB01E010 +:10509000FEF75DFB60790D2220F0C00040F040007B +:1050A0006071002104A8F8F76EF9E0788DF81F0010 +:1050B00020798DF81E0060798DF81D001022294698 +:1050C0006846F8F736F9684604F036FE9DF82F007A +:1050D00020709DF82E0060709DF82D00A0700DB01E +:1050E00030BD10B5002904464FF0060102D0FEF78E +:1050F0000FFB01E0FEF72BFB607920F0C000607130 +:1051000010BD0000C8000020FE48406870472DE92F +:10511000F0410E46074601461446012004F011FDF9 +:10512000054697F86500FFF725F84AF2B1210844D3 +:105130004FF47A71B0FBF1F1788840F2712250435C +:10514000C1EB4000041BA4F2663402F0BBFD00B1C9 +:105150001E3CAE4201D2284600E03046A04204D2B6 +:10516000AE4201D22C4600E034467C62BDE8F081BC +:1051700030B502460020002914D0A2FB01104C0AD1 +:1051800044EAC054400A641C40F100000021D4F1FC +:10519000FF3240F2A175814100D2FFDF04F5F464D3 +:1051A000B4FBF5F030BD2DE9FF4F8BB0044690F80D +:1051B00065008A460990DDE90D1008430890D24841 +:1051C0000026007800F004FE054694F88C0100F0FB +:1051D000FFFD284480B2009094F87D000D2804D093 +:1051E000002007900D9810B131E00120F9E794F804 +:1051F0002C0103282BD1079848B3B4F8AE115145C0 +:1052000025D1D4F83401C4F82001608840F2E2418D +:105210004843C4F82401B4F87A01B4F806110844EC +:10522000C4F82801204602F057FDB4F8B201E0822C +:1052300094F8B0016075B4F8B4016080B4F8B601B8 +:10524000A080B4F8B801E080022084F82C01D4F8E2 +:1052500084010590D4F880010390B4F80681B4F875 +:105260007811D4F8740106900D9820B194F840019B +:1052700000287DD108E004F580700290743004901D +:1052800004F5B075001D07E004F5AA700290001D3A +:10529000049004F5A275001D0A90B4F87020AAEBE2 +:1052A00002000FFA80F9AAEB010007B2002F05DA1D +:1052B000D4F87001069001204F46089092484FF0B4 +:1052C000000B007970B3F5F7A1FC58B3B4F81801DE +:1052D000022827D394F82C01022823D094F8430104 +:1052E00000BB94F88C0100F073FD00F5C86080B23B +:1052F000009094F82C01012845D0608840F2E241EA +:1053000048430099FFF734FF08EB0901CA1BD4F8A2 +:10531000341180B2431A02FB03BBC4F834010120EC +:1053200084F8430194F82C0100286DD001287DD029 +:1053300002287CD003287BD0FFDF00BFA6EB0B0147 +:105340000698FCF70EFD0499012640F271220860D0 +:105350000A990020A1F800A028702E710498006816 +:10536000A8606088D4F834115043C1EB400000E0DD +:10537000BFE16549A0F23630C861896981427DD9B3 +:10538000029908607BE194F88000032833D0012162 +:10539000002004F0CDF8E18A40F27122514300EB85 +:1053A00041000190D4F82401B8340099FFF7E0FEE1 +:1053B000A16E226F431AA066DDE9001002FB03BB59 +:1053C000FFF7D6FEA16FA067421A34F8B60C40F280 +:1053D000E241484393440099FFF7CAFE08EB0901F4 +:1053E000226FC91B8A1AE16F521E431A02FB03BBCC +:1053F000E067B83C93E7E08A40F27122D4F82411C8 +:10540000504301EB4000CCE7039800B9FFDF0121D6 +:10541000002004F08DF80646E08A40F271214843EE +:1054200006EB40000099FFF7A3FE02E0C0E058E061 +:10543000DDE0C4F83001608840F2E2414843009961 +:10544000FFF796FEC4F8340182B22046A16AFFF746 +:105450005EFE14F8650FFEF7F2FE4FF47A7800F264 +:10546000E140B0FBF8F1039801EB00092078FEF76A +:10547000E6FE07462078FEF77DFE00E0FDE03844BA +:105480004AF2AB310144B1FBF8F134F84F0C40F271 +:105490007122504306EB4000411AD4F8CB0040F291 +:1054A000E2430A1A02EB0906227814F8501C11FB99 +:1054B00003F1203E00F0B9FC1349801C886114F808 +:1054C0006509FEF7BCFE00F2E140B0FBF8F103987D +:1054D0000844301A40F2F6218842BFF42FAFFFDFB4 +:1054E0002CE7E08A40F27122D4F82411504301EBFA +:1054F00040000099FFF73CFEC4F83001608840F29C +:10550000E24103E0000B0020D8000020484300994E +:10551000FFF72EFEC4F8340182B22046A16AFFF7DD +:10552000F6FDB8F1000F21D10E98F8B194F865603E +:105530003046FEF71FFE4AF2B12101444FF47A7063 +:10554000B1FBF0F0D4F8301140F271230144E08A4D +:10555000D4F82421584302EB4000471A3046FEF7A6 +:1055600076FE0599081A3E18203E0AE0E08A40F2CD +:105570007122D4F82411504301EB4000D4F83011CB +:10558000461AD4F82821D4F82011D4F8300140F27A +:10559000E24301FB020094F86520617D11FB03F1F9 +:1055A00000F043FCF9498861012084F82C01C5E62C +:1055B000608840F271225043D4F83411D4F8282185 +:1055C000C1EB40067E4308EB0900801AD4F8207135 +:1055D000D4F83031401E07FB023200FB012094F862 +:1055E0006520617D40F2E24311FB03F140E06088F9 +:1055F00040F27122D4F834115043C1EB400694F8C4 +:105600007C007E43242803D094F87D0024280AD10E +:10561000B4F8AE11AAEB010000B2002803DB94F845 +:10562000B10100B109900898D8B1B8F1000F18D1B4 +:10563000059808B1039800B9FFDF94F86500FEF7FC +:1056400099FD4AF2B12101444FF47A70B1FBF0F0B8 +:10565000361A94F86500FEF7FAFD0599081A064413 +:10566000203ED4F8341108EB090048430021099A80 +:1056700000F0DBFBC549886160E602980160029892 +:10568000616A0068084400F5D370E86002F01AFB14 +:1056900010B1E8681E30E8606E71B4F8F010A1EB4C +:1056A0000A0000B2002801DD032068710798002875 +:1056B0000E9822D0C0B100BFB4F81811B1B3B4F83D +:1056C0001A0100BFA4F81A0194F81C21401C42439F +:1056D0008A4209D26879401E002805DD6E71B4F84F +:1056E0001A01401CA4F81A010D9830B394F8400137 +:1056F000F8B102200FB0BDE8F08F0028DCD194F89B +:105700002C010028F0D0608840F27122D4F83411C6 +:105710005043C1EB4001284603F04EFE0004000C4C +:10572000E2D0189901B108800120E3E7FFE70020EB +:10573000C8E794F87C01FDF78CF994F87C012946C0 +:1057400000F059FB20B10D9880F0010084F8410170 +:105750000020CFE77CB50446FCF72FFE0146D4F8C5 +:105760007001FDF72BFB214600F076FB94F87D10CD +:105770000D290AD0B4F87020B4F83E1113189942DC +:1057800006DB491CA4F83E1106E0B4F83E010CE02B +:10579000401C1044A4F83E0194F8420140B9B4F80A +:1057A0003E01B4F8F410884202D1401CA4F83E0136 +:1057B000B4F87A0101AE401CA4F87A01B4F89A005A +:1057C000B4F89810401AB4F87010401E084485B21E +:1057D00009E000231A4620460096FFF7E4FCD0B10A +:1057E00001282ED0FFDFB4F83E11681A00B200285D +:1057F000EFDA082084F88D00012084F88C00204620 +:1058000001F0F5FE204600F0F8FA60484079BDE866 +:105810007C40F5F7C9BBA06E002811D0B4F83E015A +:10582000B4F89420801A01B2002909DD34F86C0F15 +:105830000144491E91FBF0F189B201FB0020208553 +:105840007CBDB4F83E01BDF804100844A4F83E0144 +:10585000C9E770B54E4C607A08B1002070BD94F86D +:10586000300030B1616B606A884202D9F8F70CFBF6 +:10587000F3E7A06AC8B1F7F725FF0546F7F7F9FE89 +:10588000284442F210714618FCF797FD0546294658 +:10589000E06AFDF793FAE562A16A8219914202D2A9 +:1058A0000120A062E2E7081AA062012070BD70B575 +:1058B000374C012500202575207494F8300004F140 +:1058C000100650B14FF47A71A069FCF74AFAA06152 +:1058D0000021304603F070FD10E0002000F00DFBC9 +:1058E0000546F7F7EFFE05442946A069FCF739FAAB +:1058F000A0612946304603F05FFD451C208C411C09 +:105900000A2901D228442084606828B1208C401CD8 +:105910000A2801D3022000E003206075FFF799FFF9 +:1059200038B1207B314600F066FA002800D1FFDF55 +:1059300070BD00F0DAFA15484079BDE87040F5F71F +:1059400033BB38B50025044680F82C51A0F87851B7 +:105950002B462A4629460095FFF725FC00B1FFDFBC +:10596000C4F828510120C4F8205184F82C01A4F86F +:105970003E51A4F83C5184F8425134F8700F401E57 +:1059800024F8B80B0020A4F8525038BDD8000020ED +:10599000000B002010B530B1F749012807D00228CC +:1059A0000BD0FFDF10BDBDE8104000F0EABA486A36 +:1059B000BDE81040002100F0B5BA002081F83000A9 +:1059C000FCF7F9FBED484079BDE81040F5F7ECBA7B +:1059D0002DE9F0410646E8480F460178E74D0329D6 +:1059E00009D1017BB14206D1406868613846BDE803 +:1059F000F04100F0EEBA304600F0F3F90621FAF774 +:105A00005DFB040000D1FFDF304600F0EAF9218899 +:105A1000884200D0FFDF214638466C61BDE8F04186 +:105A200000F027BA10B5D44C207848B1012060723C +:105A3000F8F74CFA2078032804D0207A002800D008 +:105A40000C2010BD207BFDF704F8207BFDF772FAD7 +:105A5000207BFCF78FFC00B9FFDF0020207010BD19 +:105A600010B5FFF7DFFF00F0F1FAC348002180F81E +:105A70003010C172084610BDC049487100208870BE +:105A800001220A7048700A71C870BB490870E7E7C4 +:105A9000BA49087070472DE9F047B74C07460E46E3 +:105AA000207800284BD1B648FCF702FC20731F2851 +:105AB00045D04FF00309676084F8009000256572B7 +:105AC000257287B1012107F58E70FDF740FE062093 +:105AD000FAF7A0FA97F81C11B1FBF0F200FB1210D4 +:105AE000401C87F81C01FCF73EFC40F2F65188424E +:105AF00000D2084600F23F101FFA80F8F7F7B9FD10 +:105B0000E061F7F7DFFD0127E0B1A772FCF755FC74 +:105B10008246002000F0F1F900EB08015046FCF746 +:105B200020F9A061C4E90A6A277584F815909249A2 +:105B30002574207B103100F05EF990B910E00C2044 +:105B4000BDE8F087FCF739FC4146FCF70AF9A06193 +:105B5000A57284F83070A6F28B566663A562E3E7FF +:105B6000FFDF25840020F8F7B1F90020E8E783493A +:105B7000487070478149087170472DE9F0417F4CAA +:105B80000746E088401CE080D4E902516078D7F8ED +:105B9000806120B13246284603F036FC0546A068F5 +:105BA000854205D02169281A08442061FDF7D3F801 +:105BB000A560AE4205D897F82C01012801D0E07805 +:105BC00010B10020BDE8F0810120FBE710B50446CC +:105BD0000846FEF7CFFA4AF2B12108444FF47A7131 +:105BE000B0FBF1F040F2E2414C4300F23630844227 +:105BF00001D9201A10BD002010BD7CB5044600203C +:105C000084F8400194F8FE0000283FD194F82C015C +:105C100003283BD1FCF7D1FB0146D4F87001FDF716 +:105C2000CDF8002832DD214600F016F9411CB4F809 +:105C300070000144A4F83C11B4F83C11B4F8F4200D +:105C4000511A09B2002921DD012184F84211B4F86A +:105C50009A10B4F8982001AE891A491E084485B2FA +:105C60000EE00096B4F83C11002301222046FFF715 +:105C70009AFA00280AD0012809D0022806D0FFDFAE +:105C8000B4F83C01281A00B20028EADA7CBDB4F866 +:105C90003C01BDF804100844A4F83C01F0E738B515 +:105CA00000250446012902D13448C07868B1042097 +:105CB00084F82C01FCF77FFAA4F87A51B4F870004C +:105CC000A4F83E0184F842515FE60095B4F8F41060 +:105CD000012300222046FFF766FA0028EAD0FFDF02 +:105CE000E8E710B5062916D2DFE801F00509030C34 +:105CF0000C0D002100E00121BDE81040CFE7032199 +:105D000080F82C1110BDB0F834118AB2816ABDE858 +:105D10001040FFF7FCB9FFDF10BD70B5174CA1783C +:105D2000022916D1E188002913D16569C5F88401DB +:105D300095F86500FEF78BFAD5F88411081AA1686A +:105D40000144A160E1680844E060BDE8704000F0F3 +:105D5000A9B970BD70B5054608488478022C11D0E9 +:105D6000054C243401B34FF47A7601290ED0022970 +:105D700010D0FFDF70BD0000000B0020D800002015 +:105D8000D1590100446904F5C074EBE71846FEF7E9 +:105D900056FA02E01046FEF795FF00F2E140B0FB34 +:105DA000F6F0281A2060E5E72560E3E7FE4810B525 +:105DB000007808B1002010BD0620FAF71DF980F028 +:105DC000010010BDF8480078002800D0012070477D +:105DD00010B504460C2800D3FFDFF44830F8140057 +:105DE00010BD10B504461F2800D3FFDFEE48383041 +:105DF00030F8140010BDFCF711BD70B5044600204A +:105E000084F82C0194F87C514FF6FF761F2D00D3B7 +:105E1000FFDFE548383020F8156094F87C01FCF786 +:105E2000A9FA1F2084F87C01A4E770B505460C464A +:105E300016461046FEF79EF94AF2B12108444FF487 +:105E40007A71B0FBF1F000EB450004443046FEF7F8 +:105E5000FEF9204460308DE7002809D0D1F83421C4 +:105E6000498840F271235943C2EB4101B0FBF1F084 +:105E700070472DE9F04101250226CD4F0C46082838 +:105E800031D2DFE800F0040E161611301A23204636 +:105E900000F0ADF9204600F064F984F84051BE707E +:105EA00090E601F00AFF01E0FEF72FFE84F8405172 +:105EB00088E62046BDE8F0414CE4FEF7B3FCFEF76F +:105EC00024FE4FF0E020C0F880627BE694F82C01BD +:105ED000042800D0FFDF2046FFF78FFF7879BDE868 +:105EE000F041F5F761B8FFDF6CE610B5AE4C207BF2 +:105EF000FCF740FA0020207010BD08B500284FF0D4 +:105F00000101684602D0FDF703FC01E0FDF7F6FB56 +:105F10009DF8000042F210710002B0FBF1F201FBAB +:105F2000120008BD2DE9F0419F4C0746002084F87F +:105F30003000A669E07220700120207201216068A3 +:105F400003F0B2F86068C0F87061257B80F87C517E +:105F5000C0F88071C0F8746106881F2D00D3FFDF80 +:105F60009148383020F815606068FFF7EAFC00B10E +:105F7000FFDFFCF720F98E484079BDE8F041F5F7E6 +:105F800013B870B5884C0025A07A18B10120FFF72E +:105F9000B4FF0546F7F796FB4119A069FBF7E1FE50 +:105FA000A061002525740320607501202075607AAA +:105FB00030B97D49207B1031FFF71DFF00B9FFDFAD +:105FC0002584FCF7F8F87A484079BDE87040F4F78A +:105FD000EBBF70B5744D04462878032800D0FFDF6E +:105FE000082C31D2DFE804F0040E2A2A2630302DA6 +:105FF00000206862F7F77CFD00B1FFDF6C490320E9 +:106000008870B7E6F7F735FBE9690446A14206D286 +:10601000601A0421FCF705FFEC6108B906E0E861AD +:10602000F7F7B1FE0028ECD0FFDFA3E6BDE8704033 +:106030000020AFE4BDE87040FEF767BDBDE87040EA +:1060400035E4BDE8704050E7FFDF93E6FEB5584CFD +:106050000120E0704FF6FF750CE00621FAF72EF8EC +:10606000060000D1FFDF96F87C01FCF763FF3046A5 +:10607000FFF7C3FE69460620F9F7ADFF50B1FFDF19 +:1060800008E0029830B190F82C1119B10088A842AC +:10609000E3D104E06846F9F77CFF0028F1D0002046 +:1060A000E070FEBD2DE9F0474148446994F8431182 +:1060B000002955D094F82C11032951D194F86590FA +:1060C0000078FFF785FE054694F88C01FFF780FE07 +:1060D000284486B294F88C01FFF77AFE00F5C86078 +:1060E0001FFA80F84846FEF7B2F8D4F884110D1A6A +:1060F0004846FEF73FF84FF47A7A00F2E730B0FBFB +:10610000FAF02D1A4846FEF7A2F8D4F800110F1A3B +:106110004846FEF72FF84AF2B1210144B1FBFAF0EC +:106120003A1AA2F160007043B0FBF8F1292000EBAD +:1061300052006031A0EB510200EB5100AA4201D89D +:10614000854201D3F4F714FE608840F2E2414843EF +:106150003146FFF70DF8C4F83401002084F84301FC +:10616000EEE470B50446FCF7FEF8054694F86500C9 +:10617000FEF700F84AF2B12108444FF47A71B0FBFF +:10618000F1F0D4F8341140F2712201446088504398 +:10619000C1EB4006303EB72D00D8B725214601207F +:1061A00003F0CFFC284405E0000B002088B201007A +:1061B000D8000020351A21460120A5F21B3503F036 +:1061C000C0FC616A9C30814201D9081A00E00020BD +:1061D0002C49A842CD6000D328468860D4F86C01D1 +:1061E000A0F5D3700861BDE87040FCF7B4BD10B5F0 +:1061F000044624490020C4F88001C880C4F8840102 +:1062000094F8410138B9FCF7D8F8D4F84C11FCF7F0 +:10621000D5FD002813DCB4F83E11B4F870008142BB +:1062200001D1B4F8F410081AA4F8F600A4F870101C +:10623000D4F86801C4F84C01C4F870011CE0B4F84B +:106240003C01B4F87010401AA4F8F600B4F83C0110 +:10625000A4F87000D4F84C01C4F86801C4F87001C7 +:10626000D4F85401C4F80001D4F85801C4F87401FA +:10627000B4F85C01A4F878012046BDE8104001F0B4 +:1062800006BC0000D80000202DE9F0410E4604466F +:1062900003F06FFB0546204603F06DFB044603F058 +:1062A000FDF8FB4F010015D0386990F864208A4250 +:1062B00010D090F8C4311BB190F8C63123421FD0E2 +:1062C0002EB990F85D30234201D18A4218D890F857 +:1062D000C401A8B1284603F0E1F870B1396991F81A +:1062E0006520824209D091F8C40118B191F8C70124 +:1062F000284205D091F8C40110B10120BDE8F08119 +:106300000020FBE730B5E24C85B0E06900285ED0A4 +:10631000142200216846F7F736F8206990F86500E6 +:10632000FDF728FF4FF47A7100F5FA70B0FBF1F534 +:10633000206990F86500FDF78AFF2844ADF8060053 +:1063400020690188ADF80010B0F87010ADF80410A5 +:106350004188ADF8021090F8A60130B1A069C11CC7 +:10636000039103F01FFA8DF81000206990F8A50141 +:106370008DF80800E169684688472069002180F8A7 +:10638000A61180F8A5110399002920D090F8A41136 +:1063900000291CD190F87C10272918D09DF81010E6 +:1063A000039A002913D013780124FF2B11D0072B57 +:1063B0000DD102290BD15178FF2908D180F8A441D1 +:1063C0000399C0F8A8119DF8101080F8A71105B026 +:1063D00030BD1B29F2D9FAE770B5AD4C206990F8B1 +:1063E0007D001B2800D0FFDF2069002580F8A75022 +:1063F00090F8D80100B1FFDF206990F8A81041B1F2 +:1064000080F8A8500188A0F8DC1180F8DA510C213E +:1064100008E00188A0F8DC1180F8DA51012180F849 +:10642000DE110B2180F8D8110088F9F77AFFF9F70F +:1064300023FC2079F4F7B8FD206980F87D5070BD09 +:1064400070B5934CA07980072CD5A078002829D16D +:1064500062692046D37801690D2B01F170005FD08D +:106460000DDCA3F102034FF001050B2B19D2DFE87D +:1064700003F01A1844506127182C183A6400152BA1 +:106480006FD008DC112B4BD0122B5AD0132B62D0BB +:10649000142B06D166E0162B71D0172B70D0FF2B72 +:1064A0006FD0FFDF70BD91F87F200123194602F005 +:1064B00038FF0028F6D12169082081F87F0070BDDF +:1064C0001079BDE8704001F0A2BC91F87E00C007D1 +:1064D00000D1FFDF01F05AFC206910F87E1F21F087 +:1064E0000101017070BD91F87D00102800D0FFDF20 +:1064F0002069112180F8A75008E091F87D00142848 +:1065000000D0FFDF2069152180F8A75080F87D10AA +:1065100070BD91F87D00152800D0FFDF172005E041 +:1065200091F87D00152800D0FFDF1920216981F83E +:106530007D0070BDBDE870404EE7BDE8704001F0E1 +:106540003ABC91F87C200123002102F0EAFE00B958 +:10655000FFDF0E200FE011F87E0F20F0040008701E +:106560001DE00FE091F87C200123002102F0D9FE0C +:1065700000B9FFDF1C20216981F87C0070BD12E0AA +:106580001BE022E091F87E00C0F30110012800D04A +:10659000FFDF206910F87E1F21F010010170BDE8B7 +:1065A000704001F0F3BB91F87C200123002102F040 +:1065B000B8FE00B9FFDF1F20DDE791F87D0021283C +:1065C00001D000B1FFDF2220B0E7BDE8704001F04C +:1065D000E9BB2F48016991F87E20130702D50121FC +:1065E0008170704742F0080281F87E208069C0788F +:1065F00081F8E10001F0C1BB10B5254C21690A8882 +:10660000A1F81A2281F8180291F8640001F0A9FBA0 +:10661000216981F81C0291F8650001F0A2FB216953 +:1066200081F81D02012081F81602002081F8C401C2 +:106630002079BDE81040F4F7B7BC10B5144C052123 +:106640002069FFF74EFB206990F85A10012908D005 +:1066500000F5F77103F048FA2079BDE81040F4F72F +:10666000A3BC022180F85A1010BD10B5084C0123BC +:106670000921206990F87C20703002F052FE48B168 +:106680002169002001F8960F087301F81A0C10BD5B +:10669000F80000200120A070F9E770B5FE4D01233D +:1066A00029462869896990F87C2009790E2A01D148 +:1066B000122903D000241C2A03D004E0BDE8704056 +:1066C000D3E7142902D0202A07D008E080F87C40C4 +:1066D00080F8A240BDE87040AFE7162906D0262A10 +:1066E00001D1162902D0172909D00CE000F87C4FFF +:1066F00080F82640407821280CD01A2017E090F826 +:106700007D20222A07D0EA69002A03D0FF2901D17F +:1067100080F8A63132E780F87D4001F037FB286928 +:1067200080F8974090F8C4010028F3D00020BDE81D +:10673000704061E72DE9F843D74C206990F87C1050 +:10674000202909D05FF0000790F87D10222905D09C +:106750007FB300F17C0503E00127F5E700F17D053B +:1067600010F8B01F41F004010170A06903F007F9AF +:106770004FF00108002608B33946A069FFF784FDF1 +:10678000E0B16A46A169206902F096FE90B3A06963 +:1067900003F0F3F82169A1F8AE01B1F8701001F02F +:1067A000C6FA40B32069282180F88D1080F88C80CB +:1067B00048E0FFE70220A070BDE8F883206990F868 +:1067C000C40110B11E20FFF717FFAFB1A069216906 +:1067D000C07881F8E20008FA00F1C1F3006000B966 +:1067E000FFDF20690A2180F87C1090F8A20040B9F0 +:1067F000FFDF06E009E01AE02E7001F0C7FAFFF7AC +:10680000E8FE206980F89760D6E7206990F8C40117 +:1068100018B10020FFF7F0FE2E70206900F17D0115 +:1068200080F897608D420DD180F87D600AE0206984 +:106830009DF8001080F8B0119DF8011080F8B1119A +:1068400024202870206900F17D018D4203D1BDE82C +:10685000F84301F09BBA80F8A260ADE770B58E4CAA +:1068600001230B21206990F87D20703002F059FD42 +:10687000202650BB20690123002190F87D20703034 +:1068800002F04FFD0125F0B1206990F87C0024282A +:106890001BD0A06903F063F8C8B1206990F8B0106C +:1068A00041F0040180F8B010A1694A7902F00702B2 +:1068B00080F85D20097901F0070180F85C1090F8FC +:1068C000C5311BBB06E0A57058E6A67056E6BDE8CC +:1068D00070407EE690F8C431C3B900F164035E787D +:1068E0008E4205D11978914202D180F897500DE07F +:1068F00000F504710D7002884A8090F85C200A71DE +:1069000090F85D0048712079F4F74EFB2169212051 +:1069100081F87D00BDE8704001F02FBAF8B55E4CFB +:10692000206990F87E0010F0300F04D0A07840F07D +:106930000100A070F8BDA06902F0FAFF50B3A06991 +:1069400002F0F0FF0746A06902F0F0FF0646A069DA +:1069500002F0E6FF0546A06902F0E6FF0146009757 +:10696000206933462A46303003F046F8A079800784 +:1069700003D56069C07814280FD0216991F87C0094 +:106980001C280AD091F85A0001280ED091F8BB01BA +:1069900058B907E0BDE8F8401BE62169012081F8FD +:1069A0005A0002E091F8BA0130B1206910F87E1F58 +:1069B00041F0100101700EE091F87E0001F5FE72C9 +:1069C00040F0200081F87E0031F8300B03F080F8B1 +:1069D0002079F4F7E9FABDE8F84001F0CEB970B5D6 +:1069E0002D4C206990F87E10890707D590F87C20FF +:1069F00001230821703002F094FCE8B1206990F87E +:106A0000AA00800712D4A06902F073FF216981F8FF +:106A1000AB00A06930F8052FA1F8AC204088A1F8A0 +:106A2000AE0011F8AA0F40F002000870206990F83B +:106A3000AA10C90703D00FE00120A0709EE590F8CE +:106A40007E00800700D5FFDF206910F87E1F41F02F +:106A50000201017001F091F92069002590F87C1085 +:106A6000062906D180F87C5080F8A2502079F4F7EE +:106A70009BFA206990F8AC110429DFD180F8AC5161 +:106A80002079F4F791FA206990F87C100029D5D18B +:106A900080F8A25072E50000F800002070B5FE4CAE +:106AA00001230021206990F87D20703002F039FC2C +:106AB000012578B9206990F87D20122A0AD0012397 +:106AC0000521703002F02DFC10B10820A07055E5B2 +:106AD000A57053E5206990F8A80008B901F04DF9B8 +:106AE0002169A06901F5847102F0F1FE2169A069B4 +:106AF000D83102F0F2FE206990F8E00100B1FFDF2A +:106B000021690888A1F8E20101F5F271A06902F09B +:106B1000D6FE2169A06901F5F67102F0D5FE206963 +:106B200080F8E051142180F87D102079BDE8704094 +:106B3000F4F73ABA70B5D84C01230021206990F8D7 +:106B40007D20703002F0EDFB0125A8B1A06902F0B4 +:106B50008CFE98B1A0692169B0F80D00A1F8AE01D2 +:106B6000B1F8701001F0E3F858B12069282180F8DD +:106B70008D1080F88C5001E5A570FFE4BDE87040F1 +:106B800027E5A0692169027981F8B021B0F80520D4 +:106B9000A1F8B22102F060FE2169A1F8B401A06958 +:106BA00002F05DFE2169A1F8B601A06902F05AFE6B +:106BB0002169A1F8B8010D2081F87D00DEE47CB5E3 +:106BC000B54CA079C00738D0A06901230521C5784C +:106BD000206990F87D20703002F0A3FB68B1AD1EF3 +:106BE0000A2D06D2DFE805F00909050509090505A2 +:106BF0000909A07840F00800A070A07800281CD1F6 +:106C0000A06902F0FFFD00287AD0A0690226C578AD +:106C10001DB1012D01D0162D18D1206990F87C00EE +:106C200002F067FB90B1206990F87C101F290DD00D +:106C3000202903D0162D16D0A6707CBD262180F801 +:106C40007C10162D02D02A20FFF7D6FC0C2D58D030 +:106C50000CDC0C2D54D2DFE805F033301D44A7A71F +:106C6000479E57A736392020A0707CBD0120152DE6 +:106C700075D008DC112D73D0122D69D0132D64D07E +:106C8000142D3DD178E0162D7CD0182D7DD0FF2D10 +:106C900036D183E020690123194690F87F207030B7 +:106CA00002F03FFBF8B9A06902F007FE216981F804 +:106CB0009201072081F87F0078E001F044F975E047 +:106CC000FFF738FF72E001F01EF96FE0206990F8DD +:106CD0007D10112901D0A67068E0122180F87D1086 +:106CE00064E0FFF7DBFE61E0206990F87D00172883 +:106CF000F1D101F04BF821691B2081F87D0055E0AE +:106D000052E0FFF76CFE51E0206990F87E00C0076A +:106D100003D0A07840F001001FE06946A06902F0AE +:106D2000EAFD9DF8000000F02501206900F8B01F81 +:106D30009DF8011001F04101417001F01EF8206939 +:106D400010F87E1F41F0010114E0FFF78EFC2DE0EA +:106D5000216991F87E10490705D5A07026E00EE064 +:106D600016E00FE011E001F008F8206910F87E1F2E +:106D700041F00401017019E0FFF7D0FD16E001F0C9 +:106D80008AF813E0FFF76AFD10E0FFF7D3FC0DE08F +:106D900001F060F80AE0FFF780FC07E0E16919B153 +:106DA000216981F8A60101E0FFF713FC2069F0E9F1 +:106DB0003012491C42F10002C0E900127CBD70B5DE +:106DC000354CA07900074AD5A078002847D1206922 +:106DD00090F8E400FE2800D1FFDF2069FE210025A5 +:106DE00080F8E41090F87D10192906D180F8A7509A +:106DF00000F0CCFF206980F87D50206990F87C106D +:106E00001F2902D0272921D119E090F87D0002F036 +:106E100070FA78B120692621012380F87C1090F85F +:106E20007D200B21703002F07CFA78B92A20FFF720 +:106E3000E3FB0BE02169202081F87C0006E00121C2 +:106E400080F8A51180F87C5080F8A250206990F855 +:106E50007F10082903D10221217080F8E41059E441 +:106E600010B50D4C216991F8B0210AB991F8642050 +:106E700081F8642091F8B1210AB991F8652081F870 +:106E8000652010B10020FFF7B7FB206902F0D4FDA8 +:106E9000002809D0206901E0F8000020BDE810407A +:106EA00000F5F77102F020BE10BD70B5FC4C06462F +:106EB0000D46206990F8E400FE2800D0FFDF22692B +:106EC000002082F8E46015B1A2F8A40022E422F8C0 +:106ED0009E0F012010711DE470B5F14C01230021BB +:106EE000206990F87C20703002F01BFA002869D0ED +:106EF000206990F8BA1111B190F8BB1139B190F82E +:106F0000C41100295DD090F8C51111B359E090F873 +:106F10007D1024291BD090F87C10242917D0002341 +:106F200000F5D87200F5DD7102F058FD21690020EE +:106F300081F8BA0101461420FFF7B7FF216901F17A +:106F40003000C28A21F8E62F408B48803FE00123C1 +:106F5000E6E790F87D2001230B21703002F0E1F983 +:106F600078BB206990F8640000F0FBFE05462069BC +:106F700090F8650000F0F5FE0646206990F8C6110D +:106F8000284600F0E0FE50B1206990F8C711304665 +:106F900000F0D9FE18B10020FFF72EFB11E02069A8 +:106FA0000123032190F87D20703002F0BAF940B936 +:106FB00020690123022190F87D20703002F0B1F9A0 +:106FC00008B1002080E400211620FFF76EFF0120A9 +:106FD0007AE410B5F0BBB24C206990F87E10CA0775 +:106FE00002D00121092051E08A070AD501210C2095 +:106FF000FFF75BFF206910F8AA1F41F00101017043 +:1070000046E04A0702D5012113203FE00A0705D5D3 +:1070100010F8E11F41710121072037E011F0300F16 +:107020003AD090F8BB11A9B990F8BA11D9B190F83B +:107030007D1024292ED090F87C1024292AD00023FA +:1070400000F5D87200F5DD7102F0C8FC216911F875 +:107050007E0F00E020E020F0200040F010000870DB +:10706000002081F83C01206990F87E10C90613D5F4 +:1070700002F0E2FCFFF7E1FA216901F13000C28A77 +:1070800021F8E62F408B488001211520FFF70DFFE6 +:10709000012010BD0123D3E7002010BD70B5804C46 +:1070A000206990F8E410FE2978D1A178002975D1E3 +:1070B00090F87F2001231946703002F032F9002841 +:1070C0006CD1206990F8901149B10021A0F89C1072 +:1070D00090F8911180F8E610002102205BE090F812 +:1070E0007D2001230421703002F01BF90546FFF7D3 +:1070F00070FF002852D1284600F089FF00284DD1AA +:1071000020690123002190F87C20703002F009F9F9 +:1071100078B120690123042190F87D20703002F0BD +:1071200000F930B9206990F8960010B100211220C2 +:1071300031E0206990F87C200A2A0DD0002D2DD155 +:1071400001230021703002F0ECF878B1206990F84A +:10715000AC1104290AD105E010F8E21F01710021E9 +:10716000072018E090F8AA00800718D0FFF7B4FEB7 +:10717000002813D120690123002190F87C20703071 +:1071800002F0CFF8002809D0206990F8A401002867 +:1071900004D00021FF20BDE8704086E609E0002110 +:1071A0000C20FFF782FE206910F8AA1F41F00101B0 +:1071B000017043E43EB505466846FDF7BDFE00B9E3 +:1071C000FFDF222200210098F6F7DDF80321009866 +:1071D00002F0FFFA0098017821F0100101702946B1 +:1071E00002F01DFB2E4C0D2D40D00BDCA5F102054D +:1071F0000B2D19D2DFE805F01F184719191F185673 +:1072000018192400152D5ED008DC112D25D0122D63 +:107210000BD0132D09D0142D06D154E0162D29D0F2 +:10722000172D69D0FF2D73D0FFDFFDF79AFE0028E0 +:1072300000D1FFDF3EBD2169009891F8E61017E00C +:10724000E26800981178017191884171090A817191 +:107250005188C171090A0172E7E70321009802F021 +:10726000A6FB0621009802F0A6FBDEE700980621A7 +:107270000171DAE70098216991F8C621027191F84D +:10728000C7114171D1E72169009801F5887102F0B9 +:1072900028FB21690098DC3102F028FBC5E70000DB +:1072A000F8000020F849D1E90001CDE90101206989 +:1072B00001A990F8B00000F025008DF804000098B6 +:1072C00002F048FBB1E72069B0F84810009802F0DE +:1072D00017FB2069B0F8E810009802F015FB206950 +:1072E000B0F84410009802F013FB2069B0F8E610E3 +:1072F000009802F011FB98E7216991F8C401002879 +:107300000098B9D111F8642F02714978B9E7FFE705 +:10731000206990F8A721D0F8A811009802F08DFA02 +:1073200083E7DA4810B5006990F8821041B990F807 +:107330007D2001230621703001F0F3FF002800D0EA +:10734000012010BD70B5D14D286990F8801039B179 +:10735000012905D0022906D0032904D0FFDF0AE461 +:10736000B0F8F41037E090F87F10082936D0B0F864 +:107370009810B0F89A2000248B1C9A4206D3511A18 +:10738000891E0C04240C01D0641EA4B290F896103F +:1073900039B190F87C2001230921703001F0C1FF40 +:1073A00040B3FFF7BEFF78B129690020B1F8902003 +:1073B000B1F88E108B1C9A4203D3501A801E00D055 +:1073C000401EA04200D284B20CB1641EA4B228694F +:1073D000B0F8F4102144A0F8F01040E5B0F898108F +:1073E0000329BDD330F8701F428D1144491CA0F809 +:1073F000801034E50024EAE770B50C4605464FF4EA +:10740000087200212046F5F7BEFF258027E5F8F732 +:107410005FBF2DE9F0410D4607460621F8F74EFE05 +:10742000041E3ED094F8CC010026B8B16E7007203F +:1074300028700DE0268484F8CC61D4F8CE01C5F81C +:107440000200D4F8D201C5F80600B4F8D60168816C +:1074500094F8CC010028EDD1AE70B6E094F8D801D4 +:1074600090B394F8D8010B2813D00C2801D0FFDF7B +:10747000ABE02088F8F755FF0746F8F712FC78B91B +:107480006E700C20287094F8DA01A8702088A8800B +:1074900014E02088F8F745FF0746F8F702FC10B122 +:1074A0000020BDE8F0816E700B20287094F8DA019E +:1074B000A8702088A88094F8DE01A87184F8D861AB +:1074C0003846F8F7E8FB80E0FFE794F80E0230B1A9 +:1074D0006E700E20287084F80E626F8075E094F84C +:1074E000E00180B16E700820287020886880D4F890 +:1074F000E4116960D4F8E811A960B4F8EC01A8813E +:1075000084F8E06161E094F8080270B16E701620B2 +:10751000287005E084F80862D4F80A02C5F8020071 +:1075200094F808020028F5D14FE094F8EE01B0B1CC +:107530006E70122028700DE084F8EE61D4F8F0012E +:10754000C5F80200D4F8F401C5F80600D4F8F80133 +:10755000C5F80A0094F8EE010028EDD135E094F862 +:10756000FC0180B16E701820287084F8FC61D4F89A +:10757000FE01C5F80200D4F80202C5F80600B4F80E +:107580000602688121E094F8100240B119202870A9 +:1075900084F81062D4F81202C5F8020015E094F8DD +:1075A000160200283FF47DAF6E701320287008E0AB +:1075B00084F81662D4F81802C5F80200B4F81C0268 +:1075C000E88094F816020028F2D1012069E72F48DC +:1075D0000021C16101620846704730B52B4D0C4651 +:1075E000E860FFF7F4FF00B1FFDF2C7130BD002130 +:1075F00080F87C1080F87D1080F8801090F8FE10E4 +:1076000009B1022100E00321FEF76BBB2DE9F04137 +:107610001E4C0546206909B1002104E0B0F80611AE +:10762000B0F8F6201144A0F8061190F8901139B97D +:1076300090F87F2001231946703001F072FE30B1BE +:10764000206930F89C1FB0F85A201144018020694D +:1076500090F8A23033B1B0F89E10B0F8F620114483 +:10766000A0F89E1090F9A670002F06DDB0F8A410C7 +:10767000B0F8F6201144A0F8A41001213D263DB138 +:1076800080F88D6018E00000A0B20100F800002032 +:107690002278022A0AD0012A11D0A2782AB380F8CF +:1076A0008C1012F0140F0DD01E2113E090F8E6207C +:1076B000062A3CD016223AE080F88C1044E090F87C +:1076C000922134E0110702D580F88D603CE09106EC +:1076D00003D5232180F88D1036E0900700D1FFDF1D +:1076E00021692A2081F88D002AE02BB1B0F89E2074 +:1076F000B0F8A0309A4210D2002F05DDB0F8A420D7 +:10770000B0F8A0309A4208D2B0F89C30B0F89A2075 +:10771000934204D390F890310BB1222207E090F805 +:1077200080303BB1B0F89830934209D3082280F8FA +:107730008D20C1E7B0F89820062A01D33E22F6E753 +:10774000206990F88C1019B12069BDE8F0414EE72E +:10775000BDE8F0410021FEF7C4BA2DE9F047FF4C27 +:1077600081460D4620690088F8F7EDFD060000D13E +:10777000FFDFA0782843A070A0794FF000058006B5 +:10778000206904D5A0F8985080F8045103E030F83F +:10779000981F491C0180FFF7C4FD012740B3E08812 +:1077A000000506D5206990F8821011B1A0F88E501E +:1077B0001EE02069B0F88E10491C89B2A0F88E1026 +:1077C000B0F890208A4201D3531A00E00023B4F8A5 +:1077D00008C00CF1050C634501D880F89670914201 +:1077E00006D3A0F88E5080F80E722079F3F7DCFBF8 +:1077F000A0794FF0020810F0600F0ED0206990F8C9 +:10780000801011B1032908D102E080F8807001E0F6 +:1078100080F880800121FEF764FA206990F88010DA +:10782000012904D1E188C90501D580F88080B9F12A +:10783000000F71D1E188890502D5A0F8185104E044 +:10784000B0F81811491CA0F8181100F0A7FBFEF7BA +:1078500059FDFFF723FC00F0B2FD0028206902D09B +:10786000A0F8F85003E030F8F81F491C018000F040 +:10787000A9FD38B1206990F80411022907D8491CE4 +:1078800080F80411206990F80401022804D92069C5 +:1078900020F8F85F4580057320690123002190F8E6 +:1078A0007D20703001F03DFD20B9206990F87D0009 +:1078B0000C286AD120690123002190F87C207030C7 +:1078C00001F02FFD48B320690123002190F87F20AB +:1078D000703001F026FD00B3206990F88010022975 +:1078E00053D190F80401C0B93046F7F7AAFFA0B110 +:1078F000216991F8E400FE2847D1B1F8F20001288F +:1079000043D981F8FD70B1F89A20B1F89800931E20 +:10791000984203DB012004E043E036E0101A401EE9 +:1079200080B2B1F8F82023899A4201D3012202E003 +:107930009A1A521C92B2904200D91046012801D1E5 +:1079400081F8FD5091F86F206AB98A6E5AB1B1F88A +:107950009420B1F87030D21A12B2002A03DD90429E +:1079600000DB104680B291F8892192B1B1F8FA207B +:10797000B1F88A118A4201D3012102E0891A491C17 +:1079800089B2884205D9084603E02169012081F8BF +:10799000FD502169B1F870201044A1F8F400FFF700 +:1079A000D1FCE088C0F340214846FFF72FFE206954 +:1079B00080F8FE50BDE8F047FDF7F6BA6749024689 +:1079C0008878CB78184312D10846006942B189798A +:1079D000090703D590F87F00082808D001207047D8 +:1079E000B0F84C10028E914201D8FEF7C6B80020C4 +:1079F000704770B5594C05460E46E0882843E08034 +:107A0000A80703D5E80700D0FFDF6661EA074FF05B +:107A100000014FF001001AD0A661F278062A02D0C8 +:107A20000B2A14D10AE0226992F87D30172B0ED16F +:107A30000023E2E92E3302F8370C08E0226992F8BD +:107A40007D30112B03D182F8811082F8A800AA079B +:107A500018D56269D278052A02D00B2A12D10AE021 +:107A6000216991F87D20152A0CD10022E1E930220C +:107A700001F83E0C06E0206990F87D20102A01D123 +:107A800080F88210280601D50820E07067E42DE90F +:107A9000F84F324C00254FF00108E580A570E570E5 +:107AA0004146257061F3070220619246814680F8C5 +:107AB000FE800088F8F747FC070000D1FFDF20694F +:107AC0000088FDF736FA20690088FDF75BFA206927 +:107AD000B0F8F21071B190F8E410FE290FD190F8CF +:107AE000901189B190F87F2001231946703001F080 +:107AF00018FC78B1206990F8E400FE2804D02069D1 +:107B000090F8E400FFF756FB206990F8FF1089B168 +:107B1000258118E02069A0F89C5090F8911180F818 +:107B2000E61000210220FFF7C0F9206980F8FD501F +:107B30000220E7E790F8CC1119B9018C82889142B4 +:107B400000D881882181B0F8F610491E8EB2B0F8B5 +:107B5000F8103144A0F8F81002E00000F80000200E +:107B600090F8FC1021B1A0F8FA5080F8FC5004E025 +:107B7000B0F8FA103144A0F8FA1030F8981F3144E8 +:107B80000180FFF7CEFB20B1206930F88E1F314411 +:107B900001802069B0F8F210012902D8491CA0F830 +:107BA000F2100EB180F8045190F8FD10A1B1B0F8B8 +:107BB000F800218988420FD23846F7F742FE58B1C3 +:107BC000206990F8891139B1B0F8FA10B0F88A013B +:107BD000814201D300F0F9FB206980F8FD5090F854 +:107BE0007D100B2901D00C2916D1B0F87020B0F807 +:107BF000AE31D21A12B2002A0EDBD0F8B011816079 +:107C000090F8B4110173032101F04EFA206980F855 +:107C10007D5080F8B28026E0242910D1B0F8701091 +:107C2000B0F8AE21891A09B2002908DB90F8C40126 +:107C3000FFF716F9206900F87D5F857613E090F86C +:107C40007C10242901D025290DD1B0F87010B0F88E +:107C5000AE01081A00B2002805DB0120FFF700F989 +:107C6000206980F87C5020690146B0F8F620703019 +:107C700001F0C8FA206990F8891109B1A0F8FA500A +:107C8000F6480090F64BF74A4946504600F0DEFAB7 +:107C9000216A11B16078FCF74DFE206901230521AE +:107CA00090F87D20703001F03CFB002803D0BDE847 +:107CB000F84F00F038BABDE8F88F00F045BBEA494C +:107CC000C8617047E848C069002800D001207047AB +:107CD000E54A50701162704710B50446B0F8B421FF +:107CE0004388B0F8B611B0F8B8019A4205D1A3881C +:107CF000994202D1E38898420FD02388A4F8D0316A +:107D0000A4F8D221A4F8D411A4F8D601012084F853 +:107D1000CC01D5480079F3F747F90221204601F05C +:107D2000C3F9002004F87D0F0320E07010BD401A55 +:107D300000B247F6FE71884201DC002801DC012018 +:107D4000704700207047012802D0022805D102E0C8 +:107D5000012904D001E0022901D000207047012050 +:107D6000704710B5012804D0022804D0FFDF204658 +:107D700010BD0124FBE70224F9E7BB48002100699C +:107D800020F8A41F8178491C81707047B64800B55F +:107D9000016911F8A60F401E40B20870002800DAF1 +:107DA000FFDF00BDB0482721006980F87C1000216A +:107DB00080F8A411704710B5AB4C206990F8AC1155 +:107DC000042916D190F87C2001230021703001F0A5 +:107DD000A8FA00B9FFDF206990F8AA10890703D438 +:107DE000062180F87C1004E0002180F8A21080F8C1 +:107DF000AC11206990F87E00800707D5FFF7C6FF19 +:107E0000206910F87E1F21F00201017010BD964913 +:107E100010B5096991F87C200A2A09D191F8E2206D +:107E2000824205D1002081F87C0081F8A20010BDBB +:107E300091F87E20130706D522F0080081F87E0015 +:107E4000BDE81040A2E7FF2801D0FFDF10BDBDE86C +:107E50001040A7E710B5844C206910F8B01F41F01E +:107E600004010170A06901F0A4FD162806D1206963 +:107E700090F87C00202802D0262805D010BDA069EB +:107E800001F09BFDFEF7B8FB2169002081F87C0022 +:107E900081F8A20010BDF8B5734C01230A212069B6 +:107EA00090F87C20703001F03CFA38B3A06901F002 +:107EB0003FFDC8B1A06901F035FD0746A06901F09A +:107EC00035FD0646A06901F02BFD0546A06901F0CD +:107ED0002BFD01460097206933462A46303001F0D9 +:107EE0008BFD206901F0A8FD2169002081F8A20026 +:107EF00081F87C00BDE8F840FEF79FBBA07840F019 +:107F00000100A070F8BD10B5574C01230021206975 +:107F100090F87D20703001F004FA30B1FFF72DFFAA +:107F20002169102081F87D0010BD20690123052101 +:107F300090F87D20703001F0F4F908B1082000E0DD +:107F40000120A07010BD70B5474C012300212069AD +:107F500090F87D20703001F0E4F9012588B1A06926 +:107F600001F0A8FC2169A1F8AE01B1F87010FFF78B +:107F7000DEFE40B12069282180F88D1080F88C50F9 +:107F800084E5A57082E52169A06901F5D87101F049 +:107F90008CFC21690B2081F87D0077E510B5FEF798 +:107FA0000EFFFEF70CFE304CA079400708D5A078F4 +:107FB00030B9206990F87F00072801D10120207096 +:107FC000FEF73EFAA079C00609D5A07838B9206935 +:107FD00090F87D100B2902D10C2180F87D10E078FB +:107FE00000070ED520690123052190F87D2070300F +:107FF00001F097F930B10820A0702169002081F8C4 +:10800000D80110BDBDE81040002000F016BB10B52F +:10801000154C216991F87D2040B3102A06D0142A0E +:1080200007D0152A23D01B2A35D123E001210B20AC +:1080300022E0FBF769FB0C2820D32069082100F51A +:108040008870FBF765FB28B120690421DC30FBF761 +:108050005FFB00B9FFDF012104200DE05B77010029 +:10806000BD790100F3790100F800002008E000F07C +:1080700017F803E001210620FEF717FF012010BDCD +:10808000212A08D191F8970038B991F8C40110B1AC +:1080900091F8C50108B1002010BD01211720EBE7C0 +:1080A00070B5184C0025206990F8931101290AD069 +:1080B000022925D190F8A810A9B1062180F8E61070 +:1080C0000121022017E090F8D811002918D100F101 +:1080D000C80300F58471002200F5CA7001F0C1F8F0 +:1080E0000121052007E090F8B000400701D51120DC +:1080F00000E00D200121FEF7D8FE206980F89351A1 +:10810000C4E40000F8000020F9480078002800D0FE +:108110000C20704710B50446FFF7F6FF00B1FFDFF3 +:10812000F348047210BDF2490120C871704770B560 +:108130000C460546082B01D0194600E004211046E4 +:1081400001F075F9844200D220460DB1001D80B2C5 +:10815000C0B270BD70B5E64934314C6804F17005A9 +:1081600060B1628F218F94F86530A87CFFF7DFFF44 +:1081700094F86510BDE87040FCF79EB8FF2094F8B5 +:108180006410F7E72DE9F0478146D9483430446858 +:10819000002004F17005628F218F94F86530FFF79D +:1081A000C6FFD34F0646D34878620120FFF7D2FFBF +:1081B000A87C4FF0000840B305F15801CE4891E883 +:1081C0000E1000F1080A8AE80E10A96EC0F82110FE +:1081D000E96EC0F82510FE38FCF743FBC6480121C4 +:1081E00008300176D5E91412C0E90412A0F58372B3 +:1081F000796AFBF728FF94F8650000F0A7FB0246B8 +:1082000031460120FBF72DFF04E0786AFCF729FBDB +:10821000FBF74BFFB9F1000F03D141469620FCF765 +:108220004CFB94F8642001210020FCF706FC94F834 +:108230002C00012801D1FCF7DFFB02203870FCF78D +:1082400061FD002800D0FFDFBDE8F0872DE9F04395 +:10825000A74D87B0804628780E9F1C461646894653 +:1082600010B90EB104B107B9FFDFEF61C5E90564CC +:108270000020C5E90D89E871A871E870A87028711F +:108280009B4F6871A8813437E8817E68344636F8A0 +:10829000700BF8F758F8E8622088F8F742F828637E +:1082A000FCF714F894F96700FCF7CEF804F112001B +:1082B000FCF7B9FA04F10E00FCF7CCF80120FCF74A +:1082C000CDFA18228D496846F5F733F88C480490AA +:1082D0006846FCF7B7FAF07EFCF7C6F8FCF7B8FA88 +:1082E00094F86F0078B9A06E68B1B08C318888427C +:1082F00009D1B4F86C1001220844B08494F86E00DF +:10830000A16EF9F708FE628F218F94F86530B07C7A +:10831000FFF70DFF94F865402146FBF7CDFF786825 +:1083200090F8880108B1FCF74FF821460120FCF7CE +:1083300054F97868D0F80001FCF797FA0120FFF7AC +:1083400021FF07B0BDE8F083694800B50078022836 +:1083500000D0FFDF00BD664810B534304468FCF73C +:10836000FBFAFCF7DAFAFCF729FAFCF762FAFBF7FA +:108370009CFE94F82C00012801D1FCF733FB94F803 +:108380006F0038B9A06E28B1002294F86E00114633 +:10839000F9F7C1FD564CE08900F0E2FAE269A179F3 +:1083A000A07890470020207010BD514810B500788B +:1083B000022800D0FFDFBDE81040CCE7CBE74C48F7 +:1083C000007970474A48C078704749490120487190 +:1083D00070472DE9FC474648454E3430A0F114075C +:1083E00044684FF0000A254694F875004FF00108E4 +:1083F000703458B3012868D002286AD0032876D098 +:10840000FFDF316AB1460826087820F008000870BE +:10841000A37906EAC303184320F004000870E37947 +:10842000042606EA8303184320F0100008706779D9 +:10843000D9F82C00F7F715FA0646FCF7C8FD022F0D +:1084400067D0012F65D0032F66D068E000F094FA62 +:10845000AA8E0146104600F0EAFF298E814200D222 +:1084600008464C21ADF8040048533846FCF78DFD12 +:1084700048B14FF48060316A00F077FA03206071F0 +:1084800084F80380BDE76A4601A9F06A00F05CFA4F +:10849000306210B194F8371029B13846FCF746FD28 +:1084A00084F80580ADE79DF8001031B9A0F800A070 +:1084B00080F802A0012101F08CF9BDF80410306AA7 +:1084C00001F07DFA022060719BE73846FCF72EFD33 +:1084D00097E7B5F84C00ADF804006A4601A9F06AC8 +:1084E00000F032FA306200288BD1FFDF89E709E023 +:1084F0001C010020780B0020780D0020A8B201009C +:108500001B5D01003846FCF740FD0028BAD1FFDFB3 +:1085100077E7B04301D002E00EB1012100E0002175 +:10852000D9F820004E46027842EA01110170617CC0 +:1085300051B36179012927D004F15801F7488EC958 +:1085400000F1080989E88E00A16EC0F82110E16EE3 +:10855000C0F82510FE38FCF784F9F048083080F8A0 +:1085600018A0D4E91212C0E90412A0F58371326A8E +:10857000FBF769FD95F8640000F0E8F90246FB217D +:108580000020FBF76EFD03E0FCF76BF9FBF78DFDB8 +:10859000012195F865200846FCF74FFA86F804801B +:1085A000316A0A8832828978B17486F80080FCF7D3 +:1085B000B5FB002800D0FFDFBDE8FC8770B5D84CC4 +:1085C000054639B9012D05D1E078401CC0B2E070F4 +:1085D000012820D8A16928468847E0B16179D148AF +:1085E00031B1012D04D1417811B90178C90612D5F4 +:1085F000A17981B98DB9CA4910310978CA0602D466 +:108600000078C00607D5A08928B9A06A28B9608972 +:1086100018B1C80601D4012070BD002070BD10B58E +:10862000BF4CA06A00B9FFDF6289D4E90910D21CEF +:10863000F4F77FFEA06A606210BD2DE9F0470600E6 +:10864000B748B74D00F134004468686A04F170041B +:10865000477801D0012E03D1296B02F0EDF8687044 +:1086600068784FF000084FF0010938B1012816D0A2 +:1086700002282FD0032844D0FFDFE5E5012E30D0BB +:10868000FFF7CDFF39460122286BF7F75BF926E0AB +:1086900084F8078030E000BF84F807902CE0012EBA +:1086A00008D0FFF7BCFF39460022286BF7F74AF9DC +:1086B000022EE2D0D4E91401401C41F10001C4E9CA +:1086C0001401E079012802D084F80790BCE584F811 +:1086D0000780B9E5012E04D0286BF7F7B7FA022E10 +:1086E000CBD0D4E91401401C41F10001C4E91401CC +:1086F000E0790128D0D1CBE7287ABDE8F047F2F73E +:1087000053BC012EB9D0286BF7F7A0FAF4E770B587 +:108710008349834A343100264C68516A01257034FC +:108720000B7803F00303012B14D0022B12D0032B80 +:1087300003D0907940F0040023E0A570D08940F484 +:108740000060D081012000F010F91CE0E67170BDDE +:10875000E57170BD4978B1B1D38943F40063D38129 +:10876000936A002BF5D0FB2908D8D17921B1BDE857 +:108770007040802000F0F4B8057070BD907940F032 +:108780001000907170BDE0790128E1D1DEE770B58D +:108790006348634D3430446828787034012800D031 +:1087A000FFDFA07838B10020A0700146042000F05F +:1087B000DCF801202071296A0878C043800705D1C0 +:1087C000A889400502D5022000F0CFF80121002041 +:1087D000FFF7F4FE10B1BDE87040BCE5BDE87040A5 +:1087E0000020CFE42DE9F84F4D4F4D4C3437002693 +:1087F0007D6882468DF8006020787035022800D0B0 +:10880000FFDFE08940F40070E0810020FFF7A2FC68 +:10881000A87CBAF1000F5BD0FBF76AFCFBF75AFCAF +:108820004FF0010968B9A87C58B1606A417841B13C +:108830000078E979C0F3C000884202D184F8029040 +:1088400059E0606A4178618121B1206BF7F734F813 +:10885000A06200E0A662E089B84640F02000E08116 +:10886000E670786800F17007064690F82C00012841 +:1088700016D1FCF7B7F83946304600F010FD78B154 +:10888000D8F804003188A0F80A12397A80F80C125E +:10889000797A80F80D1280F80892207AF2F784FB3A +:1088A000606AA9790078C0F38000884205D000F0A2 +:1088B00094F8E08940F48070E081606AE97900789A +:1088C000C0F3C00088420AD16846FFF720FF06E0E7 +:1088D00008B1FBF73EFCE08940F04000E0815146E2 +:1088E0000120FFF76BFE00289DF8000007D010B1B3 +:1088F0000020FFF7A2FEFFF72EFDBDE8F88F10B1B4 +:108900000120FFF79AFEFFF764FD9DF800000028A4 +:10891000F3D00220FFF791FEEFE70000780D002072 +:108920001C010020780B002070B5064654480D4607 +:108930004468FBF773FC034694F8642029463046EC +:10894000BDE87040FDF706BAF6F7C5BE00B50128D0 +:1089500002D0022802D0FFDF002000BD012000BDB0 +:10896000474A0021343A52691047454A343A9389BC +:108970000343938152691047414810B5446804F19C +:108980007001087B24280ED0497B24290BD01F2896 +:108990000CD020280AD0222912D094F86400042890 +:1089A00000D1082010BD94F8B01106E0222907D0AC +:1089B00094F8C60100F04FF8014694F8640008E00E +:1089C00094F8C60114F85D1F084000F044F8014611 +:1089D000E079BDE8104000F048B870B52848446818 +:1089E00094F875007034002832D0022810D1244D3C +:1089F000343DE86AF6F79BFE00B9FFDFD4E91201C7 +:108A0000401C41F10001C4E91201287AF2F7CCFAC6 +:108A100000256571207920B1257100211020FFF714 +:108A2000A4FFE07878B1E570FCF7BEFA00B9FFDF8B +:108A300000210820FFF799FFD4E91201401C41F101 +:108A40000001C4E91201A079012802D00120A0711F +:108A500070BDA57170BDC10701D0012070478007AE +:108A600001D50220704700207047002904D001285A +:108A700003D0012901D00220704701207047000077 +:108A8000500100202DE9F0410F4606460024FE4D1E +:108A90000FE000BF05EBC40090F85311B14206D1BE +:108AA0000622394600F5AA70F4F716FC38B1641CAA +:108AB000E4B22878A042EDD81020BDE8F08120462D +:108AC000FBE7F0B50746F04816460478621C0270D2 +:108AD00000EBC4050868C5F854018888A5F858015A +:108AE000102C00D3FFDF85F8537185F85A612046BA +:108AF000F0BD70B5054600F017FA10281CD1E24C05 +:108B00002078401EC0B22070A84215D004EBC002ED +:108B100004EBC50102F58070D2F85321C1F853214E +:108B2000D0F85700C1F85701207800F0FDF910285F +:108B300002D0204480F8035170BD2DE9F047D24C9B +:108B40000646A719A078401EC5B2A57097F8038104 +:108B5000AE422AD004EB051A04EB06190AF1030110 +:108B600009F103001022F4F7E4FB0AF1830109F193 +:108B700083001022F4F7DDFB601905EB450290F845 +:108B8000031187F8031106EB460104EB420204EBE4 +:108B90004101D2F80B31C1F80B31B2F80F21A1F825 +:108BA0000F2190F83B0187F83B0104EBC80090F8D7 +:108BB0005A01C00703D14046BDE8F04799E7BDE838 +:108BC000F087B1498A78824203D9084490F843017A +:108BD00070470020704710B540F2D3120021AA4818 +:108BE000F4F7D1FB0822FF21A848F4F7CCFBA748F3 +:108BF00000210C38417081704FF46171818010BD8B +:108C000070B50D460646FFF73DFF9F4C102807D074 +:108C100004EBC00191F85A11C90701D0012070BDC1 +:108C20006178082910D2102808D004EBC000012177 +:108C300080F85A116078401C6070EFE701222946E5 +:108C40003046FFF73EFFF5E7002070BD70B58E4D52 +:108C50002878401E44B20AE005EBC40090F85A019F +:108C6000C00702D0E0B200F070F9641E64B2002CBC +:108C7000F2DA864900200C39887070BD82498A7802 +:108C8000824203D901EB0010C01C704700207047DE +:108C90002DE9F047984691460C460546FFF7F2FE4F +:108CA0000646102805D000F03FF9102801D0122008 +:108CB00085E7754FB87808282AD2102E05D10022F2 +:108CC00021462846FFF7FDFE0646BC781022601CB0 +:108CD000B87007EB0415E81C494600F0B5FA05F139 +:108CE00083001022414600F0AFFA1021404600F008 +:108CF0009CFA3C44102184F84301484604F59674DC +:108D000000F093FAE07704F8296C0020E07356E74E +:108D1000072054E75C4810B58078401E44B204E058 +:108D2000E0B2FFF70AFF641E64B2002CF8DA10BD4F +:108D300056490C394870704754480C384078704791 +:108D400040B14AF2B811884204D850490C398880A1 +:108D500001207047002070474C480C3880887047CD +:108D600010B5FFF78FFE102803D000F0DDF81028B3 +:108D700000D1082010BD44498A78824203D901EB12 +:108D8000001083307047002070473F4B10B59C782F +:108D900084420FD9184490F8030103EBC00090F807 +:108DA00053310B70D0F854111160B0F85801908015 +:108DB000012010BD002010BD334A114491F8032159 +:108DC00032490C390A700268C1F80620808848814F +:108DD000704770B52D4B0C3B5B7873B12A4B9C7878 +:108DE0005CB1451821460AB1D81C01E02648833001 +:108DF0002A46FBF794F8012070BD002070BD10B525 +:108E0000FBF7DBF818B1BDE81040FBF7E6B8FF2030 +:108E100010BD1D498A78824209D9084490F803019F +:108E200001EBC00090F85A0100F0010070470020EB +:108E300070472DE9F04100242546134E2CE02846CA +:108E400000F072F88046FFF719FF06EBC50797F8A8 +:108E50005A11C9071ED060B1B8F1100F05D006EB4A +:108E6000080191F83B11012903D0102100F0DDF930 +:108E700080B10649204601F80480641C97F853210C +:108E800007F5AA71E4B203E0A80D002064010020F8 +:108E9000FBF7B5FA6D1CEDB23078A842CFD80CE6DE +:108EA000012296E72E4A01EB410102EB41010268E3 +:108EB000C1F80B218088A1F80F01704701461022EC +:108EC000284800F0C1B92748704725498A7882426E +:108ED00003D9084490F83B0108B1002070470120F5 +:108EE00070472DE9F0410E460746154606213046EB +:108EF00000F09BF91A4C58B1002004E02118401CE6 +:108F000081F83B51C0B2A1788142F7D80120D4E565 +:108F100031463846FFF724FF082803D0204480F864 +:108F20003B51F3E70020C8E50D4910B5034600208A +:108F30008A7806E00C1894F803419C4204D0401C47 +:108F4000C0B28242F6D8102010BD05494A78521EA0 +:108F50004A7001EBC001002281F85A21C9E50000E6 +:108F6000A80D00207B0F002000F00101400800F058 +:108F700001021144400800F001021144400800F0D1 +:108F800001021144400800F001021144400800F0C1 +:108F900001021144400800F00102114401EB5000AD +:108FA000704710B500240485848DDB004C43B3FB6F +:108FB000F2F394FBF2F45B1C84859BB203FB02F496 +:108FC0004385B4F5C84F01DD5B1E43854FF4FA437A +:108FD000B3FBF2F35B1C0386438C02EBC3035B1E03 +:108FE000B3FBF2F30384C38B4B43B3FBF2F1C183B6 +:108FF00010BD70B50546087B0E4600F01F000873D3 +:109000000020687604463019007AFFF7ADFF291971 +:10901000641C0875697EE4B208446876052CF2D3B6 +:10902000C0B2252800D9FFDF70BD0023C38342846E +:1090300001EBC202521EB2FBF1F101847047F0B5A0 +:109040006FF01F02010C02EA90261F25A1F5AA402D +:1090500054380DD0A1F5AA40553809D0A1F52850B3 +:10906000AA3805D0A1F52A40AA3801D0012000E095 +:10907000002000221346144682EA0107FF431F43E3 +:109080007F1C0FD006F00107520842EAC73205F0F4 +:1090900001075B0876086D08641C43EAC733162C89 +:1090A000EAD3F0BD0020F0BD2DE9F04101260446D1 +:1090B000002500F1700751B1012974D0022971D047 +:1090C00003296CD101463846BDE8F04191E7802282 +:1090D00000213846F4F757F9BD71FD713D737D737A +:1090E000FD733D747D71BD76FD76212087F84000CB +:1090F000412087F84100FE2087F8740027887022FD +:1091000000212046F4F73FF9278084F8646084F852 +:109110006560282084F8660004F1300000210746CD +:1091200000F071FC1B21F9833984A4F85210A4F8D3 +:1091300054104FF4A470A4F85600A4F858006673B5 +:109140004FF448606080A4F8F050A4F8F250A4F8FE +:10915000F450A4F8F650A4F8F850A4F8FA5084F8A3 +:10916000FD5084F8FF50A4F8065184F80451A4F887 +:109170001851A4F81A5184F8BA5184F8BB5184F8F4 +:10918000C45184F8C55184F8895184F8905184F809 +:10919000935184F8AC51C4F8A451C4F8A851BDE867 +:1091A000F08100E025E0A4F8065184F8FE506188C3 +:1091B000FE480A460844B0FBF1F0A4F890004BF6D4 +:1091C0008030A4F89200E3883846FFF7EAFE214693 +:1091D0003846FFF70EFFFAF7F9F920B1D4F80E0080 +:1091E000FFF72DFF10B184F88851D8E784F8886123 +:1091F000D5E74188B4F8B831B4F8B4213846BDE8B1 +:10920000F041CEE6437E0BB1252B01D912207047E9 +:109210002AB14B7B2BB1012B05D01F2070470020BA +:10922000704700F0EEB900F092B910B500231A466D +:1092300003E0845C2343521CD2B28A42F9D30BB1BF +:10924000002010BD012010BD30B5134606E0CC183B +:10925000D51A14F8014C5B1E4455DBB2002BF6D135 +:1092600030BD70B50E468CB0144601461D46102226 +:109270006846FFF7E9FF1022314604A8FFF7E4FF34 +:10928000684600F059FD08A94FF0100228461CB1AD +:10929000FFF7DAFF0CB070BDF4F74BF8FAE738B51A +:1092A00005460C466846FBF7B2FB002820D09DF926 +:1092B00000002072E17E617294F90A100022411AC6 +:1092C00000D5494295F82D308B4210DCFF2B0ED093 +:1092D000E17A491CC9B2E17295F82E30994202D860 +:1092E000A17A7F2903D1A0720020E07201221046EA +:1092F00038BD0C2813D00B2811D00D280FD01F28F3 +:109300000DD020280BD0212809D0222807D02328CF +:1093100005D0242803D0262801D000207047012042 +:10932000704710B5A2F10F030C2941D2DFE801F01C +:1093300006080D1215181C40243E272EAAB337E04C +:10934000072A37D0082A35D032E00C2A32D00B2A2F +:1093500030D02DE00D2A2DD02AE00C2B2AD927E081 +:10936000103A0B2A26D923E0032B23D990F8380092 +:10937000F0B11B2A1ED91BE0062A1BD018E01C2ABC +:1093800018D01D2A16D01E2A14D011E01F2A11D081 +:10939000202A0FD0212A0DD0222A0BD0232A09D02F +:1093A000242A07D0262A05D002E003E00E2A01D0A5 +:1093B000002010BD012010BD2DE9F0410C460546EE +:1093C00040F23577866805E0F8F7F7FF3946F8F799 +:1093D000C8FCA8602846F9F7A5F90028F4D08CB19C +:1093E0003046A968F9F7EAFC00280BDD2044401E4E +:1093F000B0FBF4F707FB04F13046F8F7B2FCA860C5 +:109400003846CCE60020CAE670B5044690420BD23E +:10941000101B642800D2642025188D4205D8042131 +:10942000F9F7FFFC08B1284670BD204670BD11F069 +:109430000C0F19D04A074FF41671002A03DA00BF47 +:109440004FF0100201E04FF0400201DA4FF09601B8 +:1094500001F5BC71A0EB0103884202D993FBF2F045 +:1094600000E0002080B27047022904D06FF00D01A7 +:1094700001EBD000F6E76FF00E0101EB9000F1E791 +:109480000844184498300AB1042100E0002108443F +:10949000704701207047106808667047C10701D007 +:1094A00001207047810701D502207047400701D590 +:1094B00008207047002070472DE9F0410546164608 +:1094C00088460124084600F054FA0746404600F05A +:1094D00052FA0346FFF7E2FF02463846FFF7DEFF87 +:1094E00052EA000100D10024990700D10022B907F7 +:1094F00000D1002095F86410914200D10022327012 +:1095000095F86510814200D10020707072B968B979 +:10951000404600F032FAB5F87010401A00B247F633 +:10952000FE71884201DC002800DC0024204636E67B +:1095300010B540F6C4125410012903D0022902D0FC +:10954000FFDF02E008B1104610BD204610BDF0B5A7 +:109550000C7C8B7BCD7B5C404B7C02886B4044EA6F +:109560000324467E62400023D5B2120A95FAA5F57F +:1095700092FAA2F22D0E120E45EA022202EB02121C +:109580005B1C2244DBB292B2032BEDD36240252355 +:10959000B2FBF3F403FB142301EBD304837603F053 +:1095A00007070125247A05FA07F701E0FFDB05002C +:1095B0003C4201D0C3761AE05643320C521CD2B260 +:1095C000002403191B7D934213D300230E19367A0E +:1095D00005FA03F73E4201D0521ED2B222B15B1C03 +:1095E000DBB2082BF4D306E003EBC401C176002004 +:1095F000F0BDD21AD2B2641CE4B2052CE1D31F2014 +:10960000F0BDF0B5837E0C7E012504FB02322523DC +:10961000B2FBF3F403FB142201EBD204827602F0D6 +:109620000703247A05FA03F31C4201D0C2761EE038 +:10963000437EB2FBF3F403FB1422521CD2B200238C +:10964000C418247D944214D30024CE1896F80860E0 +:1096500005FA04F73E4201D0521ED2B222B1641C78 +:10966000E4B2082CF4D306E004EBC301C176002079 +:10967000F0BD121BD2B25B1CDBB2052BE0D31F2066 +:10968000F0BD000030B50546007801F00F0220F073 +:109690000F0010432870092912D2DFE801F00507F6 +:1096A00005070509050B0F0006240BE00C2409E053 +:1096B000222407E001240020E87003E00E2401E0EA +:1096C0000024FFDF6C7030BD007800F00F007047A1 +:1096D0000A6840F8032F8988818070470A6840F83B +:1096E000092F8988818070470278402322F0400248 +:1096F00003EA81110A4302707047027822F0800267 +:1097000042EAC1120270704770B514460E46054613 +:109710001F2A00D9FFDF2246314605F10900F3F781 +:1097200008FEA41D6C7070BD70B514460E4605464B +:109730001F2A00D9FFDF2246314605F10900F3F761 +:10974000F8FDA41D6C7070BD30B5017801F00F01FB +:10975000032920D0052921D14578B0F81910B0F897 +:109760001B40B0F81730827D222D17D1062915D362 +:109770004FF44865A94211D8B4F5FA7F0ED26AB108 +:10978000082A0BD88A4209D28B4207D8B0F81D00AC +:10979000A84205D902E040780C2801D0002030BD55 +:1097A000012030BD4078704700B5027801F0030316 +:1097B00022F003021A430270012905D0022903D0C6 +:1097C000032903D0FFDF00BD002100E0012141702B +:1097D00000BD00B5027801F0030322F003021A4332 +:1097E0000270012905D0022903D0032903D0FFDF2D +:1097F00000BD002100E00121417000BD007800F0B3 +:1098000003007047417841B1C078192803D2704AEB +:10981000105C884201D1012070470020704730B5AC +:1098200001240546C170192902D26948445C02E04E +:10983000FF2900D0FFDF6C7030BD70B514460E46B6 +:1098400005461B2A00D9FFDF6C7022463146E81C12 +:10985000BDE87040F3F76DBDB0F807007047B0F891 +:1098600009007047B0F80B00704770B5B0F80720DA +:10987000B0F80940B0F805300179951F40F67A46F6 +:10988000B54210D8B4F5FA7F0DD261B108290AD8D3 +:10989000914208D2934206D8B0F80B00B0F5486F59 +:1098A00001D8012070BD002070BD42680A60007AB6 +:1098B00008717047B0F80900704700797047426836 +:1098C0000A6080684860704780890880704750F857 +:1098D0000E2F0A60406848607047D0F81600086094 +:1098E00070470A6842604968816070470968C160D2 +:1098F00070470079704742680A6080684860704726 +:109900000171090A417170478171090AC17170477B +:109910000172090A417270478172090AC172704767 +:1099200080887047C08870470089704740897047B9 +:1099300001891B290CD341894FF4A472914207D3AA +:1099400081881B2904D3C088904201D3012070472D +:10995000002070470A684260496881607047017959 +:10996000490704D04079400701D00120704700200A +:1099700070470079704740797047C08870470CB5D0 +:1099800014A2D2E90012CDE900120179407901F068 +:10999000070269461DF80220012A04D800F00700DA +:1099A000085C012801D900200CBD01200CBD01710B +:1099B000704700797047417170474079704730B502 +:1099C0000C460546FB2900D9FFDF6C7030BD000056 +:1099D000C0B20100000101020102020310B58C882F +:1099E0000A894B88C988A0F84430A0F84810A0F82C +:1099F0004640A0F84A2010BD10B5029C8181C2816A +:109A00000382448210BD1B2202838282C281828132 +:109A100042800281028042848284828300290AD1AA +:109A20004FF4A4714183C18241820182C18041818E +:109A30008180C18401857047F0B5B0F84830818FCE +:109A4000458EC48E8B4200D30B46B0F84A10B0F856 +:109A50004020914200D20A464386C286068F478F35 +:109A600000F130019E4200D21E46974200D21746B6 +:109A70000E814F81AB4201D1A24201D0012400E00E +:109A80000024B0F84420C38F068E858E9A4200D3FE +:109A90001A46B0F84670B0F842309F4200D23B46BA +:109AA00090F85A70022F08D1964200D232469D4259 +:109AB00000D22B46002780F85A700A808B80B24271 +:109AC00001D1AB4201D0012000E000202043F0BDD5 +:109AD000508088899080C889D080088A1081488AFF +:109AE000508101201070704770B502884A80048E42 +:109AF0008C80838ECB80428E0A81C58E4D81B0F8DA +:109B00005660AE420BD1B0F85250954207D1B0F832 +:109B100058509D4203D1B0F85430A34201D00123E4 +:109B200000E000230B73A0F852204A89A0F85620C9 +:109B30008A88A0F85420CA88A0F85820012008700C +:109B400070BD70B50C46088E91F8641000F016F8E0 +:109B5000A18E0546A94200D20D46208F94F86510CB +:109B600000F00CF8618F814200D208460146284679 +:109B7000BDE8704000221346FFF782BC11F00C0FC5 +:109B800004D04FF4747101EB801006E0022902D07A +:109B9000C000703001E080003C3080B270470000AF +:109BA0002DE9F0410C4612490D68114A114908325D +:109BB0001160A0F12001312901D301200CE04128DE +:109BC00010D040CC0C4F94E80E0007EB8000241F0F +:109BD00050F8807C3046B84720600548001D05607D +:109BE000BDE8F081204601F0B9F8F5E7062070479E +:109BF0001005024001000001DCB2010010B555481B +:109C0000F9F704FD00B1FFDF5248401CF9F7FEFCF4 +:109C1000002800D0FFDF10BD2DE9F14F4E4E82B07D +:109C2000D6F800B001274B48F9F7F8FCDFF824819B +:109C300020B9002708F10100F9F706FD474C00257F +:109C40004FF0030901206060C4F80051C4F80451CA +:109C5000029931602060DFF808A11BE0DAF800000B +:109C6000C00617D50E2000F068F8EFF3108010F052 +:109C7000010072B600D001200090C4F80493D4F81B +:109C8000000120B9D4F8040108B901F071F8009876 +:109C900000B962B6D4F8000118B9D4F8040100285C +:109CA000DCD0D4F804010028CCD137B1C6F800B01C +:109CB00008F10100F9F7B2FC11E008F10100F9F731 +:109CC000ADFC0028B6D1C4F80893C4F80451C4F818 +:109CD00000510E2000F031F81E48F9F7B5FC0020C5 +:109CE000BDE8FE8F2DE9F0438DB00D4606460024F9 +:109CF0000DF110090DF1200818E000BF04EB440736 +:109D0000102255F827106846F3F713FB05EB870779 +:109D1000102248467968F3F70CFB6846FFF77CFF92 +:109D200010224146B868F3F704FB641CB442E5DB3B +:109D30000DB00020BDE8F0836EE7002809DB00F0DD +:109D40001F02012191404009800000F1E020C0F88D +:109D5000801270476C01002004E5004000E00040E4 +:109D600010ED00E0B64900200870704770B5B54DA1 +:109D700001232B60B44B1C68002CFCD0002407E0AE +:109D80000E6806601E68002EFCD0001D091D641CB4 +:109D90009442F5D30020286018680028FCD070BDDC +:109DA00070B5A74E0446A94D3078022800D0FFDFD9 +:109DB000AC4200D3FFDF7169A548012903D847F2FF +:109DC0003052944201DD03224271491C7161291B0A +:109DD000C1609F49707800F030F9002800D1FFDFA2 +:109DE00070BD70B5964C0D466178884200D0FFDF9B +:109DF000964E082D4BD2DFE805F04A041E2D4A4A44 +:109E00004A382078022800D0FFDF03202070A07895 +:109E1000012801D020B108E0A06800F041FD04E075 +:109E200004F1080007C8FFF7A1FF05202070BDE876 +:109E30007040F8F7C0B9F8F7C0FA01466068F8F763 +:109E4000BDFFB04202D2616902290BD30320F9F7AA +:109E50000EFB12E0F8F7B1FA01466068F8F7AEFFC2 +:109E6000B042F3D2BDE870409AE7207802280AD0C9 +:109E7000052806D0FFDF04202070BDE8704000F008 +:109E8000D2B8022000E00320F9F7F1FAF3E7FFDF90 +:109E900070BD70B50546F8F790FA694C606020789F +:109EA000012800D0FFDF6A490120087000200871F6 +:109EB00004208D6048716548C86002202070607879 +:109EC00000F0BBF8002800D1FFDF70BD10B55C4C7E +:109ED000207838B90220F9F7E0FA18B90320F9F729 +:109EE000DCFA08B1112010BD5A48F8F7E1F96070AA +:109EF0001F2804D0012020700020606110BD0320C5 +:109F000010BD2DE9F0471446054600EB84000E46CF +:109F1000A0F1040800F0D7FC07464FF0805001691B +:109F20004F4306EB8401091FB14201D2012100E039 +:109F3000002189461CB10069B4EB900F02D90920B9 +:109F4000BDE8F0872846E7F76FF990B9A84510D328 +:109F5000BD4205D2B84503D245EA0600800701D0CC +:109F60001020EDE73046E7F75FF910B9B9F1000FBF +:109F700001D00F20E4E7384838490068884205D00E +:109F8000224631462846FFF7F1FE1AE0FFF79EFF12 +:109F90000028D5D12A4800218560C0E9036481707A +:109FA000F9F7DDFA08B12E4801E04AF2F870604393 +:109FB0004FF47A7100F2E730B0FBF1F01830FFF7A0 +:109FC00068FF0020BCE770B505464FF0805004697B +:109FD0006C432046E7F728F908B10F2070BD00F068 +:109FE00072FCA84201D8102070BD1B481B490068B4 +:109FF000884203D0204600F053FC10E0FFF766FFD4 +:10A000000028F1D10E48012184608170F9F7A7FA88 +:10A0100008B1144800E014481830FFF73AFF002058 +:10A0200070BD00F053BE10B5054C6078F8F7A2F98A +:10A0300000B9FFDF0020207010BDF8F7EFBB000073 +:10A040007001002004E5014000E40140105C0C00B8 +:10A050008C0F0020E39D010058000020BEBAFECA0C +:10A0600050280500645E0100A85B01007149096881 +:10A070000160002070476F4908600020704701218F +:10A080008A0720B1012804D042F20400704791678A +:10A0900000E0D1670020704767490120086042F264 +:10A0A0000600704708B50423634A1907103230B11F +:10A0B000C1F80433106840F0010010600BE0106834 +:10A0C00020F001001060C1F808330020C1F8080139 +:10A0D0005A4800680090002008BD011F0B2909D8CC +:10A0E000554910310A6822F01E0242EA4000086019 +:10A0F0000020704742F205007047000100F18040E7 +:10A10000C0F8041900207047000100F18040C0F839 +:10A11000081900207047000100F18040D0F80009C4 +:10A12000086000207047012801D907207047444A81 +:10A1300052F8200002680A4302600020704701289C +:10A1400001D9072070473E4A52F8200002688A432E +:10A15000026000207047012801D907207047384A63 +:10A1600052F820000068086000207047020035495E +:10A170004FF0000003D0012A01D0072070470A6089 +:10A18000704708B54FF40072510510B1C1F80423AF +:10A1900008E0C1F808230020C1F8240127481C303A +:10A1A00000680090002008BD08B58022D10510B1DC +:10A1B000C1F8042308E0C1F808230020C1F81C01FD +:10A1C0001E48143000680090002008BD08B54FF408 +:10A1D0008072910510B1C1F8042308E0C1F808238A +:10A1E0000020C1F8200115481830006800900020B8 +:10A1F00008BD10493831096801600020704770B50A +:10A200004FF080450024C5F80841F9F7B4F910B9BA +:10A21000F9F7BBF928B1C5F82441C5F81C41C5F8C8 +:10A2200020414FF0E020802180F800140121C0F887 +:10A23000001170BD0004004000050040080100400E +:10A24000A0B30100780500406249634B0A68634986 +:10A250009A42096801D1C1F31001016000207047E2 +:10A260005C495D4B0A685D49091D9A4201D1C0F302 +:10A2700010000860002070475649574B0A6857493C +:10A2800008319A4201D1C0F31000086000207047E5 +:10A2900030B5504B504D1C6842F20803AC4202D01E +:10A2A000142802D203E0112801D3184630BDC300A0 +:10A2B0004B481844C0F81015C0F81425002030BDD4 +:10A2C0004449454B0A6842F209019A4202D00628E5 +:10A2D00002D203E0042801D308467047404A012116 +:10A2E00042F83010002070473A493B4B0A6842F26E +:10A2F00009019A4202D0062802D203E0042801D3C1 +:10A3000008467047364A012102EBC0004160002038 +:10A31000704770B52F4A304E314C156842F2090330 +:10A3200004EB8002B54204D0062804D2C2F800181B +:10A3300007E0042801D3184670BDC1F31000C2F82D +:10A340000008002070BD70B5224A234E244C1568C9 +:10A3500042F2090304EB8002B54204D0062804D27D +:10A36000D2F8000807E0042801D3184670BDD2F8DF +:10A370000008C0F310000860002070BD174910B538 +:10A380000831184808601120154A002102EBC0036B +:10A39000C3F81015C3F81415401C1428F6D3002078 +:10A3A00006E0042804D302EB8003C3F8001807E09A +:10A3B00002EB8003D3F80048C4F31004C3F800484C +:10A3C000401C0628EDD310BD04490648083108603A +:10A3D0007047000058000020BEBAFECA00F50140D8 +:10A3E00000F001400000FEFF814B1B6803B198475D +:10A3F000BFF34F8F7F4801687F4A01F4E06111434A +:10A400000160BFF34F8F00BFFDE710B5EFF3108081 +:10A4100010F0010F72B601D0012400E0002400F01A +:10A42000DDF850B1E6F7A4FFF7F761FDF8F7C1FFDB +:10A43000F9F7E2FC71490020086004B962B6002017 +:10A4400010BD2DE9F0410C460546EFF3108010F0E9 +:10A45000010F72B601D0012600E0002600F0BEF820 +:10A4600020B106B962B60820BDE8F08100F006FD13 +:10A47000E6F782FF0246002001234709BF0007F1EB +:10A48000E02700F01F01D7F80071CF40F9071BD07B +:10A49000202803D222FA00F1C90727D141B20029AE +:10A4A00004DB01F1E02191F8001405E001F00F0157 +:10A4B00001F1E02191F8141D4909082916D203FA87 +:10A4C00001F717F0EC0F11D0401C6428D5D3F9F731 +:10A4D00071FC4B4A4B490020F9F7B4FC47494A4804 +:10A4E00008602046E6F7A7FE60B904E006B962B648 +:10A4F00041F20100B8E73E4804602DB12846E6F776 +:10A50000E7FE18B1102428E0404D19E02878022811 +:10A5100002D94FF4805420E007240028687801D045 +:10A52000D8B908E0C8B1202817D8A878212814D8AD +:10A53000012812D001E0A87878B9E8780B280CD867 +:10A54000E6F71AFF2946F8F71AFFF7F78FFC00F035 +:10A55000EDF92846E6F7DAFE044606B962B61CB104 +:10A56000FFF753FF20467FE700207DE710B5044644 +:10A5700000F034F800B101202070002010BD244903 +:10A5800008600020704770B50C4622490D682149CB +:10A59000214E08310E60102807D011280CD0122847 +:10A5A0000FD0132811D0012013E0D4E90001FFF7E8 +:10A5B00048FF354620600DE0FFF727FF00252060AB +:10A5C00008E02068FFF7D2FF03E011492068086027 +:10A5D000002020600F48001D056070BD07480A4933 +:10A5E0000068884201D101207047002070470000B8 +:10A5F000880100200CED00E00400FA05580000205E +:10A600004810002000000020BEBAFECAA8B3010016 +:10A6100004000020100502400100000100B585493A +:10A6200010F1080F19D00CDC10F1280F1DD010F11B +:10A63000140F18D010F1100F13D010F10C0F08D117 +:10A640000DE010F1040F06D080B103280ED00428CD +:10A650000CD0FFDF00BDFC2008E0F82006E0F4206D +:10A6600004E0F02002E0EC2000E0D820086000BD0B +:10A67000704900B5091D012803D0022803D0FFDF6F +:10A6800000BD032000E00420086000BD2DE9F0417A +:10A6900005460C4617461046F9F76CFD4FF47A76DE +:10A6A000022C10D0012C10D040F63401441838464A +:10A6B000F9F7C5FD204449F679710844B0FBF6F07E +:10A6C000281ABDE8F0813146F0E74FF4C861EDE7A4 +:10A6D00070B505460C460846FAF7F4FA022C10D07D +:10A6E000012C11D04FF4AF5149F6CA62511A0844F7 +:10A6F0004FF47A7100F2E140B0FBF1F0281A801EAD +:10A7000070BD40F24C41EFE740F63401ECE770B524 +:10A71000064615460C460846FAF7D4FA4FF47A7105 +:10A7200040F63402022D11D0012D11D01346022C17 +:10A7300011D0012C01D04FF4AF529A1A104449F6AF +:10A74000FC621044B0FBF1F0301A70BD0B46EEE72E +:10A750004FF4C863EBE740F24C42EEE770B50446B5 +:10A760000E460846F9F706FD05463046F9F767FD3F +:10A7700028444AF2AB3108444FF47A71B0FBF1F04F +:10A78000201A801E70BD2DE9F04106461D460C467C +:10A790001746104600F045F806EB4601C1EBC6111E +:10A7A00000EBC100022C15D0012C16D04FF4AF5194 +:10A7B00046182046FAF786FA301A4FF47A7100F6F6 +:10A7C000B730B0FBF1F43846F9F741FD2044284496 +:10A7D000401D76E740F24C41EAE740F63401E7E7F6 +:10A7E00070B5044615460E460846F9F7C3FC04EB5F +:10A7F0004401C1EBC411C0EBC1043046F9F71FFDA1 +:10A80000241A284600F00DF820444FF47A7100F61F +:10A81000B730B0FBF1F42846F9F719FD2044401D8C +:10A8200070BD082803D0042801D0F9F7A3BC4EF668 +:10A83000283070470C150040F0B585B00C46054631 +:10A84000FEF7DCFF07466E78204603A96A46F5F757 +:10A8500004FA81198EB258B1012F02D0032005B03D +:10A86000F0BD204604AA0399F5F719F9049D01E00B +:10A87000022F0FD1ED1C042E0FD32888BDF8001035 +:10A88000001D80B2884201D8864202D14FF00000FC +:10A89000E5E702D34FF00200E1E74FF00100DEE709 +:10A8A0000B4A022111600B490B68002BFCD0084BAE +:10A8B0001B1D186008680028FCD000201060086884 +:10A8C0000028FCD070474FF080504069704700006E +:10A8D00004E5014000E4014002000B464FF0000097 +:10A8E000014620D0012A04D0022A04D0032A0DD127 +:10A8F00003E0012002E0022015E00320072B05D22F +:10A90000DFE803F00406080A0C0E10000720704769 +:10A91000012108E0022106E0032104E0042102E015 +:10A92000052100E00621F7F7E4BC0000E24805211C +:10A9300081700021017041707047E0490A78012A56 +:10A9400005D0CA681044C8604038F8F704BA8A686D +:10A9500010448860F8E7002819D00378D849D94A0C +:10A9600013B1012B0ED011E00379012B00D06BB98C +:10A9700043790BB1012B09D18368643B8B4205D22B +:10A98000C0680EE00379012B02D00BB100207047A4 +:10A9900043790BB1012BF9D1C368643B8B42F5D2EB +:10A9A00080689042F2D801207047C44901220A70A1 +:10A9B000027972B100220A71427962B104224A71AD +:10A9C000826852328A60C068C860BB4902208870C1 +:10A9D00070470322EFE70322F1E770B5B74D044655 +:10A9E00000202870207988B100202871607978B122 +:10A9F0000420B14E6871A168F068F7F7B2F9A86059 +:10AA0000E0685230E8600320B07070BD0120ECE7D0 +:10AA10000320EEE72DE9F04105460226F8F7C5F8D8 +:10AA2000006800B1FFDFA44C01273DB12878B8B120 +:10AA3000012805D0022811D0032814D027710DE079 +:10AA40006868C82808D30421F8F7EBF920B16868D2 +:10AA5000FFF773FF012603E0002601E000F014F980 +:10AA60003046BDE8F08120780028F7D16868FFF70C +:10AA700072FF0028E2D06868017879B1A0780428D4 +:10AA800000D0FFDF01216868FFF7A7FF8B49E0785E +:10AA900000F003F90028E1D1FFDFDFE7FFF785FFD2 +:10AAA0006770DBE72DE9F041834C0F46E17888427F +:10AAB00000D0FFDF00250126082F7DD2DFE807F058 +:10AAC000040B28283D434F57A0780328C9D00228FB +:10AAD000C7D0FFDFC5E7A078032802D0022800D046 +:10AAE000FFDF0420A07025712078B8BB0020FFF79D +:10AAF00024FF72480178012906D08068E06000F0E8 +:10AB0000F9F82061002023E0E078F7F782FDF5E70F +:10AB1000A078032802D0022800D0FFDF207880BB75 +:10AB2000022F08D05FF00500F8F7A1FCA0780328F9 +:10AB300040D0A57095E70420F6E7A078042800D05F +:10AB4000FFDF022004E0A078042800D0FFDF01200E +:10AB5000A1688847FFF75EFF054633E003E0A07871 +:10AB6000042800D0FFDFBDE8F04100F08DB8A078E8 +:10AB7000042804D0617809B1022800D0FFDF2078D2 +:10AB800018B1BDE8F04100F08AB8207920B1062064 +:10AB9000F8F76DFC25710DE0607840B14749E07829 +:10ABA00000F07BF800B9FFDF65705AE704E007208A +:10ABB000F8F75DFCA67054E7FFDF52E73DB1012DC9 +:10ABC00003D0FFDF022DF9D14BE70420C0E70320BB +:10ABD000BEE770B5050004D0374CA078052806D133 +:10ABE00001E0102070BD0820F8F757FC08B11120D3 +:10ABF00070BD3548F7F75CFBE0701F2806D00121D7 +:10AC0000F8F730FA0020A560A07070BD032070BD79 +:10AC1000294810B5017809B1112010BD81780529A6 +:10AC200006D0012906D029B101210170002010BDF4 +:10AC30000F2010BD00F033F8F8E770B51E4C054644 +:10AC4000A07808B1012809D155B12846FFF783FE45 +:10AC500040B1287840B1A078012809D00F2070BDFC +:10AC6000102070BD072070BD2846FFF79EFE03E050 +:10AC700000212846FFF7B1FE1049E07800F00DF8FA +:10AC800000B9FFDF002070BD0B4810B5006900F06F +:10AC900029F8BDE81040F7F78EBAF7F7BFBD0648B0 +:10ACA00010B5C078F7F766FB00B9FFDF0820F8F7AA +:10ACB000DEFBBDE8104039E68C0100209C0F00202F +:10ACC0003D860100FF1FA107A5AA010010B5134C86 +:10ACD0002060201D0160114810300260001D0360DB +:10ACE000002010BD0E490A6848F202139A4302433D +:10ACF0000A6070470A4A116848F2021301EA030029 +:10AD0000994311607047054B02465B421020134483 +:10AD1000FC2B01D8116000207047000000060040A5 +:10AD2000C806024070477047704700001EF0040FCD +:10AD30000CBFEFF30880EFF30980014A10470000D1 +:10AD40005F3E010001B41EB400B5F8F7A9FD01B4DF +:10AD50000198864601BC01B01EBD0000826903490E +:10AD600081614FF0010010447047000045AD0100C3 +:10AD70000FF20C0000F10000694641F8080C20BFFA +:10AD800070470000FEDF18490978F9B904207146C0 +:10AD900008421BD10699154A914217DC06990229EF +:10ADA00014DB02394878DF2810D10878FE2807D054 +:10ADB000FF280BD14FF001004FF000020C4B184759 +:10ADC00041F201000099019A094B1847094B002BE9 +:10ADD00002D01B68DB6818474FF0FF3071464FF018 +:10ADE0000002034B1847000028ED00E000C00100FE +:10ADF000E9A3010004000020174818497047FFF735 +:10AE0000FBFFE6F7CBF900BD1548164909688842F3 +:10AE100003D1154A13605B68184700BD20BFFDE7EA +:10AE20000F4810490968884210D1104B18684FF03C +:10AE3000FF318842F2D080F308884FF02021884209 +:10AE400004DD0B48026803210A4302600948804779 +:10AE500009488047FFDF0000B00F0020B00F00203E +:10AE600000100000000000200400002000C00100CD +:10AE700014090040DD2F000009AE0100F0B4404687 +:10AE8000494652465B460FB402A0013001B5064860 +:10AE9000004700BF01BC86460FBC804689469246EB +:10AEA0009B46F0BC70470000091100000420714669 +:10AEB000084202D0EFF3098101E0EFF308818869CD +:10AEC00002380078102813DB20280FDB2C280BDB3E +:10AED0000A4A12680A4B9A4203D1602804DB094AE5 +:10AEE0001047022008607047074A1047074A10477A +:10AEF000074A12682C3212681047000058000020E0 +:10AF0000BEBAFECA7D130000A19B010087A5010007 +:10AF1000040000200D4B0E4908470E4B0C49084712 +:10AF20000D4B0B4908470D4B094908470C4B084985 +:10AF300008470C4B064908470B4B054908470B4B84 +:10AF4000034908470A4B02490847000019AC0000B2 +:10AF500059B00000A52F00000BA8000099A7000021 +:10AF6000A1AE0000991300004D7700001DB0000055 +:10AF70002DAD01005F8200000784000065850000A0 +:10AF8000C98500000386000037860000698600003E +:10AF90009986000021870000478300008985000012 +:10AFA00013120000C12100000B2200006F220000DC +:10AFB000F522000011240000D32400000525000024 +:10AFC000E3250000CB2600001F270000A12700007A +:10AFD000C1270000B92D0000DD2D0000FD2C000070 +:10AFE000592D00000F2E0000A32E00002F3D000061 +:10AFF000093E00003D4100003D420000B342000018 +:10B000001D4300008143000017120000754400003A +:10B01000E1440000E3270000E927000017120000C8 +:10B02000171200001712000017120000F32700008B +:10B030002B280000A12800001712000017120000A2 +:10B040002D22000087290000A9290000F529000011 +:10B05000131200001312000013120000131200005C +:10B06000EF5200007553000091530000AD530000F3 +:10B070003B550000D7530000E1530000235400006B +:10B0800045540000215500006355000013120000D4 +:10B0900013120000676E0000876E0000916E0000C2 +:10B0A000CB6E0000F96E0000E96F000077700000C1 +:10B0B0008B700000D9700000EF71000095730000E4 +:10B0C000BD740000E95D0000D5740000131200009B +:10B0D00013120000A1A0000003A200005DA2000066 +:10B0E000D7A2000083A30000100110013A02000063 +:10B0F0001A0200040506000007000000FFFFFFFF22 +:10B100000000FFFFE39C0000BF1C0000934E000006 +:10B11000335E0000E97A000000000000A17D00001D +:10B120007D7D00008F7D0000000002000000000017 +:10B13000000200000000000000010000000000000C +:10B14000136C0000F36B0000616C00007152000092 +:10B150003352000053520000219400003994000043 +:10B160004396000041370000816C000000000000A1 +:10B17000B16C0000BF5200000000000000000000A1 +:10B18000000000002395000000000000C13700000F +:10B19000555555D6BE898E0000006406640C6412B5 +:10B1A00000000803AC055008000054044408340CA7 +:10B1B00075DF0000DDE00000D7DE000073DF000077 +:10B1C0001B5D0100ABE1000000000000480800002A +:10B1D0004808000051350000513500009B21000057 +:10B1E000439B0000B7600000A34D0000F97301000D +:10B1F0008135000081350000BF210000D59B000093 +:10B200003F610000174E00000F74010070017001D3 +:10B21000400038005C002400200200000300656C40 +:10B220007462000000000000000000000000000048 +:10B230000000870000000000000000000000000087 +:10B240000000BE83605ADB0B376038A5F5AA9183F6 +:10B25000886C0000010000008B0801005D170100F0 +:10B2600000000001020603040500000007000000C2 +:10B2700000000000060000000A000000320000008C +:10B2800073000000B4000000F401FA0096006400AE +:10B290004B0032001E0014000A00050002000100ED +:10B2A0000041000000000000AB830100E5870100C1 +:10B2B0008F870100BD830100000000002989010083 +:10B2C0000C0802170D010102090901010602091803 +:10B2D00018030101090903030500000049A2010048 +:10B2E00061A2010079A2010091A20100C1A20100A6 +:10B2F000E9A2010013A3010047A30100C79F0100B9 +:10B30000039F010023A0010007AD01000D360100DD +:10B310001D360100493601001B37010023370100AB +:10B32000353701007FA0010099A001006DA0010048 +:10B3300077A00100A5A00100DBA00100ED9B0100AA +:10B34000FBA0010009A1010017A1010027A1010034 +:10B350003FA1010057A101006DA10100ED9B01007B +:10B3600000000000B7A900000DAA000023AA0000F9 +:10B37000D9A80100199C0100E59C0100D3AB010094 +:10B3800011AC01003BAC0100113401005D3901003A +:10B3900083A10100A9A10100CDA10100F3A1010039 +:10B3A0001C0500402005004000100200CCB3010045 +:10B3B00008000020980100004411000000B40100C2 +:10B3C000A0010020100E00008011000001150545AD +:10B3D000481000200519A40500203601000100884E +:10B3E0003720FB349B5F80041F8000100D9DCB092C +:10B3F0000020880900200E0A0020024810000000EA +:10C0000000000220D19E0200F99E0200FB9E020069 +:10C01000FD9E0200FF9E0200019F02000000000042 +:10C02000000000000000000000000000039F02006C +:10C03000059F020000000000079F0200099F020008 +:10C040000B9F0200B5080200719D0200359D0200A1 +:10C05000499D02000B9F0200A58E02005984020038 +:10C060001F600500256005002B6005000B9F020086 +:10C070000B9F02000B9F02000B9F02000B9F020010 +:10C080000B9F020085A502000B9F02000B9F020080 +:10C090000B9F02000B9F0200E37305000B9F020041 +:10C0A0000B9F02000B9F0200316005003760050006 +:10C0B0000B9F02000B9F0200000000000000000028 +:10C0C0000B9F02000B9F02000B9F02005D9D020070 +:10C0D0000B9F02000B9F02000B9F02000B9F0200B0 +:10C0E000999D020000000000000000000000000018 +:10C0F000000000000B9F020000000000859D020070 +:10C10000000000000000000000000000000000002F +:10C11000000000000000000000000000000000001F +:10C12000000000000000000000000000000000000F +:10C1300000000000000000000000000000000000FF +:10C1400000000000000000000000000000000000EF +:10C1500000000000000000000000000000000000DF +:10C1600000000000000000000000000000000000CF +:10C1700000000000000000000000000000000000BF +:10C1800000000000000000000000000000000000AF +:10C19000000000000000000000000000000000009F +:10C1A000000000000000000000000000000000008F +:10C1B000000000000000000000000000000000007F +:10C1C000000000000000000000000000000000006F +:10C1D000000000000000000000000000000000005F +:10C1E000000000000000000000000000000000004F +:10C1F000000000000000000000000000000000003F +:10C200002DE9F041036A990786B0044640F1D880D1 +:10C2100033F0BDFA94F85D30F3B1002384F85D305B +:10C22000D4F89430C3B104F1980104A838F01EFF8B +:10C23000644905A838F01AFFD4E91123D21A5342F1 +:10C24000534104A905AA204603F0D2FC05A838F002 +:10C250009BFE04A838F098FE5A4E0025A36DAB4211 +:10C2600040F26C81206E00EBC5003146043038F09E +:10C2700025FF002840F0AC800135EFE7524904A8C3 +:10C280000BF074FD04AA02A905A838F01EFF05A949 +:10C2900002A838F0F3FE05A838F076FE04A838F0BE +:10C2A00073FE039A636D216D04F10C050432284678 +:10C2B00007F0FEFED4E91413029A1944043232F94D +:10C2C000023C2165284607F0F3FE029BB3F90230D9 +:10C2D000636502A905A838F0C9FE05A9204633F018 +:10C2E0005FFB05A838F050FE002384F85C3003A8FB +:10C2F00038F083FD02A838F047FE03A80BF066FD76 +:10C3000000250126A36DAB4227D9226E02EBC502A0 +:10C31000043203A905A838F0D8FE05A903A838F00F +:10C32000ADFE05A838F030FE236EEF003B4401352A +:10C330005B685B88002BA36D18BF00269D42E1D08F +:10C3400001AA03A905A838F0C0FE05A903A838F082 +:10C3500095FE05A838F018FED4E71B4904A80BF099 +:10C3600005FD04AA03A905A838F0AFFE05A903A896 +:10C3700038F084FE05A838F007FE04A838F004FE63 +:10C3800056B903A905A838F071FE05A9204633F077 +:10C3900007FB05A838F0F8FD236A23F002022262A9 +:10C3A00013F0040F03A80CBF00246FF47B7438F063 +:10C3B000EBFD01A838F0E8FD204606B0BDE8F081AD +:10C3C000024CF9E7BC3800204F57060009FCFFFF7C +:10C3D000D4F89430002B00F0B18009F0B9FDD4F806 +:10C3E00094603246F31732F079FD73A3D3E900234A +:10C3F00080460F4632F072FD6FA3D3E90023054655 +:10C400003946404632F06AFD012EC1BF6423B2FBBB +:10C41000F3F103FB11260A46D8BF002611466846F1 +:10C42000C8BF95FBF3F538F0CDFD314601A838F0D3 +:10C43000C9FD02A80BF0CAFC01A904A838F016FE39 +:10C44000022204A905A803F03FFB05A901A838F0C2 +:10C4500015FE05A838F098FD04A838F095FD2DB319 +:10C46000294604A838F0AEFD04AA02A905A838F0B0 +:10C470002CFE05A902A838F001FE05A838F084FDBD +:10C4800004A838F081FD694604A838F0EFFD0922C0 +:10C4900004A905A803F018FB05A9684638F0EEFDCD +:10C4A00005A838F071FD04A838F06EFD6A4602A9AF +:10C4B00005A838F00AFE05A902A838F0DFFD05A896 +:10C4C00038F062FDD4F89430012B1ADD384903A806 +:10C4D0000BF04CFC03AA02A904A838F0F6FD01AA4F +:10C4E00004A905A838F0F1FD05A902A838F0C6FD99 +:10C4F00005A838F049FD04A838F046FD03A838F037 +:10C5000043FD04F1980104A838F0B0FD02A905A884 +:10C5100038F0ACFD05AA04A9204633F06AFA05A854 +:10C5200038F032FD04A838F02FFD02A838F02CFDB9 +:10C5300001A838F029FD684638F026FD1D4901A8FC +:10C540000BF014FC94F85C30002B3FF4D6AE236D56 +:10C5500013B9636B2D33236502A80BF037FC616DB3 +:10C56000012203A838F039FC0025A36DAB427FF609 +:10C5700085AE226E02A902EBC50205A838F0A5FD22 +:10C5800005A902A838F07AFD05A838F0FDFCA36DD6 +:10C5900001359D42E9D001AA02A905A838F095FD10 +:10C5A00005A902A838F06AFD05A838F0EDFCDCE723 +:10C5B000C5740600EE2B060000CA9A3B000000007E +:10C5C000036BF7B5044618680D4631F0B7FD064613 +:10C5D0006868002808BF01200F4631F09DFD2FF04C +:10C5E0006BF80B46216B95ED037AD1ED007A77EE6F +:10C5F000677A024617EE900ACDE9002331F09EFDDE +:10C60000DDE9002331F0F2FD0EA3D3E9002331F080 +:10C6100017FF32463B4631F033FC32F0DFF8DFEDF6 +:10C62000087A07EE100AB4EEE77AF1EE10FA58BF76 +:10C63000F0EE477AC4ED137A03B0F0BDAFF300809B +:10C6400000000000333333333333FF3F000000007A +:10C650002DE9FF41044639F0F3FC23A3D3E900237D +:10C6600080460F4632F03AFC1FA3D3E9002306466A +:10C670000D464046394632F031FC6846114638F0E6 +:10C68000A1FC3046294618A3D3E9002332F026FC4A +:10C6900001A8114638F096FC13A3D3E900233046D5 +:10C6A000294632F01BFC014602A838F08BFC01AA97 +:10C6B00002A903A838F009FD6A4603A9204638F00C +:10C6C00004FD03A838F060FC02A838F05DFC01A866 +:10C6D00038F05AFC684638F057FC204604B0BDE8F4 +:10C6E000F08100BFAFF3008000CA9A3B0000000059 +:10C6F0002DE9F84F04462DED028BC06831F00CFD9A +:10C70000064620690F4631F007FDD4F8148041EC4D +:10C71000180B404631F000FD024601F1004382460D +:10C720008B46304639462EF0C5FF32F057F8E062AE +:10C7300005462EF043FF814628462EF05FFD054654 +:10C74000484631F0FBFC32463B4631F04FFD064691 +:10C7500028460F4631F0F2FC52465B4631F046FD6A +:10C7600002460B463046394631F088FB02460B46FE +:10C7700051EC180B2EF09EFF32F030F8B8F1000F9C +:10C7800007EE900A08DCA062BDEC028BE38843F060 +:10C790000203E380BDE8F88FF5EEC07AF1EE10FAFF +:10C7A00014DC0DA7D7E9006717EE900A31F0C6FC3C +:10C7B00002460B463046394631F060FB32463B4676 +:10C7C00031F05EFB32F00AF8A062DDE704A7D7E99A +:10C7D0000067E9E7AFF30080EA2E4454FB21F9BF7C +:10C7E000EA2E4454FB21F93F70B52DED068B04462B +:10C7F00084B0406C36F0BEF80646606C36F0ADF89A +:10C8000002222146054601A836F02DF9DDED027A17 +:10C81000F8EEE78ADDED037A3046B8EEE7AA2EF0AF +:10C82000CDFE09EE900A30462EF0E8FC09EE100A23 +:10C8300028462EF0C3FE08EE100A28462EF0DEFC35 +:10C84000DDED017AB8EEE77A68EE887A06EE900AB6 +:10C8500067EEA97A2AEE088AE7EE267A69EE688AF8 +:10C86000E8EE097AEAEE298A17EE900A18EE901A95 +:10C870002EF0D6FF9FED148A07EE900A67EE887AB5 +:10C8800017EE900A31F05AFC0DA3D3E9002331F0E2 +:10C89000D7FD31F0A3FF9FED0D7A07EE900A77EEFA +:10C8A000677AF5EEC07AF1EE10FA48BF77EE887A33 +:10C8B000FDEEE77A17EE900A04B0BDEC068B70BD72 +:10C8C000EA2E4454FB2119400000B4430000B44256 +:10C8D0001FB50122014601A836F0C5F8DDED027A48 +:10C8E000F8EEE77A17EE901ADDED017AF8EEE77AC6 +:10C8F00017EE900A2EF094FFDFED137A07EE100A80 +:10C9000067EE277A17EE900A31F018FC0CA3D3E9F2 +:10C91000002331F095FD31F061FF07EE900AF5EE4E +:10C92000C07AF1EE10FA44BF9FED087A77EE877A6D +:10C93000FDEEE77A17EE900A05B05DF804FB00BF44 +:10C94000EA2E4454FB210940000034430000B44364 +:10C950002DE9F84F994653425F4F134329F0004E9B +:10C960004EEAD373BB42904604460D463DD846423C +:10C97000064321F0004A4AEAD676BE4203468B4679 +:10C9800033D809F1404606F5801616433DD04FEAEC +:10C99000A97606F002065AEA030346EAD1762CD0BD +:10C9A0005EEA020335D0BE4546D0BA4531D0AAEB87 +:10C9B0000E0EBEF1747F4FEA2E5339DAB9F1000F33 +:10C9C00046DA3C3344DA00200021012E58D0022EF2 +:10C9D00049D086B134A3D3E9002331F04FFA34A310 +:10C9E000D3E9002331F04AFA05E022462B464046BF +:10C9F000494631F045FABDE8F88F022E10D0032EDB +:10CA0000F9D12DA1D1E90001F5E7BDE8F84F01F01A +:10CA100013B9BBF1000F07DB29A1D1E90001EAE757 +:10CA200023A1D1E90001E6E727A1D1E90001E2E76E +:10CA300023A1D1E90001C8E7F24506F1FF3623D072 +:10CA4000022E29D8254B03EBC606D6E90001D2E712 +:10CA500042464B462046294631F0F2FC31F06CF854 +:10CA600001F0EAF8B1E710A3D3E9002331F006FAA8 +:10CA700002460B460EA1D1E9000131F0FFF9BAE7F9 +:10CA800001F100431946B6E7022E08D8144B03EB18 +:10CA9000C606D6E90001AEE700200021ABE70CA1F5 +:10CAA000D1E90001A7E700BF075C143326A6A13C2B +:10CAB000182D4454FB210940182D4454FB2109C072 +:10CAC000182D4454FB21F93F182D4454FB21F9BF84 +:10CAD000182D4454FB21E93F0000F07FB09705007A +:10CAE0009897050000000000B1F5801F2DE9F8437C +:10CAF00004460D460B4619DA21F00042024359D094 +:10CB000000295FDB3A4B002231F070FB394A0D46B9 +:10CB10002B46934204466FF035010CDD22462B462E +:10CB20002046294631F0ACF9BDE8F883314A9342FA +:10CB30004FF00001F2DC1815A0F2FF300844C70FD7 +:10CB400000EBD070C3F3130631F0E6FAC7F57F733C +:10CB5000033346EA03550F4606462946204601F0B0 +:10CB6000F7FA1DA3D3E900238046894630463946AB +:10CB700031F03CFB1AA3D3E9002304460D4640469E +:10CB8000494631F033FB02460B462046294631F038 +:10CB900077F915A3D3E9002304460D4630463946FC +:10CBA00031F024FB02460B462046294631F068F955 +:10CBB000BDE8F883002200230F49002031F040FC3B +:10CBC000BDE8F883024631F059F90022002331F024 +:10CBD00037FCA9E7AFF30080362BF111F3FE593D86 +:10CBE0000EE526157BCBDB3F00609F501344D33FFF +:10CBF00000005043FFFFEF7F000050C30000000023 +:10CC00002DE9F04F8C4B2DED048B21F000459D421A +:10CC10008BB080468946144640F38680874B9D4200 +:10CC20000F4628DC00297AA3D3E9002340F3AD8125 +:10CC300031F024F9824B9D428046894600F08B807A +:10CC400075A3D3E9002331F019F902460B46C4E974 +:10CC500000234046494631F011F96FA3D3E9002380 +:10CC600031F00CF9C4E90201012630460BB0BDECED +:10CC7000048BBDE8F08F734B9D4240F38E80724B66 +:10CC80009D425EDC2E15A6F21646A5EB065189469E +:10CC900031F05CFD31F040FA02460B464046494611 +:10CCA000CDE9042331F0EAF8684B002231F09EFA16 +:10CCB0008946804631F04AFD054631F02DFA02469C +:10CCC0000B4640464946CDE9062331F0D7F85F4B85 +:10CCD000002231F08BFA02460B46CDE908230022F0 +:10CCE000002331F0EBFC002800F04D81002D0CBF3B +:10CCF00001230223564A0192022200922146324623 +:10CD000004A800F0C9FA002F0646AEDA616822686E +:10CD100001F10043E168C4E90023A26801F1004386 +:10CD2000C4E902234642A0E7002600220023304641 +:10CD3000C4E90089C4E902230BB0BDEC048BBDE853 +:10CD4000F08F02460B4631F099F80026C4E9020143 +:10CD5000C4E9000189E732A3D3E9002331F08EF85A +:10CD600031A3D3E900238046894631F087F8024693 +:10CD70000B46C4E900234046494631F07FF82AA318 +:10CD8000D3E9002331F07AF80126C4E902013046E4 +:10CD90000BB0BDEC048BBDE8F08F30F0CDFE24A3CA +:10CDA000D3E900238046894631F020FA294B00223E +:10CDB00031F066F831F0CAFC064631F0ADF90246B2 +:10CDC0000B4643EC182B12A3D3E90023B0EE489A8C +:10CDD000F0EE689A31F00AFA02460B4640464946A0 +:10CDE00031F04CF80CA3D3E9002382468B4651EC7A +:10CDF000180B31F0FBF91F2E41EC180B2EDC164BF3 +:10CE0000721E53F82230AB4228D002460B4699E0FE +:10CE100000004054FB21F93F3163621A61B4D03DF8 +:10CE20000000601A61B4D03D7370032E8A19A33BD1 +:10CE300083C8C96D305FE43FFB21E93F7BD90240E5 +:10CE4000FB21F93FFB213941FFFFEF7F00007041DB +:10CE5000F42106000000E03F742106002B15039327 +:10CE6000504653EC182B594631F008F8C1F30A53D9 +:10CE7000C3EB1555102D8046894669DD64A3D3E9BF +:10CE8000002351EC190B31F0B1F980468946424636 +:10CE90004B465046594630F0F1FF02460B4650468D +:10CEA000594692469B4630F0E9FF42464B4630F0E9 +:10CEB000E5FF59A3D3E900238046894651EC190BBD +:10CEC00031F094F942464B4630F0D8FF02460B460B +:10CED0005046594643EC182B30F0D0FF039AC1F36B +:10CEE0000A53D31A312B8046894631DD4DA3D3E94D +:10CEF000002351EC190B31F079F9804689464246FE +:10CF00004B465046594630F0B9FF02460B46504654 +:10CF1000594692469B4630F0B1FF42464B4630F0B0 +:10CF2000ADFF42A3D3E900238046894651EC190B9B +:10CF300031F05CF942464B4630F0A0FF02460B460A +:10CF400043EC182B5046594630F098FF80468946EE +:10CF500042464B46C4E900895046594630F08EFFA0 +:10CF600053EC182B30F08AFF002FC4E90201BFF602 +:10CF70007CAE09F10043C4E9008301F10043C4E938 +:10CF80000203764271E60323B4E630F079FF244BC6 +:10CF90009D428046894616D01BA3D3E9002330F07A +:10CFA0006FFF02460B46C4E900234046494630F075 +:10CFB00065FF15A3D3E9002330F062FF4FF0FF3681 +:10CFC000C4E9020151E612A3D3E9002330F058FF6F +:10CFD00011A3D3E900238046894630F051FF024671 +:10CFE0000B46C4E900234046494630F047FF0AA3F8 +:10CFF000D3E9002330F044FF4FF0FF36C4E90201CB +:10D0000033E600BFAFF300803163621A61B4D03DF4 +:10D010000000601A61B4D03D7370032E8A19A33BDF +:10D02000FB21F93F0000002E8A19A33BC1492025AE +:10D030009A837B39000000002DE9F84F21F0004968 +:10D04000B9F1795F2DED048B92469B4606460F465B +:10D050006CDA31F07BFB002800F0EE8032463B4674 +:10D060003046394631F0C2F877A3D3E900230446AD +:10D070000D4631F0BBF876A3D3E9002330F000FF72 +:10D0800022462B4631F0B2F873A3D3E9002330F0E7 +:10D09000F5FE22462B4631F0A9F871A3D3E900230F +:10D0A00030F0EEFE22462B4631F0A0F86EA3D3E915 +:10D0B000002330F0E3FE22462B4631F097F86CA3B4 +:10D0C000D3E9002330F0DCFE22462B4631F08EF807 +:10D0D00041EC180B6A4B00222046294631F086F8B5 +:10D0E00053EC182B804689462046294631F07EF8BD +:10D0F00052465B4604460D463046394631F076F8D6 +:10D1000002460B462046294630F0B8FE02460B4642 +:10D110004046494630F0B2FE02460B4600205949CF +:10D1200030F0ACFEBDEC048BBDE8F88F02460B4638 +:10D1300031F05CF844A3D3E9002304460D4631F0F6 +:10D1400055F843A3D3E9002330F09AFE22462B463C +:10D1500031F04CF840A3D3E9002330F08FFE224693 +:10D160002B4631F043F83EA3D3E9002330F088FE8C +:10D1700022462B4631F03AF83BA3D3E9002330F0A6 +:10D180007DFE22462B4631F031F839A3D3E9002346 +:10D1900030F076FE2B46224631F028F83A4B99457E +:10D1A00041EC180B96DD394B99453ADC0022A9F584 +:10D1B0000013344900209046994630F05FFE41EC60 +:10D1C000190B2F4B00222046294631F00FF842461A +:10D1D0004B4630F053FE53EC182B804689462046D0 +:10D1E000294631F003F852465B4604460D46304668 +:10D1F000394630F0FBFF02460B462046294630F008 +:10D200003DFE02460B464046494630F037FE024698 +:10D210000B4651EC190B30F031FEBDEC048BBDE830 +:10D22000F88F9FED157BDFF86890B0EE479AF0EE2F +:10D23000679A4FF00008C4E7BDEC048B1149002049 +:10D24000BDE8F88FAFF30080D43888BEE9FAA8BDF6 +:10D25000C4B1B4BD9EEE213EAD529C804F7E923E45 +:10D260009015CB19A001FA3E7751C1166CC1563FFB +:10D270004C5555555555A53F000000000000E73FAF +:10D280000000E03F0000F03F3233D33F0000E93FB1 +:10D290000000D23F000000002DE9F04FADF5197DF0 +:10D2A0001C4608930B91B74BA299049053F8211098 +:10D2B0000591631E12F1140F0393C0F23F83B2492C +:10D2C000D31E81FB0301DB17C3EBA10307930133DB +:10D2D000A3EB8303DB00D3180693079A039BD41AAE +:10D2E000059AD6181AD40136A39F264420AD4FF0D4 +:10D2F00000084FF0000908E057F8240030F00CFF58 +:10D300000134B442E5E8020108D0002CF4DA01341B +:10D3100040464946B442E5E80201F6D1059B002BA0 +:10D32000C0F2B783089BDDF80C9020AA02EBC30A79 +:10D33000DA000292059A1A440192049A0DF5E07BF4 +:10D3400002EBC308039B002BC0F2A181049E574649 +:10D350000024002577E90223F6E8020130F046FFB9 +:10D3600002460B462046294630F08AFD46450446D3 +:10D370000D46EFD1019B09F101099945EBE8024502 +:10D380000AF1080ADED1049A029B1344059A01921D +:10D390009B460BAB03EB82030A930CAB03EB8203BC +:10D3A000083B0993019A98AB03EBC203002A53E9A7 +:10D3B000284529DD0DF5E07A0AEBC2080DF13009A8 +:10D3C000724B00222046294630F010FF31F0BEF9A2 +:10D3D00030F0A2FE6E4B002206460F4630F006FFEC +:10D3E00002460B462046294630F048FD31F0AEF9A2 +:10D3F00078E9022349F8040B3946304630F040FD05 +:10D40000D04504460D46DBD1DDF81890204629466C +:10D410004A4600F019FE00224FF07F5304460D46A5 +:10D4200030F0E4FE00F094FD5A4B002230F0DEFEB6 +:10D4300002460B462046294630F020FD0D460446A4 +:10D4400031F084F9804630F067FE0B4602462946EB +:10D45000204630F013FD4B46002B06460F4640F3A6 +:10D460009B80019A511E0CAAC9F1180352F8212081 +:10D4700042FA03F000FA03F3D31AC9F117050CAA14 +:10D4800043FA05F5002D42F82130804400F38E80E8 +:10D49000002200233046394631F010F9002800F010 +:10D4A0005482019B059A03F1FF3A524510DC03F1C7 +:10D4B00080430CAA013B0A9802EB8303002253F835 +:10D4C0000419834242EA0102F9D1002A40F0E280C5 +:10D4D000059B0CAA013B52F82330002B40F0D28070 +:10D4E000099A012352F8041901330029FAD0019A4C +:10D4F000D3180293531C9946019A08990A449046FE +:10D50000079A02EB030A0AF1804AA39A0AF1FF3A4A +:10D5100002EB8A0A20AA02EBC80870AA02EBC30336 +:10D5200001935AF8040F30F0F7FD0B4603990246B9 +:10D530000029C8E90023474608F108081EDB049EBD +:10D540000024002501E077E90223F6E8020130F02B +:10D550004DFE02460B462046294630F091FC5E45C2 +:10D5600004460D46EFD1019BE3E802450193029B7F +:10D5700009F101099945D4DD019313E70024002541 +:10D58000F1E700BFCC260600ABAAAA2A0000703E35 +:10D5900000007041000020406BD1019B0CAA013BB0 +:10D5A00052F82350ED15002D7FF772AF019B002B31 +:10D5B00008F1010840F3C7810C9C002C51D1019B5C +:10D5C000012B20D00CAB012253F8044F002C4BD080 +:10D5D000531C0CA9C4F1807441F82240019999426E +:10D5E00010DD0CAA0CA852F8232000EB830300EBFB +:10D5F00081006FF07F4100E01A688A1A43F8042B1B +:10D600008342F9D10124069B002B0EDD012B00F093 +:10D610006C81022B09D1019B5A1E0CAB0CA953F84B +:10D620002230C3F3150341F82230022D7FF430AFCE +:10D6300032463B46B449002030F020FC06460F46F7 +:10D64000002C3FF425AF069AAF49002000F0FCFC07 +:10D6500002460B463046394630F010FC06460F466F +:10D6600016E701230022B4E7019901328A42ABD1C7 +:10D67000C9E7A64B002231F03FF8002840F04C816A +:10D68000054605E7019B01339946029334E70024E0 +:10D6900000256FE6069B0395A3F118020CABCDF8AD +:10D6A0001C8053F82A30069273B9019B03F1804322 +:10D6B000023B0CA901EB830353F804190AF1FF3A6A +:10D6C000183A0029F8D00692069A8F49002000F0F7 +:10D6D000BBFCBAF1000F04460D46C0F2D08170AB1E +:10D6E00003EBCA0B0CAA0AF10103069302EB8306B3 +:10D6F000DFF81C924FEACA0304930BF108074FF0BE +:10D70000000856F8040D30F007FD22462B4630F095 +:10D710006DFD4B4667E9020142462046294630F03E +:10D7200065FD0CAB9E4204460D46EAD148ABCDE9FF +:10D73000013ADDF814A0BAF1000F4FF000092CDB1C +:10D740006FA3D3E90023DFF8CC815F4600260024D5 +:10D75000002503E0B14510DBF8E80223F7E80201F9 +:10D7600030F044FD02460B462046294630F088FB47 +:10D770000136B24504460D46ECDA019B029A03EBF2 +:10D78000C9034A45C3E90045ABF1080B09F10103A0 +:10D7900006D0BAF1000F9946D2DA00240025ECE752 +:10D7A000A29BDDF808A0022B1EDC002B00F30081F9 +:10D7B00013D1049C019D08342C440020002174E9FD +:10D7C000022330F05DFBA542F9D1039B13B101F1B7 +:10D7D000004319460B9BC3E90001079B03F00700B8 +:10D7E0000DF5197DBDE8F08FA29B032BF5D1BAF1A1 +:10D7F000000F00F06081019A049BD318D3E9004523 +:10D8000002EBCA0B7BE902672046294632463B46BB +:10D8100030F036FBA046A94604460D4622462B466C +:10D820003046394630F02AFB4B46424630F028FB62 +:10D83000019B5B45CBE90201CBE90045E2D1BAF19E +:10D84000010F40F33881019A049B0AF1005A0AF152 +:10D85000FF3A13444FEACA01D3E9004501F1080A2F +:10D86000029192440DF5947B7AE90267204629469D +:10D8700032463B4630F004FBA046A94604460D461E +:10D8800022462B463046394630F0F8FA42464B469F +:10D8900030F0F6FAD345CAE90201CAE90045E3D1FE +:10D8A000029C019B10341C4403F110050020002150 +:10D8B00074E9022330F0E4FAA542F9D1039B002B6E +:10D8C00040F0B4800B9CC4E904010198D0E9002326 +:10D8D000C4E90023D0E90223C4E90223079B03F033 +:10D8E00007000DF5197DBDE8F08F019B5A1E0CABAA +:10D8F0000CA953F82230C3F3160341F8223094E602 +:10D9000000000040FB21F93F0000F03F0000E03F35 +:10D910000000703ED0970500019B002B08F1010824 +:10D92000C8BF02253FF748AE32463B466349002058 +:10D9300030F0A4FA022506460F46A9E500216FF053 +:10D9400017030791C7E400245DE63046069E039561 +:10D9500072423946CDF81C8000F076FB584B00220D +:10D9600004460D4630F0C8FE002855D0554B019FA7 +:10D970000022183620462946069630F037FC30F053 +:10D98000E5FE064630F0C8FB4D4B002230F02EFC81 +:10D990000B4602462946204630F070FA30F0D6FE9B +:10D9A00007F1010A0CAB43F8270043F82A608BE625 +:10D9B000019D069B002005EBC304002174E90223AE +:10D9C00030F05EFAA542F9D1039B002B47D10B9BA7 +:10D9D000C3E900010B4601990246D1E9000130F08C +:10D9E0004DFABAF1000F0DDD4AAD0124F5E802232E +:10D9F000013430F045FAA245F8DA039B13B101F186 +:10DA0000004319460B9BC3E90201079B03F0070083 +:10DA10000DF5197DBDE8F08F2046294630F096FEC1 +:10DA2000019B0CAA9A4642F823004DE6019E01F1A3 +:10DA3000004374680B993268F568C1E9040304F186 +:10DA40000043C1E90023B26805F10043C1E90223A4 +:10DA5000079B03F007000DF5197DBDE8F08F0B9AC9 +:10DA600001F1004353600B46019910600246D1E971 +:10DA7000000130F003FABAF1000FB5DCBFE7A29B5A +:10DA8000022B0ADC002B11DC7FF4A7AE0020002162 +:10DA90009BE6089BDB00029375E4A29B032B7FF4BB +:10DAA0009CAE48AB00200021019307E748AB002063 +:10DAB0000021019388E700200021FFE60000F03FED +:10DAC000000070410000703E2DE9F04F83B0CDE9B9 +:10DAD000002321F00043B3F1795F04460D4604DAD8 +:10DAE00030F034FE002800F0858022462B46204688 +:10DAF000294630F07BFB06460F4632463B46204621 +:10DB0000294630F073FB41A3D3E9002382468B46BC +:10DB10003046394630F06AFB3EA3D3E9002330F0AB +:10DB2000ADF932463B4630F061FB3CA3D3E900231C +:10DB300030F0A6F932463B4630F058FB39A3D3E922 +:10DB4000002330F09BF932463B4630F04FFB37A3C1 +:10DB5000D3E9002330F094F90C9B804689469BB3AF +:10DB6000DDE90001284B002230F040FB42464B46E5 +:10DB7000804689465046594630F038FB02460B46EF +:10DB80004046494630F07AF932463B4630F02EFBAB +:10DB9000DDE9002330F072F919A3D3E9002306462A +:10DBA0000F465046594630F021FB02460B463046A0 +:10DBB000394630F065F902460B462046294630F0DA +:10DBC0005DF903B0BDE8F08F02460B46304639469A +:10DBD00030F00CFB0AA3D3E9002330F04FF9524692 +:10DBE0005B4630F003FB22462B4630F049F903B088 +:10DBF000BDE8F08F2046294603B0BDE8F08F00BF96 +:10DC0000495555555555C53F0000E03F7CD5CF5A85 +:10DC10003AD9E53DEB9C2B8AE6E55A3E7DFEB157AD +:10DC2000E31DC73ED561C119A0012A3FA6F8101116 +:10DC30001111813F000000002DE9F84FBA4B21F08F +:10DC400000469E4204460D468A4616DDB74B9E426C +:10DC50000BDC08D0BAF1000F40F3C18096A1D1E9E6 +:10DC60000001BDE8F88F0028F4D022462B4620465C +:10DC7000294630F005F9BDE8F88FAD4B9E4200F320 +:10DC8000B380A3F1DE739E4240F39A804FF0FF3BD6 +:10DC900022462B462046294630F0A8FA02460B467B +:10DCA0008046894630F0A2FA85A3D3E900230646D0 +:10DCB0000F4630F09BFA84A3D3E9002330F0E0F85C +:10DCC00032463B4630F092FA81A3D3E9002330F08C +:10DCD000D7F832463B4630F089FA7FA3D3E90023D8 +:10DCE00030F0CEF832463B4630F080FA7CA3D3E9E0 +:10DCF000002330F0C5F832463B4630F077FA7AA37D +:10DD0000D3E9002330F0BCF842464B4630F06EFABF +:10DD100077A3D3E90023804689463046394630F060 +:10DD200065FA75A3D3E9002330F0A8F832463B46E4 +:10DD300030F05CFA72A3D3E9002330F09FF832464A +:10DD40003B4630F053FA70A3D3E9002330F096F845 +:10DD500032463B4630F04AFA6DA3D3E9002330F057 +:10DD60008DF832463B4630F041FABBF1FF3F0246A8 +:10DD70000B464046494656D030F082F86D4E22465A +:10DD80002B4630F033FA6C4B06EBCB064FEACB0B4D +:10DD90009B44DBE9002330F071F822462B4630F03B +:10DDA0006DF802460B46D6E9000130F067F8BAF18B +:10DDB000000FBFF660AF01F100431946BDE8F88FD0 +:10DDC00055A3D3E9002330F05BF85C4B002230F020 +:10DDD0009DFC00283FF45AAF204629464BE750A14E +:10DDE000D1E90001BDE8F88F2FF0A6FE544B9E420A +:10DDF00004460D4625DCA3F550239E424CDC02462A +:10DE00000B4630F03DF84D4B002230F037F802461B +:10DE10000B462046294614461D464FF0000B0022B3 +:10DE20004FF0804322E030F02BF822462B4630F0B2 +:10DE3000DDF902460B462046294630F01FF8BDE8C2 +:10DE4000F88F404B9E421CDA3F4B002230F016F810 +:10DE500002460B462046294614461D4600223A4BF0 +:10DE60004FF0020B30F0C2F9344B002230F008F8CA +:10DE700002460B462046294630F0E2FA04460D469B +:10DE800006E722462B463149002030F0D9FA4FF000 +:10DE9000030B04460D46FBE6284B00222FF0EEFF55 +:10DEA00002460B46204629464FF0010B14461D46FC +:10DEB000DAE700BFAFF30080182D4454FB21F93F8F +:10DEC00011DA22E33AAD903FEB0D76244B7BA93F6C +:10DED000513DD0A0660DB13F6E204CC5CD45B73F3A +:10DEE000FF8300922449C23F0D5555555555D53FE6 +:10DEF0002F6C6A2C44B4A2BF9AFDDE522DDEAD3FDA +:10DF00006D9A74AFF2B0B33F711623FEC671BC3F79 +:10DF1000C4EB98999999C93F9C7500883CE4377E79 +:10DF2000182D4454FB21F9BFFFFF0F440000F07F80 +:10DF3000FFFFDB3F08980500289805000000F03F30 +:10DF4000FFFFF23F008003400000F83F0000F0BFF9 +:10DF5000C1F30A5CF8B5ACF2FF35132D02460B464F +:10DF60000C4606462FDC002D1DDB354F2F4101EA04 +:10DF7000070C5CEA000C2BD02FA3D3E900232FF071 +:10DF80007FFF0022002330F0C1FB48B1002C04DAEF +:10DF90004FF4801343FA05F52C4424EA07040026C5 +:10DFA00021463046F8BD24A3D3E900232FF068FFB3 +:10DFB0000022002330F0AAFB0028F1D0002C25DB42 +:10DFC00000263446ECE7332D05DDB5F5806F1AD019 +:10DFD00010461946F8BDACF2134C4FF0FF3727FA44 +:10DFE0000CF70742F4D014A3D3E900232FF048FF25 +:10DFF0000022002330F08AFB0028D1D0002C0EDB59 +:10E0000026EA0706CCE72FF03BFFF8BD24F00043DB +:10E010000C4A1E43002E18BF14460026C0E7142DDC +:10E0200008D00123C5F1340503FA05F5AE1928BF60 +:10E03000E418E5E70134E3E79C7500883CE4377EAB +:10E04000FFFF0F000000F0BFC1F30A5370B58C460C +:10E0500004460D4616465BBB21F0004C03465CEAC5 +:10E06000030324D0364B002230F0C0F8354B9E42DB +:10E0700004460D4616DBC1F30A538C46363B334447 +:10E0800040F2FE7293421CDC002B3BDC13F1350F97 +:10E090002BDA4CF250339E4213DC002D20A1D1E943 +:10E0A000000137DB1EA3D3E9002330F09FF870BDD9 +:10E0B00040F2FF729342E2D102460B462FF0E0FE9F +:10E0C00070BD002D18A1D1E9000105DB16A3D3E92D +:10E0D000002330F08BF870BD13A3D3E9002314A103 +:10E0E000D1E9000130F082F8F5E72CF0FF4C36332F +:10E0F0002CF4E00C4CEA03512046134B002230F084 +:10E1000075F870BD2CF0FF4C2CF4E00C20464CEA66 +:10E11000035170BD08A1D1E90001C3E7AFF300804E +:10E1200059F3F8C21F6EA5019C7500883CE4377E48 +:10E130009C7500883CE437FE59F3F8C21F6EA58138 +:10E1400000005043B03CFFFF0000903C0000000086 +:10E150002DE9F04F2DED028BB1F5801F85B0024601 +:10E160000B460F465CDA21F00044044300F0F880CF +:10E170000029C0F23481D84B002230F037F80B462A +:10E180000F46D64902468F426FF0350410461946B5 +:10E190003FDC3E15C7F3130707F51523A6F2FF363C +:10E1A00003F6647303F48013264406EB135683F0DE +:10E1B0007F5383F4401343EA07010022C84B2FF03A +:10E1C0005DFEBB1CC3F31303022B82468B462FDC80 +:10E1D0000022002330F072FA002800F0CC80002EDC +:10E1E00000F04F8130462FF097FFA7A3D3E900231B +:10E1F00006460F462FF0FAFFA5A3D3E900230446F5 +:10E200000D46304639462FF0F1FF02460B462046B8 +:10E2100029462FF035FE05B0BDEC028BBDE8F08F2E +:10E22000AE498F424FF0000410461946B1DDF0E7C9 +:10E23000A7F5C223A3F27A43019300224FF0804353 +:10E240002FF01EFE02460B465046594630F0F8F8B5 +:10E2500041EC180B30462FF05FFF53EC182BCDE943 +:10E26000020151EC180B2FF0C1FF02460B4680460D +:10E2700089462FF0BBFF88A3D3E9002304460D464F +:10E280002FF0B4FF86A3D3E900232FF0F9FD224637 +:10E290002B462FF0ABFF84A3D3E900232FF0F0FD32 +:10E2A00022462B462FF0A2FF81A3D3E900232FF0B3 +:10E2B000E7FD42464B462FF099FF7FA3D3E90023A9 +:10E2C00080468946204629462FF090FF7CA3D3E95B +:10E2D00000232FF0D5FD22462B462FF087FF7AA38F +:10E2E000D3E900232FF0CCFD22462B462FF07EFFF2 +:10E2F0000B460246494640462FF0C2FDC7F5D727D8 +:10E30000019B51371F43002F8046894659DD754BCD +:10E310000022504659462FF069FF52465B462FF0C7 +:10E3200065FF04460D46002E60D122462B4640462E +:10E3300049462FF0A5FD53EC182B2FF057FF02464E +:10E340000B46204629462FF099FD02460B465046C3 +:10E3500059462FF093FD05B0BDEC028BBDE8F08F60 +:10E36000002200236049002030F06AF805B0BDECBF +:10E37000028BBDE8F08F56A3D3E9002350465946DF +:10E380002FF034FF02460B46002056492FF076FD51 +:10E39000524604460D465B46504659462FF026FF2E +:10E3A00002460B46204629462FF020FF04460D4624 +:10E3B000002E52D102460B46504659462FF05EFDC4 +:10E3C00029E7002E40F0928002460B4650465946FF +:10E3D0002FF054FD53EC182B2FF008FFB5E72FF06A +:10E3E0004DFD0022002330F02BF814E726A3D3E9DB +:10E3F0000023DDE902012FF0F9FE22462B460646F6 +:10E400000F46404649462FF03BFD53EC182B2FF0AA +:10E41000EDFE1FA3D3E9002380468946DDE9020112 +:10E420002FF0E4FE02460B46404649462FF028FDF9 +:10E4300002460B46204629462FF020FD52465B46F9 +:10E440002FF01CFD02460B46304639462FF016FDD4 +:10E4500005B0BDEC028BBDE8F08F30462FF05CFEBE +:10E4600009A3D3E90023804689462FF0BFFE08A305 +:10E47000D3E9002306460F46404649462FF0B6FE34 +:10E48000D6E700200021C6E60000E0FE422EE63F6F +:10E49000763C7935EF39EA3D44523EDF12F1C23F16 +:10E4A000DE03CB966446C73F599322942449D23F5A +:10E4B000935555555555E53F9FC678D0099AC33FAA +:10E4C000AF788E1DC571CC3F04FA97999999D93FC1 +:10E4D000555555555555D53F00005043FFFFEF7F2B +:10E4E0000000F03F0000E03F000050C316A3D3E956 +:10E4F0000023DDE902012FF079FE42464B46044637 +:10E500000D46504659462FF0B9FC53EC182B2FF00E +:10E510006DFE0FA3D3E9002306460F46DDE9020195 +:10E520002FF064FE02460B46304639462FF0A6FC1B +:10E5300052465B462FF0A2FC02460B462046294677 +:10E540002FF09CFC67E600BF0000E0FE422EE63F95 +:10E55000763C7935EF39EA3D10B5054C237833B96F +:10E56000044B13B10448AFF300800123237010BDA6 +:10E570005036002000000000108E060008B5034B46 +:10E580001BB103490348AFF3008008BD0000000041 +:10E5900054360020108E0600A3F5803A704700BF65 +:10E5A000174B002B08BF134B9D46FFF7F5FF0021CB +:10E5B0008B460F461348144A121A3BF071F80E4B63 +:10E5C000002B00D098470D4B002B00D0984700201F +:10E5D000002104000D000D48002802D00C4831F045 +:10E5E0001AF82FF001FB2000290000F07DF82FF031 +:10E5F000E7FA00BF00000800000000000000000073 +:10E600000000022000220020A845012017F6040087 +:10E61000000000000048704716FCFFFF00487047EC +:10E6200016FCFFFF10B5034B0360044636F010FFE5 +:10E63000204610BDB098050010B5044B03600023C0 +:10E640000446C38006F034FC204610BD98A00500A7 +:10E6500010B5074B044640F8143B36F095FC04F126 +:10E66000100036F091FC2046FFF7E6FF204610BD73 +:10E67000C09E0500F8B5114B036028338360044643 +:10E6800000F5FE7500F5007036F0B7FB284636F051 +:10E69000B4FB0B4E04F11C07BD420AD03C3D28469A +:10E6A00040F8186B08F048FD05F1080036F0A5FBAE +:10E6B000F2E72046FFF7C0FF2046F8BDACA60500F4 +:10E6C00084A6050010B5054C204604F04FFF2046F7 +:10E6D000034A0449BDE810403AF07BBF0023002004 +:10E6E00040200020B5E7010037B52A4C204605F050 +:10E6F0004BF9294B294A9B68C0255A64802104F5AF +:10E70000CE6007F069FA04F1B8000095244B0022AE +:10E7100041F2010130F0A8FD009504F1B800102588 +:10E72000204B01220C2130F09FFD009504F1B80030 +:10E730001D4B00220D2130F097FD009504F1B8002B +:10E7400000251A4B002240F6C23130F08DFD012326 +:10E7500041F2010200950021062007F02FFCFF2165 +:10E7600004F2E47032F018FA04F63810012130F0A7 +:10E77000E5FE04F6381004F58054294630F0EEFE2C +:10E780000B49D4F8840135F048FF10F0A3FA28466D +:10E7900003B030BD0023002000ED00E059E7020087 +:10E7A00013F2040011F2010023F2040037F2040016 +:10E7B000CDCC4C3E38B5414B03603C3304464360FE +:10E7C00000F5945031F07AFA04F6381000F09CFE0F +:10E7D0003B4BC4F8083904F60810FFF72DFF394BFE +:10E7E000C4F8E03804F50E60FFF726FF04F6AC002D +:10E7F00008F09CFB344BC4F89C3804F69C0006F0EF +:10E80000A9FF04F6780007F011FE04F6540007F0A3 +:10E810000DFE04F2E47001F01DF904F2847032F090 +:10E8200063F904F5EB6002F0E5F904F5E16001F04D +:10E8300097FD04F5DE60FFF7F5FE04F5DB60FFF7FA +:10E84000F1FE04F5CE600AF0A5FE204BC4F82C338F +:10E8500004F54B7504F26C6036F0CFFA2846FFF7EA +:10E86000EBFE1B4BC4F8EC3204F53B7008F0D4FB14 +:10E8700004F1E000FFF7FEFE04F1B80008F042FAF0 +:10E8800004F1800034F0CCFE2046124D40F8645F65 +:10E89000FFF7D2FE204640F84C5FFFF7CDFE204642 +:10E8A00040F8345FFFF7C8FE04F10C00FFF7D0FE1C +:10E8B000201DFFF7C1FE204638BD00BF249F050084 +:10E8C000009B0500DC9A050024A40500849F050038 +:10E8D0006CA8050050980500A0F104006AE700BF8D +:10E8E000014831F062BD00BF082C0020064B53F8F0 +:10E8F0002030DA69D38819B143F40073D3807047AC +:10E9000023F400739BB2F9E7F0980500064B53F827 +:10E910002020D38819B143F40073D380704723F4C7 +:10E9200000739BB2F9E700BFF8980500014831F089 +:10E9300026BB00BF082A002008B528B1BDE8084062 +:10E940000448012231F029BC024831F017FC0120B3 +:10E9500008BD00BF082A002038B5064B064A044609 +:10E9600053F8200003680D465B6C515C9847034BDD +:10E970001D5538BDF8980500682B0600C0440020DE +:10E98000014B185C704700BFC044002008B5064B1F +:10E9900053F820000368DB6B9847044B984208BF8C +:10E9A0004FF0FF3008BD00BFF898050016FCFFFFD0 +:10E9B000024BC9B253F820000AF0B2B9F89805002A +:10E9C000024B53F8200003685B681847F89805006D +:10E9D000024B53F8200003681B681847F89805009D +:10E9E000024B53F8200003685B691847F89805004C +:10E9F0002DE9F041164F044615460E4601B9FAB10D +:10EA0000132C57F8240014BFA0464FF0030836F02B +:10EA1000B9FF104A32F8183020B103EB400343F03D +:10EA200001039BB22EB103F0010123F00103316019 +:10EA30009BB21DB15908296003F0010322F8183078 +:10EA400057F824000368BDE8F041DB6A184700BFAF +:10EA5000F898050058430020024B53F820000BF0B3 +:10EA60004FB800BFF8980500084B10B5144653F88E +:10EA7000212053F82010064807F0F0F828B9214665 +:10EA80000348BDE8104034F0BABA10BDF89805004C +:10EA9000702900202DE9F04F1C4D1D4C824628683E +:10EAA00085B0DDE90E870E46994600BB2C20039207 +:10EAB0003AF096FD039A174B0093834654F82A3098 +:10EAC00054F8222054F826100AF054FCC5F800B07F +:10EAD0002868036849469B689847A0B92868036876 +:10EAE000DB684246394605B0BDE8F04F1847036879 +:10EAF00054F82220D3F804B054F8211054F82A30E6 +:10EB0000D8470028E4D005B0BDE8F08F6C3600206F +:10EB1000F898050000300240074B37B504461868E6 +:10EB200003685D69134622B900922246A84703B0E4 +:10EB300030BD0094F9E700BF6C360020154B2DE97D +:10EB4000F04753F82080054616460F4601B9D2B16A +:10EB5000DFF84490404639F8154033F027FE20B1E5 +:10EB600004EB400444F00104A4B22FB104F001030B +:10EB700024F001043B60A4B21EB16308336004F0CA +:10EB8000010429F81540D8F800304046DB69BDE89B +:10EB9000F0471847F0980500604300200AB208B516 +:10EBA00001B2054835F09DFFFF281ABFB0FA80F08A +:10EBB000C0F12000092008BDF42A0020092AA8BFBE +:10EBC000092222EAE272034B9B5C0AB201B20248BC +:10EBD00035F072BF6B2B0600F42A0020014831F09B +:10EBE000BDBF00BFE42A00201FB5074B0446D3F881 +:10EBF0001C1901A833F095FE019B2360029B636002 +:10EC0000039BA36004B010BD0023002008B5034B94 +:10EC1000D3F81C0933F0BBFE08BD00BF0023002061 +:10EC2000034B0146D3F81C090268526A104700BF23 +:10EC300000230020024BD3F8200933F0FFBE00BFB1 +:10EC400000230020024BD3F8200933F0FBBE00BFA5 +:10EC500000230020024BD3F8200906F0A7BE00BF16 +:10EC6000002300201FB5074B0446D3F8201901A844 +:10EC700033F00DFF019B2360029B6360039BA36045 +:10EC800004B010BD00230020024BD3F8200933F05C +:10EC90000CBF00BF00230020024BD3F8200906F070 +:10ECA000ABBE00BF002300200146014830F054BE37 +:10ECB000803500200146014830F0FDBC8035002041 +:10ECC0000146014830F05ABE8035002008B506489C +:10ECD00030F03EFF38B16FF47B7398420CBF4FF0B9 +:10ECE000FF306FF0010008BD8035002008B50648F0 +:10ECF00030F0E2FE38B16FF47B7398420CBF4FF0F6 +:10ED0000FF306FF0010008BD8035002008B50A46CD +:10ED10000146064830F003FF38B16FF47B73984228 +:10ED20000CBF4FF0FF306FF0010008BD80350020B0 +:10ED3000212838B50D4604D1114832F0A0F9002041 +:10ED400038BD104B53F8204023682046DB6B9847B2 +:10ED50000D4B00B2984209D0236829469B6B204690 +:10ED60009847003818BF01204042E9E72368002196 +:10ED7000DB68204698470028EED04FF0FF30DFE7F1 +:10ED80002C350020F898050016FCFFFF212802D141 +:10ED9000044832F060B9044B53F820000368DB6884 +:10EDA000184700BF2C350020F8980500084B10B517 +:10EDB00053F82110144653F82020064836F0BDFBC6 +:10EDC00028B921460348BDE8104009F04DBB10BDED +:10EDD000F8980500F029002007B5B3FA83F35B0922 +:10EDE000009313460A464100024836F043FC03B044 +:10EDF0005DF804FBF029002007B5B3FA83F35B0943 +:10EE0000009313460A464100024836F0E9FB03B07E +:10EE10005DF804FBF029002010B1034831F06EBE0C +:10EE2000014802F00BBC00BFE42A002010B5044BDF +:10EE3000044640F80C3B35F0E0FF204610BD00BF13 +:10EE40008499050010B5041E05DABDE81040084895 +:10EE5000002130F083BB0648012130F07FFB054BD9 +:10EE6000034853F82410BDE8104030F087BB00BFC2 +:10EE7000382C0020F89805000146014830F05EBBB0 +:10EE8000382C00200146014830F04CBB382C0020C3 +:10EE9000012801BF024A137803F1FF331370704752 +:10EEA000E6440020024B1878003818BF0120704754 +:10EEB000E64400201FB50B4A0B4C13780190013338 +:10EEC0002046137031F0AEFF019903A808F04EFF01 +:10EED00003A9204631F0BCFF03A836F055F804B072 +:10EEE00010BD00BFE644002028350020014831F065 +:10EEF00099BF00BF2835002013B50F4C07EE900ACC +:10EF00002379F8EE677A83B9CDED017A00F08EFAB5 +:10EF100001232371094B2361019A0948FF232146EC +:10EF200002F056FA606102B010BD17EE901A6069E7 +:10EF300030F03DFAF7E700BF7036002013FB020007 +:10EF4000402C002008B507EE900A044BF8EE677AD3 +:10EF5000586917EE901A30F02AFA08BD7036002072 +:10EF600073B5104CE3685B888B4206460D460BD0A8 +:10EF7000012201A835F031FF01A904F10C0035F0A0 +:10EF800043FF01A835F039FFE0682A4631460430D6 +:10EF90003AF05EFBA06803681B6802B0BDE87040F1 +:10EFA000184700BF7036002013B50F4C07EE900ACB +:10EFB0002379F8EE677A83B9CDED017A00F036FA5D +:10EFC00001232371094B2361019A0948FF2321463C +:10EFD00002F0FEF9606102B010BD17EE901A606990 +:10EFE00030F0E5F9F7E700BF88360020910503000F +:10EFF000402C002073B5104CE3685B888B420646BA +:10F000000D460BD0012201A835F0E7FE01A904F15D +:10F010000C0035F0F9FE01A835F0EFFEE0682A4655 +:10F02000314604303AF014FBA06803681B6802B054 +:10F03000BDE87040184700BF8836002070B50E4C00 +:10F040000E4E26600025257104F10C0008F064FEC8 +:10F0500020460B4C0B4A0C493AF0BBFA266025714E +:10F0600004F10C0008F058FE2046064A0649BDE8A7 +:10F0700070403AF0AEBA00BF7036002084990500A7 +:10F0800088360020402000202DEE0100024B014672 +:10F09000D3F8840135F0C1BA0033002007EE901A8E +:10F0A000064AF8EEE77A034617EE901AD2F8900176 +:10F0B0000BB908F0A1BA08F065BA00BF0033002010 +:10F0C00008B5074B4FF0FF31D3F8900135F02CFA1B +:10F0D00007EE900AFDEEE77A17EE900A08BD00BF32 +:10F0E00000330020044B186820B1044B18680368F3 +:10F0F0009B681847704700BFA4360020A036002048 +:10F10000024B1B680BB101221A757047A436002010 +:10F110002DE9F041234C2DED028B08EE103A2368C7 +:10F1200007460E46154653B91F4BD3F888010368AE +:10F130009B689847036820605B69012198472068B5 +:10F14000DFF86C800368F8EEC87ADB6917EE901A76 +:10F150009847D8F80030C3B918203AF041FA23682C +:10F16000124AC8F80000C0E90023BDEC028BD8F8B1 +:10F17000001020680023C1E902752B600B7503683D +:10F180000E615B68BDE8F0411847FFF7ABFF002850 +:10F19000EBD0FFF7B5FFFFF7A5FF0028E5D030F073 +:10F1A000C0F8F8E7A036002000330020AC99050035 +:10F1B000A4360020134B73B51E780EBB124D0122EE +:10F1C0000221D5F890011A7035F0A6F928203AF0FE +:10F1D00007FA10230446009315210C4B324633F0F6 +:10F1E0005CFA2146A5F6487007F0ACFC40B1204619 +:10F1F00033F067FA204602B0BDE870403AF0EEB94D +:10F2000002B070BDE7440020003300202FF404005A +:10F2100084B00DF1100C0CE90F00034A13680133A0 +:10F22000136004B00FF086BCAC36002013B5044662 +:10F23000684608F0CBFD631C0CD00F4BE1B201A86F +:10F240001C6035F0D0FE01A9684635F017FF01A813 +:10F2500035F09AFE694601A835F008FF002201A9A1 +:10F26000064833F0F8FE01A835F08EFE684635F00A +:10F270008BFE02B010BD00BFA83600207029002010 +:10F2800038B510F00104054605D0084833F0CFFF2B +:10F29000041E18BF01246B0705D5044833F0D8FFBE +:10F2A00008B144F00404204638BD00BF7029002096 +:10F2B0000A4601230146014806F0A8BC7029002037 +:10F2C00070B50D4D0D4E0E4C284633F0B0FF28B9E9 +:10F2D00001200FF0DDF930F024F8F5E70121284690 +:10F2E00006F05CFC3368834204D1236813B1013B10 +:10F2F0002360E9E770BD00BF70290020A836002018 +:10F30000AC3600202DE9F74F0546DDE90CBABDF813 +:10F310003860884691461F46002B3DD0BBF1000F58 +:10F3200002D11AF0010F37D0B8F10F0F01D1C02E62 +:10F3300032D128203AF054F90446103035F058FB09 +:10F340001820A4F80080A4F802903AF049F9014688 +:10F35000CDE900BA41F80C7B00236F46C36002463A +:10F360004B6003CFC4E90223C4E908332B68506023 +:10F37000916046F002060A4951615B68A680214609 +:10F380002846984740B1204633F09BF9204603B009 +:10F39000BDE8F04F3AF022B903B0BDE8F08F00BFEE +:10F3A00053F40400F7B5D0F8DC780446B7BB382036 +:10F3B0003AF016F904F1080513232A4606461949BE +:10F3C0000093194B09F066F93946C4F8DC683046F9 +:10F3D00036F0CBF9D4F8DC0836F0C1F981B2284612 +:10F3E00031F048FB4FF40041284631F05DFB94F8C2 +:10F3F0006218204630F0A2F894F86318204630F0E6 +:10F40000ADF8D4F8D8384BB9074A40F2FF3304F6C8 +:10F410006C01284601F0DCFFC4F8D808002003B0D6 +:10F42000F0BD00BF0010024000442C47024B18689A +:10F4300008B1FFF7B7BF7047B036002010B50446DB +:10F4400089B3D0F8DC3823B3C38843F00103C38009 +:10F450001D4B0222C3F88420BFF34F8FBFF36F8F81 +:10F46000D0F8DC0836F0F9F9D4F86818D4F8DC08DC +:10F4700036F023FAD4F86418D4F8DC0836F01DFA14 +:10F48000D4F8DC0810B103689B6998470023C4F8DE +:10F49000DC3894F86038DBB284F86138204630F00C +:10F4A00011F8002010BDC388DA0704D523F001034A +:10F4B000C380FFF777FF94F86138002BF1D0204626 +:10F4C0002FF0E9FFEDE700BF00E100E00A4B10B5C7 +:10F4D00003F184020360A8330446826103622C3086 +:10F4E00035F08BFC054BA361002304F11800E38386 +:10F4F00005F0DEFC204610BD389D050098A00500F3 +:10F50000A0F11800E2E700BF144B10B504460360F9 +:10F51000D0F8DC0848B1D4F8681836F0CEF9D4F841 +:10F520006418D4F8DC0836F0C8F904F6F400FFF7E4 +:10F53000CDFF04F50F6031F04FFC04F66C0002F0D3 +:10F54000A1FA04F1080001F071FD054B23600023CE +:10F550002046E38005F0ACFC204610BDC0990500B4 +:10F5600098A005002DE9F04704468CB000261D4602 +:10F57000734B03602746466090468946DDF850A0ED +:10F5800005F05AFC6F4B47F8083B6F49032340F2E4 +:10F59000FF32384601F072FF40F20113C4F8688868 +:10F5A00004F66C084AF6444284F86068A4F86238AD +:10F5B00040F6C23184F86168C4F86498404602F0AD +:10F5C00085FA159BC4F8E8384146C4F8D868C4F8F1 +:10F5D000DC68C4F8E058C4F8E4A804F50F6031F022 +:10F5E000F9FB2B22394604F6F40002F047FF574B93 +:10F5F0001A6802B91C600121404631F0E1FB00228B +:10F600005146284608F03EFE1621C4F84808284610 +:10F6100035F061FE00220721D4F8480835F0FBFDE3 +:10F6200005F0FAFB0590502039F0DAFFD4F84818BD +:10F63000059A0546183108F061FAC4F8545828466E +:10F6400008F090F90590482039F0CAFF02230A22F9 +:10F650000599CDE900323E4A0123054608F004F938 +:10F66000D4F85408C4F84C5803689B689847059030 +:10F67000682039F0B5FF00251523CDE90235354B5B +:10F6800001934FF0834306460093334A334B059969 +:10F6900007F026FFC4F85868314E376897B1D4F8A0 +:10F6A00054383048B3F808C02E4B2946CDE906350A +:10F6B000C0238DE8030002932A462346614638465C +:10F6C000FFF720FE502039F08BFFD4F84C1825228C +:10F6D0002431054608F012FAD6F800C0C4F8505894 +:10F6E000BCF1000F27D0DFF87C80CDF8208000250A +:10F6F000C027294640468DE8030023462A46604637 +:10F70000252109950297FFF7FDFDD4F848083668D2 +:10F710002946183034F0CEFECDE90A850CAB0297AD +:10F72000024613E9030023468DE8030040F2FF314F +:10F730003046FFF7E7FD20460CB0BDE8F08700BF7C +:10F7400098A00500C099050000442C47B036002061 +:10F750000AD7A33D000050420000AA4200008242A6 +:10F76000B4380020E9F4040000487047752B060007 +:10F77000BFF34F8F0549064BCA6802F4E06213439A +:10F78000CB60BFF34F8F00BFFDE700BF00ED00E08F +:10F790000400FA051F2886BF054A00F01F004FF03D +:10F7A000A042012303FA00F0C2F80C05704700BF25 +:10F7B00000030050024A0260024A1060704700BF16 +:10F7C000E4990500B836002070B5194B88B001AA3D +:10F7D00003F1180518685968144603C40833AB428E +:10F7E0002246F7D11B782370124C002304F8053F02 +:10F7F0004FF080520520566E012503EB8301203126 +:10F800006944B6FBF0F200FB1262B2FBF5F2B61AE5 +:10F810000A44013312F81C2C04F8012D052B00EBCF +:10F82000800005EB8505E8D1024808B070BD00BF37 +:10F830007C2B0600E844002070B504462FF0D0FE73 +:10F84000C0B90D4B0D4901221A600422C3F8000112 +:10F85000D3F80051002DFBD0D3F80855013A45EA02 +:10F860000121F3D101225A60236820469B69BDE83B +:10F87000704018470149F7E700D00040ED5EBC0B2F +:10F880002DE9874800900AF0F3F8664A6648674D0C +:10F890000023C2F810350324C2F81435C2F8183515 +:10F8A000C2F81C35C2F82035C2F82435C2F8283514 +:10F8B000C2F82C3510F8012B1F2A86BF02F01F0258 +:10F8C00029464FF0A04102F5E0720133052B41F8C3 +:10F8D0002240EFD15648554D0022032410F8013B39 +:10F8E0001F2B86BF03F01F0329464FF0A04103F5ED +:10F8F000E0730132052A41F82340EFD14C4C00213E +:10F9000014F8010B0131FFF745FF0529F8D1002656 +:10F91000484B196819B1B14240F382800021464C2E +:10F9200018E064230A2419B193FBF4F30139FAE7D0 +:10F93000009991FBF3F393FBF4F104FB11333033A3 +:10F9400005246FF09F015BB214FB03133B490C6865 +:10F9500011461C440027272F54DC042E49F640454D +:10F96000C8BF4FF47A65DFF8C8904FF000084FF039 +:10F97000010B2D4B4FF0040A14F808C013F8010BCB +:10F980004CFA0AFC1CF0010F02463DD00193FFF730 +:10F9900001FF019BBAF1010AEED265B199F800307E +:10F9A0001F2B86BF214A03F01F034FF0A0420BFA22 +:10F9B00003F3C2F808354FF0000A6A1E49F64043C7 +:10F9C0004FF0A0405245D0F8040507D199F8000047 +:10F9D0000192FFF7DFFE019A49F640430AF1010A5E +:10F9E0009A45EDD108F10108B8F1050F09F10109B7 +:10F9F000BFD10137302FAED1032901F1010290D1DF +:10FA0000013685E70025AEE71F288ABF00F01F02F8 +:10FA10004FF0A04005480BFA02F2C0F80825B9E7FC +:10FA2000FFF7A6FE006000409F2B06000003005079 +:10FA30009A2B0600B4360020952B0600B02000203B +:10FA4000034B186810B10368DB69184736F0F6BA43 +:10FA5000B836002010B5074B03F1080248330446BE +:10FA6000026040F83C3F06F0A5FB204601F0D8FDBF +:10FA7000204610BD049A0500F7B504461820154627 +:10FA80000F4639F0ADFD0E491B22064609F094FFE2 +:10FA9000012300933A462B463146204601F0A6FE4C +:10FAA0002A46214604F13C0006F0A4FB054B204603 +:10FAB00003F1080248332260E36303B0F0BD00BFE6 +:10FAC00000B00140049A050073B505460C4668462F +:10FAD0000F49164608F04AF92368B3F90230B342D9 +:10FAE0000CD02246694601A835F0EFFA01A920465C +:10FAF00035F0C4FA01A835F047FAEDE7214628466B +:10FB000035F0B4FA684635F03FFA284602B070BDC9 +:10FB1000257C060003490A6802604A6842600022A8 +:10FB2000027270479C39060070B58AB0044601A87D +:10FB30000E4608F04BF904A808F048F92B4907A82D +:10FB400008F014F907A901A835F098FA07A835F0CC +:10FB50001BFA20680368DB6A98470546206803683B +:10FB60009B6A9847281A2168029007A88DF80C60B4 +:10FB700030F070FD07A904A835F080FA089B0593C2 +:10FB800007A89DF824308DF8183035F0FDF904A948 +:10FB900001A835F082FA88B1029A059B9A420DD1EC +:10FBA0009DF80C209DF818309A4207D104A835F032 +:10FBB000EBF901A835F0E8F90AB070BD256801A994 +:10FBC00007A835F053FA029B089301229DF80C30E8 +:10FBD0008DF8243007A9284630F04CFE07A835F0F0 +:10FBE000D3F9206830F0B9FCE0E700BFA42B060091 +:10FBF0002DE9F04F2DED028B08EE102A83B004465C +:10FC000088469A460026A56DB54209D9206E414620 +:10FC100000EBC60035F041FA002859D10136F2E771 +:10FC2000681CC00005F03CFDBAF1000F0CBF0026B7 +:10FC30000126DFF8A8B0074618BF002500EBC6066E +:10FC40004FF00009A26D4A4525D9304608F0BEF8AC +:10FC5000321D1046019208F0B9F8216E304601EBD2 +:10FC6000C90135F00BFA216E019A4FEAC90A5144D5 +:10FC70001046043135F002FA206E5946504435F0F2 +:10FC8000FDF9206E50445946043035F0F7F909F17A +:10FC900001090836D6E7206E08B105F025FD07EB0F +:10FCA000C5052E1D284608F091F8304608F08EF85C +:10FCB0004146284635F0E2F918EE101A304635F084 +:10FCC000DDF9A36D27660133A365012384F85C3059 +:10FCD00003B0BDEC028BBDE8F08F00BFBC38002044 +:10FCE000F8B5056A15F00105044641D106464FF402 +:10FCF0000062426356F8640B03683146DF690B23E8 +:10FD0000B847294684F88B5084F8805084F87550A1 +:10FD100084F89050102204F181002EF0A1F82946B9 +:10FD20006064102204F176002EF09AF8E0642068F6 +:10FD3000656B0368676C1B6B05F50065E5639847A9 +:10FD40002844874201D20020F8BDE56C636CAB42C9 +:10FD5000F9D220680368DB6A98478542F3D20549E7 +:10FD60000E22304639F064FCB0FA80F04009EBE72F +:10FD70000120E9E7B02B060070B5044686B00D46B9 +:10FD80002FF005FDD4F89430AB4201D1002D3DD0C9 +:10FD900001A808F01BF8B5F5167F50D038DC012D0E +:10FDA0003FD00A2D49D0344902A807F0DFFF01AA4D +:10FDB00002A903A835F089F9304904A807F0D6FF55 +:10FDC00004F1980604AA03A905A835F07EF905A94F +:10FDD000304635F053F905A835F0D6F804A835F0CB +:10FDE000D3F803A835F0D0F802A835F0CDF8D4E95F +:10FDF00011239A4239D1A36D002B36D0206E3146A3 +:10FE000035F04BF9F8B101A835F0BEF806B070BD79 +:10FE100048F6A0439D4214D0194B9D42C3D11949C5 +:10FE200000E0194905A807F0A1FF05A901A835F0D0 +:10FE300025F905A835F0A8F8B5E71449F2E7144903 +:10FE4000F0E71449EEE7D4F8943073B10126A36DBE +:10FE5000B34208D9216E01EBC6000146083835F0DF +:10FE60000DF90136F3E7013BA3650123C4F8945073 +:10FE700084F85D30C7E700BFE32B0600E2400600D0 +:10FE8000002F0D00DE2B0600C32B0600C82B06003A +:10FE9000D02B0600D82B06002DE9F0414FF400636B +:10FEA000044643630068036888B01B6B0E4698479E +:10FEB0004FF48053B3FBF0F0636BA063206803F54D +:10FEC000006203F5C053C4E911330368C4E90F228B +:10FED000DB6A9847236A0438E064206E002503F04B +:10FEE0000803C4E914552362A565A4F85C5010B159 +:10FEF00005F0FAFB25662068E16C0368019501AA0C +:10FF00001D6A04F10C080123A847404631F0C7FCE4 +:10FF1000206803689B6A9847054676B1E26C2768BB +:10FF200095423B680BD829465B6A3846984720685B +:10FF300003681B6B98470544EFE7626CEFE71D6AA7 +:10FF40009B6A384698473C4A01464FF4007338464E +:10FF5000A8473A4B04F164052A4603F1100153F80F +:10FF6000040B42F8040B8B42F9D11B881380344BED +:10FF700019461A6851F80CCB1F89987AC4F8812069 +:10FF80005A68DB68C4F88C300B79C4F876C0C4F8C2 +:10FF90008520C4F87A20616884F88B0084F880009A +:10FFA00084F8903003A8A4F88970A4F87E702FF02C +:10FFB00068FFBDF80E1042F20F73994228BF194630 +:10FFC00005A834F0FFFF042205A902A8FFF77CFD75 +:10FFD00005A834F0D9FF029B616C5B68C4F88C30D3 +:10FFE00004F183002FF02BFBE16C04F178002FF07B +:10FFF00026FB616B2A462D23404604F059F805A8DC +:020000022000DC +:10000000FFF788FD05AA216C0823404604F050F84C +:1000100086F001012046FFF787FD236AD4F894108B +:1000200043F0010323622046FFF7A6FE02A834F046 +:10003000ABFF08B0BDE8F081022C0600B02B060033 +:10004000F02B06002DE9F04F04460E468BB02FF042 +:100050009EFB304639F06DFBD4F84880636C434515 +:10006000054603D101212046FFF75EFDD4E9123198 +:10007000CB1AAB4218D2236A5A070AD403235B4A2D +:10008000013104F10C0004F013F8236A43F0040377 +:10009000236201231A462C2106A834F0B3FC6FF426 +:1000A0007B700BB0BDE8F08F0023009332462B46E7 +:1000B000214602A82FF008FB029B5A8802B11E1DA0 +:1000C000236A1B070DD5002D49D002236A1E314635 +:1000D000A06805F09BFD02234549A0681A4605F07B +:1000E00095FD04F10C09002D39D0206803681B6BC5 +:1000F000984707462068D4F848A003681B6B9847C8 +:10010000BAFBF0F303FB10A0381A85422F46A8BFB4 +:100110000746854217D3D4F848A0E36C5044984270 +:1001200011D2206803681B6B9847834620680368D8 +:100130001B6B9847BAFBFBFA23681A680AFB00019D +:10014000526A184690473B463246A16C484603F037 +:10015000AFFFA36C3B44A3643E44ED1BC3E7A36C19 +:100160004FEA1828B8EB132F3AD02546276C55F8DC +:100170000C0B036807F108061B6B26649847B6FB57 +:10018000F0F303FB106676B9D4E910239A4204BF5A +:10019000E36B2364216C284631F0B2FB2068216CAC +:1001A00003685B6A984703A8FFF7B4FCD4E91131F0 +:1001B000C91A03A821F0FF012FF041FA0246216C71 +:1001C0000823284603F074FF06A8FFF7A3FC0023CA +:1001D000CDE9063306AA08233946284603F068FF0E +:1001E00002A834F0D1FE00205BE700BFEA2B060036 +:1001F0004E5706002DE9F04397B0DDE91E4806464C +:10020000CDE9062105932FF0C2FAD6E91123012C7E +:10021000A3EB020351D0022C51D0984606F164079B +:100220000FCF0AAD0FC50FCF0FC597E80F0007C559 +:1002300040F62D010DF147002B702FF000FAF16C04 +:10024000736C01F62D01C91A0FA82FF0F8F90025DB +:10025000FF23012C0AAF8DF82330099534D0022CEE +:1002600065D0002C72D14FF4006309ADCDE9024393 +:10027000374B019306AA05AB07A9009530462FF02E +:10028000C5FC2D23CDE90243CDE9005705AB06AAF5 +:1002900007A930462FF0BAFC0123CDE902430DF146 +:1002A0002303CDE9005305AB06AA07A930462FF07A +:1002B000ADFC204617B0BDE8F083A8F62E0898459F +:1002C000ACD96FF47A74F4E74FF400630DF12409AC +:1002D000CDE902531E4B019306AA05AB07A9CDF841 +:1002E000009030462FF092FC2D23CDE9025306AA50 +:1002F00005AB07A9CDE9009730462FF087FC736C5A +:10030000CDF80C80CDE90153CDF8009005AB06AADD +:1003100007A930462FF07AFC04460028C9D10123F2 +:10032000CDE902030DF12303CDE90093BBE7736C24 +:10033000CDF80C80CDE9015309AB009306AA05ABBB +:1003400007A930462FF062FC0446B2E72C46B0E71E +:10035000022C0600014B1880704700BF6443002048 +:1003600010B5044B036000230446C38004F0A0FDD5 +:10037000204610BD98A005002DE9F04100251E463D +:10038000144B0360044645608846174604F054FD4C +:10039000114B23602A46C4E90887A662012104F1B3 +:1003A0002C0032F019F900220023C4E91023BDF813 +:1003B0001830A380E388E56343F4804343F00403EB +:1003C000A4F8485025616561A561E3802046BDE839 +:1003D000F08100BF98A00500B89A050073B50C46DF +:1003E0000546684607F098FCE38843F00103E38084 +:1003F0000026132E06F1010321DC1E46012032F0F7 +:10040000CDF9214601A82FF0BBFC01A9684634F0C4 +:10041000FBFC01A834F0F1FC009B5A88002AE8D0CC +:100420001A79202A21D1E2885B79920601D5392BED +:1004300003D0312BDDD002211EE00126DEE70122B0 +:10044000022101A834F0C9FC019B20221A71382234 +:100450005A71E38823F00103E38001A9284634F0B0 +:10046000B4FC01A834F0C9FC11E0132AE3D0597997 +:100470000A4832F081F9C11C684634F079FDE388FE +:1004800023F00103E3806946284634F09EFC684669 +:1004900034F0B3FC284602B070BD00BF689A050076 +:1004A000C38870B513F001060B4D044602D000233B +:1004B0002B6070BD406A00F543702FF031FC0028BE +:1004C000F5D02B681D2B01DC0133F1E72E602046AF +:1004D000BDE870402FF08FBDBC36002070B51E46C1 +:1004E000836A0C4615468BB105F042FD84B1854206 +:1004F00076EB010308D3074B2D1A66EB01060020AB +:10050000AB4270EB060302D3034800E0034870BD22 +:100510002046FCE79F86010009FCFFFF16FCFFFF59 +:100520002DE9F04F2DED028B8BB004469DF85890CD +:10053000179E029115461F4605F01AFDCDE900965B +:1005400082468B462A4602993B462046FFF7C6FF65 +:100550008046002840F0D580204601212FF0E7FC9E +:10056000B9F1000F14BF02200120414604F0B2FC93 +:1005700008A805F0F1FDCDE90301A06A64494369CB +:10058000D3F848250592D3F804230692D3F8042320 +:10059000C3F80823C36808EE103A0368DB6998477C +:1005A0005C4BA3F80080B9F1000F0CD15EB1336849 +:1005B00030465B689847F188C1F30021C1F103011F +:1005C000304608F005FD606A032100F5437008F02D +:1005D000FFFC514BA06A40221A600368089ADB6B4B +:1005E00002219847A06A03689B6A9847039A089B70 +:1005F0000D3D47F1FF37B5EB0A0567EB0B07B2EB93 +:100600000A0A049A62EB0B0B1AEB0A0A4BEB0B0B70 +:10061000B5EB0A0203924FF0000567EB0B02DFF81F +:10062000FCA004922F46029A7AB1039A9542049A4A +:1006300077EB020228D2039A0499521B61EB07015F +:100640000020924570EB010100D25246A06A079348 +:1006500001681A44D1F83CB00221D84730BFA06AE3 +:100660000268926C9047079BC31A5D19834647F155 +:10067000000705F07DFC274A13889BB223B14FF099 +:10068000000313805B46CEE7606A002100F54370EB +:1006900008F09EFCB9F1000F04D11EB14946304666 +:1006A00008F096FCA06A03681B6B9847A06A436930 +:1006B000D3F80423C3F80823036818EE101ADB6983 +:1006C0009847A36A059A5B69C3F84825002200236E +:1006D0001946104605F050FDA36A069A5B69B9F108 +:1006E000000F14BF04200320C3F80423002104F0EA +:1006F000F1FB002120462FF01AFC05F029FCC4E98B +:10070000100140460BB0BDEC028BBDE8F08F00BF7E +:10071000550302006443002000E100E0BFBDF0FF8C +:10072000F7B504460F46154610301E4634F060F902 +:1007300065802780182038F053FF08AB024693E805 +:1007400003006D4685E8030011462B4641F80C6B0B +:100750000026D6604E6003CB074B5361BDF82830AE +:10076000506043F002032046C4E90226C4E908664B +:100770009160A38003B0F0BDCBFC040010B50F4A1C +:10078000146890B00346BCB10D4A0D480492002293 +:100790000592002110228DE80300029240F2FF3101 +:1007A000052206A8FFF7BCFF236806A99B68204620 +:1007B000984706A831F085FF10B010BDB43800206E +:1007C0000D01050030B5164A89B01568059025B3AE +:1007D000144A069228200022079238F001FFC02216 +:1007E000029208AB044613E9030005228DE80300DA +:1007F000059B40F2FF312046FFF792FF2B68214610 +:100800005B682846984740B1204631F05AFF2046A1 +:1008100009B0BDE8304038F0E1BE09B030BD00BFDE +:10082000B43800200D01050010B5044B036000230F +:100830000446C38004F03CFB204610BD98A0050090 +:1008400070B5104B03600025044645600E4604F069 +:10085000F3FA20460C4B40F8183B21462FF052FD8E +:10086000214604F120002FF071FD40F20763C4E936 +:100870000235064BA680C4E90455E5801C6020467D +:1008800070BD00BF98A00500DC9A0500C0360020AE +:10089000C388DB0746BFC16000200148704700BF26 +:1008A00016FCFFFFC388DB074CBFC06800487047D9 +:1008B00016FCFFFF38B5144CD4F8003123B10023E7 +:1008C000C4F800310123A360D4F80C31BBB100217E +:1008D000C4F80C11D4F800340C4D012B28680FD14A +:1008E000D4F848154942FFF7D3FF28682FF0B9FC28 +:1008F0002B685B69C4F80435034B01229A6038BD4C +:10090000FFF7C6FFF8E700BF00100040C036002028 +:1009100010B504462EF064FEE0B9E38813F001033D +:100920001AD00E4B0222C3F88020BFF34F8FBFF3C3 +:100930006F8F0B4B0122C3F810011A61D3F81021FD +:10094000002AFBD0E38823F4804323F00103E380F3 +:10095000002010BD0348FCE71846FAE700E100E07C +:100960000010004016FCFFFF38B505460C462EF07F +:1009700037FE20B9034BAC72C3F8244538BD02489A +:10098000FCE700BF0010004016FCFFFFC388DB0738 +:1009900070B5054666D42EF023FE002864D16E693A +:1009A00046B92C2038F01CFE2C220446314638F083 +:1009B00077FE6C614FF080430022C3F800210122D2 +:1009C0001A60D3F80021002AFBD06B7A274A284C02 +:1009D000D35CC4F80C352B7AC4F808350026254BB7 +:1009E000C4F81065C4F81C35A97A2846FFF7BCFF87 +:1009F0000821214BC4F82C650122C4F830254FF69C +:100A0000FF70C4F81415C4F818350223C4F834353F +:100A1000C4F83C051948C4F838051820C4F8540532 +:100A20006869C4F80405C4F804131549C1F8803195 +:100A30000B60D4F8003243F01003C4F80032C4F85D +:100A400000616260D4F80031002BFBD0012300204C +:100A5000C4F80C01A360EB8843F4804343F0010326 +:100A6000EB8070BD0020FCE70648FAE70234060080 +:100A7000001000407469627520000402211001001A +:100A800000E100E016FCFFFF70B505460C462EF0B5 +:100A9000A7FD064698BBEB88E4B113F0010008D02F +:100AA0002846FFF735FFEB8843F00403EB80304620 +:100AB00070BD154A1468C4F34001A40721D543F062 +:100AC0000203EB800223C2F88030BFF34F8FBFF3E5 +:100AD0006F8FEDE713F0040007D023F00403EB80E1 +:100AE0002846FFF753FF2046E2E713F0020108D043 +:100AF00023F00203EB80044B02221A60D8E703487C +:100B0000D6E70846D4E700BF00E100E016FCFFFF8F +:100B1000026910B572B108490224C1F88040BFF3E0 +:100B20004F8FBFF36F8F03695B6A0361C37A013B29 +:100B3000C3720C60104610BD00E100E010B5044B1C +:100B4000036000230446C38004F0B2F9204610BDC0 +:100B500098A0050070B5094B036000250446456068 +:100B60000E4604F069F9064B23604FF47A73C4E92A +:100B70000335A680A560204670BD00BF98A0050083 +:100B8000009B050010B5C38843F4804386B0C38042 +:100B900004462FF0FEFBC0B1002301932EF020FD90 +:100BA000B0B101A82FF0EAFB019B002BB8BF0333C3 +:100BB0009B10238205F0CCF9E368A1881844012337 +:100BC000A0601A4602A833F01DFF002006B010BD39 +:100BD000074B01221A60D3F80021002AFBD0002223 +:100BE000C3F80021D3F80825019201225A60DBE7FF +:100BF00000C00040094B10B503F108024833044619 +:100C000002608360183034F0BFF9054B2360002385 +:100C10002046E38004F04CF9204610BD649B05009B +:100C200098A00500F8B51D460F4B036000234360F4 +:100C300004460F46164604F0FFF80C4800F108037E +:100C40004830C4E902072360C4E9046504F11800D0 +:100C500007F0BCF8BDF81830A3804023A362182326 +:100C6000E3802046F8BD00BF98A00500649B050006 +:100C7000F0B50C4685B0054648691F4616462FF06C +:100C80005FF8E388DB0623D50122114601A834F082 +:100C9000A4F833681B79032B019B0CBF06220322A7 +:100CA0001A7101A902A834F090F80321104831F01C +:100CB00063FD02AA0346214603A82FF0B5FB03A853 +:100CC00034F09BF802A834F098F801A834F095F8B5 +:100CD000314603A834F079F83B4603AA214628465A +:100CE0002FF0A2FB03A834F088F8284605B0F0BD29 +:100CF0001C9B050037B50C46014601A81D462FF088 +:100D00004DFC01994B885BB12046AA00043138F0B4 +:100D10009FFC002401A834F070F8204603B030BDD9 +:100D2000004CF7E70CFCFFFF2DE9F04F804687B041 +:100D300002A89F000D46019206F0EEFFD8F8281099 +:100D4000B942A8BF394603AE01220831304634F01B +:100D500044F84FF0FF330022FF21304634F078F89A +:100D600007EB050B4FF000095D453BD2D8F8283062 +:100D7000DDF80CA0A7EB09049C4245F03060A8BF49 +:100D80001C4630F05EFFCAF80400204630F059FFE0 +:100D9000019BCAF8080029F00301194422460AF110 +:100DA0000C0038F055FC04F10801304634F0E0F84E +:100DB000314604A834F009F8092304AA414605A8DD +:100DC000FFF756FF05A902A834F01EF805A834F075 +:100DD00014F804A834F011F8029B5B886BB1A144AD +:100DE0002544C1E7002403A834F007F802A834F032 +:100DF00004F8204607B0BDE8F08F014CF3E700BFD0 +:100E00000EFCFFFF73B51546012204460E466846E8 +:100E1000114633F0E2FF009B69461D7101A833F0D3 +:100E2000D4FF2946084831F0A7FC01AA0346314601 +:100E30002046FFF71DFF01A833F0DFFF684633F0BF +:100E4000DCFF204602B070BD1C9B05002DE9F0437D +:100E500089B0044615460E460122082101A833F048 +:100E6000BCFF02A806F058FF03A806F055FF04A82F +:100E700006F052FF20462FF065FCA28C94F8263035 +:100E800005904FEA850E534306EB85059D4200F21F +:100E9000B980B5FBF2F7B6FBF2F35743E81B02FB50 +:100EA00003F80CBF114600214645A7EB010704D10A +:100EB000A2EB060CBC44F44522D002FB1363161AC5 +:100EC000B6FBF2F102FB116663B19B084246214674 +:100ED00007A82FF063FB07A903A833F095FF07A825 +:100EE00033F08BFF66B1B3082A46214607A82FF0DE +:100EF00055FB07A904A833F087FF07A833F07DFF4F +:100F0000E3881B075BD54646BE4220D9039B5B881E +:100F10005BB103A907A833F058FF424607A9204652 +:100F20002FF075FA07A833F068FF049B5B88002B4D +:100F30006BD004A907A833F048FF2A4607A920462A +:100F40002FF065FA07A833F058FF002424E046F09C +:100F50004060DDF8049030F074FEC9F804003046BB +:100F600030F06FFE01A9C9F8080006A833F02DFF84 +:100F7000012306AA214607A8FFF77AFE07A902A8BF +:100F800033F042FF07A833F038FF06A833F035FFEF +:100F9000029B5B8883B91E4C04A833F02EFF03A884 +:100FA00033F02BFF02A833F028FF01A833F025FF10 +:100FB000204609B0BDE8F083A38C1E44A4E748F0A6 +:100FC0004060019E30F03DFE7060384630F039FEE2 +:100FD00001A9B06006A833F0F8FE012306AA214655 +:100FE00007A8FFF745FE07A902A833F00DFF07A8E1 +:100FF00033F003FF06A833F000FF029B5B88002B51 +:1010000084D1C8E76FF47A74C6E71C46C4E700BF12 +:101010000EFCFFFF10B5044B044640F8083B33F0CC +:10102000ECFE204610BD00BFD09B050038B5094B33 +:1010300003600446656855B16868EB6B63600368DC +:10104000DB6898472B6828469B689847F2E720465C +:1010500038BD00BFE49B050038B5054648684FF031 +:101060007E530B6303680C461B699847D4ED067AE0 +:10107000DFED126A94ED076A606386EEA77A05F5E4 +:101080000165431C20F00200012803EBD3734FEAF3 +:101090006303A36318BF0023D5ED006A84ED097ACA +:1010A00086EE267A18BF236284ED0A7A02BFBEEE6E +:1010B000007A67EE877AC4ED087A38BD00C07F44B5 +:1010C0002DE9F04F2DED048B0D468BB0814604F0D9 +:1010D0004FFF6F68CDE90101002F00F0A980D5F81E +:1010E0001838DFEDB68A05F10C084FF4007292FB58 +:1010F000F3F222EAE27292000021404638F0D0FA80 +:1011000001263C46FF6B636B002B00F0A180D4ED01 +:101110000A7AD5F818284FF4007393FBF2F30333DF +:1011200005EB8303F5EE407A0093F1EE10FA636B62 +:10113000039305F10C0A00F0AD80009B9A4580F006 +:101140008F80A3EB0A0BA36894ED0B7A5A88A36BEC +:1011500092FBF3F307EE903AF8EEE77A4FEAAB0B27 +:1011600077EEC77A94ED0A7A87EE878ABDEEC88A51 +:1011700018EE102A5A45A8BF5A46C2B31646514621 +:10118000D4ED0E7A94ED0B7A8D4BF8EEE77ACDE93B +:10119000041267EE877A039AFDEEE77A53F822305D +:1011A000226917EE900A1044984707EE900A94EDD2 +:1011B000087A0499D4ED0C6A059AF8EEE77A013EB4 +:1011C00077EE877A94ED097A67EE877A91ED007A67 +:1011D000A6EEA77AA1EC017AD4ED0B7A94ED0A7A07 +:1011E00077EE877AC4ED0B7ACAD10AEB820A18EE41 +:1011F000103A9B45A1DDE368002B31D06168013BCB +:10120000E3600B6806A81B68984706A904F108006C +:1012100033F0FAFD06A833F0F0FDA268C4ED0B8AA6 +:10122000131D5288236113446361002A85D117E09E +:10123000A86803681B68984701224FF4007148466C +:1012400033F0CBFD48460BB0BDEC048BBDE8F08F0E +:1012500021462846FFF700FF636B002B7FF457AF52 +:10126000002F7FF44EAF06B305F62403D3ED007ACA +:10127000F5EE407AF1EE10FA17D0D5F818284FF4B1 +:10128000007393FBF2F34246BB420EDDE2EC017ABF +:101290000137F9E705F5016393ED007AD4ED076AAC +:1012A000C6EE877AC4ED0A7A47E795F82838B34244 +:1012B00016D085F8286805F50463002E68D00199DA +:1012C000C5F830180299C5F834180020002143E908 +:1012D000020101231A4640F6D63106A833F092FBEC +:1012E00001224FF4007106A833F077FD069B9FEDB5 +:1012F000357A5C88344F1E1DD5F8183894FBF3F40A +:1013000005F60C03D3ED008A05F61C03D3ED007A35 +:10131000D5F8143868EEA77A23F00203012BC7EE44 +:10132000879AF6EE007A09BF68EEA77A28EEE79A68 +:10133000BDEEE78A9FED219A1CBF9FED248A68EEDF +:10134000A78A74B3B8EC017AD5F82028D5F81438F8 +:10135000F8EEC87A57F82330E7EE297A3046013C98 +:10136000F4EE497AF1EE10FA48BFF0EE497AF4EE65 +:10137000687AF1EE10FAC8BFF0EE687AFDEEE77A0F +:1013800017EE901A11439847D5F818381E44D8E73D +:10139000019A43F8082C029A43F8042C01230222F4 +:1013A00099E7A86803681B68984706A9484633F080 +:1013B0000CFD06A833F021FD44E700BF000000004B +:1013C0006820002000C07F448C2000200000000026 +:1013D00070B505462DED028B402008EE102A0E4612 +:1013E00008EE903A38F0FCF840220446002138F02C +:1013F00057F92046154B40F8083B06F08DFCB5EE3A +:10140000408AF1EE10FA04BF05F5016393ED008AFE +:1014100066600023F8EEE88AC4E90333636121467D +:1014200000232846C4ED068A84ED078AE362FFF7AD +:1014300013FE6B68E36333686C6030465B6821467B +:101440009847BDEC028B204670BD00BFD09B0500C5 +:10145000B1F5806F3FBF07EE901ADFED076AF8EE37 +:10146000E77A00F61C003DBF87EEA67A80ED007A91 +:1014700000206FF47A70704700C07F44F8B50D46C5 +:101480001A4901600321C0F814180221C0F8181885 +:1014900000F61C0100264FF07E57C0E901660F6080 +:1014A00000F62401C0F8206800260E60012180F8B3 +:1014B0002818002600F503610027C1E9006700F540 +:1014C0000461044641E9026719462FF0B8FA92B266 +:1014D000294620462FF0D8FA07EE902AF8EE677AD0 +:1014E00004F60C03C3ED007A2046F8BDE49B05002A +:1014F000022802BF014B01221A707047EE440020FF +:101500002DE9F34146684FF000080DF107001D4634 +:1015100014460E448DF807802FF0CEFA9DF8073060 +:101520009BB11A4F87F800802A46214630462FF09B +:10153000BFFA18B10A2032F074F8F5E73B78002BB7 +:10154000FCD0002002B0BDE8F081114B0122C3F8AD +:101550000425D3F80024002AFBD00D4B04EB8505AD +:101560002246361BAA4208D0B11852F8040B086074 +:10157000D3F800140029FBD0F4E70022C3F80425B7 +:10158000D3F80024002AFBD0DBE700BFEE440020A4 +:1015900000E00140F7B54368054600270DF107005C +:1015A000CC188DF807702FF087FA9DF807308BB1B3 +:1015B000144E3770E868B4FBF0F02FF07BFA18B1E6 +:1015C0000A2032F02EF8F5E73378002BFCD000200B +:1015D00003B0F0BD0C4B0222C3F80425D3F800245D +:1015E000002AFBD0C3F80845D3F80024002AFBD01A +:1015F0000022C3F80425044AD2F80034002BFBD0A3 +:10160000E5E700BFEE44002000E0014030B5034DA7 +:10161000C0E90223C0E9005130BD00BF0C9C0500A9 +:1016200010B5054B0360C38823F400530446C38000 +:1016300004F006FA204610BD309C0500C37D70B54D +:101640000446002B3AD0006A0368DB6A9847206A98 +:1016500003681B6B9847E3691949DD686FF02F0633 +:1016600004F13002361B0020B3189D4206DD12F94A +:10167000013B03F5A27341F82300F5E70025E36978 +:10168000DA68AA4207DD5B6953F8250003685B68E6 +:1016900098470135F3E70025E3699A68AA4207DD18 +:1016A0001B6953F8250003685B6898470135F3E729 +:1016B000E38823F00203E3800023E37570BD00BFDD +:1016C0000060004008B5084A034631B10368C17D97 +:1016D0001B6B11709847002008BD1278002AFAD0C1 +:1016E0001B68DB6AF6E700BFEF4400202DE9F74FE7 +:1016F000C3880193C37D04460D46002B40D10020D2 +:10170000D4F81CE0DFF8DCA0334EDFF8DCB004F1E5 +:10171000350203464FF00109DEF80C70D4F8208042 +:101720009F4203F1010C51DDDF1C02F805CC17705C +:10173000DEF8147029493F58D8F814803F7D03F231 +:1017400045134AEA072741F8237012F9013B00F5D7 +:10175000A277A233474446F8337012F9013C12F9DC +:10176000067CA23306EBC3030BEB87075F6012F91D +:10177000013C09FA03F3C6F8043504306346CBE7AD +:10178000019BDB07BBD4E369206A1B7AAA1E012AEE +:1017900098BF01336375627D114BC2EB0212920058 +:1017A000B3FBF2F2237B626253434FF47F41B3FBFE +:1017B000F1F3A36203680021DB6B9847236A5B693E +:1017C0000122DA60A57503B0BDE8F08F019B23F01C +:1017D0000101E180D7E700BF00F001400060004058 +:1017E0000024F400030001003060004070B504469E +:1017F00015460E46D2E9001204F036F9114B23606B +:10180000114B1C609DF81030A375EB680021052B6F +:10181000C4E907562176E1752175E1620FDC336872 +:1018200030469B6B9847206A03684FF47A51DB6C13 +:101830009847236A054ADA6020462FF05FF9204670 +:1018400070BD00BF309C0500C43600204D1A020058 +:101850002DE9F84FC269037D9168D0F810808B4262 +:10186000044634DA126952F82300036800211B6829 +:101870009847206AE669436901225A60257D637DA5 +:101880001544B5FBF3F203FB12532375B268934280 +:1018900004F1300780F28580B56908F10601D6F8B9 +:1018A0000C804FEA420C05EB43053A464FF0000E20 +:1018B000F04567DD94F818A02B78278995F80190FA +:1018C000BAF1030F24D8DFE80AF023171E26036AB3 +:1018D000426A5B69817DD3F844359200C3EB0323F0 +:1018E000B3FBF2F3C3F1FF03C362C38843F0030306 +:1018F000C380FFF7FBFEBCE703FB07730B446FEAF3 +:101900000907FB5C11E0B4F80AA0DB43AAEB090964 +:1019100009FB0717F5E7B4F80AA00AF1FF3AAAEBAA +:10192000030307FB031717F80930A77D17F0FD0F16 +:1019300002D1002B18BFFF23A76A0EF1010E7B43D3 +:101940000EF5A879476947F829307BB192F9003044 +:101950009B0003F1804303F5C043D3F8107527F4CF +:101960008017C3F8107565440132A1E792F9003081 +:101970009B0003F1804303F5C043D3F8107547F48F +:101980008017EEE73369227D53F8220003680121B6 +:101990001B689847236A5B690122DA601A60BDE818 +:1019A000F88F626A0368274EDB6B9200002198472C +:1019B0000025A846E369DA68AA4218DD17F9012B69 +:1019C0005B6902F5A272013546F82280226A616ADB +:1019D000526905F5A87003EB8503890042F82010D1 +:1019E00053F8040C036801211B689847E2E71B6960 +:1019F0001868036800211B689847E36994F9302050 +:101A00001B6910491B681B7D02F5A2721B0243F083 +:101A1000011341F8223094F9303094F935100A4A14 +:101A20009B00A23103F1804303F5C24342F83130F9 +:101A3000236A94F935105B69A23102EBC102443389 +:101A40005360A7E70060004000F00140024B1868B7 +:101A500008B1FFF7FDBE7047C436002010B5064C34 +:101A6000012120462FF0C7F82046044A0449BDE86A +:101A7000104037F0AEBD00BFC83600204020002027 +:101A8000B50B05000F4B03F10802383310B50446BF +:101A9000026043602C3033F0B0F904F1280033F0D9 +:101AA000ACF904F1240033F0A8F904F1200033F07C +:101AB000A4F9054B63600023201D638103F0F8F94E +:101AC000204610BD689C050098A00500264BF7B580 +:101AD00000250360254B43600446018145810430A5 +:101AE000164603F0A9F9224B2360303363602A467F +:101AF000012104F1100030F06FFD04F124070122F0 +:101B00004FF4007104F1200033F067F9384606F015 +:101B100003F904F1280006F0FFF82946012204F138 +:101B20002C0033F05AF900234FF40071E3650122D1 +:101B30006164C4E90C55E560A56401A833F04DF972 +:101B400001A9384633F060F901A833F056F9094B82 +:101B5000E363AE422046C4E91555C8BFA663A4F8A6 +:101B6000405003B0F0BD00BFB8A4050098A0050028 +:101B7000709C050000C07F4407EE901AF5EEC07A15 +:101B80009FED096A90ED0E7AF1EE10FA48BFF1EE82 +:101B9000677AC7EE866AB8EEC77A67EE267AFDEEF8 +:101BA000E77A17EE900A704700007A442DE9F04F6B +:101BB0002DED068B9FED929A87B006460C460025C8 +:101BC000D4E915329A422FD0638958072CD44FF0AC +:101BD0000009D4E915329A4202DB63899B0709D4D4 +:101BE00045B9656B002D40D000236363236A1F1D38 +:101BF0005B881F44DFED839AD4E915C3634544DB5A +:101C0000B9F1000FDCD004F12008002D40F0E38092 +:101C100002A806F081F802A9404633F0F5F802A8C0 +:101C200033F0EBF8414678E020462FF016F8626D6D +:101C300063899AB15907CAD500B1656323F00403DB +:101C400063810523A364012321891A4602A832F087 +:101C5000D9FE04F1100003F0EFFC03E00028ECD102 +:101C60005A07EBD44FF00109B3E70122616C02A8D7 +:101C700033F0B3F802A904F1200033F0C5F802A84C +:101C800033F0BBF8256A0435B0E794ED137AD4ED50 +:101C90000E7A94ED0F8A236BF8EEE77A27EE097A35 +:101CA0000DF1080A87EE27AA04F1600804F16C0E12 +:101CB0005046D4ED147A28EE278ADFED537A28EEC9 +:101CC000298AE8EE677AF0EE678AD3ED067AB8ECF7 +:101CD000017AD9699A69F8EEE77A013967EE877A6D +:101CE0008A42FDEEE77A03F11403E0EC017A08BFC3 +:101CF00040F804CCC645E8D1DDE902329342A8BFE2 +:101D00001346049A9342A8BF13469846A36D4345D1 +:101D10003ADABD420AD104F12001304633F055F8D9 +:101D2000304607B0BDEC068BBDE8F08FD4ED177AD6 +:101D3000236BFDEEE77ADA68186917EE901A904780 +:101D400007EE900AB8EE677AF0EE687AE8EE077A66 +:101D5000B4F84030FCEEE77A17EE902AD4ED177A0B +:101D60001A43A36D25F8022B013377EE8A7AA36517 +:101D7000C4ED177AD4ED177AF4EEC97AF1EE10FAC1 +:101D8000C4DD77EEC97AF3E74FF000084FF0140B8B +:101D90005AF8043BA26D9A4208F1010317D1216B56 +:101DA0000BFB081CDCE90602904210DADCF8142078 +:101DB0002AB10BFB0311204601939047019B226B34 +:101DC0000BFB0828D8F818200132C8F81820032B7C +:101DD0009846DDD110E7D4ED0F7AB4F84020B6EE86 +:101DE000007A67EE877AFCEEE77A17EE903A1343B3 +:101DF0009BB2BD42BFF416AF25F8023BF9E700BF26 +:101E0000000080440000803A000000442DE9F04FBB +:101E10002DED048B0D4685B00121284614462EF089 +:101E2000DCFF04210090681C2EF0D7FF8346681D5C +:101E30002EF0D3FF07EE900A05F109002EF0CDFF3A +:101E40000221814605F10D002EF0C7FF0421039009 +:101E500005F112002EF0C1FF029005F11A002EF0DC +:101E6000BCFF824605F11E002EF0B7FF0221019053 +:101E700005F122002EF0B1FF0421064605F12400F1 +:101E80002EF0ABFF804605F128002EF0A6FF074696 +:101E900005F12C002EF0A1FF014617EE900A2EF05E +:101EA000C4FF042109EE100A05F130002EF095FF61 +:101EB000029B014618462EF0B8FF042108EE100AD6 +:101EC00005F134002EF089FF014658462EF0ADFF93 +:101ED0000421834605F138002EF07FFF014650466D +:101EE0002EF0A3FF0421824605F13C002EF075FF81 +:101EF000014648462EF099FF0421814605F1400035 +:101F00002EF06BFF014640462EF08FFF042108EEB5 +:101F1000900A05F144002EF060FF014638462EF08D +:101F200084FF19EE103A013300F0BC8018EE103A2D +:101F3000013300F0B780BBF1FF3F00F0B380BAF18E +:101F4000FF3F00F0AF80B9F1FF3F00F0AB8018EE2B +:101F5000903A013300F0A680431C00F0A380009B60 +:101F6000039A042B06D8DFE803F0031F2123250082 +:101F70004F4BE36007EE909AB8EEC99AF8EEE76A25 +:101F8000019B84ED009AC4ED026AE361122A62D8D3 +:101F9000DFE802F012525961615B5D615F6C5F6C5A +:101FA0005F6C5F6C5F6C6E00424BE2E7424BE0E7B8 +:101FB000424BDEE7424BDCE7424B636140F2FF33CA +:101FC0009B45A8BF9B462BEAEB7B07EE90BAB8EE89 +:101FD000E77ADFED3D7A3D4AA26287EE276A9A45AD +:101FE000A8BF9A462AEAEA7A2422022E226307EE42 +:101FF00010AAB8EEC77A84ED016A87EE276ADFED92 +:10200000347A84ED0D6A86EEA77A07EE900AF8EE30 +:10201000E77A67EE277A39D0032E3DD0012E09D119 +:10202000FDEEE77A2B4BC4ED117AF8EEE88AE36314 +:10203000C4ED128A012036E0274B6361B8EEC88AEE +:1020400084ED088ABAE7254BF7E7254BF5E7254BE2 +:10205000F3E7254B6361A2F10803092BAED8DFE853 +:1020600003F009090D0D0F0F111113131F4BF1E7A9 +:102070001F4BE2E71F4B1B6823629FE71E4BFAE7EB +:102080001E4BF8E71E4BF6E71E4BF4E7FDEEE77A32 +:102090001D4BC4ED117AC8E7FDEEE77A1B4BC4ED8A +:1020A000117AC2E7002005B0BDEC048BBDE8F08FCB +:1020B000617B0200FF480500EB4805001749050059 +:1020C000034905002911050000C07F44B312050033 +:1020D00000401C466B1205002B110500F125020083 +:1020E0003D26020079260200B91105000F120500F5 +:1020F000C1C50100482000204C20002044200020C1 +:1021000050200020542000208F1205005711050098 +:1021100038B50D4604462649284632F0BEFF28B1A0 +:102120002449204632F0A2FF204638BD22492846E5 +:1021300032F0B3FF08B12149F3E72149284632F0D4 +:10214000ACFF08B11F49ECE71F49284632F0A5FF54 +:1021500008B11E49E5E71E49284632F09EFF08B146 +:102160001C49DEE71C49284632F097FF08B11B499D +:10217000D7E71B49284632F090FF08B11949D0E74C +:102180001949284632F089FF08B11849C9E71849AA +:10219000284632F082FF08B11649C2E716492846A0 +:1021A00032F07BFF08B11549BBE72946B9E700BF0C +:1021B000F8360020CC360020EC3600201037002006 +:1021C000F036002014370020D0360020E036002002 +:1021D000E436002000370020F436002018370020B5 +:1021E00004370020D8360020FC360020D4360020EA +:1021F00008370020DC360020E83600200C370020AD +:1022000070B5664E664D674C6749304605F0AEFDC9 +:102210003046664E2A46214637F0DBF9644930469F +:1022200005F0A4FD3046634E2A46214637F0D1F929 +:102230006149304605F09AFD3046604E2A462146F7 +:1022400037F0C7F95E49304605F090FD30465D4EE7 +:102250002A46214637F0BDF95B49304605F086FD38 +:1022600030465A4E2A46214637F0B3F9584930468F +:1022700005F07CFD3046574E2A46214637F0A9F935 +:102280005549304605F072FD3046544E2A462146E7 +:1022900037F09FF95249304605F068FD3046514EFF +:1022A0002A46214637F095F94F49304605F05EFD44 +:1022B00030464E4E2A46214637F08BF94C4930467F +:1022C00005F054FD30464B4E2A46214637F081F941 +:1022D0004949304605F04AFD3046484E2A462146D7 +:1022E00037F077F94649304605F040FD3046454E17 +:1022F0002A46214637F06DF94349304605F036FD50 +:102300003046424E2A46214637F063F9404930466E +:1023100005F02CFD30463F4E2A46214637F059F94C +:102320003D49304605F022FD30463C4E2A462146C6 +:1023300037F04FF93A49304605F018FD3046394E2E +:102340002A46214637F045F93749304605F00EFD5B +:102350003046364E2A46214637F03BF9344930465E +:1023600005F004FD3046334E2A46214637F031F958 +:102370003149304605F0FAFC3046304E2A462146B7 +:1023800037F027F92E49304605F0F0FC2A46214661 +:102390003046BDE8704037F01CB900BFF836002069 +:1023A00040200020894F05000A340600CC3600206A +:1023B00011340600EC3600207E3506001037002070 +:1023C00084350600F03600205F3606001437002002 +:1023D00065360600D036002040370600E036002083 +:1023E0004B370600E4360020DD37060000370020BA +:1023F000E1370600F4360020733806001837002055 +:1024000079380600043700200B390600D836002042 +:1024100013390600FC360020A5390600D43600200A +:10242000AC390600083700203E3A0600DC360020B2 +:10243000463A0600E83600208F3A06000C370020A6 +:10244000943A060038B503689B6904460D469847E0 +:1024500008B9094838BD236820465B689847B5FA33 +:1024600085F35B099842F4D1236829461B6820460E +:1024700098470020EEE700BF12FCFFFF1B4B70B532 +:1024800003604FF48073C38002230371184B0281F1 +:1024900000250446C0E906350575C0E90355183026 +:1024A0000E4602F0C9FC134B03F10802226003F14F +:1024B0008C02B033C4E90836A2614FF400710122E6 +:1024C00004F12C0032F089FC8023C4E90C53E36A48 +:1024D000A5620433A3640023E364E38B256443F41F +:1024E00080432565E383204670BD00BFC49C050082 +:1024F00098A00500309D0500C36A30B51A1D5C88A0 +:1025000091B32244DFED256A836BB7EE006A162192 +:10251000B3FBF1F42C21B3FBF1F3816C914237D280 +:1025200007EE903A90ED137AF8EEE77AB4EEE77A98 +:10253000F1EE10FA4CBF90F8505000250D70D0ED20 +:10254000137A816C07EE104A77EE867AB8EEC77A76 +:102550000131F4EEC77AF1EE10FAC8BFF0EE667AF8 +:10256000C0ED137A8164D8E7D0E910315B1A07EE29 +:10257000903A9FED0B7AF8EE677A67EE877AFDEE78 +:10258000E77A17EE903AA342D4BFD2181219B9E7EE +:10259000036B8363436BC36330BD00BF0000000067 +:1025A00078C2B93C10B5044603F0D2FC236B20641A +:1025B00003B1636B236500212046FFF79DFFE38B8A +:1025C000DB0712D4FCF732FF084A606A802304F16B +:1025D0002001FEF7FDFEE28B0368A06242F00102DB +:1025E000E2831B68BDE81040184710BD00442C472B +:1025F000D1ED017A9FED0F7AF8EEE77A38B567EE04 +:10260000877A9FED0D7AC7EE877A04460D4617EE5E +:10261000900A28F0D3FF236B95ED037AD3ED007A6F +:1026200006EE900A37EE677AE7EE267AC4ED137A63 +:1026300038BD00BF21C8474000003443D1ED017AC6 +:102640009FED0C7AF8EEE77A38B567EE877A0446A4 +:1026500017EE900A0D4628F0B1FF236B95ED037A33 +:10266000D3ED007A06EE900AE7EE267AC4ED137AEF +:1026700038BD00BF34FA8E3CD1ED017A9FED0C7A63 +:10268000F8EEE77A38B567EE877A044617EE900AD7 +:102690000D4628F0B3FD236B95ED037AD3ED007A58 +:1026A00006EE900AE7EE267AC4ED137A38BD00BF35 +:1026B00034FA8E3C0B68034A0146D25603202EF0B2 +:1026C00016BE00BF683D0600C3885A0710B5044611 +:1026D00012D503F03DFCA369C01A61F10001B0F509 +:1026E000FA6F71F1000307D30848002108F038FAA7 +:1026F000E38823F00403E380E3881B0704D5BDE8E7 +:102700001040042007F07ABF10BD00BF031305007E +:10271000F0B59BB006460F46154600213C220BA89B +:102720001C4636F0BDFF02238DF82C30002D36D12B +:10273000002F0CBF042306231822002105A88DF8C2 +:102740002F3036F0ADFF002E14BF012304238DF887 +:102750001430002D4FF47A7303FB04F440F271231C +:10276000B4FBF3F414BF032300238DF828300123B6 +:102770008DF829300023CDE902330A49049302AAD7 +:102780001F230BA80191ADF80830079433F0E5FE44 +:1027900005AA01A904482EF0A2FD1BB0F0BD042338 +:1027A000CAE700BFF04400207621002038B500259C +:1027B0000D4B03600446456002F03EFB0B4B23606B +:1027C000A56004F1100005F001FB04F1140005F010 +:1027D000FDFA40F201132384054BE5601C600AF00A +:1027E00031F8204638BD00BF98A00500C09E050006 +:1027F00040370020072910B511D80A4C0A4821603B +:10280000214608F0ADF9094B1978FF2905D0236856 +:10281000074A0120D2562EF06AFD002001E06FF435 +:102820007A7010BD60200020B526020076210020BD +:10283000683D060013B5044634F0ECFB204608F072 +:10284000FDFF2378023B062B0CD8DFE803F01F0DB9 +:10285000040B0B0B1700012360888DF8043001A9CD +:1028600034F099FB02B010BD0B4B18680028F9D06A +:10287000002102B0BDE810402EF058BD237A012B94 +:1028800001BF064A136803F1FF331360024B186857 +:102890000028E7D00321ECE7403700203C37002038 +:1028A000024B012118782EF01CBD00BF76210020BC +:1028B00013B5574C00297BD007F08EFD0023237001 +:1028C00009F0ACFD18B9237843F001032370514A95 +:1028D00013689B0342BF237843F0020323705368BD +:1028E0004C4AD80742BF237843F00403237013688F +:1028F000990142BF237843F0080323701368DA0775 +:1029000042BF237843F010032370424B1B681B0522 +:1029100042BF237843F0200323703F4B18782EF0FA +:10292000E2FC18B9237843F0400323702378D807DA +:1029300001D509F04DFD2378990708D5354B4FF4A3 +:102940000032C3F88020BFF34F8FBFF36F8F23781F +:102950005A0707D52F4B0122C3F88420BFF34F8FAE +:10296000BFF36F8F23781B0708D52A4B4FF00072F7 +:10297000C3F88020BFF34F8FBFF36F8F2378D80643 +:1029800007D5244B0122C3F88020BFF34F8FBFF33C +:102990006F8F2378990608D51E4B4FF40062C3F859 +:1029A0008020BFF34F8FBFF36F8F002002B010BDA8 +:1029B00023789A0642BF174B4FF400621A602378BF +:1029C000DB0642BF134B01221A602378190742BF6E +:1029D000104B4FF000721A6023785A0742BF0D4A1D +:1029E00001215160990742BF0A4B4FF400321A602F +:1029F0002378DA0703D5019009F0F8FC01982378D1 +:102A00005B0601D5FFF74CFF07F0ECFCCDE700BFFC +:102A10000F45002000E100E076210020014B1878EE +:102A20002EF061BC7621002010B50388192B86B0EA +:102A30000BD80F2B0FD9103B092B0CD8DFE803F074 +:102A4000160D0B0B0B340B0B0B5A3B2B4BD0562B91 +:102A500049D0212B1ED006B010BD2D4B1868002880 +:102A6000F9D006B0BDE810402EF09BBC81884FF62F +:102A7000FF73994206D0274B274A1B680320D25682 +:102A80002EF035FC01231A464FF47A7102A831F07A +:102A9000B9FFE0E7002302A980888DF808308DF89F +:102AA00009302EF02AFCD6E700F10801062268461C +:102AB00005F072F9694601A832F0D8FA144B1C6887 +:102AC00054B101A902A832F0D1FA204602A92EF091 +:102AD00025FC02A832F058FA01A832F055FA6846EF +:102AE00032F052FAB7E78088132106B0BDE81040F3 +:102AF0002EF0FBBB037A002BADD1054B18680028E4 +:102B0000A9D0022106B0BDE810402EF00FBC00BFD6 +:102B10004037002060200020683D0600F0B5A9B0D5 +:102B20006A220D460DA82B4936F092FD0DA903A887 +:102B300005F058F803A906A831F0A0FF05F13C06FE +:102B40006FF0FE030122CDE9003206A905236422BD +:102B5000304603F03FFC06A831F085FF1E4B06AA65 +:102B600003F1180718685968144603C40833BB42B8 +:102B70002246F7D105221B782370114606AB04A824 +:102B800031F0F3FF002404A905A831F077FFCDE967 +:102B900000442346224605A9304603F093FB05A8CE +:102BA00031F061FF2B6821465B6A2846984705345F +:102BB000052002F03DFCFF2CF4D14FF47A7002F0B6 +:102BC00037FC04A831F04FFF03A831F04CFF29B0C7 +:102BD000F0BD00BFE53C06004F3D06002DE9F04F7B +:102BE0007C4B92461A682DED028B1369002543F049 +:102BF000080385B0136180F82050856104460F46B4 +:102C0000FFF70CFF2946284608F08AFB294628468C +:102C100008F090FB0121C8232A460846FFF778FDFB +:102C200007F13C092046FFF73BFE484630F043FEE3 +:102C300039462046FFF772FF394620462EF0C8FB82 +:102C400004F1100308EE103A4FF0FF082E4604215D +:102C500020462EF06BFBE36813F0010B30D05E4989 +:102C600002A804F0F5FF02A903A831F007FF002332 +:102C7000CDE900331A4603A9484603F023FB03A815 +:102C800031F0F1FE002D4CD1A8F10408B8F1280F65 +:102C90004ADC38462DF05FFFB8F1000FD8BF5D4623 +:102CA000DAF800305046DB69984728B1E36823F032 +:102CB000010343F00403E36002A831F0D4FE0026D0 +:102CC000E36859073FD53B68FF215B6A3846984760 +:102CD000002607F1100B2369B3F90230B34228DD57 +:102CE00031B218EE100A32F004FA002301461A46F7 +:102CF000584631F0BAFF042120462EF017FBC0B928 +:102D00004FF4487002F094FB38462DF024FF042164 +:102D100020462EF00BFB60B9C82002F089FB01367B +:102D2000D9E708F10408B1E7B8F1FF0FA8BF002503 +:102D3000B6E7042120462EF0F9FA064688BB4FF488 +:102D40007A7002F075FBE3689A071ED513F0080B42 +:102D500029D0224902A804F07BFF02A903A831F080 +:102D60008DFE0023CDE900331A4603A9484603F03F +:102D7000A9FA03A831F077FE43F6982002F058FB39 +:102D800002A831F070FE40F68C26642002F050FB61 +:102D9000013640F68B239E427FF759AF2CF030FC72 +:102DA00055E70026CFE70E4902A804F051FF02A91B +:102DB00003A831F063FE5B465A4603A9CDE900BB88 +:102DC000484603F07FFA03A831F04DFE02A831F027 +:102DD0004AFEDAE778380020013C0600463C06004F +:102DE000833C060013B50446806860B1084930F0A2 +:102DF000B5FE40B98DF807000549A06804230DF120 +:102E0000070203F073FB02B0BDE810402CF0F8BBE2 +:102E1000C83C060038B5124B0546002418782EF041 +:102E200062FA85F8214007F029FE90B9EB6913B9E1 +:102E300003F08EF8E86103F08BF8EB69C01A61F1DA +:102E40000001B0F5FA7F71F100032CBF01200020D2 +:102E500038BD0448214607F083FE2046F8E700BF4E +:102E6000762100200313050020B9034B186808B130 +:102E7000FFF7D0BF704700BF40370020023801285D +:102E800010B50DD8074C206850B1C38843F0080333 +:102E9000C3802EF0D1FE2068BDE81040FFF7BABF16 +:102EA000012010BD40370020012810B501D00120BD +:102EB00010BD0B4B1C6824B12046BDE81040FFF745 +:102EC000A9BF084B18782EF00EFA07F0D7FD00289E +:102ED000EDD00548214607F043FE2046E8E700BF55 +:102EE0004037002076210020031305007FB508F04D +:102EF00047FA194E30603368002B2BDD0DF10703C4 +:102F00004FF6FF70039333F093FF4FF6FF750446BF +:102F1000AC421FD002AA0121204633F0B7FF38B9D6 +:102F2000039B1B7823B1204633F082FF0446EFE772 +:102F300003F00EF804460D4608F0EAF933684BB189 +:102F400003F006F8001B61EB0501B0F57A7F71F123 +:102F50000003F3D304B070BD3C3700202DE9F04FDF +:102F6000C588A5B015F480559DF8BC8004468946F7 +:102F700016461F4640F03C812E9B8360C0E90655F3 +:102F8000DFF89CA207F028F934F035FA019507F034 +:102F90001FFB09F099F901A9012009F08DFA04F14C +:102FA0001405DAF8001014A804F0E0FE14A928466D +:102FB00032F064F814A831F0E7FFB8F1000F29D01F +:102FC0008D4906A804F0D2FE8C4908A804F0CEFE74 +:102FD00006AA29460AA832F078F84A460AA90DA896 +:102FE00032F073F808AA0DA914A832F06EF814A9EB +:102FF000284632F043F814A831F0C6FF0DA831F08E +:10300000C3FF0AA831F0C0FF08A831F0BDFF06A831 +:1030100031F0BAFF002502230A958DF82930636943 +:103020000C951A1D0B920AA9019A5B88ADF83030F5 +:103030004120ADF832302EF062F901A809F084FA8F +:1030400028462EF056F931238DF8103007234FF023 +:10305000100B8DF8113003238DF813308DF81430D8 +:103060008DF812B008F0F6F80DEB0B0008F038F907 +:10307000634808F01DF90DF118090823ADF8183060 +:1030800048464FF4C873ADF81C50ADF81E30ADF88B +:103090001AB02EF030F929465A4833F06EFD08ADCB +:1030A000B8F1000F0DD008F06BF9032809DD14AB5F +:1030B0002A460DA903A808F033FABDF8200008F04D +:1030C00025FA04234FF6FF72029302A90023284633 +:1030D00008F072F90299002914BF2846002008F070 +:1030E0001FF90299002914BF2846002008F022F990 +:1030F000029B14A8B3F10008434B149318BF4FF080 +:10310000010809F003FB7C2036F06AFAA3683A460E +:10311000214600F087F8DAF8001014A804F026FE23 +:103120003A490DA804F022FE0DAA14A903A831F013 +:10313000CCFF0DA831F028FF14A831F025FF402264 +:10314000002114A836F0ACFA314B012519688DF82E +:103150008C5014A82EF0D8F8039916A804312EF03C +:10316000D3F8316818A804312EF0CEF8294B1AA8EC +:1031700019682EF0C9F8284B1CA819682EF0C4F85D +:10318000264B1EA819682EF0BFF814A809F044FCBD +:103190002046FFF7ABFE3223424641464046FFF74A +:1031A000B7FA29462046FFF725FB0021102210A878 +:1031B00036F076FA4FF4A0324FF4F023CDE90E2327 +:1031C0000DA803238DF84030CDF8349007F042FB72 +:1031D00084F8215008F0D4F8002802DD2046FFF7DB +:1031E0005FFBE38843F48053E38003A831F0CCFE17 +:1031F00025B0BDE8F08F00BF6E7B06009A77060011 +:103200003528020028370020692E0200D33C060032 +:10321000203700201C3700205820002024370020B1 +:103220005C200020F0B5044689B016461D4601F02A +:1032300067FCC4E902652C4B23600026268284F8D3 +:103240005460A66504F170002EF07DFD142504F194 +:103250005C032A4618463146059336F021FA234985 +:1032600020462EF004FE4DF61D1120462EF011FED4 +:103270000A223146059B0095CDE90152204643F6CE +:1032800010322EF014FE2820A76836F0A9F9054662 +:10329000103031F0ADFB29232B60182036F0A0F957 +:1032A000134ACDE906260246034642F80C4BC66097 +:1032B000566006AA03CA0F4A58609960C5E90236EB +:1032C0005A611223AB803B68C5E908665B682946F2 +:1032D0003846984728B128462FF0F3F9284636F0AB +:1032E0007DF9204609B0F0BDE49E0500803D060052 +:1032F000253402007B14050070B503680E881B6935 +:1033000096B00D460021044698470388B34254D135 +:103310006B89002B51D02A7B022A76D049D8002A0B +:103320004DD106A82EF0F6FC3B4B1A684AB9129A0A +:103330003AB19DF84410032901BF38490A60139A35 +:103340001A606B7B8DF80530142116AA01FB03204F +:10335000002650F8382C8DF80920150E8DF80650EF +:10336000150C8DF80750150A50F8342C8DF80D20E7 +:10337000100E8DF80A00100C8DF80B00100A06AA2A +:1033800001FB032310338DF80C0003CB01AACDF809 +:103390000E00CDF812101223314620468DF804603D +:1033A0008DF808502EF08BF8268284F85460A665BC +:1033B00003E0EE2A0BD0FF2A1ED016B070BD05F137 +:1033C0000C01204616B0BDE870402EF08CB80123E9 +:1033D0008DF81930124B8DF81820002518688DF8DB +:1033E0001A502EF026F803238DF81A0006AA294653 +:1033F00020462EF064F8E0E76B7B33B1012BDCD183 +:1034000016B0BDE870402CF0FBB80123292106A8B6 +:1034100031F0F8FAD1E700BF4437002048370020E8 +:103420004037002082B0F7B5044608A9684681E815 +:103430000C002EF01CFCBDF82250022D31D0FF2DC7 +:1034400045D0012D70D13B49E06830F087FB002862 +:1034500042D1394E3749E0688DF804502B4601AA15 +:1034600003F044F83368002B38D0344B1D684FF01C +:10347000805733689D4231D22B1F05F6FC7253F8FA +:10348000041F013108D02946684601F053FA3B6910 +:1034900023F003031D44ECE79342F0D1F7E7013337 +:1034A00025E01023A16D04F11402684601F076FABC +:1034B0002EF074F81F49E06803F0E8F8204B186814 +:1034C00010B1012100F038FA2CF09AF82CE01D4BD5 +:1034D0001868FFF787FC27E036F080F84FF080523D +:1034E000A56D1169B5FBF1F301FB13535BB91169CC +:1034F000B3EB910F07D255F823100131CFD02946F5 +:10350000684601F017FA102304F1140229466846B0 +:1035100001F044FA4FF60173ADF8043001AA02231A +:10352000002120462DF0CBFF03B0BDE8F04002B0F3 +:10353000704700BF703D0600443700204837002028 +:10354000B836002040370020064A1368591E116023 +:103550003BB9054A116821B11360438923F4005334 +:103560004381704764200020302000202DE9F04F77 +:103570002DED028B044687B0FCF71CF90026BD4BED +:103580006360A660201D01F057FCBB4B236004F173 +:103590000C053C33636004F1340B2846FFF706F951 +:1035A00004F14C07B54925630922584606F004FA90 +:1035B00004F16405B2490A22384606F0FDF9B14922 +:1035C0001A22284606F0F8F932465946012304F13A +:1035D000800002F053FD04F1E00804F1B80003F0AC +:1035E000C1FB04F53B79222339465B22404604F0B7 +:1035F000ADFC04F54B7A29461222484606F0AAF89B +:103600004A464146504600F007FB04F5CE6308EEFB +:10361000103A04F5DB659C4B04F5C46204F5C16106 +:1036200018EE100A05F0FCFF04F5AF6204F5AC617A +:10363000284601F087FB04F59A6204F59D6104F5C4 +:10364000DE6001F07FFB04F5E1672823524600931A +:1036500029465B463846FCF78FFE04F5EB6308EE1F +:10366000903A2A235246009329463B4618EE900A88 +:10367000FDF7D8FAD6F8F83F01330ABF4FF0102310 +:10368000D6F8F80F58694FF0805304F2847A19691C +:103690001B6901EB4101411A01225046FDF7B6FFBB +:1036A00004F29473514600221846049330F032FA23 +:1036B00004F5B263C4F8A03704F5B563C4F8A437C1 +:1036C00004F5B863C4F8A83704F5BB63C4F8AC3795 +:1036D00004F5BE63C4F8B037D4F85036C4F8B43734 +:1036E000D4F85436C4F8B837D4F85836C4F8BC37D0 +:1036F000D4F85C36C4F8C037D4F86036C4F8C437A0 +:103700000523C4F8C837C4F8CC37C4F8D037C4F898 +:10371000D43704F5F4630393C4F8D8375B4BC4F88B +:10372000E03704F2E47604F5F96304F2B47B194659 +:1037300007223046C4F8DCB74FF0000A0593FCF7C7 +:103740009BF901231A4604F56C71CDE900AA04F631 +:10375000540002F079FE0123022204F58861CDE9CC +:1037600000AA04F6780002F06FFE03230222012172 +:1037700004F69C0003F096FB40F6AC534A4604F571 +:10378000A06104F6AC0003F0E5FB092104F50E602E +:10379000FDF756F8082104F60810FDF7DBF9284676 +:1037A00000F042FDC4F81C09284600F003FE049B0B +:1037B000D4F81C29C4F820090146009304F624100B +:1037C000334600F04FFE04F5A663019304F5A366AB +:1037D00004F5A96300933246434604F54E7104F69E +:1037E0003810FBF7BFFE3A4618EE901A18EE103A62 +:1037F00004F594502BF037FFB4F87E36A4F80AA0F5 +:1038000043F02003A4F87E36B4F8063504F5C76704 +:1038100043F40063A4F80635384605F087F9022121 +:10382000384605F091F8B4F83E36194923F4807310 +:10383000A4F83E36284604F017FE039B5B4506D0ED +:1038400053F8040B0393012132F013F9F5E7059BBC +:103850005B454FF0010104D05BF8040B32F009F92D +:10386000F5E7304632F005F9204607B0BDEC028B93 +:10387000BDE8F08F98A00500249F0500009000404F +:1038800000A0004000A0014000200040903D060044 +:10389000801A06002DE9F74F0546DDE90CBABDF8A0 +:1038A0003860884691461F46002B3ED0BBF1000F82 +:1038B00002D11AF0010F38D0B8F10F0F01D1C02E8C +:1038C00033D1282035F08CFE0446103031F090F8CA +:1038D0001820A4F80080A4F8029035F081FE01467B +:1038E000CDE900BA41F80C7B00236F46C360024665 +:1038F0004B6003CFC4E90223C4E908332B6850604E +:10390000916046F002060A4951615B68A680214633 +:103910002846984730B120462EF0D3FE204635F099 +:103920005DFE044803B0BDE8F08F6FF47A70F9E7EC +:103930008116050016FCFFFF30B587B04FF48053A9 +:10394000802204460D4602A800210091FDF75EFE8C +:1039500001230C4A01A902A82DF0BBF8019B2BB949 +:1039600055B902A82DF0C0F807B030BD05490123B4 +:103970006A4602A8FDF7C4FD04F594502CF017F92F +:10398000EFE700BF189F05002DE9F04F43892DEDAB +:10399000028BDA078DB0044600F1168143F0010373 +:1039A00043814FF08043894ED3F80034002B40F020 +:1039B000A2804FF47A7033602EF0F0FE2DF048FEB6 +:1039C00004F1B80900212046FFF7B6FF484601F090 +:1039D00081FB7F4F002557F8040B10B103681B686B +:1039E000984701353C2DF6D12046FBF725FF0025F1 +:1039F000784B78480893294610238DE803000293FA +:103A00002A46234640F2FD3109954846FFF742FF1A +:103A1000714BCDE90A35C02302930CAB13E90300C7 +:103A200064228DE80300234640F2FD314846FFF74B +:103A300031FF638943F4C0436381684BE02283F81C +:103A40000923A021602283F80A1383F81A2383F83C +:103A50001B2383F8071383F81C13802183F8211399 +:103A600083F82223402283F8011304F5E16083F8F0 +:103A7000022304F2947A83F806232CF0BCFA584906 +:103A8000504630F06BF857490746504630F066F81C +:103A9000236880465B686421204698473368059315 +:103AA000032B0CBF0A23142308EE903A04F65403A8 +:103AB00008EE103A2E460495059B032B1FD1049B5C +:103AC000182B29DD47BBB8F1000F25D14FF08043FB +:103AD0000122C3F800811A60D3F80021002AFBD02C +:103AE000236820465B680A21984700200DB0BDEC92 +:103AF000028BBDE8F08F3368013333605EE718EE68 +:103B0000100A2FF000FF0028DCD004F678002FF018 +:103B1000FAFE0028D3D1D5E73146FF232A4604F226 +:103B2000F47030F0C9FF236818EE901A5B682046E5 +:103B300098470136049BF6B20133052E049302D157 +:103B40000135EDB20026049B192B09D0002FB3D00C +:103B50002349504602F09AFD384635F03FFD01E01A +:103B6000002FF5D1B8F1000F02D0404635F036FDF8 +:103B7000164A00231360FBF727FE014606A804F04F +:103B8000F5F807A8F8F764FD04F10C0B012307AA68 +:103B900006A9CDE900A358464B46FFF7DFF907A871 +:103BA00031F0F2F906A831F0EFF952464946206BA0 +:103BB00004F5945301F0AAF818EE102A04F2E47107 +:103BC0005846FFF70BF877E707488FE730200020CB +:103BD00088370020D7160500C516050000E100E073 +:103BE000C83C0600703D060016FCFFFF10B5084BF0 +:103BF0000360044600F5507031F0FFF8054B236078 +:103C000000232046E38001F053F9204610BD00BF99 +:103C1000849F050098A005002DE9F04FAF4B03608D +:103C2000002387B004464360CDE9021201F004F995 +:103C30002046AB4B40F80C3B02220323642105F0E5 +:103C400045F803231A46652104F1240005F03EF8E7 +:103C500004F1540903230422662104F13C0005F019 +:103C600035F804F16C0B03231F226721484605F049 +:103C70002DF804F1840603231C226821584605F020 +:103C800025F803230E226921304605F01FF804F1C0 +:103C90009C030193252203236A2104F1B40A0198AD +:103CA00005F014F803230B226B21504605F00EF8A3 +:103CB00003230A226C2104F1CC0005F007F804F17B +:103CC000FC07032309226D2104F1E40004F0FEFF48 +:103CD00004F58A7503231E226E21384604F0F6FF90 +:103CE000032317226F21284604F0F0FF03230C2240 +:103CF000702104F5967004F0E9FF0323112271216D +:103D000004F5A27004F0E2FF03230122722104F5FE +:103D1000AE7004F0DBFF03230D22732104F5BA70AB +:103D200004F0D4FF03232222742104F5C67004F0AA +:103D3000CDFF03231A22772104F5D27004F0C6FFC9 +:103D400004F5EA7803232022782104F5DE7004F0DC +:103D5000BDFF032324227921404604F0B7FF03234B +:103D600000227A2104F5F67004F0B0FF0323142238 +:103D70007B2104F5017004F0A9FF032305228621AD +:103D800004F5077004F0A2FF032310227C2104F540 +:103D90000D7004F09BFF032308227D2104F51370AE +:103DA00004F094FF032315227E2104F5197004F01A +:103DB0008DFF032316227F2104F51F7004F086FF78 +:103DC00003230F22802104F5257004F07FFF0323D5 +:103DD0001822812104F52B7004F078FF03231322AD +:103DE000822104F5317004F071FF01230622832142 +:103DF00004F5377004F06AFF01232822842104F5BA +:103E00003D7004F063FF19220323852104F54370FC +:103E100004F05CFF019BC4F82C93C4E9CC3704F593 +:103E20005077C4E9CE65C4E9C9BA384603F074FFD7 +:103E30002123A3602B4B029A1A602B4B039A1A6022 +:103E4000454613262B6828465B6C00219847A368DB +:103E50000136B34205F11805F4DCD4F824030368F5 +:103E600000215B6C9847D4F82803036800215B6C41 +:103E70009847D4F82C03036800215B6C9847D4F86A +:103E80003003036800215B6C9847D4F8340303685F +:103E900000215B6C9847D4F83803036800215B6C01 +:103EA0009847D4F83C03036800215B6C9847A168ED +:103EB0000122114405A830F090FF05A9384630F0E2 +:103EC000A3FF05A830F099FFA268D4F8403313444B +:103ED000204600221A7107B0BDE8F08F98A00500B7 +:103EE000849F050094390020903900202DE9F84383 +:103EF0008268D0F84033DFF88880134400251A79AF +:103F000042F0010204461A7100F10C062F46A36824 +:103F1000AB4233DDD4F8403396F814902B4430464E +:103F20001F713368DB699847B8B9B9F1200F34BF06 +:103F30004FF0A043434609F01F0903EB8903D3F870 +:103F4000002702F44032B2F5403F09D1D4F84033A3 +:103F50002B441A7942F004021A7101351836D6E75B +:103F6000D3F8003703F44033B3F5003FF5D1D4F86C +:103F700040332B441A7942F00802EDE7BDE8F8839C +:103F800000030050F8B58268D0F84033134405466A +:103F90001A7922F001021A71134BD3F80473D3F883 +:103FA0000423C3F8082300F10C040026AB68B342D5 +:103FB00016DD23682046DB69984748B9D5F84033B9 +:103FC000334419794B0706D50321204605F000F844 +:103FD00001361834EAE711F0080118BF0221F4E7AE +:103FE000014BC3F80473F8BD006000402DE9F04FA9 +:103FF00085B0174603932C4B0291D3F8042301920A +:10400000D3F80423C3F80823064604464FF00008FB +:104010004FF0010BB36843453BDDE26894F8205054 +:10402000D26904F10C094846904728BBE26848462B +:10403000126A904700B3608A10F4007125D0029B89 +:10404000D3B1EFB1194B202D05F01F0534BF4FF050 +:10405000A04A9A4605F5E0715AF8211011F4403F44 +:104060000AD1C0F30021C1F1030148460BFA05F55E +:1040700004F0AEFFCAF8205508F101081834C9E76A +:104080003946484604F0A4FFF6E7039B002BF3D023 +:10409000F7E7054B0022C3F87C21019AC3F80423FB +:1040A00005B0BDE8F08F00BF006000400003005085 +:1040B0002DE9F74F0446006800921E4603681B680E +:1040C00088469847404567D8206803685B689847EA +:1040D00006EB080585425FD20027B74220DAA368C5 +:1040E00007EB0805B5FBF3F159436D1A5B1BA6EB13 +:1040F000070999452046A8BF99462DF013FC009B5F +:10410000D91900234B4509D0826811F801CB1A4414 +:10411000525D3CEA020244D10133F3E71F44DCE77D +:104120000027B7423FDAA26807EB0809B9FBF2F1B2 +:104130005143A9EB0103F51BD21A95422046A8BFB3 +:10414000154601932DF0EEFB019B00998346806894 +:1041500009EB050229F0030A12F0030F22F003090C +:1041600039442A46184418BF09F1040935F070FA99 +:10417000A1682068BAFBF1F2036801FB12A2DBF828 +:104180000810D3F814B0A9EB0A0C0A444FEA9C03B8 +:104190005146D8472F44C4E76FF47A7003B0BDE8A6 +:1041A000F08F0248FAE70020F8E700BF16FCFFFF97 +:1041B000074B1B68834210B505D01A68BDE8104054 +:1041C000D26A184610473220FBF75AFB014810BD4F +:1041D0005437002016FCFFFF074B1B68834210B5C5 +:1041E00005D01A68BDE81040126B184610473220FF +:1041F000FBF746FB014810BD5437002016FCFFFFBB +:1042000010B5034B0360044601F09AFB204610BD35 +:10421000A89F050010B5044601F0A8FA014B2360E1 +:10422000204610BDA89F05002DE9F7433A4C2368AE +:1042300013F00103054606D101223848114630F03B +:104240007FFB01232360364C2368D8070CD403235B +:1042500019228521334804F039FD0123324A3349BC +:104260003048236035F0B5F9DFF8CC80304E98F84F +:104270000030002B39D12B4C2E4F07202EF08EFA18 +:10428000204604F053FC0221204604F05DFBE38845 +:1042900023F48073E380322128462FF0C9FC40B319 +:1042A000502035F09DF932230522CDE90032294610 +:1042B0001A4B2246814602F02FFB5420C6F800908C +:1042C00035F08EF93C230621CDE900318146134BB0 +:1042D0002246294602F0CEFBC7F8009031683868C4 +:1042E0002EF0BFFB012388F80030306803B0BDE832 +:1042F000F083442035F074F9084905220446FFF79D +:1043000089FF4C20346035F06BF9044904460622DD +:1043100000F046F83C60E1E74C37002058370020B9 +:10432000503700206037002040200020031A05008D +:10433000543700207837002010450020074B1B68B9 +:10434000834210B505D01A68BDE81040D2691846FE +:1043500010473320FBF794FA014810BD783700204E +:1043600016FCFFFF074B1B68834210B505D01A6887 +:10437000BDE81040926A184610473320FBF780FAD8 +:10438000014810BD7837002016FCFFFF10B5034B25 +:104390000360044601F048FB204610BDE89F05007D +:1043A00010B5044601F0D8FA014B2360204610BD39 +:1043B000E89F050008B5FFF737FF014B186808BDF7 +:1043C000783700202DE9F74F0546DDE90CBABDF836 +:1043D0003860884691461F46002B3DD0BBF1000F48 +:1043E00002D11AF0010F37D0B8F10F0F01D1C02E52 +:1043F00032D1282035F0F4F80446103030F0F8FAC5 +:104400001820A4F80080A4F8029035F0E9F80146DD +:10441000CDE900BA41F80C7B00236F46C360024629 +:104420004B6003CFC4E90223C4E908332B68506012 +:10443000916046F002060A4951615B68A6802146F8 +:104440002846984740B120462EF03BF9204603B05D +:10445000BDE8F04F35F0C2B803B0BDE8F08F00BF43 +:10446000351A0500F0B58DB004461298C4E9001263 +:10447000C4E902301B492FF071FB0546E0B105AEDF +:1044800000F11003324600F1280C186859681746ED +:1044900003C7083363453A46F7D1186838600CAB58 +:1044A00013E90F008DE80F00206896E80E002EF04B +:1044B000AFFA284635F092F80B4B1D687DB10B4BD7 +:1044C0000A480593002300210693C0238DE80300CA +:1044D00002930322234606212846FFF773FF204656 +:1044E0000DB0F0BDC23D0600B438002065460200A4 +:1044F0002DE9F0432DED068B85B001AE002586E851 +:104500000E004FF48062DDE91287C0E90055C0E972 +:104510000322C0E905259FED529A856004464FF0BD +:104520000C09BD424DDBDFED4E8A4546B0EE68AA70 +:104530004FF00008F0EE68AAF0EE689AB7EE008A35 +:10454000B84554DA294630462DF096FA27F086FA17 +:104550002B68019A9B1A06EE903A07EE100AF8EEC5 +:10456000E66AC9EE077A6B68029A9B1A039A08F109 +:1045700001080C3586EE876A77EEC87AF0EEC66AD7 +:10458000E6EEA7AA06EE903AF8EEE66A55F8043C85 +:1045900086EE876A9B1AF4EE679AF0EEC66AA6EE7C +:1045A000A7AA06EE903AF8EEE66AF1EE10FA86EE69 +:1045B000876A48BFF0EE679AB0EEC67AE7EE278AC0 +:1045C000BEE709FB058130462DF056FA27F046FA82 +:1045D00007EE900AFDEEE77A0135F8EEE77AF4EEA1 +:1045E000497AF1EE10FAC8BFB0EE679A99E76AEE21 +:1045F0000A7AEAEEAA7AE8EEA87A17EE900A27F08D +:104600002DFA07EE900A8AEEA77A019B2360029B9F +:104610006360039BA36020468AEE276AF0EE486A37 +:10462000E7EE296AB0EE487AA6EE297A88EEA76A04 +:10463000FEEECB6AA6EE298ABEEECB7ABEEECB8A20 +:10464000BDEEC99AC4ED036A84ED047A84ED058A4F +:1046500084ED069A05B0BDEC068BBDE8F08300BF83 +:104660000000000082B02DE9F04F2DED028BE9B083 +:1046700074A90446642081E80C002EF08FF805220E +:1046800011460CA830F06AFAA0490DA803F0E0FA30 +:1046900019251DAB0022013DC3E900229A6003F1F8 +:1046A0000C03F8D11522294610A80F9534F0F8FF15 +:1046B000A06803689B6A984708EE100AA068036820 +:1046C000FF215B6A9847A0683C302FF0F4F843F66E +:1046D0008C462F46059543F68C439E4203D08C4B67 +:1046E0009E4280F2F780A0682CF035FAA0688949D4 +:1046F00000F13C0516A803F039FB782216A92846DC +:1047000001F010FE16A830F03FFC43F68C46002561 +:10471000059B6068C8222833B3FBF2F102FB11331A +:10472000DBB205932EF00BF9804660682EF00EF98F +:1047300018F52A7FC0F2D78018F1C80FC0F2D680D2 +:10474000B8F52A7F00F3D580B8F1C80FCCBF4FF081 +:10475000030A4FF0020A10F52A7FC0F2CD8010F153 +:10476000C80FC0F2CC80B0F52A7F00F3CB80C828F8 +:10477000CCBF4FF0030B4FF0020B0CA830F095F9B3 +:10478000DFF89C810FAB049307930023C146069387 +:10479000079A12F8013B0792012B07D199F80120E3 +:1047A00099F80010FF230CA830F086F9069B01331E +:1047B000192B069309F10209EAD1059B5A46514685 +:1047C0000CA830F079F9002E01DB0F2D07D9A06875 +:1047D000002300931A460CA9103030F0CCF94E4B50 +:1047E0000DF1200998F8002052451ED198F80120BB +:1047F0005A451AD1049A1278012A16D00C221DAB00 +:1048000002FB073321680693002248462EF02BF95D +:1048100099E80700069B83E80700049B01221A70B1 +:10482000174415443C4BFFB2EDB2049A08F102085C +:10483000013298450492D5D164202DF0AFFF643E3B +:10484000182F36B27FF647AF16AD3A461DA9284657 +:104850002DF0DFF919AB0FCB8DE80F00206895E83C +:104860000E002EF0D5F8E06820B12C491C232A4612 +:1048700001F03CFEA0682CF06EF9A5680DA90EA809 +:1048800030F0FCF83C35002340F2DC52CDE9003238 +:104890000EA91A46284601F0F1FC0EA830F0E3F804 +:1048A0004FF47A702DF07AFFA0682CF054F9A068CC +:1048B000036818EE101A5B6A98470DA830F0D3F819 +:1048C0000CA830F0D0F869B0BDEC028BBDE8F04F19 +:1048D00002B0704716B10F2D7FF41AAFA0683C30BC +:1048E0002EF0E9FF14E74FF0000A34E74FF0010A19 +:1048F00031E74FF0040A2EE74FF0000B3DE74FF091 +:10490000010B3AE74FF0040B37E700BFCD3D06003F +:10491000D18AFFFF123E0600593E0600C23D060046 +:10492000273E0600022802BF014B01221A70704781 +:104930001145002070B50C462AF052FE90B1154D7D +:1049400000232B704FF080563069B4FBF0F02DF04F +:104950008CF918B10A202EF064FEF5E72B78002BB5 +:10496000FCD070BD0C4B0222C3F80425D3F8002400 +:10497000002AFBD0C3F80845D3F80024002AFBD056 +:104980000022C3F80425044AD2F80034002BFBD0DF +:10499000E7E700BF1145002000E00140F8B50D46F3 +:1049A00016461F462AF01CFE80B1174C00232370C8 +:1049B0003A46314628462DF056F918B10A202EF015 +:1049C00030FEF5E72378002BFCD0F8BD0F4B012219 +:1049D000C3F80425D3F80024002AFBD00B4B002495 +:1049E000A74209DD56F8242045F82420D3F80024F6 +:1049F000002AFBD00134F3E70022C3F80425D3F8E2 +:104A00000024002AFBD0E0E71145002000E001402F +:104A10002DE9F04F314B324C4FF080521C44314B5A +:104A20001169E41AB4FBF1F301FB134389B00646A4 +:104A300013B111690C44E41A136901930023DFF8E0 +:104A4000B8A0D3F8F82FDFF8B4B001320ABF4FF0A6 +:104A50001023D3F8F85F5D69234A4FF080531B6938 +:104A6000A5EB8305AC4236D2204B0293029B216812 +:104A7000DB43994210D1636853450DD1A1681C4BAB +:104A8000994209D1E3685B4506D1002393E803000E +:104A900008AB03E90300FFDE54F8103C934215D144 +:104AA00054F8041C134B994210D114F8089CA4F13B +:104AB00020074FF00008C14508DD394630462DF08B +:104AC000D7F808F10108084A103FF4E7019B23F0EA +:104AD00003031C44C6E709B0BDE8F08FA08E0600B2 +:104AE000C421002040200020FE307F598F71C46D0A +:104AF000C49866C99DD7B1C1C615A84175EE519736 +:104B000010B5064B0360002304460371C38000F018 +:104B100007F821462DF00CFB204610BD20A0050013 +:104B200038B5054C256825B9542034F059FD056089 +:104B30002060206838BD00BF7C37002073B501922B +:104B400002680D4612690021044690470646204639 +:104B50002DF02EFA019B01462A4630462DF00AF927 +:104B6000A8B12B7803F00F030F2B02D1002002B065 +:104B700070BD626B92F82A300133DBB20E2B02D883 +:104B800082F82A30F2E7002082F82A00EFE7014895 +:104B9000EDE700BF12FCFFFFF7B504460F461546D0 +:104BA00010301E462FF024FF65802780182034F037 +:104BB00017FD08AB024693E803006D4685E8030045 +:104BC00011462B4641F80C6B0026D6604E6003CB95 +:104BD000074B5361BDF82830506043F00203204674 +:104BE000C4E90226C4E908669160A38003B0F0BD61 +:104BF00097210500F0B587B08668134B04930546EE +:104C000000272820059734F0EBFC1023029306AB15 +:104C1000044613E903003A468DE803002B462D2194 +:104C20002046FFF7B9FF336821465B683046984756 +:104C300040B120462DF045FD204607B0BDE8F040CC +:104C400034F0CCBC07B0F0BDB323050010B503466B +:104C500090B00A4621B110B0BDE81040FFF7CABFBE +:104C60000B4984680A48CDE90412102102911146CB +:104C70008DE803002D2106A8FFF78EFF236806A903 +:104C80009B682046984706A82DF01BFD10B010BD6C +:104C9000B323050070B5044686B016461D46FFF7DF +:104CA0002FFF184B23600A9B2361C4E9026504F1BE +:104CB00028002DF048F8002504F11403142632468C +:104CC000184629466563059334F0EAFC0E492046F0 +:104CD0002DF0CDF8012120462DF0DBF80E22CDE994 +:104CE00001622046059B0095022229462DF0DFF83F +:104CF00020462DF06CF910B12046FFF77BFF2046CF +:104D000006B070BD5CA00500593E06002DE9F743D2 +:104D10000B4C9946236806460F4690465BB93820EF +:104D200034F05EFCCDF80090054643463A463146E5 +:104D3000FFF7B0FF2560206803B0BDE8F08300BF37 +:104D40008037002010B50023044603F0B3FB024B6C +:104D50002360204610BD00BFB0980500014B1860CD +:104D60000020704784370020002830B51FDD114C2B +:104D700023680BB9104B23602268411E0D460020AA +:104D8000930983EAD273534083EA121383EA9203AE +:104D900083EA5203DB0743EA520202F001036D0883 +:104DA00043EA4000ECD18142E8D3226030BD6FF489 +:104DB0007A70FBE784370020A10D0C0030B585B078 +:104DC00004AC04E90F00BDF80230012B10D1114DE5 +:104DD0003C2455F8040B28B1C3889A0402D5036813 +:104DE0005B689847013C14F0FF04F2D105B030BD78 +:104DF000022BFBD1074D3C2455F8040B28B1C38886 +:104E00005B0402D503689B689847013C14F0FF04DB +:104E1000F2D1EBE78837002010B5064C22884FF618 +:104E2000E8539A4202D915202AF0EDFB2088431C52 +:104E3000238010BD5C210020194A73B50023114660 +:104E400052F8044B3CBB41F82300164C237813F076 +:104E500001031ED1144D2A68DAB1009310220123F8 +:104E60004FF47A60002101F093F890B9C0260F4BFF +:104E700028680096012210212DF0FDFA0B4B2868BE +:104E8000009602220F212DF0F6FA237843F0010359 +:104E9000237002B070BD01333C2BD1D1D5E700BFE8 +:104EA0008837002012450020B4380020BD4D020094 +:104EB00010B5074A0023114652F8044B844203D12F +:104EC000002241F8232010BD01333C2BF4D1FAE736 +:104ED00088370020F8B504460E46062812D8DFE8C9 +:104EE00000F004040412120412000D4F002557F8BC +:104EF000040B20B1036832461B69214698470135EF +:104F00003C2DF4D1F8BD064F3B2557F8250020B1C4 +:104F1000036832461B6921469847013DF5D2F1E707 +:104F2000883700202DE9FF4104AC04E90F00104B45 +:104F3000104F1C68DDE902014FF47A72002329F05A +:104F4000CDFF05460E467CB1E368D4F818809D423B +:104F500076F1000306D320462DF0FFFA39462046AD +:104F60002DF0E4FA4446EEE704B0BDE8F08100BF5E +:104F700080380020883800202DE9F04FDFF8B8B0E5 +:104F800093B004AC84E80F00DBF80030002B4AD06B +:104F9000264BBDF81050BDF812601C68244F00224B +:104FA00040F2FE3940F2FF3A3CB3E368D4F818808F +:104FB000180C4D4599B203460FD151450DD108B19A +:104FC000B04208D13AB920462DF0C7FA39462046FA +:104FD0002DF0ACFA01224446E6E709B18D42FAD140 +:104FE00008B1B342F7D1204603922DF0B6FA394604 +:104FF00020462DF09BFA039AEDE7A5F2FE33012B34 +:1050000011D9DBF80040102300933246094B2946A2 +:1050100008A82DF042FB236808A99B682046984702 +:1050200008A82DF04EFB13B0BDE8F08F9838002093 +:1050300088380020794F02007C38002038B504F011 +:1050400017FD154B1C68C4B120462DF086FA04F0FC +:1050500001FD002323616362256804F03DFD0146E4 +:10506000284630F0FAFF04F003FD0C4B1A68226268 +:105070001C6004F0EFFC204638BD282034F0B0FA64 +:1050800028220021044634F00BFB30F0DFFF002320 +:10509000C4E901332060DAE7903800208C38002022 +:1050A00038B50A4B1C682369DB070CD5084D2B6803 +:1050B00013B9FFF7C3FF28602B6823B1626A5A62F5 +:1050C000002262621C46204638BD00BF78380020AE +:1050D000843800202DE9F341234E347814F0010484 +:1050E0003ED1224D224F2860FFF7A8FF214B2249D5 +:1050F00018602DF01BFAFFF7A1FFD0F80080386090 +:1051000004F0EAFC011F404630F0A5FF3B681B4954 +:10511000186830F09EFF2868F0B1C027184B009740 +:10512000224640F2FF312DF0D5F9154B2868009743 +:10513000224640F2FE312DF0CDF901230F2200214D +:1051400000944FF47A6000F023FF0E4B286800971C +:1051500001220F212DF0BEF9337843F001033370A3 +:1051600002B0BDE8F08100BF134500207C3800206C +:10517000943800207838002088380020CD2505009C +:10518000794F0200254F0200024B187800F0010011 +:10519000704700BF13450020F7B5134F3B68044626 +:1051A0000D46EBB1114B1B78DB0719D5FFF778FFE4 +:1051B00044EA0543C36006462DF0CFF90C4930465A +:1051C0002DF0B4F9A4F2FE33012B07D9C0230093CC +:1051D0003868084B2A4621462DF07CF9002000E073 +:1051E000054803B0F0BD00BF7C3800201345002007 +:1051F00098380020794F020016FCFFFF2DE9F0419E +:105200000E4690461F46054618B900242046BDE8C4 +:10521000F0810029F9D0FFF711FF04460028F4D0EF +:10522000434632462946006830F020FF256804F0E6 +:1052300053FC011F284630F00EFF064B064920683C +:10524000002F18BF194630F004FF044920462DF006 +:105250006DF9DBE7B1250500A125050088380020A0 +:1052600010B4084B1B7813F001030C46114605D00F +:10527000224601235DF8044BFFF7C0BF18465DF8D6 +:10528000044B704713450020F8B50546006830F020 +:10529000E6FE044630F0E5FED5E90123241A9B1A08 +:1052A0009C4212D9094E3768356030F0DAFE6868E2 +:1052B000203424F01F0408B100F016FA204600F054 +:1052C000EFF968602044A8603760F8BD78380020A6 +:1052D000024B1868B0FA80F0400970478838002007 +:1052E0001FB50D4C23789A0708D443F002032370AE +:1052F000022201230F2168462FF084FB074B1B6815 +:1053000043B9237823F00203237004B0BDE81040B2 +:10531000FAF796BB04B010BD134500208838002072 +:105320002DE9F0413B4B1B78D80770D53A4D2C68DE +:105330002369D90723D5394E206843F0020323613E +:1053400033681A691F6842F004021A6130F08CFE5B +:105350000146384630F081FE3068FFF795FF33682C +:105360009968186804F063FD002333602B681A699C +:1053700092074CD5BDE8F041186804F092BD284F63 +:10538000284E3968306851B928601B0712D52C6047 +:10539000FFF7A6FF3B68002BFAD02B600AE062699A +:1053A000BA4229D1A269002A08BF0A462A602A689F +:1053B0008242EAD02B689C4229D0326893420BD1BA +:1053C0001F6804F089FB011F384630F044FE336843 +:1053D0001549186830F03DFE33689C4203D062697D +:1053E000124B9A420AD12A68002193681268084633 +:1053F000BDE8F04104F0DABC2960D8E72046FFF7A9 +:1054000043FF2A68A168936820681268F0E7BDE846 +:10541000F08100BF13450020783800208438002038 +:105420008838002094380020CD25050090380020D1 +:1054300038B50D4B1B78DB07054603D4BDE8384073 +:105440002DF0ACB9FFF72CFE044600F081FD284496 +:10545000E06020462DF081F8204604492DF066F8E2 +:10546000BDE83840FFF75CBF1345002080380020BE +:1054700038B5224B1B78DB073FD5214D214C2868DE +:105480002DF06BF8214628682DF050F82468002292 +:1054900074B1A3692BBB032A23DDE2692068936101 +:1054A00000F022F9606800F01FF9204600F01CF9B6 +:1054B0002B6800221A611C6804F00EFB014620468E +:1054C00030F0CBFD04F0D4FA0F492A680B68934200 +:1054D0000BD11B6A0B6004F0BDFABDE83840FFF742 +:1054E0001FBF01321C46D3E70B46002BF3D0196ACD +:1054F0008A42F9D1126A1A62EDE738BD13450020DD +:1055000078380020903800208C380020034B1B781E +:10551000DB0701D5FFF7ACBF704700BF1345002084 +:105520002DE9F0410D460646002834D01C4B1B786F +:10553000D90733D5DFF87480D8F800301A695207DC +:1055400001D15C6A3CB1174A29463046FFF788FE14 +:105550000020BDE8F081186804F08BFCD8F800202A +:10556000136913F0020703D023F003031361EFE77D +:1055700043F0010313612846B047D8F800201069B2 +:10558000576220F0010110F004001161E1D02846BB +:10559000FFF7BCFFDCE76FF47A70DAE70248D8E780 +:1055A000134500200D55020016FCFFFF783800203F +:1055B000024B1878C0F38000704700BF13450020ED +:1055C000044A137818B143F004031370704703F0D2 +:1055D000FB03FAE71345002070B5154B1B78DB077A +:1055E000044624D504F044FA2668013E266004F0FF +:1055F00031FA002E1BDAFFF753FD05462CF0ADFF04 +:1056000004F10C0128462CF091FF04F031FA2368D4 +:105610009E4206DD28462CF0A0FF064928462CF0C5 +:1056200085FF04F017FABDE87040FFF779BE70BD42 +:1056300013450020883800200368013307B5036054 +:10564000C06848B101902CF088FF0549019803B06B +:105650005DF804EB2CF06ABF03B05DF804FB00BFFB +:1056600088380020F8B50C4E05460C46377804F013 +:10567000FFF90A4B43F8375003EBC7035C60641B28 +:10568000A40844F000442C6033780133337004F0F4 +:10569000E1F90020F8BD00BF154500209C3800202E +:1056A00038B50446A0B10B4D2B7843B90A4A0B49D3 +:1056B00013700B4B1868FFF7D5FF01232B702046A2 +:1056C00008492CF0A3FF044610B9142029F09BFFD1 +:1056D000204638BD144500201545002000E001207B +:1056E000B42000209C38002010B5044698B10D4B22 +:1056F0001A68824210D25B6883420DD950F8043C8C +:10570000002B02DC1E2029F07EFF54F8043C43F0FD +:10571000004344F8043C10BDBDE810401E2029F0B1 +:1057200072BF00BF9C38002038B5084B03600025CD +:1057300004464560FFF780FB054B2360E388258125 +:1057400043F48053E380204638BD00BF98A0050095 +:10575000BCA0050010B5044B036000230446C380C1 +:10576000FFF7A6FB204610BD98A00500F8B5002560 +:10577000144B0360044645600F461646FFF75CFB7A +:10578000114B2360142323810223A37294F8363033 +:10579000676223F00E0384F836304FF00113C4E93A +:1057A0000355C4E90555C4E90755C4E90E33A6807D +:1057B000E5802563A586A4F8425084F84050204631 +:1057C000F8BD00BF98A00500E4A00500C16811F570 +:1057D000C87FF8B549DA90F8363013F002034BD1A0 +:1057E000056915F5C87F55DA90F83620520758D468 +:1057F000446914F5C87F60DA90F83620160763D440 +:10580000002B6BD190F84060AEB1B0F8423090F808 +:10581000362001339BB212F00107A0F8423078D055 +:105820001D2B08D900236FF3000280F83620A0F862 +:10583000423080F840302CF0DEFF404B984271D966 +:1058400011F5487F70DBB1F5487F6FDC15F5487FB7 +:105850006EDBB5F5487F6DDC14F5487F6CDBB4F585 +:10586000487FD4BF0020062052E0B1F5C87F0FDD8D +:1058700090F836309C070BD490F8363083F0020253 +:10588000C2F3400262F3410380F836300123A7E7F8 +:105890000023A5E7B5F5C87FAADD90F836205707A5 +:1058A000A6D490F8363083F00402C2F3800262F38B +:1058B000820380F8363001239AE7B4F5C87F9FDD74 +:1058C00090F8362012079BD490F8363083F0080207 +:1058D000C2F3C00262F3C30380F8363090F8403060 +:1058E000032B8FD80133DBB2012B80F8403003D17A +:1058F0000023A0F8423085E7042B83D190F836309E +:1059000043F0010380F836300023A0F842300B202A +:10591000F8BD092B82BF06F1FF36A0F8427080F86F +:10592000406088E70720F3E70320F1E70420EFE772 +:105930000220EDE70120EBE70520E9E7FF70020018 +:1059400010B5044B036000230446C380FFF7B0FA90 +:10595000204610BD98A00500F8B50025114B036046 +:10596000044645600F461646FFF766FA0E4B236065 +:105970004FF48063C4E90633C4E908351423238156 +:105980004FF48053C4E90355C4E90A55C4E90C55E2 +:10599000C4E90E55C4E910756561A680E380204610 +:1059A000F8BD00BF98A0050024A105001FB5C3885D +:1059B0005B0704461AD403689B6A984720462DF07B +:1059C00041F8E388A18843F00403E3800322012324 +:1059D00068462FF017F8E388054823F0040213F017 +:1059E000020FE28018BF002004B010BD0148FBE7A1 +:1059F00014FCFFFF15FCFFFFC3885A0710B50446CF +:105A00000ED49B0701D4FFF7D1FF636C20461BB176 +:105A1000BDE81040F6F7E8BEBDE81040F6F758BF05 +:105A2000004810BD15FCFFFF10B5044B03600023B8 +:105A30000446C380FFF73CFA204610BD98A005003D +:105A400010B5074B044640F8103B2FF00CF8054BFF +:105A5000236000232046E380FFF72AFA204610BD8A +:105A60005CA1050098A00500F8B51F460B4B03602C +:105A70000023044643600E461546FFF7DDF9204635 +:105A8000074B40F8103B2AB231B22FF067F8FF23E2 +:105A9000268165812373A7802046F8BD98A0050064 +:105AA0005CA1050000228280014A0260704700BFAD +:105AB0009CA105002DE9F0411E46204B0360204BC0 +:105AC00000250446C0E9023585800830884617461F +:105AD000FFF7B2F91B4B03F1080240332260A360C9 +:105AE000C4E9048704F1180002F070F9BDF81C3015 +:105AF000A3819DF81830E584013384F830300136F5 +:105B00004FF0FF33E361424604F1100184F8246052 +:105B10002562E56225856586A58620462DF0E2F89A +:105B20003A4604F1140120462DF0DCF8E38943F4F1 +:105B30008043E3812046BDE8F08100BFD8A1050085 +:105B400098A00500DCA1050038B504460D4621B932 +:105B50002DF06DFB40B9104811E0012910D120460D +:105B60002DF065FB0028FAD0238D226AD05C94F8D2 +:105B700024200133B3FBF2F102FB1133238538BD3E +:105B80000229F1D12DF053FB0028EDD12A46012145 +:105B900020462DF041FAE7E70CFCFFFFC389DA0746 +:105BA00013B5044614D443F001025B07C28108D543 +:105BB0002046FFF7C9FFE38923F00103E38102B028 +:105BC00010BD01912DF0C0F901990028F0D0F6E741 +:105BD0000048F4E70DFCFFFFC389DA0710B504465F +:105BE00010D4FF2918BF013143F0010318BFC9B217 +:105BF000C38180F824102DF0A7F9E38923F0010375 +:105C0000E38110BD0048FCE70DFCFFFF73B51646AD +:105C1000C2890D469107044619D4002E19DDC5B17D +:105C200042F002011207C1810AD5324629462046B8 +:105C30002DF026FBE38923F00203E38102B070BD5F +:105C400001932DF0A8F9019B0028EED0F6E7024859 +:105C5000F4E76FF47A70F1E70DFCFFFFC38970B5CC +:105C600015469A0704460E4640D143F00303C3810C +:105C70000A4600F110012DF035F82A4604F114010E +:105C800020462DF02FF820462DF0EAFA002804DDFA +:105C9000236801219B6820469847236800219B6860 +:105CA000204698472B6802215B6C2846984723685A +:105CB0002A461B69314620469847236800215B68C5 +:105CC0002046984720462DF0CBFA002804DD2368B3 +:105CD00001215B6820469847A16B20462DF08FF983 +:105CE000E38923F00303E381002070BD0048FCE753 +:105CF0000DFCFFFF0A4B10B503F1080240330446C8 +:105D00000260836018302FF03FF9064BA360002338 +:105D100004F10800E381FFF7CBF8204610BD00BF77 +:105D2000DCA1050098A005002DE9F04704468AB0E3 +:105D300061B1C568017C2B680591DE6B9B6C2846C0 +:105D40009847324A059902442846B04720462DF02C +:105D500017FBDFF8BC80E56A002637464FF00109E3 +:105D6000636BB34249DDB5F810A0BAF1000F1DD046 +:105D7000D5E90230D4E90812994282411FD3D5E90E +:105D8000001C51EA0C0E6A8A13D12946204605925E +:105D90002DF0EFFA059ACDF80890D4E90801CDE985 +:105DA0000001514606A82EF03CFE01371835013699 +:105DB000D6E75B1840EB0C00C5E90230EBE76B69F6 +:105DC000DB07F3D5FFF7F4FB0028EFD0D4E9083068 +:105DD000D5E9021213EB080E40F1000C714572EB8D +:105DE0000C02E3D2CDE90030CDF80890052240F254 +:105DF000FF3106A82EF015FED8E7002FABD12046C4 +:105E00000AB0BDE8F0472DF061BB00BF8096980056 +:105E1000A0860100064B0146186838B1037C194181 +:105E200011F0010118BF0121FFF77EBF704700BFCD +:105E3000A8380020F8B5DDE906670446154603F0EA +:105E400017FE56EA07032DD0D4E908329B1947EB19 +:105E50000202C4E9083230464FF47A720023394610 +:105E600029F03CF8D4E90632181842EB0101C4E9E4 +:105E700006014FF47A7200233046394629F02EF895 +:105E8000A3681A44A260A268B2F57A7F09D3D4E964 +:105E90000631013341F10001C4E90631A2F57A72FD +:105EA000F0E7656020462DF06BFAD4E9083213F173 +:105EB0000A074FF00003666B2363E36A4FF0180193 +:105EC00042F1000201FB0636B34226D2198AB1B173 +:105ED000D3E9005C55EA0C0113D1D3E90201B842C1 +:105EE000914101D2C3E90272216B39B1D1E90201BA +:105EF0009D688542D86870EB010100D22363183396 +:105F0000E2E7D3E9021069184CEB0000B94270EBEC +:105F1000020EE9D2C3E90210F3E7E06803689B6C64 +:105F200098470546E068094A0368217CDB6B2A44F0 +:105F30009847236B33B1E068617C036805F10A027E +:105F4000DB6B9847BDE8F84003F084BD809698006D +:105F5000064B10B51C682CB120462DF011FAD4E97F +:105F6000060110BD00200021FBE700BFA83800207B +:105F7000064B10B51C682CB120462DF001FAD4E96F +:105F8000080110BD00200021FBE700BFA838002059 +:105F900030B5084C246885B054B1089D0092CDE915 +:105FA000013502460B4620462DF070FA05B030BD93 +:105FB0000148FBE7A838002016FCFFFF30B5084C6D +:105FC000246885B054B1089D0092CDE901350246A0 +:105FD0000B4620462DF06AFA05B030BD0148FBE7BC +:105FE000A838002016FCFFFF30B5084C246885B0A7 +:105FF00054B1089D0092CDE9013502460B4620467A +:106000002DF034FA05B030BD0148FBE7A838002078 +:1060100016FCFFFF044B1B680A461BB101461846DD +:106020002DF078BA01487047A838002016FCFFFF11 +:1060300070B50E4D2C68B4B120462DF0A1F90C4B73 +:10604000266A42F2107098472C6820462DF098F985 +:10605000236A053B42F210729B1BB2FBF3F3054A25 +:106060000020136070BD0448FCE700BFA838002082 +:106070005F210020A438002016FCFFFFF8B516466B +:106080001B4A02601B4A43740A2304464363C160EF +:1060900010600674F0200D46FFF702FBF022E0626C +:1060A000002133F0FDFA00220023C4E90623C4E9ED +:1060B00008232B681049DB69002727632846984787 +:1060C000E0680E4A03683146DB6B9847E068036876 +:1060D0005B6A9847E068A76003689B6C98476060BC +:1060E000E06803689B6A9847FFF7A2FF2046F8BD67 +:1060F00040A20500A8380020155E02008096980096 +:106100002DE9F041104F3D680446DDB10F4B186892 +:1061100028B10F4B604398470020BDE8F081284626 +:106120002DF02EF9D5E908683D6828462DF028F9AC +:10613000D5E90802A11948F10003884272EB030374 +:10614000F2D3E9E70348E8E7A8380020A4380020A4 +:106150005F21002016FCFFFF064B0146186808B1BE +:106160002DF021BA00220023C1E900231046194670 +:10617000704700BFA838002013B5074C24684CB105 +:10618000CDE9002302460B462046FFF753FE0020D0 +:1061900002B010BD0148FBE7A838002016FCFFFF45 +:1061A000034B0146186808B12DF02FBA704700BFA5 +:1061B000A83800200D4B10B50360C38823F40053AA +:1061C0000446C3802C302EF04EFC04F124002EF047 +:1061D000DBFE04F11C002EF0D7FE054B23600023EC +:1061E0002046E380FEF764FE204610BD50A2050065 +:1061F00098A00500F8B50025144B036004464560DF +:106200000F461646FEF718FE114B2360A76004F1F7 +:106210000C0001F0B1FC04F11C0001F0D7FD04F109 +:10622000240001F0D3FD04F12C0001F0D5FC4FF463 +:106230004053A680E3802575E5822583258484F874 +:106240002250258525632046F8BD00BF98A0050093 +:1062500050A2050010B50121044607202CF097F943 +:10626000054B984207D1237D2BB1237D012B02D012 +:106270002FF0E4FEF7E710BD16FCFFFF73B5079C97 +:10628000002C054616DB007D10B1287D012814D1B5 +:10629000A8689DF8186000961BB212B210302EF05C +:1062A0006AFC24B1EC82072300242C832B75204642 +:1062B00002B070BD6FF47A74F9E7014CF7E700BFE4 +:1062C00012FCFFFF2DE9F04186B005460D9C0391BD +:1062D000002C16461F461EDB2DF007FB2B7D03F01E +:1062E000FF08DBB9039905A82EF0C8FB0C9B0093AF +:1062F00001943B46324605A92846FFF7BFFF05A893 +:106300002EF0B1FB1CB12846FFF7A4FF44462046FF +:1063100006B0BDE8F0816FF47A74F8E7004CF6E758 +:1063200011FCFFFF70B5161E044612DD037D13B18C +:10633000037D012B10D1002584F82250258404F11F +:106340001C002EF09BFE0223E6822583237528463F +:1063500070BD6FF47A70FBE70048F9E712FCFFFFAD +:1063600073B5161E044606982CDD227D12B1227DDF +:10637000012A2AD110F1FF0FC3F1000520D1A06836 +:1063800001910368DB6998470199284400B220868F +:1063900084F8325004F12C002EF078FB079B00208B +:1063A000854218BF3546834206F1FF3614BF0623E7 +:1063B000052384F83300E5822683237502B070BD7F +:1063C00000B2E4E76FF47A70F8E70148F6E700BF3F +:1063D00012FCFFFFF0B587B0161E054603911F465D +:1063E0001CDD2DF082FA2B7D03F0FF04CBB903995D +:1063F00005A82EF043FB0D9B01930C9B00933246A6 +:106400003B4605A92846FFF7ABFF05A82EF02BFB5E +:106410002846FFF71FFF204607B0F0BD6FF47A70E3 +:10642000FAE70148F8E700BF11FCFFFF10B5054B84 +:1064300003F10802383304460260C360FFF78AF9AB +:10644000204610BD6CA205002DE9F04104468846A7 +:1064500017461E46FFF768F90D48C4F81C8000F186 +:10646000080323609DF81C3084F8203000259DF837 +:10647000183025823830E060A78066766561257621 +:10648000A37620462DF03FFA2046BDE8F08100BFFC +:106490006CA20500F7B50446406822680368002630 +:1064A0006D461F69CDE9006602232946B8470E4BA9 +:1064B000009A9A4215D02046CDE900362DF00FFB08 +:1064C00095E8060020462DF01BFB606821680368F4 +:1064D0009B6998476068A268036821685D694023EA +:1064E000A847019803B0F0BDA10D0C002DE9F04FB5 +:1064F0000446A7B008460F469246984633F019F96D +:1065000000F10109B9F1100F00F2B880B8F1200FC5 +:1065100000F2B480394620462DF020FB06460028C4 +:1065200058D14A4639460EA833F092F842465146B1 +:1065300012A833F08DF820462768FFF7ABFF07F16C +:1065400008091AAF302200210546384633F0A8F872 +:106550004FF0000820462DF0C2FA4FF00C0BCDF89A +:106560002C800BFB08FAA8450AF1020A58DA606889 +:1065700003681B6939461E464A460C23B0470EA9DC +:10658000384633F0CCF8A0BB3F4BCDE90C350CAB13 +:1065900093E8060020462DF0B3FACDF824A00DF1C3 +:1065A000440EBEE80F00EC46ACE80F00BEE80F005A +:1065B000ACE80F00DEF80030CCF800300EAB0ECBAC +:1065C00020462DF0FCFA01230B9309F1300908F164 +:1065D0000108C6E742465146103033F029F8054617 +:1065E000304632F0FBFF002D9BD1284627B0BDE896 +:1065F000F08FCDF824A00DF1740EBEE80F00EC462C +:10660000ACE80F00BEE80F00ACE80F00DEF8003089 +:10661000CCF8003097E80E0020462DF0D0FAD4E7F1 +:1066200025EAE5770B9B0BFB07F70237C3B9052D6E +:1066300027D0154B0C9301352A46194620460D9557 +:106640002DF05EFA099711AF0FCF6D460FC50FCF32 +:106650000FC53B682B600EAB0ECB20462DF0AFFA7A +:106660006068216803689B6998476068A26803684E +:1066700021685D694023A8470025B6E76FF47A7565 +:10668000B3E76FF47B75B0E7A10D0C002DE9F04F77 +:106690009BB004468A46FFF7FDFE054600285FD002 +:1066A00027680EAE07F108033022002130460A9316 +:1066B00032F0F6FF20462DF012FA334B2A461946E7 +:1066C0002046CDE90C354FF000082DF019FA6B1E6D +:1066D000C3464FF002090B93A84536DA60680A9A60 +:1066E00003681B6931461F460C23B84751463046A4 +:1066F00033F015F880B9244B0C930B9B22490D9372 +:106700001A4620462DF0FCF94FF0010B0A9B30335E +:106710000A9308F10108DFE7CDF824900DF1440E4B +:10672000BEE80F00EC46ACE80F00BEE80F00ACE896 +:106730000F00DEF80030CCF8003096E80E0020465E +:106740002DF03DFA09F10C09E0E7BBF1000F09D18A +:106750000D4B2A4619462046CDE90C352DF0D0F9CF +:106760000A480EE06068216803689B699847606882 +:10677000216802680C236B4302335569A268A8475D +:1067800000201BB0BDE8F08FA10D0C000CFCFFFF3A +:106790007FB5C388DD05044623D443F48243C38018 +:1067A0000368DB6A98470126A06C0368C5885B68AC +:1067B000984785F48075B0FA80F0C5F3002540094C +:1067C000A8424AD1606C94F84C10036827221B6BD6 +:1067D000984710F0080506D1002EE5D1284604B0F0 +:1067E00070BD0026E0E7606C062201210368CDE958 +:1067F0000021B4F84C10DD6AA82202ABA847054678 +:1068000048BBBDF90830BDF90A20BDF90C10A07ACB +:10681000002BB8BF1F335B11002AB8BF1F32ADF881 +:106820000830002910FB03F34FEA6212B8BF1F3192 +:106830005B42ADF80A20491110FB02F2E3612368C4 +:10684000ADF80C10524210FB01F15B6BA2612162AA +:1068500020469847C2E7034DC0E7002EA4D1354635 +:10686000BCE700BF0EFCFFFF01892DE9F0414FF4AA +:106870007A78044608FB01F11F482BF082FFA17AC9 +:10688000B0FBF8F020811D482BF07BFF656CA072F7 +:106890002B68B4F84C705E6AE38813F4807308D0F8 +:1068A0002189154808FB01F12BF066FF40F0070035 +:1068B000C3B2202239462846B047C8B9606CB4F844 +:1068C0004C10036822225D6A1023A84780B9656CCA +:1068D000A17A2B6809485E6AB4F84C702BF04CFF23 +:1068E00060F07F00C3B2232239462846B04700B18A +:1068F0000348BDE8F08100BFB0A20500A8A20500D2 +:106900000EFCFFFF10B5034B03600446FFF718F8B9 +:10691000204610BD28A3050070B504460E46154656 +:106920001946BDF81420FEF721FF074B2360002312 +:10693000E380BDF81030A4F84C30C4E9116520465E +:10694000FFF792FF204670BD28A305007FB5C388DE +:10695000DD05044623D443F48243C3800368DB6926 +:1069600098470126E06C0368C5885B68984785F402 +:106970008075B0FA80F0C5F300254009A84237D1F0 +:10698000A06C94F85010036867221B6B984710F0B6 +:10699000080506D1002EE5D1284604B070BD0026BA +:1069A000E0E7A06C062201210368CDE90021B4F8DC +:1069B0005010DD6AE82202ABA8470546B0B9BDF821 +:1069C0000830BDF80A204FF66A7113FB01F312FB81 +:1069D00001F2A363BDF80C306263962213FB02F34D +:1069E000E36323682046DB6A9847D5E7024DD3E787 +:1069F000002EB7D13546CFE70EFCFFFF018938B531 +:106A00004FF47A750446694313482BF0BAFEB0FB85 +:106A1000F5F0208180B205FB00F10F482BF0ACFEB1 +:106A2000E288B4F85010C3B2A06CD205026858BF17 +:106A300043F00303556A6022A84750B9A06CE3886D +:106A40000268B4F85010556AC3F300236222A847C5 +:106A500000B1024838BD00BF60A305000EFCFFFF77 +:106A600010B5034B03600446FEF7DEFF204610BD61 +:106A700090A3050070B504460E4615461946BDF8AC +:106A80001420FEF769FF064B2360BDF81030A4F810 +:106A90005030C4E912652046FFF7B0FF204670BDB4 +:106AA00090A3050082B08DE80C00014802B0704749 +:106AB00016FCFFFF0048704716FCFFFF00487047B8 +:106AC00016FCFFFF2DE9F04106460D46002930D0A7 +:106AD0008469DFF86C8000274CB3AA88A3885340F0 +:106AE000990722D4920717D4A268AB689A421CD1A6 +:106AF0002B8813B122889A4217D16B8813B1628810 +:106B00009A4212D1B3680BB120469847A38843EA52 +:106B10000803A380013708E0A968A0682EF04BFBAA +:106B20000028E5D1AB889B07DED5646AD4E7002F47 +:106B300003DC6FF47A70BDE8F0812046FBE700BF0C +:106B40000080FFFFF0B5064685B00D46002958D0FD +:106B5000846924B3AB8821682A6813F002031CBF40 +:106B6000A388C3F34003914213D1A068A96873B10D +:106B70002EF021FB68B1EA68E3689A4209D1B4F9C2 +:106B80000420A388002A06DB1F4805B0F0BD884218 +:106B9000F1D0646ADDE7C3F30E03A380F4E7B069C4 +:106BA0002A8840B9B561012340F2FD3168462DF0D5 +:106BB00029FF0020E9E7014603461C88944205D2DC +:106BC0005C6A19466CB12346F7E723461C88944259 +:106BD00007D15F886C88A74203D25C6A1946002CF3 +:106BE000F3D1884209D10B889A4204D305D1488851 +:106BF0006B88984201D96962D4E74B6A6B624D6237 +:106C0000D1E76FF47A70C0E716FCFFFF2DE9F84377 +:106C10008469DFF880900D4690460127002C36D01D +:106C200023882A889A4200D013BB63886A889A42D4 +:106C300000D0EBB9FEF7A8FAE0B1A38803F0C003D7 +:106C4000A3F1C0025342534143451ED1B4F904306D +:106C5000B4F804C0002B18DB95E80F0004F110060F +:106C60001CF0400F86E80F0006D020462DF03BF8C0 +:106C7000646AD3E70123E7E7FEF786FA0028F4D039 +:106C800021464846FEF74CFCF2E70027F0E738467D +:106C9000BDE8F883E73C0500024B1888421C1A80C7 +:106CA000704700BF64210020F7B504460F46154623 +:106CB00010301E462DF09CFE65802780182032F093 +:106CC0008FFC08AB024693E803006D4685E803009D +:106CD00011462B4641F80C6B0026D6604E6003CB64 +:106CE000074B5361BDF82830506043F00203204643 +:106CF000C4E90226C4E908669160A38003B0F0BD30 +:106D0000A33C050030B5144B91B003F108022833C1 +:106D100004460260C3600025104B104804932946C6 +:106D200010232A468DE803000293059523460F2180 +:106D300006A8FFF7B9FF06A92046FFF7C3FE06A87D +:106D40002BF0BFFC064BE36004F10C006582FEF7FC +:106D5000AFF8204611B030BDD8A30500653E050050 +:106D600098A0050030B51D4B03601D4B002587B072 +:106D70000446C0E9033585600C30FEF75DF8194B19 +:106D800023602033E360184B2562C4E90655E5848F +:106D90002820CDE9043532F023FCC023029306AB52 +:106DA000054613E9030002228DE8030023460F2164 +:106DB0002846FFF779FF29462046FFF7C3FE28B192 +:106DC00028462BF07EFC284632F008FC074B1A6858 +:106DD00002B91C60204607B030BD00BFC8A3050043 +:106DE00098A00500E0A30500653E0500B43800202A +:106DF00010B5034B03600446FEF7ACFC204610BD03 +:106E000024A405002DE9F74F0546DDE90CBABDF8CD +:106E10003860884691461F46002B3DD0BBF1000FDD +:106E200002D11AF0010F37D0B8F10F0F01D1C02EE7 +:106E300032D1282032F0D4FB044610302DF0D8FD9A +:106E40001820A4F80080A4F8029032F0C9FB014693 +:106E5000CDE900BA41F80C7B00236F46C3600246BF +:106E60004B6003CFC4E90223C4E908332B685060A8 +:106E7000916046F002060A4951615B68A68021468E +:106E80002846984740B120462BF01BFC204603B013 +:106E9000BDE8F04F32F0A2BB03B0BDE8F08F00BFF9 +:106EA000CF3E05002DE9F047DFF87880044688B032 +:106EB0001D460F461646FEF737FCD8F800C0184BA3 +:106EC000A580002523606781A681A573BCF1000F12 +:106ED00021D0DFF854A04FF0C009294650468DE874 +:106EE000030023462A4639466046CDE904A5CDF87D +:106EF0000890FFF787FFCDE906A508ABCDF808900D +:106F000013E903002A468DE803002346D8F8000061 +:106F10003146FFF777FF204608B0BDE8F08700BF95 +:106F200024A40500B438002009400500084B03F1F3 +:106F30000802383310B504460260C360406A036833 +:106F400021461B6A98472046FFF770FA204610BD7D +:106F500044A40500F7B500261D46174601230A89FB +:106F6000CDE900660446FFF76FFA094B2360303322 +:106F7000C4E90975E360E66220462DF0C7F8B54222 +:106F800002DA20462DF0E5F8204603B0F0BD00BF40 +:106F90004CA4050070B5074B03600025044645600E +:106FA0000E46FDF749FF044B23602563A680656309 +:106FB000204670BD98A0050088A40500F7B50446DA +:106FC0000F46154610301E462DF012FD65802780B5 +:106FD000182032F005FB08AB024693E803006D462B +:106FE00085E8030011462B4641F80C6B0026D6605D +:106FF0004E6003CB074B5361BDF82830506043F01F +:1070000002032046C4E90226C4E908669160A38011 +:1070100003B0F0BD6B42050030B5144B0360144B58 +:107020001D6891B00446B5B1012224231146CDE973 +:107030000432242010238DE803000293A188234604 +:1070400006A8FFF7BBFF2B6806A99B682846984750 +:1070500006A82BF036FB074B236000232046E38075 +:10706000FDF726FF204611B030BD00BF88A4050003 +:10707000B438002098A005000048704716FCFFFFB8 +:107080000048704716FCFFFF1FB54369032B0446F9 +:107090000BD80133042B436107D142892AB1012364 +:1070A00040F2FF3168462DF0ADFC637CEBB9237CE8 +:1070B0005BB1A3694BB10123228940F2FF316846DD +:1070C0002DF0A0FCA06904B010BD216A0B686846D1 +:1070D0001B689847694604F10C002DF095FE684640 +:1070E0002DF08BFE01232374E6E7E06928B10368E5 +:1070F0001B6804B0BDE8104018470148E3E700BF33 +:1071000012FCFFFF38B50B4B03F108023433044681 +:10711000026043600C300D4600F0FEFD4FF48073BA +:10712000238204220023C4E90523C4E90735A360B0 +:10713000204638BDD8A4050010B5064B03F108025F +:1071400034330446026043600C302DF056FE204676 +:1071500010BD00BFD8A405002DE9F34106464174D7 +:1071600000293FD10589002D3CD1FFF795FD1F4B2C +:107170003081D3F800800746B8F1000F32D02820C4 +:1071800032F02EFA044610302DF032FC40F2FF337C +:1071900018202380678032F023FA154ACDE90025B4 +:1071A0000246034642F80C6BC56055606A4603CA46 +:1071B000104A58609960C4E902355A611223A380CD +:1071C000D8F80030C4E908555B6821464046984726 +:1071D00040B120462BF075FA204602B0BDE8F041E0 +:1071E00032F0FCB902B0BDE8F08100BFB438002035 +:1071F000DB430500274405002DE9F04F2DED048BFE +:1072000090F82C308BB00446C3B9FEF7A1FED4E948 +:107210001232C01A61EB02014B2871F100030DD349 +:1072200004F154002BF0ECF940B984F85000A0F2BE +:10723000EE300BB0BDEC048BBDE8F08FE1680B685D +:1072400005A81B689847E068059D03681B69984777 +:1072500030F0040305F1040507462BD18023A36118 +:10726000B7EE009A4FF00208059BDFF850B2DFED51 +:107270008B9A5E88B6FBF8F6002E7FD0A369B342E6 +:107280007CDCEB180193AA4647F6FE724FF000092A +:10729000019B9A451FD250465BF8273002929847CF +:1072A000029A4845C8BF0FFA80F98242C8BF02B2AD +:1072B000C244EDE7082815BF4FF4807340239FEDCB +:1072C000789A9FED789A19BFA3614FF00108A361E6 +:1072D0004FF00408C8E7A9EB020909EBD97949F393 +:1072E0004F0308EE103A4FF00009AA464946019BA9 +:1072F00003929A450DD250465BF827300291984789 +:10730000039A0299801A09F1010900FB0011C24495 +:10731000EDE791FBF9F026F0FFFE24F001FAB8EE5C +:10732000C88A27F05BFA28EE098A94ED097AC8EE3C +:10733000297A08EE900A67EE877A9FED5B7AC7EEAE +:10734000877A17EE900A24F0F9FA07EE100AF3EEA6 +:10735000047A27EE277AD4ED0A7AF4EEC77AF1EEB2 +:1073600010FA10DDA369C4ED077AF61A1D4494F8EB +:107370005030012B13D8013384F8503005A82DF07C +:107380003CFD002055E7DFED496AB0EEC76AB4EE78 +:10739000666AF1EE10FA98BFF0EE477AE2E704F180 +:1073A000540948462BF02CF9002802DD48462BF002 +:1073B0001AF9E3889A0729D494ED077AD4ED047A70 +:1073C000B4EEE77AF1EE10FA20DD0123A188022263 +:1073D00006A82DF017FBE38823F0040343F0020313 +:1073E000E38094F83C20A36BA2B3D4ED107AF4EEC2 +:1073F000E87AF1EE10FA01D5C4ED108ADFED2C7AAF +:10740000F4EEE78AF1EE10FA1CDC2AE05B07E8D420 +:1074100094ED077AD4ED057AB4EEE77AF1EE10FA3E +:10742000DFD501231A46A18806A82DF0EBFAE388E0 +:1074300023F0020343F00403D2E7626B132A10DD4A +:10744000C4ED108A01330022A3630123626384F830 +:107450003C3011E7DFED177AF4EEE78AF1EE10FA2F +:10746000EBDC023B0B2B0ED894ED107ADFED127A99 +:10747000B4EEE77AF1EE10FA05DBA18801230822C9 +:1074800006A82DF0BFFA002384F83C30A363636B99 +:107490000133636300232364EEE600BF00FEFF4672 +:1074A0000000804300000000ACC5A737FFFF7F7FCE +:1074B0000000C842000048430000964368200020B6 +:1074C00010B5054B8360054B036000230446C38061 +:1074D000FDF7EEFC204610BD4CA5050098A0050068 +:1074E0002DE9F8434FF000091E46244B0360C0F815 +:1074F00004900446884615469DF82C70FDF79CFCC8 +:107500001F4820602830C4E902084A46494604F171 +:1075100054002BF061F8BDF82830A3808023A361CC +:10752000099BA362089B6362E38825614FF0000812 +:10753000012543F00103C4F81C806661E3802563E4 +:1075400084F82D50BFB1E068036804F108015B685E +:10755000984784F82C500023C4E90D3384F83C305C +:1075600084F8503000220023C4E91223C4F840807C +:107570002046BDE8F88384F82C70ECE798A005005D +:1075800024A50500036B022B10B507EE901A0446E4 +:107590000ED1084626F0D2FD154B002226F050FFF2 +:1075A000144B002226F06CFC27F018F907EE900A25 +:1075B00094ED047AB4EE677AF1EE10FA15D094EDFA +:1075C000057AE388C4ED047AB4EEE77A23F0020387 +:1075D000F1EE10FAE38008DDB7EE007A77EEC77AB5 +:1075E000204617EE901A00F007F8002010BD00BFEB +:1075F0000040154000004A40036B022B10B507EE17 +:10760000901A04460ED1084626F098FD154B00222C +:1076100026F016FF144B002226F032FC27F0DEF88D +:1076200007EE900A94ED057AB4EE677AF1EE10FA5F +:1076300015D094ED047AE388C4ED057AB4EEE77AC8 +:1076400023F00403F1EE10FAE38008D5B7EE007AD8 +:1076500077EE877A204617EE901AFFF793FF002007 +:1076600010BD00BF0040154000004A4008B5531C43 +:1076700008BF026B022A07EE901A1CD1084626F0BA +:107680005DFD104B002226F0F9FB0F4B002226F087 +:10769000ADFD27F0A3F807EE900AF5EEC07AF1EE03 +:1076A00010FA0BD49FED097AF4EE477AF1EE10FA56 +:1076B000C8BFF0EE477A17EE900A08BDDFED047AF6 +:1076C000F9E700BF00004A400040154000007F433A +:1076D000000000002DE9F04F2DED028B0C4685B027 +:1076E000D1ED058A074600F017FB206A03681B6985 +:1076F0009847A368FDEEE88A834603B9A060216A33 +:10770000A5680B6802A81B6898470BF10106029B4D +:1077100006EBD6767610B3F802A09AFBF6F3009348 +:10772000A3680133013503EBD37305EBD575B6EBD5 +:10773000630F4FEA650536D102A938462DF064FB88 +:10774000029B03F104093B684FF0000A03F10408AF +:10775000CDF804A0009B9A4534DA404B484653F8D4 +:107760002B209047227FB1442AB1019B034401930F +:1077700018EE903AC01A07EE900A94ED047AA069C8 +:10778000A268374BF8EEE77A53F8222067EE877A43 +:107790000AF1010AFDEEE77A17EE901A014340461E +:1077A0009047A844D6E7009B012203FB05F103A8FC +:1077B0002DF013FB03A938462DF026FB03A82DF06E +:1077C0001CFBBDE7237F002B3AD0DDED017A9DED58 +:1077D000007A637FF8EEE77AB8EEC77A87EE878A99 +:1077E000D3B1606926F0AAFC1E4B002226F0FEFCF5 +:1077F000804618EE100A894626F0A0FC194B00229C +:1078000026F0F4FC02460B464046494626F038FB7B +:1078100026F0E4FF08EE100AE26884ED058A0123F1 +:1078200063775AB1FDEEC87A18EE901A17EE903AC7 +:107830005B1A002BB8BF5B429A4201DD0123A3779C +:107840000099384669432DF093FB02A82DF0D5FA34 +:10785000384605B0BDEC028BBDE8F08F68200020F3 +:107860008C2000200000E03F2DE9F8431F46164B16 +:107870000360DDE9089524330446436001620E4647 +:10788000011D24309046FFF73DFC0023B9F1080F9D +:10789000A36163774FF0000398BFC4F80890C4F861 +:1078A000108027776361E5605FB1B5FA85F35B0906 +:1078B000A377336830465B68214698472046BDE889 +:1078C000F8830123F4E700BF58A50500436901339D +:1078D0004361C06910B103681B68184700487047CE +:1078E00012FCFFFFF0B5002385B00446036200F1EF +:1078F000280500F15006012755F8040B78B10368FC +:107900009B6A984758B9236A01332362237E2BB9B7 +:1079100021890123032268462DF074F82776B542A9 +:10792000EAD1256A45B9237E33B121890123042296 +:1079300068462DF067F82576684600F0EDF969464F +:1079400004F10C002DF060FA68462DF056FA2189FA +:1079500001230A2268462DF055F8014805B0F0BD14 +:1079600012FCFFFF70B500F128030446002553F810 +:10797000046BA6B9202031F033FE0B4B0360343387 +:1079800043600023C360E36984600A35C0E905668B +:10799000013344F82500C6610661E36170BD01351D +:1079A0000A2DE4D10020F9E7ECA50500094B10B53C +:1079B00003F108022C330446026043600C302DF0C2 +:1079C0001CFA054B63600023201D6381FDF770FAEC +:1079D000204610BD9CA5050098A005002DE9F04F9C +:1079E0002DED028B87B0814601938B68586A03683E +:1079F0000C469B6915469847A368D4ED038A08EEA8 +:107A0000100A586A03681B699847FDEEC87A441C3F +:107A1000074617EE900AFDEEE87AD5F800A004EBD1 +:107A2000D47417EE905ABAF80230641093FBF4F84D +:107A3000019B451B90FBF8F095FBF0F0A8EB0005CF +:107A400005FB04FB002B3FD15846FDF729FE0646F7 +:107A50004FEA081393FBF5F303930AF10403DFF8ED +:107A600098A00293B0460025A8EB06035B4531DAE7 +:107A7000002D2946B8BF05F10F01029A5AF82730A8 +:107A8000091161435018059198470599029A04908D +:107A900008195AF8273010449847049A801A48BFAA +:107AA0000F306B4203F00F0305F00F0158BF59422E +:107AB000039B1D440F4B001101FB002153F827309D +:107AC00040469847A044CFE7129A019E9345A8BF2D +:107AD0009346BDE75A46314648462DF087F9019B4B +:107AE00013B93046FDF700FE484607B0BDEC028BE7 +:107AF000BDE8F08F8C20002068200020F8B5154BE1 +:107B000003600026144B43600446866004300D4633 +:107B10001746FDF791F9114B03F108022C3363600E +:107B2000226004F10C0000F0F7F82822A01831467A +:107B300065622781E6612662267631F0B1FD2B6809 +:107B400028465B682146984700220023C4E90423A5 +:107B50002046F8BD18A5050098A005009CA50500C5 +:107B6000C1F58063B3F5007FB8BF1946014B33F808 +:107B70001100704718270600024A126802607E2230 +:107B800042607047B0200020034A034692E8030099 +:107B900083E8030018467047AC380020034B1A688E +:107BA000034B1A607E225A60704700BFB02000204D +:107BB000AC38002037B5074A1468034644B1D0E911 +:107BC000020125688DE8030020460CCB2968884710 +:107BD00003B030BDB4380020014B0360704700BFD4 +:107BE00024A6050010B50446084619B9034B2360C6 +:107BF000204610BD21602DF09AFAF9E724A6050071 +:107C00002DE9F0410D1E044616461F4601DB002AF1 +:107C100003DA0E4B2360BDE8F081062005FB02006D +:107C2000FDF73EFD20602DF0AEFA23685D809E805A +:107C30003FB13B46324629462046BDE8F0412CF094 +:107C400064BF2046BDE8F0412CF02FBF24A60500FC +:107C50002DE9FF410746D1B100254C1E23462E4693 +:107C60002A46294613F8018FB8F1000F1BD0A8F15E +:107C70003000092815D9B8F10A0F0ED105B1013627 +:107C8000B142B8BF3146013200260025EAE7164B63 +:107C90000360384604B0BDE8F081002DE2D0013623 +:107CA000F3E70125DEE712B2434609B23846FFF793 +:107CB000A7FF3D6801AA0635164614F8013F002BC0 +:107CC000E7D0A3F13001092902D802F8013BF4E71B +:107CD000B24282F80080F0D9304631F0A5FC32463D +:107CE00005F8010BE9E700BF24A6050010B5064C16 +:107CF000064820602DF01BFA2046054A0549BDE8DC +:107D0000104031F066BC00BFB838002024A6050042 +:107D100040200020674A0500014B0360704700BF08 +:107D20002CA60500F8B5141E05460E461F4602DCBB +:107D30000D4B0360F8BD201DFDF7B2FC28602DF04F +:107D400022FA2868448026B122463146043031F0B8 +:107D50007FFC012FEED1286822460021BDE8F840C3 +:107D6000043031F09DBC00BF2CA6050038B5054697 +:107D70000C4609B10B781BB9064B2B60284638BD61 +:107D8000084631F0D6FC2146024628462DF003F97C +:107D9000F4E700BF30A6050070B5054616460C4650 +:107DA00039B10B782BB1084631F0C3FCB3B2834232 +:107DB00003D9054B2B60284670BD32462146284624 +:107DC0002DF0E9F8F7E700BF30A60500014B03608E +:107DD000704700BF30A6050010B5064C064820606D +:107DE0002DF0A5F92046054A0549BDE8104031F0BF +:107DF000F0BB00BFBC38002030A6050040200020AA +:107E0000894F05000429024808BF0020704700BFC1 +:107E100016FCFFFF436805481B6990FBF3F007EE73 +:107E2000900AF8EEE77A17EE900A704740420F008A +:107E30000F4B70B50446C0E9003104F11806083054 +:107E40001546FFF769FF21463046FFF75BF9A36847 +:107E5000E5745B88E3814FF40073002123820223E1 +:107E6000A1743046A382A181FFF776F9204670BD48 +:107E700084A6050010B504468069036800219B6B49 +:107E80009847A06903684FF47A51DB6C9847A27D4C +:107E90002169012A1346B8BF012303EB8303B1FB19 +:107EA000F3F3B3F5807FA8BF4FF480735B1000201D +:107EB00013B101305B10FBE707EE901AB8EE677A5A +:107EC000012AF3EE007A27EE277A1D494FF00102CE +:107ED00026D802FA00F307EE903AF8EEE77AC1F8F6 +:107EE000F405C7EE276AC4F80422A06903680021DC +:107EF000DB6BFDEEE67A17EE902A9847A369114AEC +:107F00005B6901210220C3F80012C2F8080503F5DD +:107F1000A070C2F818050C48C2F81C05D96010BD45 +:107F20000828A8BF0820824007EE902AF8EEE77ADA +:107F3000C1F8F435C7EE276AC4F80422D5E700BFBC +:107F40000070004000F00140047000402DE9F3474C +:107F500000251F464E4B0360456004468846164682 +:107F6000FCF76AFF4B48C4F8188000F10803303072 +:107F70002360A0602A462146A58104F11C00FFF77A +:107F800057FF2146012204F15800FFF751FF214617 +:107F9000022204F19400FFF74BFF2146032204F173 +:107FA000D000FFF745FF2146042204F58670FFF755 +:107FB0003FFF2146052204F5A470FFF739FF214653 +:107FC000062204F5C270FFF733FF04F5FE7A07229C +:107FD000214604F5E070FFF72BFF04F500795046C9 +:107FE000FFF79AFE4846FFF797FE4FF001084FF45F +:107FF0000073A382A7802661214601A8C4F80482E9 +:10800000A57584F808522DF014F901A950462CF0FA +:10801000FBFE01A82CF0F1FE214601A82DF009F984 +:1080200001A948462CF0F0FE01A82CF0E6FE1A4EFD +:108030001A4BE57580271C60C6F88070BFF34F8F20 +:10804000BFF36F8F164B1749C3F800550322C3F8CF +:10805000F0252322C3F80423134A2046C2F80885DA +:10806000C2F81015C2F81435FFF704FF86F807535D +:10807000A069C6F88071036837605B6A9847A06999 +:1080800003681B6B9847204602B0BDE8F08700BF2D +:1080900098A00500A4A6050000E100E0C03800207B +:1080A000007000400471004000F0014010B5002352 +:1080B000084C184603F151021201A25802B10130D6 +:1080C000994201D1013810BD0133082BF2D16FF470 +:1080D0007A70F8E70070004090F80822034602F03A +:1080E000FF007AB1084A0321C2F80815A2F5C03290 +:1080F000D2F80014C907FBD40121916093F808223B +:10810000002AFBD1704700BF00F001402DE9FF417C +:1081100090F80832044603F0FF0523B101252846F4 +:1081200004B0BDE8F081484BD3F840260092D3F864 +:1081300044260192D3F848260292C3F8FC5FD3F894 +:10814000FC2F0122C3F8FC2F009AC3F84026019AA5 +:10815000C3F84426029AC3F848260322C3F8005500 +:10816000C3F8F0252322C3F804231C3000F8065C72 +:108170002E463C27A84607FB0643310193F82E20E4 +:1081800012F0100206F1010654D0A37D0133A3754D +:108190002DF033F801F1804303F5E043C3F8106597 +:1081A000C3F81485082E00F13C00E4D1A37D002B18 +:1081B000B5D0254D01262046C5F80065FFF75AFECB +:1081C000E77D7F37214603A804EB87072DF031F8C0 +:1081D00003A938462CF018FE03A82CF00EFEE37D10 +:1081E000A27DD4F8040204EB830302F10041D3F82A +:1081F000FC3101390433C5F82C36424303EB41010D +:10820000A38AB24093FBF2F002FB10329B1A03EBFD +:10821000D3733341C5F830360C4B2E600322C3F8BC +:10822000042584F8086248F688020B889BB29342C2 +:10823000FBD073E701F1804303F5E043C3F8102559 +:10824000C3F81425AEE700BF0070004000F0014005 +:1082500007EE901A9FED0A7AC7EE277A10B504460A +:1082600040680369FDEEE77A17EE901A994201DA49 +:108270002DF031F8236820469B69BDE8104018476F +:1082800000247449F8B504460D460F48097D174689 +:108290002AF07CFAB8B1297D0B482AF06DFA461E07 +:1082A0006FB13C2101FB06411C3120462DF01FF827 +:1082B0002B680022DB6D04F10801284698473C201A +:1082C00000FB06401C30F8BD34A6050038B5054655 +:1082D0000C461248097D2AF059FAE0B1217D0F4879 +:1082E0002AF04AFA441E3C2000FB045494F82E3035 +:1082F000DB0601D4002038BD2846FFF7EDFE94F8D8 +:108300002E3003F0EF0384F82E300028F2D02846F8 +:10831000FFF7FCFEEEE76FF47A70ECE734A6050099 +:1083200038B5114C114D034689B1FFF7D5FE104AFF +:1083300020701368C3F3C0132B7033B18023C2F8CD +:108340008030BFF34F8FBFF36F8F002038BD2A7886 +:1083500012B1074A802111602278002AF5D0184610 +:10836000FFF7D4FEF1E700BF1745002016450020B7 +:1083700000E100E02DE9FF47364BD3F80421044625 +:108380001AB9D3F81431002B40D0E57DDFF8C49042 +:108390006B1C03F00103E375D9F834167F3504EB49 +:1083A0008505490028462CF0E3FD002604F11C0752 +:1083B000B04606F151031B0159F8033093B1294629 +:1083C00003A82CF002FDD4F8043200934246A37DAA +:1083D00003A938462CF0BCFF03A82CF00EFD08F1D1 +:1083E000010AD0460136082E07F13C07E1D1194BAE +:1083F000D3F8042112B10022C3F80421D3F81421C8 +:1084000022B10022C3F8142184F80822114ED6F8B4 +:108410000031E3B1E57D013505F0010505F17F0788 +:10842000214604EB870703A82CF003FF04EB850427 +:1084300003A938462CF0E8FC03A82CF0DEFCD4F8A5 +:10844000FC310433C6F82C360023C6F8003104B0E2 +:10845000BDE8F08700700040024B186808B1FFF7D4 +:1084600089BF7047C03800200F4B994218D90F4A76 +:10847000914294BF4FF080624FF0C8624369002080 +:10848000C3F80005C3F82425094A914204BF4FF000 +:10849000C462C3F824250622C3F8002500207047D3 +:1084A0004FF0CC72EAE700BF8FD003007F1A0600BE +:1084B000801A0600F8B504461D460E461746FDF71D +:1084C000F1FA0D4B23600023C4E9023323617DB927 +:1084D000012001F075FB6061636913B95A2027F030 +:1084E00092F83A46314620462DF027F82046F8BD4E +:1084F000284601F047FBEEE7E0A605002DE9F8432A +:10850000DFF8CC90044600268FB24FF00108606976 +:10851000C359002B56D1D0F82431CBB94E4517DCC6 +:10852000D0F8503101368BBB632E0DDDD0F86031B1 +:10853000002B38D0D0F80032DA0534D5D0F84831E5 +:108540008BBBC0F81C801E460A202AF029F9DEE702 +:10855000D0F8C434C0F8C4344FF492712CF070FFDA +:108560006369194D01221A625A610A202AF018F92A +:108570006369D3F804313BB9013DF6D12368D4E9EE +:108580000312DB6B20469847104D05E0D0F84855A4 +:10859000002DC9D1632ED7DDA06808B12AF000F9FB +:1085A0002846BDE8F883D0F86031002BCCD0D0F855 +:1085B00000329B05C8D5D0F80431002BC4D1C0F8D7 +:1085C0001480C0E70025E7E7A08601000EFCFFFF4E +:1085D00040420F000D4B03F1080210B5026003F199 +:1085E0003402403304468260C36030302CF005FC16 +:1085F00004F12C002CF001FC054B236000232046E5 +:10860000E380FCF755FC204610BD00BF20A7050005 +:1086100098A0050007EE901AFEEECE7A002217EE23 +:10862000901A41FA02F3B3F5004F01DB0132F8E78B +:10863000072A16DC4169DFED0C6AC1F80C25C1F888 +:108640000835934048BF0F331B1107EE903AF8EE00 +:10865000E77A86EEA77AC0ED097A80ED087A0020E5 +:1086600070476FF47A7070470024744907EE101A4F +:10867000DFED077AC7EE877A08B517EE901AFFF795 +:10868000C9FF07EE900AF8EEE77A17EE900A08BDE8 +:1086900000247449F7B500250193444B03604560FD +:1086A00004460F461646FCF7C7FB4148206000F120 +:1086B0002C033830A360E0602582676104F12C0050 +:1086C000FFF72AFB04F13000FFF726FBBDF820304E +:1086D000A380384B384A01996663C4E9063563695B +:1086E00025854FF40040108050809080D08010810C +:1086F00050819081D081C3F800552046FFF7B6FF26 +:10870000636940F201120221C3F80455C3F8101541 +:10871000C3F84855C3F82855C3F84C55C3F82C5531 +:1087200062830122C3F8142530200422C3F80022FA +:10873000C3F804032148834219D1214A2149146016 +:10874000214A9268C2F8B010204A4FF08051C2F816 +:1087500080111160606B01222276C3F80025036846 +:1087600004F108015B689847204603B0F0BD184843 +:1087700083420ED017498B42ECD1114916488C60C8 +:1087800011498968C1F8C8001049C1F884214A60BC +:10879000E0E70B4A114854600B4A9268C2F8C400E3 +:1087A0000A4AC2F884115160D4E700BF98A00500BE +:1087B00028A70500000001016643002000C0014019 +:1087C000C43800209188020000ED00E000E100E0E4 +:1087D0000010024000200240B1880200A18802007F +:1087E00073B504460D4694F92930C069A3B1636995 +:1087F00001225A60D3F80421002AFBD000256576B7 +:10880000258510B9002002B070BD23680138E061F1 +:10881000DB6920469847F5E708B301F10B06616B69 +:108820000B6801A81B6804EB8606984701A930462F +:108830002CF0EAFA01A82CF0E0FA04EB8503616958 +:10884000DB6A1A1D5B8801EB45155B10C5F8202516 +:10885000C5F82435E369013BE3610120D3E7A37E3A +:10886000002BCFD0637E002BCCD0E37E002BC9D170 +:108870006169064B01EB4515C5F820350823C5F89D +:108880002435012384F82930BDE700BF664300206A +:10889000024B186808B12CF0C1BF7047C4380020E3 +:1088A000024B586808B12CF0B9BF7047C43800209B +:1088B000024B986808B12CF0B1BF7047C438002053 +:1088C000F0B40479A4071CD500291DDB002A1BDDA8 +:1088D000002B19DD02EBD2744FF47A77B429A3EBA5 +:1088E0006404A8BFB4217C4307FB01F5B421B5FBA8 +:1088F000F1F502FB0541026891FBF7F1126BF0BC48 +:1089000010470348F0BC70476FF47A70FAE700BF75 +:1089100016FCFFFF037D0B4A202B38BF4FF0A0420F +:10892000D2F8141503F01F02012303FA02F20A42DF +:1089300006D1C08800F00A00003818BF0120704737 +:108940001846704700030050037D0D4A4171202BEB +:1089500038BF4FF0A04203F01F0302EB830201294E +:10896000D2F8003723F00C0305D143F00403C2F81A +:10897000003700207047022908BF43F00C03F6E7D8 +:108980000003005038B5037D202B0446174838BF3C +:108990004FF0A0400D46012203F01F01D0F814351E +:1089A0008A40134218D1CDB1C0F8082511462CF0E9 +:1089B000C3FF237D202B0D4B38BF4FF0A043D3F8CE +:1089C0001435134210D0236820461B6E9847236845 +:1089D00029461B6820469847002038BDC0F80C2562 +:1089E00011462CF0B0FFE4E70148F6E70003005021 +:1089F00012FCFFFF38B503689B6A0446984750BBDA +:108A0000E068A0B12AF06AF988B9E388E06843F425 +:108A10008063E380036821461B689847154BE26832 +:108A20001B6803B10C339A4216D00023E360227D09 +:108A3000114B202A38BF4FF0A04302F01F0203EB76 +:108A40008203D3F8002722F44032C3F80027E388DA +:108A500003F43063E38038BD217D084A0423FF20FE +:108A600012F9015B8D4208BF02F8010C013BF7D1FE +:108A7000DBE700BF98390020000300507721002079 +:108A800038B5C3889B0704460D4613D5C06868B93E +:108A9000227D012302F01F018B40EDB9202A224ADA +:108AA00038BF4FF0A042C2F80C351CE02AF016F98E +:108AB0000028EDD1236820461B6E9847227D0123B4 +:108AC0009DB9202A02F01F01174A38BF4FF0A0427B +:108AD0008B40C2F80C3512E0202A134A38BF4FF001 +:108AE000A042C2F80835002038BD202A02F01F013C +:108AF0000D4A38BF4FF0A0428B40C2F80835227DA6 +:108B0000094B202A38BF4FF0A04302F01F0203EBAD +:108B10008203D3F8002742F00102C3F80027E3885C +:108B200043F00203E380DEE70003005038B5C3885A +:108B3000DB07044617D5C06888B9237D1D4A202B62 +:108B400038BF4FF0A042D2F81015012203F01F03E6 +:108B500002FA03F30B4214BF1046002038BD2AF07E +:108B6000BDF80028E9D12368124D1B6E20469847B6 +:108B7000227D6179202A34BF4FF0A0432B4602F0BA +:108B80001F0203EB82032046D3F8002722F00302E2 +:108B9000C3F80027E38843F00103E38023685B6C9C +:108BA0009847237D202B38BF4FF0A045D5F81015EE +:108BB000CBE700BF0003005038B503799A0704469D +:108BC00001D4124838BDC3885B0702D403681B6E0A +:108BD00098470F4B18680028F3D001222146FFF771 +:108BE00051FB05460028ECD0E06848B9E38843F023 +:108BF0000403E38028462CF03DFBC0F30F10E1E7AF +:108C00002AF06CF80028F1D0F4E700BF16FCFFFF53 +:108C10009439002070B5C3881B072DED028B08EE38 +:108C2000901A33D51A4E1B4D30682CF098FDF8EE93 +:108C3000687A08EE100A17EE901A3068FFF7EAFC1F +:108C400004242B88306807EE903AF8EE678A2CF0FF +:108C500086FD07EE900AF8EEE77AF8EEC86A67EE4E +:108C6000A87A013C87EEA67ABCEEC77A17EE103AD6 +:108C700025F8023BE5D1084806490068012308228F +:108C800030F0A0FC2046BDEC028B70BD0348FAE733 +:108C900098390020764300209C39002016FCFFFF05 +:108CA00008B5C3881B070AD5064B18682CF05BFD76 +:108CB00007EE900AFCEEE77A17EE900A08BD02482C +:108CC000FCE700BF9839002016FCFFFF38B50371A0 +:108CD00000231546C0E903330D4B03604FF4807247 +:108CE00001232F2D0446C28001810575437102D9ED +:108CF000322026F088FC074B43F82540064B4FF006 +:108D00000042C3F80423054B40221A60204638BDB8 +:108D10006CA70500D03800200060004000E100E0B2 +:108D20000379F7B50D46D90704464DD5C388DA0651 +:108D300003D5C3F3C023AB421FD0236820461B6E6C +:108D40009847012D236823D13420DF6D30F048FC93 +:108D50001F4A40F6AC53126806462146FEF7FAF861 +:108D60002A4606F10C012046B847E38843F4006325 +:108D7000E380E38843F01103E380E368A3F10C0090 +:108D800003B353F80C3CDB6903B0BDE8F04018476F +:108D90005B682046984723682420DF6D30F020FC74 +:108DA0000023CDE900332289012306462146FDF741 +:108DB0004BFB012206F10C012046B847E38823F45F +:108DC0000063D5E71B68FFDE024803B0F0BD00BFBB +:108DD0009039002016FCFFFF38B5C388DA06044638 +:108DE0000D460AD5C3F3C0238B4206D1E06800B11B +:108DF0000C38BDE8384029F0D9BC29462046FFF799 +:108E00008FFF024B9842F1D138BD00BF16FCFFFF27 +:108E10002DE9FF4BD0F82055DFF8848004460E463C +:108E20000127B5B34FF01F0BB5FA85FCABEB0C0374 +:108E300007FA03F225EA0205F21858F82290B9F170 +:108E4000000FEED0B9F8062002F0E00272B104EB98 +:108E500083034846D3F8002782F48032C3F8002702 +:108E6000D3F80037DA0311D52CF0A7FDB9F8063096 +:108E70009B05D6D5FCF79CFB0028D2D00123052208 +:108E800040F2FF3168462BF0BDFDCAE72CF0B2FD81 +:108E9000ECE74FF0FF33C4F8203504B0BDE8F08BA9 +:108EA000D038002008B5094BD3F87C2162B10021ED +:108EB000C3F87C114FF0A040FFF7AAFFBDE80840BF +:108EC00003482021FFF7A4BF08BD00BF0060004099 +:108ED00000030050C38803F0E00370B504460D465C +:108EE000EBB903685B689847237D2A4A202B38BF7B +:108EF0004FF0A04203F01F0602EB8603D3F80017E1 +:108F000021F44031C3F80017D3F8001748B341F4F7 +:108F10004031C3F800170123B340C2F82035E3887D +:108F2000590633D4EB1E5A425A41E388022D23F0EE +:108F3000E0039BB220D143F02003E3807AB13020DC +:108F400030F04EFB2146054621F072FEFDF710F889 +:108F50002368E862DB6D01222946204698470020FD +:108F600070BD41F40031D4E7E068036821461B6816 +:108F700098470022E260D8E7032D02D143F0400376 +:108F8000DBE7012D08BF43F08003D6E7032DEBD1CB +:108F90000022CAE700030050072913D8027D0B4BBB +:108FA000202A38BF4FF0A04302F01F0203EB8203D8 +:108FB0000020D3F8002722F4E06242EA0121C3F83E +:108FC000001770476FF47A70704700BF00030050BD +:108FD000027D0B4B202A38BF4FF0A04302F01F0246 +:108FE00003EB8203D3F8000720F44030C3F80007F6 +:108FF000D3F8002742EA0141C3F80017704700BFC9 +:1090000000030050F7B5124D2B6853B9402030F0E3 +:10901000E7FA044621F052FF032120462C6030F08D +:1090200069FA0C4F3E6886B9382030F0D9FA13231C +:1090300004462A6808490093084BFFF72BFB0122DE +:10904000314620463C602CF095FB002003B0F0BD7B +:109050009C3900209839002000C00140000048429F +:1090600003792DE9F0410D46990706465AD5B5F525 +:10907000806F59D2C3881A0702D403681B6E9847C1 +:109080002B4A317D4FF0FF340023904612F9010B3B +:10909000884208BF1C460133042BF7D1631C254FBF +:1090A00010D13046FFF7AEFF234B327D1C78386875 +:1090B000013404F00304314608F8042022461C70F1 +:1090C0002CF0D1FBF06840BBF38843F00803F38039 +:1090D00038682CF044FB07EE905A9FED186A184947 +:1090E000B8EEE77AF7EE007AE7EE467A0822F0EE7D +:1090F000676A07EE900AF8EEE77A124867EEA67AFA +:109100000068FDEEE77A17EE903A21F8143001235B +:1091100030F058FA0020BDE8F08129F0DFFD00288A +:10912000D2D0D5E70848F6E76FF47A70F3E700BFCE +:1091300077210020983900207B2100200000803A10 +:10914000764300209C39002016FCFFFF70B5164DB9 +:109150002DED028B044608EE101AFFF753FF286826 +:10916000DFED128A2CF0FFFA07EE900AF4EE687A2F +:10917000F1EE10FA04D018EE901A2868FFF74AFAB8 +:10918000DFED0B7A2368B8EE488A204628EE278A5E +:10919000DB68C8EE287ABDEC028BBDE87040FDEEBE +:1091A000E77A17EE901A18479839002000409C463D +:1091B00000008044026A1E4B9A4205D11D4B994221 +:1091C00020D21D4B994220D21C4B994220D21C4BDD +:1091D000994220D81B4B994220D81B4B994220D84A +:1091E0001A4B994220D81A4B99428CBF4FF080619C +:1091F0004FF0007143698B421EBF002383764161AB +:10920000002070474FF0A051F4E74FF02061F1E7E4 +:109210004FF00041EEE74FF08041EBE74FF0005197 +:10922000E8E74FF08051E5E74FF00061E2E700BF6B +:1092300000F002400048E8010024F40000127A0027 +:10924000FF083D007F841E003F420F001FA1070062 +:109250008FD0030070B501210446817629F040FDCE +:10926000236AA0680021C3F8001500286BD00368AA +:109270001B689847A068627E0368022A5B6C34BF53 +:10928000012102219847A3681E7DE06800285DD077 +:1092900003685B689847E068627E0368022A5B6C3B +:1092A00034BF012102219847E3681D7D2069002811 +:1092B0004FD0617E036801291B6894BF0021012102 +:1092C000984723691A7D236AC3F808256269C3F8A1 +:1092D0000C65C3F81055C3F82425627E022A3BD0E2 +:1092E000032A3BD0012A14BF00220222C3F85425CE +:1092F0000022C3F8C0254222C3F804230722C3F882 +:10930000002594F91830002B2ADB03F1604303F5A4 +:109310006143E02283F8002394F91830002B0CDB22 +:1093200003F01F015B099B0003F1604303F56143F8 +:1093300001228A40C3F880211A6020460121BDE83D +:10934000704029F0CDBC4FF0FF369EE74FF0FF355F +:10935000ACE74FF0FF32B6E70422C7E70622C5E7C5 +:10936000034A03F00F031A44E0231376D4E700BF47 +:10937000FCEC00E038B5044600250498A580134DA8 +:109380002560C4E902122361E0B9042000F018FC52 +:109390002062236A13B95A2026F035F9206A00F0BA +:1093A0005DFC002520760A49A5762046FFF702FFDE +:1093B000206A0849A57665766562224600F082FC3F +:1093C000204638BD00F0DEFBE2E700BFE0A7050065 +:1093D00040420F009F5A05001FB501220023C176AD +:1093E000CDE90133009200F11C0300F11B0104469A +:1093F0002CF093FB0028ACBF207F014804B010BDC7 +:109400000AFCFFFFB1F5614F20D011D847F61223B7 +:1094100099421ED0B1F5164F1ED0B1F5165F134B11 +:1094200018BF4FF0EB73426E0020C2F8243570472E +:10943000B1F5612F13D00E4B994213D0B1F5613FB6 +:1094400014BF4FF0EB734FF06C73ECE74FF46B030A +:10945000E9E74FF40003E6E74FF41D03E3E74FF0BD +:109460007063E0E74FF08053DDE700BF0050270056 +:1094700040420F0013B504468DF8071000F0E4FADF +:1094800018B994F83C30002BF8D100F0DDFA48B15F +:10949000606E4FF490712CF0C6FB606E4FF4AC71AF +:1094A0002CF0C1FB636E01220DF1070184F83C2012 +:1094B000C3F84415C3F848259A6000F0C5FAA8B16E +:1094C000636ED3F82011D3F8582119B9002AF8D0C7 +:1094D000074808E0002AFBD10122DA60D3F85821BE +:1094E000002AFBD00020002384F83C3002B010BDDD +:1094F00009FCFFFF70B50546406E0E4600F0AEFB5E +:10950000044616B3E98911F020011ED12B682846C4 +:109510009B689847284629F0A3FE0028FADC95F8B6 +:109520003C30002BF6D1002C0DDB6309012204F046 +:109530001F0402FA04F42033154A42F82340BFF313 +:109540004F8FBFF36F8F002070BD002C0CDB04F039 +:109550001F026409A40004F1604404F5614401237E +:109560009340C4F8803123602B6800215B68284653 +:109570009847284629F074FE002804DD2B68012155 +:109580005B6828469847A96B284629F038FDDAE73A +:1095900000E100E01F4B10B503603C3383600446DC +:1095A000406E1D4BC0F8083300F058FB00280DDB5F +:1095B0004309012200F01F0002FA00F02033174A8D +:1095C00042F82300BFF34F8FBFF36F8F606ED0F868 +:1095D0000032012223F02003C0F800324FF4AC71B6 +:1095E00042602CF020FB606EC260D0F85831002B36 +:1095F000FBD00023C0F800354FF0FF33C0F80C3526 +:10960000C0F8143500F0FCFA2046FCF773FB204646 +:1096100010BD00BF0CA805001403420000E100E0EB +:10962000F7B54FF00C0C1D461423CDE9003C044661 +:109630000E461746FCF73EFA3D4B23603C33A360D1 +:10964000002384F83C3063662364002D66D02846EE +:1096500000F098FA6066636E13B95A2025F0D3FFC4 +:10966000636E4FF0EB72C3F824250022C3F86C251B +:1096700031463A4620462CF0E6FA606E4FF484718B +:109680002CF0D1FA606E4FF488712CF0CCFA606E39 +:109690004FF490712CF0C7FA606E4FF492712CF079 +:1096A000C2FA606E4FF4A2712CF0BDFA606E4FF4F6 +:1096B000AC712CF0B8FA606E4FF4A6712CF0B3FACE +:1096C000606E1C49D0F8003243F02003C0F800322D +:1096D000194BC0F80433224600F0F4FA606E00F033 +:1096E000BDFA00281EDB00F1604303F56143202230 +:1096F00083F8002300F01F024009800000F1604061 +:1097000000F5614001239340C0F880310360636E2F +:1097100008222046C3F8002503B0F0BD102000F059 +:109720004FFA97E7054B00F00F0020221A54EEE79E +:109730000CA80500895D050014034A0014ED00E043 +:1097400010B5034B03600446FDF766FC204610BDD0 +:109750006CA8050070B504460D461146FDF71AFCCD +:10976000194B2360194BA5631C602B6800263146FA +:109770009B6BE66328469847A06B03684FF47A51C9 +:10978000DB6C9847A06B03683146DB6B4FF47A5271 +:109790009847A06B0E4B0F4AC3F8202542690E492B +:1097A0004432C3F824250422C3F804250368DB6986 +:1097B0009847A06B03685B6A9847A06B03689B6A35 +:1097C0009847204670BD00BF6CA80500A039002056 +:1097D00000F001400061004061980200436B10B549 +:1097E0000446002B39D0836B5B694FF47A52D3F86F +:1097F0004415C3F84425C36B002B04DB023350F837 +:1098000023002AF0D7FC154B0022C3F81025E36B88 +:10981000626B0BB9012A1DD0013393FBF2F102FBFD +:109820001133E36300F024F9A36B5B690122DA6072 +:10983000E36B002B0ADB0233084A54F82330DB6960 +:109840001B7D1B0243F00113C2F81035BDE8104028 +:1098500000F000B94FF0FF33E3E710BD00600040B7 +:10986000024B186808B1FFF7B9BF7047A039002054 +:1098700038B50D4604462AF0DEFC002128462AF0C1 +:1098800085FC636B13B9024AC2F81035002038BD5D +:10989000006000400028A1BF4209064B53F8223067 +:1098A00000F01F00A6BF23FA00F000F00100002026 +:1098B000704700BF00E100E090F91030002BABBF13 +:1098C00003F16043064A03F5614303F00F034FEAD7 +:1098D0004111C9B2B4BFD15483F8001300207047BE +:1098E00014ED00E090F91030002B09DB5A0901213A +:1098F00003F01F0301FA03F36032044941F82230F8 +:10990000436901221A600020704700BF00E100E0B7 +:1099100090F91030002B08DB5909012203F01F03D6 +:1099200002FA03F3024A42F821300020704700BFD8 +:1099300000E100E090F91030002B0DDB5A09012105 +:1099400003F01F0301FA03F32032044941F82230E7 +:10995000BFF34F8FBFF36F8F0020704700E100E02F +:1099600010B5044B036000230446C380FBF7A0FA44 +:10997000204610BD98A005000E4B53F82020F0B4EF +:10998000B2B100235469184601251E4604EB830139 +:10999000D1F840712FB105FA03F73843C0B2C1F8CE +:1099A00040610133042BF1D1D3680BB1F0BC1847EF +:1099B000F0BC7047A4390020F8B51E4B03600027A7 +:1099C000044647600D461646FBF736FA1A4A2260EF +:1099D0001A4AE7600323954263726561267422D0B8 +:1099E00002F58052954220D002F5803295421ED079 +:1099F00013498D420CBF04213946124B204643F8CF +:109A000021402CF03AFA02212046FFF755FF4FF48F +:109A10007A7120462CF0C7FA62690323C2F8083530 +:109A200020462372F8BD0121E7E70221E5E7194648 +:109A3000E3E700BF98A005009CA805000090004047 +:109A400000B00140A4390020014B93F90000704799 +:109A500018450020054A1378013B5BB2002B01DD5D +:109A6000137070470023137062B6704718450020CA +:109A700072B6024A137801331370704718450020FC +:109A8000BFF34F8F0549064BCA6802F4E0621343E7 +:109A9000CB60BFF34F8F00BFFDE700BF00ED00E0DC +:109AA0000400FA0508B50B4B0122C3F8402502213A +:109AB0000022930003F1A0430132202AC3F80017CB +:109AC000C3F8001AF5D12CF0C0FABDE80840F4F74D +:109AD00067BD00BF00E00140004870470000022061 +:109AE00010B5054B054C4FF48072A16818462FF055 +:109AF000AFFDA06010BD00BF0022002000ED00E01F +:109B00002DE9F3471B4C1C4ED4F800A081460F46AC +:109B10009046BAF1000F1FD12C202FF061FD0546B1 +:109B200000F0F4F9382035602FF05AFD1323054674 +:109B3000326812490093124BFEF7ACFD52460121E8 +:109B4000284625602BF016FE514620682BF00DFEAE +:109B50000B492068FEF78AFD4946206800222BF059 +:109B600082FE30684246394602B0BDE8F0472CF02C +:109B7000EBBA00BFC0390020BC39002000200240F1 +:109B800000504349F0B50C4D0C4F2C68014605239D +:109B900001264FF00C0C06FA03F2224207D10CFB0F +:109BA00003F0C059884202D122432A60F0BD013B34 +:109BB000F1D20020FAE700BFC4390020F4A8050064 +:109BC000F0B50D4D0D4A2C6805239446012606FA82 +:109BD00003F1214209D1576C384206D00C2253437D +:109BE00021435CF803002960F0BD013B591CA2F140 +:109BF0000C02ECD10020F7E7C4390020F4A80500DE +:109C0000144B98421CD003F5E04398421AD0A3F5B8 +:109C10003433984218D003F50433984216D0B0F18B +:109C2000402F15D0A3F50033984208D100230A49EC +:109C3000012202FA03F30A6822EA03020A6070476B +:109C40000523F4E70423F2E70323F0E70223EEE71A +:109C50000123ECE700800240C439002008B5174B0F +:109C6000984218D0B0F1402F1DD003F50033984230 +:109C70001BD0A3F50433984219D003F5343398422E +:109C800017D0A3F5E043984215D05A2025F0BBFC2D +:109C90004FF0FF3008BD0023094A0C2101FB0323CC +:109CA00093F90400F6E70123F6E70223F4E7032320 +:109CB000F2E70423F0E70523EEE700BF00300040A1 +:109CC000F4A8050038B5184B98420D4614461AD032 +:109CD000B0F1402F19D003F50033984217D0A3F507 +:109CE0000433984215D003F53433984213D0A3F5CA +:109CF000E043984211D105230C4A42F823500C4A04 +:109D000042F8234038BD0023F6E70123F4E702239D +:109D1000F2E70323F0E70423EEE75A2025F073FC73 +:109D20004FF0FF33E8E700BF00300040C8390020A3 +:109D3000E0390020024B034A1B681068184700BF37 +:109D4000C8390020E0390020024B034A5B685068A4 +:109D5000184700BFC8390020E0390020024B034AF1 +:109D60009B689068184700BFC8390020E039002080 +:109D7000024B034ADB68D068184700BFC83900208F +:109D8000E0390020024B034A1B691069184700BFE5 +:109D9000C8390020E0390020024B034A5B69506952 +:109DA000184700BFC8390020E0390020002815D02E +:109DB000006041608260C360046145618661C76183 +:109DC000444604624C464462544684625C46C46223 +:109DD000644604636E46466374468463002906D075 +:109DE000C46B043C043925680D60B442F9D1946B0E +:109DF000A646566BB546002B06D0D46B043C043BFC +:109E00001D682560B442F9D1146BA446D46AA346F8 +:109E1000946AA246546AA146146AA046D769966914 +:109E200055691469D368516810689268704700607A +:109E300041608260C360046145618661C7614446D8 +:109E400004624C464462544684625C46C462644682 +:109E500004636E46466374468463C46B043C0439F1 +:109E600025680D60B442F9D1C769866945690469FE +:109E70007047006041608260C36004614561866133 +:109E8000C761444604624C464462544684625C4660 +:109E9000C462644604636C46446374468463046924 +:109EA0007047846BA646446BA546046BA446C46AFF +:109EB000A346846AA246446AA146046AA046C769CA +:109EC000866945690469C3688268006841687047AB +:109ED0000649074A074B9B1A03DD043BC858D0507C +:109EE000FBDC00F03DF8FFF7DDFD0000A08E060072 +:109EF0004020002000220020FEE7FEE7FEE7FEE70C +:109F0000FEE7FEE7FEE7FEE7FEE7FEE738B50546BB +:109F1000094B45F81C3B044600220121284628F045 +:109F20005BFB002363614FF4807328466360FBF79B +:109F300053FB204638BD00BF44A90500BFF34F8F37 +:109F40000549064BCA6802F4E0621343CB60BFF3D5 +:109F50004F8F00BFFDE700BF00ED00E00400FA05F1 +:109F600008B52CF0F4F840B14FF080430022C3F85C +:109F70000C21C3F81021C3F838252CF0E8F800288C +:109F800046D04FF08052584BD2F80414C3F8201535 +:109F9000D2F80814C3F82415D2F80C14C3F8281505 +:109FA000D2F81014C3F82C15D2F81414C3F83015D5 +:109FB000D2F81814C3F83415D2F81C14C3F840159D +:109FC000D2F82014C3F84415D2F82414C3F8481565 +:109FD000D2F82814C3F84C15D2F82C14C3F8501535 +:109FE000D2F83014C3F85415D2F83414C3F86015FD +:109FF000D2F83814C3F86415D2F83C14C3F86815C5 +:10A00000D2F84014C3F86C15D2F84424C3F8702574 +:10A010002CF09DF848B14FF08043D3F80024D107CD +:10A0200044BF6FF00102C3F80024304AD2F88830F0 +:10A0300043F47003C2F88830BFF34F8FBFF36F8FC4 +:10A040004FF01023D3F80C22D2071DD5284B012244 +:10A05000C3F80425D3F80024002AFBD04FF01022C7 +:10A06000D2F80C3223F00103C2F80C32204BD3F8A3 +:10A070000024002AFBD00022C3F80425D3F80024D2 +:10A08000002AFBD0FFF75AFFD3F80022002A03DB97 +:10A09000D3F80432002B22DA154B0122C3F8042531 +:10A0A000D3F80024002AFBD04FF010221221C2F86E +:10A0B0000012D3F80024002AFBD04FF01023122204 +:10A0C000C3F804220A4BD3F80024002AFBD0002254 +:10A0D000C3F80425D3F80024002AFBD0D2E7054BAF +:10A0E000054A1A6008BD00BF00C0004000ED00E056 +:10A0F00000E00140B82000200090D00308B50A48D5 +:10A100002CF0C5F8094AD2E90031C018084BD3E950 +:10A11000002341F10001904271EB030303D210F1DF +:10A12000807041F1000108BDBC20002020360020D5 +:10A130002836002037B505460C460A4801A92CF000 +:10A14000DFF860B10570446001A906482CF002F9FF +:10A1500018B1054800F004FA002003B030BD042017 +:10A16000FBE700BF543A0020BC20002038B5184B54 +:10A170001B78044613B90025284638BD0028FAD0BC +:10A18000037F03F0FF05002BF5D0FFF7B7FFD4E9FD +:10A190000223904271EB030314D3236903B923779D +:10A1A000D4E90530984721690029E4D0237F03F0E2 +:10A1B000FF05002BDFD0D4E902325B1842F1000228 +:10A1C000C4E90232034821462CF027F9D4E700BF46 +:10A1D0001945002064A9050013B5114B11491868F1 +:10A1E00001900823104858222CF055F8044698B9DD +:10A1F0000E4A0F4801A900F0FBF8044660B90C486C +:10A2000001212CF027F801230A4A094819462CF0AD +:10A2100002F8094B01221A70204602B010BD00BF9F +:10A220001C2B0600FC390020543A002049A20200F1 +:10A23000BC200020FFFF7F001945002001482CF0C2 +:10A2400026B800BFBC2000202DE9F34706462CF0BD +:10A2500009F840B1584AD2E9003113F1807341F155 +:10A260000001C2E90031002130462CF00AF838B173 +:10A27000524C236823B12068FFF778FF0023236046 +:10A28000012130462BF0FDFF20B1FFF737FF4C4B8B +:10A29000C3E900014B48494D4B4C4C4F01A92CF0F0 +:10A2A00069F8002842D1DFF82081444CDFF824917E +:10A2B00040462CF0C8F82368002872D07BB1236890 +:10A2C000D0E90252D3E902138D4272EB03032AD282 +:10A2D00023681B7F1BB1216840462CF09EF8404646 +:10A2E0002CF0ABF8D0E9027A0546FFF707FF381AE1 +:10A2F0006AEB010A01287AF1000345DBB0F5350F5E +:10A3000040D3FFF79BFF324A02444FF496030021EB +:10A31000484600F0ADF800283ED1236813B9304616 +:10A320002BF071FF256002B0BDE8F0870378012BA8 +:10A330001DD0022B09D14FF0000820462CF07DF8EB +:10A34000002836D080F81C80F7E73BB941680B7FC6 +:10A3500023B901230B7720462CF05FF801A9194897 +:10A360002CF033F801A917482CF004F899E741685C +:10A370002B68994202D100232B60EFE720462CF096 +:10A3800065F8EBE7AA68C0E7002148462BF06FFFAD +:10A390002846FFF7EBFE01E00D28F9D000232360EB +:10A3A00086E7002BBFD1304602B0BDE8F0472BF066 +:10A3B0002EBF01233B70D1E720360020643A0020F5 +:10A3C00028360020543A002064A9050019450020D1 +:10A3D000FFFFB400BC20002001482BF018BF00BFD5 +:10A3E000BC20002001482BF00EBF00BFBC20002085 +:10A3F000F0B51C4B45791C4E43F8252006EBC503F0 +:10A40000EF001B795BBB03680A88C3F8082590F945 +:10A4100004308A7804795201002BD2B21ADB03F19E +:10A4200060415B0901F561419B0003F1604381F8E4 +:10A43000002303F5614304F01F04012202FA04F42F +:10A44000C3F880411C603744012346F835003B7156 +:10A450000020F0BD054B04F00F041A55F3E7082067 +:10A46000F7E700BF703A0020683A002014ED00E0E2 +:10A470002DE9F74F0D4622F07F4402684FF48037F4 +:10A4800005F150068F408046B60002EB8500C2F809 +:10A490004873B6B2C2F80873D2F8041599464FF063 +:10A4A000000BD0F84035C0F8401542F806B05B1AF2 +:10A4B0009259009223F07F43012B009A4FEA850ABC +:10A4C0000CD1264B4FF4806043F001039847D8F835 +:10A4D000003043F806B09B590193019BD8F8001057 +:10A4E000D1F80465C1F84473A31B23F07F43012B0B +:10A4F0001CD11A4B05F5A875013443F0010341F84E +:10A5000025404FF480609847D8F80030D3F80435E0 +:10A510009E4209D1D8F800300020C3F84473C3F834 +:10A52000047303B0BDE8F08F0D20FAE78A44C9F147 +:10A53000FF13CAF84045D1F80405221A013A22F067 +:10A540007F4203F57F439342EED3002AE2D10134E8 +:10A55000CAF84045D1F804359842DAE790970500EB +:10A5600090F90430002B09DB5A09012103F01F0385 +:10A5700001FA03F34032024941F82230704700BF2C +:10A5800000E100E0024B034A1B681068184700BF57 +:10A59000703A0020683A002030B53AB11368DB43C6 +:10A5A0000A4D0144814204D1D84330BD4FF0FF33FE +:10A5B000F6E710F8012B5340082213F0010418BFEE +:10A5C0002C46013A84EA5303F7D1EBE72083B8ED38 +:10A5D000064B10B500241C70054B1C60BFF35F8F49 +:10A5E000044905482BF003FF204610BD1B45002001 +:10A5F0007C3A002070A90500743A002070B5204D07 +:10A600000446012128462CF0C8FFBFF35F8F38B9FC +:10A61000042C0AD01B4B1A781AB1BFF35F8F286045 +:10A6200070BD194A147001221A70184C164E6368D6 +:10A6300030787BB90238012814D8BFF34F8F144902 +:10A64000144BCA6802F4E0621343CB60BFF34F8F30 +:10A6500000BFFDE71B6898470028DED020462BF09E +:10A66000D0FEE4E701F0AEFE08B12BF0BEFE4FF0E5 +:10A6700080430122C3F80025BFF34F8F20BFFDE7C1 +:10A680007C3A00201B4500201A450020743A002027 +:10A6900000ED00E00400FA05034B1A8882420CBF6B +:10A6A00018460020704700BF9C3A0020024B9B696F +:10A6B00003B11847704700BF803A002073B585B2D8 +:10A6C0002846FFF7E9FF044638B3174E027A337B7A +:10A6D0009A420CD200F10A0128462CF008F9F0B198 +:10A6E00011281AD002B0BDE87040FFF7DFBF002389 +:10A6F0000372337C43B13B2128462CF0FAF830F04A +:10A70000080301D0FFF7D2FF736933B100228DF83F +:10A710000420ADF8065001A8984702B070BD237A16 +:10A7200001332372F9E700BF803A002037B50B46AA +:10A73000497A0F4A79B9D2E901141D7A0246002DEF +:10A7400018BF214658682BF033FD78B103B0BDE83F +:10A750003040FFF7ABBF00211972536933B10122BA +:10A76000ADF806008DF8042001A8984703B030BD6D +:10A77000803A00200388122B70B5014659D004D8C6 +:10A78000102B1ED0112B44D070BD502BFCD12F4B61 +:10A79000C288DB899A42F7D1038A022BF4D18688DA +:10A7A0003046FFF779FF05460028EDD001F1120091 +:10A7B0002CF01DF938BB68682BF012FD0028E3D09F +:10A7C00009E0C37B012BDFD14FF6FF70FFF764FF79 +:10A7D000054620B90420BDE87040FFF767BF1C4A5A +:10A7E0008E880680002303721368C0F80A3053680D +:10A7F000C0F80E3010310A302CF081F8134B68721B +:10A80000DB89002BC0D129463046BDE87040FFF7F8 +:10A810008DBF8088FFF740FF04460028B4D0406811 +:10A820002BF0DEFC08B1FFF741FF4FF6FF732380EA +:10A83000AAE786883046FFF72FFF05460028A3D0F9 +:10A8400008310A302CF05BF86872DCE7803A0020AF +:10A850007E430020F8B5064648B305460FCD154F98 +:10A860003C460FC495E8070084E807003068124CA6 +:10A870003C60B0B12CF03FF8C0B932681368236077 +:10A88000536863600D480E4A4FF6FF7303800D4B0B +:10A8900040F8043F00212BF080FC002818BF032063 +:10A8A00004E020462CF029F80028EBD0F8BD0E205B +:10A8B000FCE700BF803A00207E4300209C3A002045 +:10A8C000BDA60200303600202DE9F04703888488B9 +:10A8D000103B8CB005460A2B21D8DFE803F0064078 +:10A8E00020202020202020654700DFF8E880D8F8CD +:10A8F0000830DB430093D8F8041068462CF070FE53 +:10A90000009901A82CF033F80DF108090027019BEC +:10A910009F4207D3132C12D904202CF085FD0CB0D4 +:10A92000BDE8F08739F802AB00260136514608EB46 +:10A9300086002CF0F2FD1E2EF7D10137E7E71F4805 +:10A9400021462CF0D3FD1E4821462CF0CFFDEB7B99 +:10A95000012BE4D01B4821462CF0C8FDDFE7174847 +:10A9600021460CB0BDE8F0472CF0D7BD027A16485E +:10A970003F2A4FEA1215214694BF002201222BF0F4 +:10A98000F1FF022D94BF00220122104821462BF036 +:10A99000E9FF012D0E4894BF0022012221460CB090 +:10A9A000BDE8F0472BF0DEBF037A002BB7D1427A27 +:10A9B0000548C2F3C0022146F1E700BFB83A0020C3 +:10A9C000B43A0020BC3A0020C83A0020C43A002023 +:10A9D000C03A0020B03A00201328014602D80248AD +:10A9E0002CF0A5BD00207047B43A002007B50190B7 +:10A9F000FFF7F2FF019930B104482CF098FD0028D0 +:10AA000014BF0220012003B05DF804FBB83A002017 +:10AA100007B50190FFF7E0FF019928B1044803B0A2 +:10AA20005DF804EB2CF083BD03B05DF804FB00BFC0 +:10AA3000C03A002007B50190FFF7CEFF019928B179 +:10AA4000044803B05DF804EB2CF071BD03B05DF871 +:10AA500004FB00BFC43A002007B50190FFF7BCFF1C +:10AA6000019928B1044803B05DF804EB2CF05FBDF8 +:10AA700003B05DF804FB00BFC83A0020014B9868A2 +:10AA80002BF08CBFB03A002007B5074AD368DB43F0 +:10AA90000193916801A82CF0A3FD01982BF07EFF93 +:10AAA00003B05DF804FB00BFB03A002010B5034BC3 +:10AAB000044659682BF05BFF204610BDB03A0020D9 +:10AAC00013B5084AD368DB4301939168044601A893 +:10AAD0002CF086FD204601992BF049FF204602B05C +:10AAE00010BD00BFB03A002008B5182102482CF074 +:10AAF00027FDC0B208BD00BFB03A002070B50A4EB5 +:10AB0000054630460C462CF012FD58B12846FFF79A +:10AB100063FF38B10734294606EB8400BDE8704076 +:10AB20002CF005BD002070BDB03A0020F8B50B4FE9 +:10AB3000054638460C4616462CF0F9FC60B128460E +:10AB4000FFF74AFF40B107343246294607EB84003D +:10AB5000BDE8F8402BF006BFF8BD00BFB03A0020BA +:10AB6000034B9B680A46014618462BF0E1BE00BF26 +:10AB7000B03A002073B50B4D019204460E460146D3 +:10AB800028462CF0D4FC50B1063405EB8404019A1D +:10AB90006068314602B0BDE870402BF0C9BE02B01B +:10ABA00070BD00BFB03A00202DE9F041204E0023D7 +:10ABB0008AB04FF6FF70CDE90033337000F00CFB24 +:10ABC0004FF6FF78044648F20967444513D0A4F5D0 +:10ABD0008045ADB26A4602A928462CF071FCB84205 +:10ABE0000CD0284602F02CFE48F207639842054636 +:10ABF0000CD1012333700AB0BDE8F081204600F08B +:10AC0000A7FA204600F0E8FA0446DEE7002DF2D06D +:10AC1000142200210DEB02002EF042FD072305A8AF +:10AC20008DF81430ADF8184007952CF057F8E2E78E +:10AC30001C45002070B5044686B01426324600211B +:10AC400001A82EF02DFDA0892378304D00F580401D +:10AC500080B2042BADF808003DD008D85A1E022A55 +:10AC600012D92B780BB1FFF79FFF06B070BD052BF3 +:10AC7000F7D16368002B44D113238DF804304FF6CD +:10AC8000FF73ADF808301DE043F6FE76B042E1896F +:10AC900004D901F5804292B2B242E2D8DA1E5342A0 +:10ACA00053418DF80D30A368049363688DF80C1040 +:10ACB00063B908238DF804309DF8143043F0010384 +:10ACC0008DF8143001A82CF009F8CAE709228DF894 +:10ACD00004200593F6E743F6FE739842C1D8E38952 +:10ACE000002BBED163683BB90A238DF8043000F015 +:10ACF0002FFA01232B70E5E70B228DF80420039334 +:10AD0000F7E78DF804600393B9E700BF1C45002006 +:10AD100030B5154889B002F021FC08BB02F034FCC4 +:10AD20000446F8B900F0F4F9CDE9034403AA05A9F3 +:10AD30004CF207002CF0B7FB10B1204609B030BD33 +:10AD400001A905A802F032FD019B9D8805F580450B +:10AD5000ADB205A802F050FD284600F0E1F9E5E7A4 +:10AD60000324EAE78624E8E735AC0200024B002220 +:10AD7000C3E90022704700BF2C3B0020F0B587B02C +:10AD800006462BF0A3FF0F4615460446F8B1A6F57C +:10AD90008040104A03A980B22CF085FB18B1002432 +:10ADA000204607B0F0BD01A903A802F0FFFC00286F +:10ADB000F5D1019BAE705A889B882A8003F58043A9 +:10ADC000029A6A6003A83B8002F016FDE8E70124BE +:10ADD000E6E700BF2C3B00200A68084B70B50C2545 +:10ADE000032A01D9002006E005FB02F4E65A864258 +:10ADF00002D10A60181970BD0132F1E7843C0020CD +:10AE000070B50E4E04460025237AAB420DD84FF69E +:10AE1000FF732380A370002363604FF47F4323817B +:10AE2000A37A23F00303A37270BD617A2944C9B2E7 +:10AE300030462CF037F90135E6E700BF743C0020BE +:10AE400013B50023CDE90033417A83788DF80230C1 +:10AE5000044626482CF00DF960B3237AA2788DF8C9 +:10AE6000022003EB83039B00ADF80030531E0190DA +:10AE7000072B08D8DFE803F01607070707160418A2 +:10AE80001423ADF800302246694632F8040B2BF04B +:10AE900073FF112815D00BD870B1072818BF0320F5 +:10AEA00002B010BD0123ECE7838809339B08E8E773 +:10AEB000862811D00320F3E7A37A23F00303A372BB +:10AEC000EEE7A37A23F0030343F00203A372084BD7 +:10AED00001221A700020E3E7A37A23F0030343F072 +:10AEE0000103A372024B01221A70D9E7743C0020BF +:10AEF0001D4500202DE9F047384EC16886B0054653 +:10AF0000324600233746506881421BD10C2000FB9B +:10AF100003702B78DFF8C880092B1AD0132B51D07F +:10AF2000082B51D16C7A002C4ED100284ED0FFF75F +:10AF300067FF28462BF09BFF98F800309BB906B0BE +:10AF4000BDE8F0870133042B02F10C02DBD10020B5 +:10AF5000DFE76C7A002C37D1002837D0837A446041 +:10AF600043F002038372002588F800504FF00C096B +:10AF70004FF0010A09FB05739B7A9907C3F340025E +:10AF800001D4DB0724D588F800A002B904B3304609 +:10AF9000FFF756FFE0B14FF6FF73ADF806300C2314 +:10AFA0005D4386287B5BADF8083016BF039006230F +:10AFB000072301A80CBF8DF804308DF804302BF066 +:10AFC00056FFBCE70124B4E70024B2E70446B0E72B +:10AFD0000135042D06F10C06CCD1B0E7843C0020ED +:10AFE0001D450020154BF7B500221E464FF6FF7594 +:10AFF0004FF0FF0C0C27104607FB02641D809D706C +:10B0000083F809C0A17A013221F00301042AA17258 +:10B0100003F10C0303F8040C43F8080CECD15023A3 +:10B02000CDE900230649074B07484FF4A0722CF0E6 +:10B030000CF8002818BF032003B0F0BD843C0020AA +:10B04000343B0020B43C0020743C00202DE9F0414A +:10B0500080460E4614461F46002B4FD0CB1F012BB7 +:10B060004FD8531E032B4CD82BF0E8FE054610BBDF +:10B07000FF214FF6FF702BF0E1FE0546C8B1A0F8A6 +:10B08000008086706B7AFF2B1AD1204821462CF065 +:10B0900021F8FF2868722ED14FF6FF732B80002312 +:10B0A0006B604FF47F432B81AB7AA87023F00303CE +:10B0B000AB72112023E0037AA342E3D00F201EE0FD +:10B0C0004FF00008697A11482C722BF0D2FFD0B1F2 +:10B0D00004EB840424010334C4F38D04BE7078604F +:10B0E0003C80B8F1000F04D0082E02D1A400063C29 +:10B0F0008480002003E04FF00108E3E70E20BDE864 +:10B10000F0810720FBE70320F9E700BF743C002033 +:10B110000248402200212EF0C3BA00BFB83C0020F4 +:10B1200001492BF0FABE00BFB83C00204FF6FF7378 +:10B13000984210B5044606D004492BF0EEFE231ABF +:10B140005842584110BD0020FCE700BFD83C002009 +:10B15000FF2807B501460AD8019006482CF0DDF912 +:10B160000199054803B05DF804EB2CF0D6B903B0A3 +:10B170005DF804FBB83C0020D83C0020FF280146C5 +:10B1800002D802482CF0D3B900207047B83C002008 +:10B19000FF28014602D802482CF0C9B900207047A8 +:10B1A000D83C002070B50B490A4E2BF0D1FE4FF66B +:10B1B000FF750446AC4201D1204670BD2046FFF722 +:10B1C000E7FF0028F8D0204631462BF0C1FE0446A8 +:10B1D000F0E700BFB83C002001492BF0B9BE00BF2A +:10B1E000D83C002070B50024064E25462146304646 +:10B1F0002CF09DF90134B4F5807F0544F6D1284642 +:10B2000070BD00BFB83C0020F8B5074D074E07469B +:10B2100000243378A34200DCF8BD55F8043B3846DF +:10B2200098470134F5E700BFFC3C00202045002092 +:10B23000074B1B7810B504464BB103F027F92046A5 +:10B2400000F0ACFF2046BDE8104002F029BF10BD61 +:10B250001F45002008B5FFF75BFD08B1032008BDBE +:10B26000FFF7C0FE0028F9D100F07CFF0028F5D1DF +:10B2700000F044FC0028F1D102F09EFE0028EDD140 +:10B2800003F012F80028E9D1054B4FF6FF721A803F +:10B29000044B1860044B1870044B01221A70DEE74F +:10B2A00086430020083D0020214500201F45002046 +:10B2B000084B1B7853B1084A1378022B08D807496A +:10B2C00041F82300013313700020704708207047B5 +:10B2D000042070471F45002020450020FC3C002032 +:10B2E000034B1B780BB100F073BF0820704700BF01 +:10B2F0001F45002008B5054B1B782BB12CF068F8D2 +:10B30000082808BF112008BD0820FCE71F450020C1 +:10B31000024B1B780BB102F05DBF70471F45002048 +:10B32000034B1B780BB103F06FB80820704700BFC8 +:10B330001F450020034B1B780BB12CF025BC0820C7 +:10B34000704700BF1F450020034B1B780BB12BF04B +:10B35000D9BF0820704700BF1F450020074B1B784E +:10B3600010B50C462BB131B102F0E0FF2080002077 +:10B3700010BD0820FCE70E20FAE700BF1F450020A3 +:10B38000024B187808B12BF057BD70471F450020BD +:10B39000084B1B7810B504464BB120462BF048FDF6 +:10B3A00004462BF043FD0028F7D1204610BD4FF690 +:10B3B000FF74FAE71F4500202DE9F04F1E46484B69 +:10B3C0002DED028B93F8009089B083468846144691 +:10B3D000B9F1000F78D0002978D0002876D00B681A +:10B3E0000193002B74D0072E72D84FF6FF770025FB +:10B3F000BA420D6005D11046FFF7CAFFB8420446B5 +:10B4000060D006F001030025029306F002030393C7 +:10B41000CDE9045504ABCDE9065508EE103A06F027 +:10B42000040A06F00306002E54D0002306AA0721C2 +:10B43000204607932BF06AFC052818D038BB074636 +:10B44000029B2BB1079B5B7C13F0FC0F18BF4F4690 +:10B45000039B73B1079B5A1C113312F8011B41B9AE +:10B460009A42FAD1BAF1000F22D04F4604E04F467B +:10B47000E6E7BAF1000F13D0002318EE102A0921D5 +:10B48000204605932BF042FC052805D028B109B0D1 +:10B49000BDEC028BBDE8F08F4F46059B1B683BB1AE +:10B4A00037B9019A2BF815406B1C9A421D4607D9F3 +:10B4B0002046FFF76DFF4FF6FF7398420446B2D166 +:10B4C000C8F800500020E2E70820E0E70E20DEE7A1 +:10B4D0000720DCE7BAF1000FE3D03746CCE700BF26 +:10B4E0001F45002037B5084D2D784DB152B14BB1F5 +:10B4F0000024CDE900426A462BF008FC03B030BDC1 +:10B500000820FBE70E20F9E71F450020034B1B78BE +:10B510000BB102F065BF0820704700BF1F45002037 +:10B520002DE9F04F87B0814601932C4B1B7888465C +:10B530001646002B50D04FF6FF702BF079FC0025FB +:10B540000423CDE9025302AB059304AA03AB062101 +:10B55000044604952BF0DAFB072839D04FF6FF7725 +:10B56000BB464FF0FF3AF0B1052825D04FF6FF73E8 +:10B570009C422FD1A34529D0A7420CBF0520002013 +:10B58000B9F1000F01D0A9F800B0B8F1000F01D057 +:10B59000C8F8005006B13780019B0BB1C3F800A07A +:10B5A00007B0BDE8F08F029BAB4224BFA3461D4607 +:10B5B00053453CBF27469A4620462BF039FC03AB47 +:10B5C00004AA062104462BF0A1FBCCE70520D7E70F +:10B5D0000520E5E70320E3E70820E1E71F45002019 +:10B5E00038B50C4C0C4D00231A4621462846FFF76F +:10B5F00097FF05280AD14FF6FF732B8000232360A5 +:10B60000431F58425841054B187038BD0028F7D1E8 +:10B610000120F8E7F83C0020864300202145002067 +:10B62000F0B5044687B0808802F0AEFE23786080D3 +:10B63000083B032B20D8DFE803F002253569637A45 +:10B640005BB9414A116851B1E068814207D113608A +:10B650003E4AA1881180E3600EE0012B0CD13C4BE7 +:10B660001B784BB1394BA2881B889A4204D1237AAC +:10B67000062B01D1FFF7B4FF204607B0BDE8F0402C +:10B68000FFF7C2BD637A002BF6D12F4A116800295B +:10B69000F2D0E0688142EFD12E4913600A68013A86 +:10B6A0000A60D8E72C4F3B786BB90125284B1B78F3 +:10B6B00033B1264BA2881B889A4201D1FFF790FF35 +:10B6C000002D3ED0D8E74FF6FF702BF0B1FB4FF6C0 +:10B6D000FF7398420546E8D12BF0ACFBA842064622 +:10B6E000E3D100251422294601A83D702DF0D8FF92 +:10B6F0000C2320468DF80430ADF80860ADF80660E4 +:10B70000FFF782FD01A8FFF77FFDCFE7124B1A7804 +:10B71000002AB1D00021142201A819702DF0C0FF19 +:10B720000D238DF804304FF6FF73ADF80830ADF8F7 +:10B7300006302046A3680393FFF766FD01A8FFF7D4 +:10B7400063FD07B0F0BD00BF083D00208643002028 +:10B7500021450020F83C00201E4500202DE9F04145 +:10B76000304B1B7888B00546002B57D02E4B2F4C02 +:10B7700093E80300237801AF87E803004BB1DFF8BB +:10B78000B880D8F8004054B11124204608B0BDE874 +:10B79000F081FFF725FF2378002BF5D0EFE7244A4F +:10B7A000244E12883368AA421DD1F3B114222146D7 +:10B7B00003A82DF075FF082328468DF80C3002F001 +:10B7C000E3FD0623ADF814309DF81C30ADF80E00F3 +:10B7D00064F3000303A8ADF8105006948DF81C30F4 +:10B7E000FFF712FDD1E75A1C1AD00133124A336019 +:10B7F000394628462BF0C0FA04460028C5D000235D +:10B80000C8F800303368112803F1FF333360BBD030 +:10B810008628BAD0072818BF0324B6E70824B4E75F +:10B820001324B2E71F4500207CA905002145002014 +:10B8300086430020F83C0020083D00202DE9F0411F +:10B84000037886B00446142B40D8DFE803F00B3FA2 +:10B85000313F3F3F423F7D3F7D3F3F3F3F3F3F3F87 +:10B860003F81A7008088FFF779FF862801D0112843 +:10B8700013D15149514A0B68A08822F813000133B3 +:10B880005A4202F0070203F0070358BF53420B600D +:10B8900006B0BDE8F0412BF0C9BB132803D8484BD4 +:10B8A000C340DB0712D406B0BDE8F0412BF0BCBDAD +:10B8B000037A012B0AD884881422002101A82DF0D4 +:10B8C000EFFE01A8ADF80840FFF7B8FF06B0BDE8ED +:10B8D000F0813C4E3378002BF8D13B4D2B7843BBA5 +:10B8E00001A801F0FBFF044608B12BF09DFDBDF857 +:10B8F0000A30002B14BF012200222A7017D101AA9E +:10B9000019461846FFF70CFE044648B9BDF8040076 +:10B91000FFF7FCFD044608B12BF086FD01232B70D8 +:10B92000631F012B03D924B120462BF07DFD002C91 +:10B93000CCD101F0ADFF10B901233370C6E748F256 +:10B9400007629042C2D0AEE71F4B01221A70BDE7DA +:10B950001C4B1A4D00241C701B4B1C70164B1F688F +:10B960004FF6FF76E3195A4202F0070203F007038D +:10B9700058BF534235F81380B0450BD025F81360FB +:10B980001422002101A82DF08BFE01A8ADF808803B +:10B99000FFF754FF0134082CE4D197E7094B00224C +:10B9A0001A70836848F20D6293423FF471AFB3F5A9 +:10B9B000064F8BD16CE700BF0C3D002066210020B4 +:10B9C000C1000800224500207C210020F0B587B08E +:10B9D00004460F4616460021142201A81D462DF0EC +:10B9E0005FFE03238DF80430094BADF8064019784B +:10B9F0008DF80C7000222046ADF80E608DF81050C6 +:10BA0000FFF794F801A82BF0A6FB07B0F0BD00BF2C +:10BA10007E21002030B5144B87B00C4601221978E6 +:10BA20000546FFF783F8114B221E1978284618BFE8 +:10BA30000122FFF77BF8631E5A425A410C4B2846FD +:10BA40001978FFF773F81422002101A82DF028FEC1 +:10BA5000012301A88DF80430ADF806508DF80C4094 +:10BA60002BF079FB07B030BD7E2100208021002023 +:10BA70007F2100202DE9F041194B0D46197804462D +:10BA80001646FFF73BF840B3164B20461978FFF7F0 +:10BA900035F80146F0B1144B20461978FFF72EF81F +:10BAA000002804F580704FF0070180B214BF012711 +:10BAB00002272BF0EEF9014620B1052802D02046DE +:10BAC0002BF067FB33462A4639462046BDE8F04155 +:10BAD000FFF77CBF33462A46F7E7BDE8F08100BF99 +:10BAE0007E210020802100207F210020024B0A7847 +:10BAF0001978FFF71BB800BF7D210020F8B5104F63 +:10BB0000104E114D114C38462BF01CFB30462BF0DB +:10BB100019FB28462BF016FB20462BF013FB3B7835 +:10BB2000182B0BD03378182B08D02B78182B05D076 +:10BB30002378182B0CBF03200020F8BD0320FCE75E +:10BB40007E210020802100207F2100207D210020F7 +:10BB50002DE9F0418AB00E46904604462AF02EFFA9 +:10BB600020220546002102A82DF09AFD012D08D1C2 +:10BB7000354B002219782046FEF7D8FF36B98527C5 +:10BB800015E0002D5AD143F2020052E0204602F0A7 +:10BB9000CDFB4FF6FF73984210D100273378DB07B7 +:10BBA00020D42A4BCDF814800993012D49D102AB42 +:10BBB0003246394620462BF0C1FA3AE0012DECD14D +:10BBC000214F20463978FEF799FF0028E5D120461D +:10BBD0002BF0CCFA39782046FEF790FF0028DCD114 +:10BBE0008527DBE7852FE0D004F580706B460122C6 +:10BBF000072180B2FFF72AFA11281AD0E0B90146CE +:10BC0000502201982DF04CFD01990B46204603F877 +:10BC1000345B029301F1180306934B1C0793113117 +:10BC20000A4BCDF81480099302F092FB0028BCD097 +:10BC300008200AB0BDE8F0810320FAE7002EA5D164 +:10BC4000852702AB0022B4E77D2100202345002098 +:10BC50002DE9F0470388113B88B00446092B5ED8D4 +:10BC6000DFE813F00A005D00190039005D005D0097 +:10BC70005D005D008A001601037A80883D2B41F249 +:10BC80003D014FF0000218BF4FF4885108B0BDE8E5 +:10BC9000F047FFF7EFBE80882AF090FE012808D118 +:10BCA000217AA08801F00101C1F10201C9B2FFF7B8 +:10BCB000B1FE34F8045F1422002103A82DF0F0FC3B +:10BCC000043405238DF80C30ADF80E50059403A80C +:10BCD0002BF041FA23E000F1100630462BF033FF41 +:10BCE0004FF6FF7398420546A0881BD102F01EFB59 +:10BCF0000546A0880021FFF78DFE4FF6FF739D4299 +:10BD000014D1002500232946A0881A462BF018FAE2 +:10BD10000828014603D010B3A0882BF03AFA08B0E7 +:10BD2000BDE8F087294602F051FBE2E703AA0721AC +:10BD300028462BF0ABF80028E3D1A37ED907E0D545 +:10BD4000049D95F84430DA0701D53435DAE73146F9 +:10BD500005F146002BF0E3FE0028F6D1D1E7A37EE3 +:10BD6000DB07DCD5002DDAD1A0882B4641F2060294 +:10BD70002946FFF72BFED2E790F808808588B8F1B6 +:10BD8000000F7FD15A4B061D197842462846FEF710 +:10BD9000CDFE617A11F0040105D1304608B0BDE84E +:10BDA000F0472BF00ABA05F580791FFA89F901AB43 +:10BDB000012207214846FFF749F9074640B10146ED +:10BDC00028462BF0E6F9414630462BF0F6F9A6E777 +:10BDD000284602F0ABFA4FF6FF73984204468246BB +:10BDE0002FD1014602982BF071FE50450446804643 +:10BDF00073D0DFF804A10146284602F0E7FA9AF86A +:10BE000000102846FEF77AFE8046D0B928462BF06F +:10BE1000ADF99AF800102846FEF770FE014600289A +:10BE2000D2D00721224648462BF05CF8014650B993 +:10BE30000121C9E72146284602F0C8FA4FF001085F +:10BE4000EFE7B846EDE786280DD11422002103A8BC +:10BE50002DF026FC062303A88DF80C30ADF80E500B +:10BE60002BF079F9E4E728462BF093F900213046CE +:10BE70002BF0A3F9B8F1000F3FF451AF204602F0C8 +:10BE8000AFFA4CE7427A414602F003022846FDE64B +:10BE9000184B80881978FEF731FE054600287FF49C +:10BEA0003EAFA088FEF7B4FD0146A08839B9012352 +:10BEB00041F2060208B0BDE8F047FFF787BD0C4B22 +:10BEC0002A461978FEF732FE02238DF80C30A3883B +:10BED000ADF80E30ADF81450F9E62AF096FF404563 +:10BEE0000446A7D1042128462BF053F939466BE7C5 +:10BEF0007E210020802100207D2100202DE9F041BD +:10BF00001B4B88B00027CDE904771B68039303AD72 +:10BF10000446884695E807006E4686E807002246F4 +:10BF2000052128462BF0A3F92846CDE905862BF0FC +:10BF3000AEF9104B00991A682046FFF709FEA0F1F0 +:10BF400011035A425A410C4B054619782046FEF718 +:10BF5000EDFD0A4B3A4619782046FEF7E7FD009AB8 +:10BF6000294620462BF09EF908B0BDE8F08100BFBD +:10BF7000143D0020103D002084210020832100205A +:10BF80002DE9F043064689B0174698460D4609BB91 +:10BF9000334BCDE904111B68039303AC94E807000D +:10BFA000E94689E807003246052120462BF05FF973 +:10BFB0002046CDE905592BF06AF92A4BDDF80090AF +:10BFC0001B784BB99DF8093033B90525284609B0CF +:10BFD000BDE8F0834FF000093A46494630462BF061 +:10BFE00003F9A0F111035A425A411F4B0446197834 +:10BFF0003046FEF79BFD112C1BD8072C0CD8002CCB +:10C000000CBF00250325B8F1000FDFD04A462146BA +:10C0100030462BF047F9D9E7A4F10803092B06D8DD +:10C02000DFE803F01B05051B051B0505050D0325B2 +:10C03000E9E743F20205AC4218BF0325E3E70B4BE7 +:10C040002A4619783046FEF771FD094B3A461978B1 +:10C050003046FEF76BFD0025D5E72546D3E700BF48 +:10C06000143D00206845002083210020822100200B +:10C070008121002013B50A4B19780446FEF73EFDD6 +:10C08000084B019019782046FEF738FD019A0146C9 +:10C090000123204602B0BDE81040FFF771BF00BF8A +:10C0A000812100208221002013B50378052B04464E +:10C0B00007D0122B0CD0204602B0BDE810402BF068 +:10C0C000E6B88168408802B0BDE81040FFF716BFAF +:10C0D000134B1A68FAB14088FEF79AFC0146E0B1AA +:10C0E000227A6088C2F34003C2F300019B00C2F3CE +:10C0F000800243EAC10343EA021301A98DF8043028 +:10C100002BF050F980F00100C2B2002160880123B9 +:10C11000FFF736FFCFE70121F8E70246F6E700BF59 +:10C12000143D002008B503780B2B0FD8072B0FD92F +:10C13000084B094918780022FEF71CFD074B0849F7 +:10C1400018780022BDE80840FEF714BD132BEFD08D +:10C1500008BD00BF84210020FF720500832100205C +:10C1600075C0020010B50948094C2BF092F8094837 +:10C170002BF08FF808482BF08CF820462BF089F82C +:10C180002378182B0CBF0320002010BD8321002032 +:10C1900084210020812100208221002008B5FFF7A2 +:10C1A00057FD074B074918780022FEF7E3FC064BC2 +:10C1B000064918780022BDE80840FEF7DBBC00BF46 +:10C1C00084210020FF7205008321002075C0020039 +:10C1D00010B5044630B90A4B18600A4B01221A7098 +:10C1E000002010BD2BF015F838B1074B22681A60FB +:10C1F00022791A71024A1360EFE70720F1E700BFC6 +:10C20000143D0020684500206345002013B5044616 +:10C21000094968462AF0EBF8019808B902B010BD48 +:10C22000D0E900212046904718B168462AF0E9F885 +:10C23000F2E71120F2E700BF84A9050013B5044618 +:10C24000074968462AF0D3F8019B0BB902B010BD2C +:10C250002046D3E90021904768462AF0D2F8F3E758 +:10C260009CA90500084B9A6822B11A6822F4800242 +:10C270001A607047054B4FF48002C3F88020BFF36B +:10C280004F8FBFF36F8F7047843D002000E100E0C7 +:10C290000B4991F816335A09EC231341DB0706D5F5 +:10C2A000084B9A683AB94FF480030B60704742F22A +:10C2B00002002BF0B9B81A6842F480021A60704785 +:10C2C00000E100E0843D0020F7B5194F3C7864BBE5 +:10C2D000184E012520463570FFF798FF112821D010 +:10C2E0002046FFF7ABFF144B8DF803401868019010 +:10C2F0000DF1030000F062FC104901A82BF06DF86D +:10C300000446B0FA80F0400938709DF8030000F050 +:10C3100079FC3CB90A4B34701C70FFF7B9FF284612 +:10C32000FFF78CFF204603B0F0BD0824FAE700BFFA +:10C330006A45002069450020444006003914050084 +:10C340006B450020F7B5154F3B781BB3144E012009 +:10C350003070FFF75BFF11284FF000051CD0022062 +:10C36000FFF76CFF0DF107008DF8075000F026FC79 +:10C370002BF035F804469DF807003D7000F042FCB4 +:10C380002CB903203470FFF76DFFFFF757FF2046ED +:10C3900003B0F0BD0824FAE72C46F8E76A45002010 +:10C3A00069450020054B1B7833B1054B1B780BB159 +:10C3B000FFF7C8BFFFF788BF082070476945002016 +:10C3C0006A450020014B1878704700BF6A4500207D +:10C3D00008B5044B1B7823B1FFF744FF024B012241 +:10C3E0001A7008BD6A4500206B45002010B5084C46 +:10C3F00023785BB1074B1B7843B1074B4FF48002A6 +:10C40000C3F80021FFF744FF0023237010BD00BFD5 +:10C410006B4500206A45002000E100E0044B1B78DA +:10C4200023B1044B187800F0010070470120FAE7AF +:10C430006A4500206B45002007B50849684629F089 +:10C44000D6FF019B13B903B05DF804FBD3E90020CC +:10C450009047684629F0D5FFF3E700BF90A9050093 +:10C4600030B5134B1B7891B0FBB1124D34240DF154 +:10C47000020103A8ADF802402AF0B9FF70B92946BD +:10C4800001A829F0B4FF029B002BF0D003A8D3E948 +:10C490000021904701A829F0B4FFF4E7052804D053 +:10C4A00011B0BDE830402AF0BFBF11B030BD00BFB1 +:10C4B0006C450020A8A905007FB50D4600293ED097 +:10C4C0000024204A0A60CDE90144012606238DF8A4 +:10C4D000040001A92020ADF8083003948DF806600F +:10C4E0002AF083FF2A68039401A94020CDE9014482 +:10C4F0008DF805602AF079FF04230DEB03012A680B +:10C5000003943046CDE901448DF804302AF06DFFE4 +:10C510004FF4E4632A68019301A9A120CDE9024404 +:10C520002AF063FF2A68039401A9A020CDE9014401 +:10C530008DF804602AF059FF204604B070BD0E202B +:10C54000FBE700BF4020002008B52AF04CFF10B9DF +:10C55000014B01221A7008BD6C4500201FB50E4C1E +:10C5600001A82AF046FF70B9214602A829F03FFF32 +:10C57000039B002BF4D00198D3E90021904702A837 +:10C5800029F03FFFF4E7052804D004B0BDE81040CF +:10C590002AF04ABF04B010BDB4A905002DE9F0414E +:10C5A000044688B038B10388512B27D006D8102B09 +:10C5B00018D0112B1AD008B0BDE8F081532BFAD156 +:10C5C000304DC288EB889A42F5D12B7E002BF2D0F9 +:10C5D00000F0E8F90028EED06B69022008B0BDE851 +:10C5E000F04118478288274B9A80E4E7254B8188E1 +:10C5F0009A889142DFD14FF6FF72F5E7214DB0F8EE +:10C600000480AB889845D6D18679022ED3D1028991 +:10C61000EB889A42CFD1837B043B022BCBD91022EB +:10C6200000210DEB02002DF03BF801AF69898DF878 +:10C63000106002AA4046029603972AF0E0FE0646E2 +:10C64000D0B938462AF0D7F9B0B19DF81630ADF818 +:10C65000146043F001038DF81630A88804A92AF06D +:10C66000D2FE1128F9D0BDF81430002BA3D104F16B +:10C67000080000F019F99EE740F2FD13ADF8143000 +:10C68000EBE700BF183D00207FB50023CDF80B304D +:10C690008DF80F300323ADF8023020238DF80430DD +:10C6A0000D4B8DF80500DA88ADF8082002228DF8D0 +:10C6B0000A206A448DF806100492988801AA02A9FB +:10C6C00005922AF09EFE20B9BDF80230032B18BF58 +:10C6D0000C2007B05DF804FB183D002010B54FF0AA +:10C6E000FF3100202AF095FE044658B9B1212AF006 +:10C6F0008EFE044630B9044B01205B699847022046 +:10C70000FDF77CFF204610BD183D0020F0B51B4B07 +:10C7100087B002AC024603F1100725461868596835 +:10C72000264603C60833BB423446F7D122B3144B26 +:10C7300012685A614FF6FF719980002119760AB983 +:10C74000104A5A610E4800F071F898B901204FF66E +:10C7500059630D4A8DF8060001A9ADF804302AF09E +:10C760004CFE38B9064928462AF04FFE10B9044855 +:10C7700000F078F807B0F0BD0E20FBE74840060057 +:10C78000183D0020177405001A3D002010B50E4C0E +:10C79000226832B1137E23B10378082B02D0092B13 +:10C7A00008D010BD037A012BFBD11369013B136143 +:10C7B000002BF6D1FFF792FF0028F2D02368022069 +:10C7C000BDE810405B691847743D002015490B68AF +:10C7D00070B5ABB14B689BB1083198470828054646 +:10C7E0000ED0114C236860B9012119830846FFF768 +:10C7F0004BFF28B1236803205B69984723681D76A7 +:10C8000070BD00221A8306210120FFF73DFF18B1F9 +:10C81000236803205B69984723680220BDE87040C5 +:10C820005B691847783D0020743D002020B1034B20 +:10C8300018600348FEF73CBD0E207047743D002091 +:10C840008DC7020008B52AF09FFF38B904482AF0C6 +:10C85000E5FD18B9BDE8084001F0EAB908BD00BF20 +:10C86000783D002010B588B004462022002168469B +:10C870002CF016FF22460423ADF8003012F8063BD8 +:10C880008DF8023042F60103ADF80C301723ADF8F5 +:10C8900004306088034B049369462AF0B0F808B06E +:10C8A00010BD00BF01010202F0B50546007B394C06 +:10C8B000012897B069D12668717E59B10621FFF72A +:10C8C000E3FE00285FD0112861D00F280CBF07219C +:10C8D000042110E0502202A82CF0E2FEB08801A949 +:10C8E000FEF73CFD0028EED1BDF804004FF6FF73C3 +:10C8F00098420FD10721287BFFF7C6FE18B12368A5 +:10C9000003205B69984723685B69022017B0BDE884 +:10C91000F040184702A92AF042FB0028D3D11E4A52 +:10C920000DF109030DF1190718685968164603C679 +:10C930000833BB423246F7D11868306099889B793A +:10C94000B371B1800FAF0FCF144E0FC697E8070039 +:10C9500086E8070020680823ADF8063080880123A8 +:10C960000DF1060206F10C012AF056FD0028AAD1AD +:10C970000B49A6F12C0051F8083B98470028A2D19A +:10C98000236801225A7617B0F0BD0221B3E70621D1 +:10C99000B1E700BF743D0020383D0020503D00202D +:10C9A000783D002010B5064C236800205B6998474D +:10C9B0002468FEF717FC206101F07EFC002010BD0A +:10C9C000743D0020F0B5074689B014461E460D465A +:10C9D00011B908462AF028FD14B920462AF024FD92 +:10C9E0002022002168462CF05BFE02238DF80D30DA +:10C9F000084B0E9A1888ADF800706946ADF80440EF +:10CA0000ADF8064002958DF8116029F0F8FF09B0E5 +:10CA1000F0BD00BFC043002030B587B041F60A0327 +:10CA20005C4AADF80C30044603A901208DF80E00D5 +:10CA30002AF0F8FC0546002849D12288002A49D16D +:10CA4000228952B1544B0093E16894F83C3042F68D +:10CA50002420FFF7B7FF002847D1228A52B14F4B5D +:10CA60000093616994F83C3042F62520FFF7AAFF55 +:10CA700000283AD1228B52B1494B0093E16994F8D6 +:10CA80003C3042F62720FFF79DFF00282DD1228C55 +:10CA90004AB1444B0093616A94F83C3042F6262038 +:10CAA000FFF790FF08BB228D4AB13F4B0093E16A2C +:10CAB00094F83C3042F62820FFF784FFA8B9236B96 +:10CAC000ABB9616B002938D1A36B002B42D128464A +:10CAD00007B030BD354B0093616894F83C3042F6A6 +:10CAE0002920FFF76FFF0028AAD00546EFE71A6854 +:10CAF0008DF810201A68120A8DF811205A888DF8C6 +:10CB00001220DA788DF813205A688DF814209B686B +:10CB10008DF815301A0A1B0C8DF81730244B8DF840 +:10CB200016200093082294F83C3004A942F62320F2 +:10CB3000FFF748FF0028C4D0D7E71E4B0A790093BF +:10CB4000096894F83C3042F62A20FFF73BFF0028A2 +:10CB5000BAD0CAE71A788DF810205A888DF81120BB +:10CB6000120A8DF812209A888DF81320120A8DF877 +:10CB70001420DB888DF815301B0A8DF816300E4B0B +:10CB80000093072294F83C3004A942F65020FFF7A6 +:10CB900019FFAAE7C0430020A0430020B8430020AB +:10CBA0009043002088430020C24300209843002087 +:10CBB000CA430020B0430020A843002070B5EFF323 +:10CBC000108672B60C4A946801239CB993600B4B93 +:10CBD0000B4DD3F8801029401160C3F88050D3F872 +:10CBE000841051604FF0FF32C3F88420047006B9FE +:10CBF00062B670BD0370FAE7843D002000E100E0FA +:10CC0000FC06FFBD084B9A6810B55AB150B9EFF356 +:10CC1000108172B6054A1C6814605C6854609860A4 +:10CC200001B962B610BD00BF843D002000E100E004 +:10CC300070B5064D0646002455F8043B0BB130464E +:10CC400098470134042CF7D170BD00BF9C3D0020F3 +:10CC50000B4A0C495388142000FB0311CB6833B9ED +:10CC6000042049681070012207482AF028BD0749AE +:10CC70000523137002238B80012209680023F3E748 +:10CC8000B43D0020CC3D0020B0210020803E00209B +:10CC900007B5002305490093054A0968054808239C +:10CCA0002AF0DFFC03B05DF804FB00BF803E0020EB +:10CCB000CCA90500B021002007B500230146009350 +:10CCC000034A044808232AF0CCFC03B05DF804FBB7 +:10CCD000C4A90500B021002013B500230C46009321 +:10CCE0000146084A084804232AF0BBFC38B9074B20 +:10CCF000142101FB043101230B7402B010BD48F272 +:10CD00000D60FAE7C0A90500B0210020CC3D00204D +:10CD100037B50A480A4B42689C881968538803252E +:10CD2000033305709BB2002000909B0001EB84014F +:10CD300004482AF096FC03B030BD00BFB43D00208B +:10CD4000803E0020B021002010B50146044829F0A3 +:10CD5000D7FA1C22044600212CF0A2FC204610BD6C +:10CD60006C3E002068B10268084B9A4209D14068C5 +:10CD7000074B984207D00133984214BF032001208B +:10CD80007047032070470020704700BFDEC0ADDE53 +:10CD9000FE011EF1033083B240F2FE32934230B501 +:10CDA0000FD80B4C207878B9228965892A441A4417 +:10CDB00092B2B2F5806F07D808806289134463810C +:10CDC00030BD48F20860FBE748F20660F8E700BFB4 +:10CDD000CC3D00202DE9F0410D460223154F2B805C +:10CDE000164600F5805100F108044FF001088C420E +:10CDF0000ED2236801330BD020462AF022FB48B123 +:10CE00000EB186F80080022809D14FF480632B8090 +:10CE1000BDE8F081A3683A68934200D93B602B8853 +:10CE20006288033313442B806388033304EB830449 +:10CE3000DDE700BFC43D002038B5144B14220D4679 +:10CE400002FB00302B68446804F58051A3B15C8874 +:10CE5000033403EB84048C4215D22368013312D0CF +:10CE600020462AF0EEFA012808D002280BD000282C +:10CE7000F1D12C60012038BD0834ECE7638803331E +:10CE800004EB8304E7E70020F5E700BFCC3D00207A +:10CE9000426873B504460D461AB31E4BD9688A42E0 +:10CEA0001FD31B699A421CD812F0030319D11A49E7 +:10CEB00000890989884214D120689168884210D17C +:10CEC000164949688A4209D901F580518A4205D23A +:10CED0002B80B3FA83F0400902B070BD48F20963B9 +:10CEE000F7E700262E800196288801A9FFF7A4FF06 +:10CEF00030B92B8801339BB22B80002BF3D0EBE7AA +:10CF0000019B226899689142EED16360024B1B89B4 +:10CF10002381E1E7B0210020B43D0020CC3D00207A +:10CF20002DE9F0411C461B4B1B7806460F46154663 +:10CF30004BB35AB354B3DFF86480A38813B148F2FB +:10CF400009601EE098F800302BB9A0882146FFF751 +:10CF500073FF20B92060A3880133A380EDE7236825 +:10CF60001EB1998832889142EFD11FB119883A8851 +:10CF70009142EAD19A68C5E90023074B1B892B81AE +:10CF80000020BDE8F08148F20160FAE748F2046051 +:10CF9000F7E700BFAC3D0020B43D0020CC3D0020B1 +:10CFA00008B5074B5888191DFFF746FF18B1BDE8B3 +:10CFB0000840FFF7ADBEBDE80840FFF749BE00BF1F +:10CFC000B43D00202DE9F0479B4FDFF8908288B0F8 +:10CFD00006463B6823B99948414629F0CBF93860A9 +:10CFE0003D6829784B1E052B07D8DFE813F0200099 +:10CFF0006B006B00FD00FD00530148F20E6414222B +:10D00000002103A82CF04CFB41F61D539C4208BFA5 +:10D0100000243B6804941A78023A042A00F2D6816C +:10D02000DFE812F0B701C301E501ED01F4012EB113 +:10D03000834B00225A604FF40644E0E72B79032B20 +:10D040000AD8DFE803F0020F1B2601232B71FFF73C +:10D050001FFE002800F0C280794B00225A6048F27F +:10D060000D64CCE7774B1A78022A4FF0000240F0AB +:10D07000D18158681A70FFF71FFEEAE772497348BA +:10D08000002302222B718A80096801222AF017FBF3 +:10D09000DFE76D4C00262E712068FFF70DFE6C4B0C +:10D0A000DFF8A0C15B882568142253430CEB030210 +:10D0B0000CF8036051685560A58815810222216033 +:10D0C000A280C6E7B5F814A0AA7DDFF87891AEB1CA +:10D0D000022AEB8806D9142101FB0A91DA1C08897F +:10D0E00002440A81142202FB0A99C3F57F43B9F86E +:10D0F0000A20FD331344A9F80A309CE7142303FBEC +:10D100000A9318895C6804EB8004062A69D8DFE872 +:10D1100002F0274E36441D5A040041F61D54AA7DE4 +:10D12000EB88022A06D9142101FB0A91DA1C08892E +:10D1300002440A81142202FB0A99C3F57F43B9F81D +:10D140000A20FD331344A9F80A3058E74148424900 +:10D1500000234360AB690360FFF79AFE00285AD0B2 +:10D160000223AB75002300930423EA1821463748B5 +:10D170002AF077FA002831D048F20D64CFE72B6906 +:10D18000002B14BF03230123AB750023009305F18B +:10D190000C02042304F10801E9E70123AB75002226 +:10D1A000EB8800922A699B0004F10C01DFE7032958 +:10D1B0000CBF05230623AB7500230093042305F160 +:10D1C0000802E118D3E70623AB75234B1988214BDE +:10D1D0005868FFF781FD04460028A0D108B0BDE8DB +:10D1E000F08748F20E649AE7002E7FF424AF2B7983 +:10D1F000012B35D0022B47D0002B7FF4FEAE02234B +:10D200002B710DF10A01EB68039303A8CDE90466C5 +:10D21000FFF73EFE10B948F20964F0E60498BDF845 +:10D220000A108388EB8003882B81FFF755FD0446A5 +:10D23000002C7FF4E4AED1E7C83D00206C3E002016 +:10D24000AC3D0020CC3D0020803E0020B0210020DD +:10D25000B43D0020903D0020D2430020C03D00207E +:10D26000DFF8E09103AA4B463146A81DFFF758FEB0 +:10D27000044660B9B9F804100498FFF72DFD044680 +:10D2800048F209639C42D3D141F61D54B7E6C9E97F +:10D290000066F5E7002E7FF4CEAE644BDA7ABAB1C1 +:10D2A000DE721A78013A062A3FF6A7AE01A151F8BC +:10D2B00022F000BF1FD4020065D302006BD302002E +:10D2C00071D30200FBCF020077D3020089D30200A2 +:10D2D0001A78072AE5D801A151F822F0FDD2020000 +:10D2E000A3D20200A3D2020019D302002DD3020060 +:10D2F0004DD302004DD3020015D302001A8901322A +:10D300001A8100225A80DA72494A1278B2FA82F2FD +:10D3100052099A72012207E0464958688A88408873 +:10D32000033202448A8002221A70BAE75C88404ABB +:10D330004049142505FB0422086854685060888819 +:10D34000108102228A800C600622EDE70722EBE7BB +:10D35000374900229A72CA68002A63D1097C0029E1 +:10D3600060D05A80FFF71CFE61E7FFF7D1FC5EE753 +:10D37000FFF76EFC5BE75A882D4B142101FB02334B +:10D380005868FFF799FC52E700225A60FFF780FCCB +:10D390004DE701228DF80C201A89ADF818209A88E3 +:10D3A000DB68ADF81A20059310E002228DF80C20FE +:10D3B0001A89ADF818209A88ADF81A20DA689B7D92 +:10D3C00005929A1F534253418DF81C3003A8FFF772 +:10D3D0002FFC0026414618483E6028F0F6FF17480B +:10D3E00001212AF021F900287FF4F3ADF6E60322AB +:10D3F0008DF80C20DA88ADF818201A89D0E70422BD +:10D400008DF80C20DB88ADF81830DFE705238DF8A8 +:10D410000C30DBE70A4B012119705A6034E79A7A25 +:10D42000002A95D100221A705A80F6E7B43D0020F8 +:10D43000CC3D0020803E00206C3E00207C3E002041 +:10D44000AC3D00208C3E002008B5054801212AF0A3 +:10D45000D3F818B9BDE80840FFF7B4BD08BD00BF58 +:10D460007C3E00202DE9F3419846374B1B78064659 +:10D470000D46002B5CD000295DD009884FF6FF7364 +:10D4800099425BD06B88002B58D06B689B0758D1B2 +:10D490004AB92F890DF102013846FFF77BFC30B104 +:10D4A00002B0BDE8F08113885788ADF8023001A8BA +:10D4B000FFF74AFC044660B9BDF80220234B142153 +:10D4C00001FB023358890338C01B588148F20760BA +:10D4D000E6E780F8008000238375BDF80230838280 +:10D4E0006B68036101211A482AF092F82B88238186 +:10D4F000B8F1030F6B88A38004BF0423A3754FF01A +:10D50000000508BF3368E06008BFA3611148E780E9 +:10D51000658101A928F01EFF36B1E36833600E4B28 +:10D5200075601B89B5723381FFF78EFF0020B7E766 +:10D5300048F20160B4E748F20460B1E748F20360E2 +:10D54000AEE748F20260ABE7AC3D0020CC3D0020E6 +:10D55000C43D00206C3E0020B43D002008B50346C9 +:10D5600007480268042A08D00168064A42F82130B8 +:10D5700001212AF04DF8002008BD48F20B60FBE7BE +:10D58000883E00209C3D00202DE9F04F89B01422F8 +:10D59000002103A82CF084F87A4B1B7803F0FF0BD2 +:10D5A0003BB103A8FFF744FB0027384609B0BDE8AC +:10D5B000F08F744B181D2AF043F80028F4D1DBF8E3 +:10D5C000F83FDFF8E0A15C1C08BF4FF010234FF0DC +:10D5D000805208BF5B6911695269581C08BF02FB81 +:10D5E00001F3CAF810306849A3F5005300225046F1 +:10D5F000CAF80C302AF027F807460028D5D11C239A +:10D6000062496348DFF8A0918C2228F044FE02238F +:10D61000B8463D4601933C46DAF80C604644304635 +:10D62000FFF7A0FB012862D0032817D000283DD1C6 +:10D6300058494FF0140C0CFB04FC01EB0C0201F8F0 +:10D640000C0056600CF110020CF1080C0A44304634 +:10D650006144FFF7BFFB45F0020545E03268531C0B +:10D6600002D04D4B9A4234D1321D06F580511068DC +:10D6700001302ED104329142F9D1D9F800203AB9C3 +:10D680000222C9F80060A9F804204FF0010B0BE05A +:10D69000142262433F4B0220991898543F4A4E602F +:10D6A000548001340881A4B245F0010508F5805882 +:10D6B000B8F5005FB0D1019B012B98BF0025EDB2FA +:10D6C000022D03D0062D32D0002D39D148F20A6741 +:10D6D0006BE7019B2F495A1E93B2142262438818AC +:10D6E00001934660032088540134A4B2DEE7BBF105 +:10D6F000000F0DD0274B1422624399180220985432 +:10D70000D9F800204A60254A088154800134A4B227 +:10D7100000222349C9F800603046FFF75BFBB9F8E7 +:10D720000420022A0CBF042208221543BEE7154A32 +:10D730000123137003A800235360FFF779FA34E73D +:10D7400002A8FFF701FBC8B10123013D03700A2DB8 +:10D7500009D8DFE805F006080608070807080F11D2 +:10D760000F000023037102A9094828F0F3FDFFF719 +:10D770006BFE1AE70323F5E70223F3E748F2076796 +:10D7800013E700BFAC3D0020E0A90500E03D00200C +:10D790006C3E0020CC3D0020DEC0ADDEB43D00205C +:10D7A000843E0020B0210020803E002073B50D464D +:10D7B0000446C8B1C1B10DF10601FFF769FBB0B174 +:10D7C000BDF806300B486668142202FB03000121F5 +:10D7D0000C3029F01DFF63682E600C336B60012351 +:10D7E000A372002002B070BD48F20460FAE748F26C +:10D7F0000960F7E7CC3D002013B50446A8B10DF150 +:10D800000601FFF745FB98B1BDF806200B4B14212C +:10D8100001FB0233DA6872B1A27A62B1DA680020E1 +:10D82000013ADA60A07202B010BD48F20460FAE773 +:10D8300048F20960F7E748F20560F4E7CC3D0020C4 +:10D84000114B1B7813B50446ABB14FF6FF739842EA +:10D8500014D001A8FFF778FA98B1052303700123CB +:10D860000371C48001A9094828F074FDFFF7ECFD9D +:10D87000002002B010BD48F20160FAE748F20360F0 +:10D88000F7E748F20760F4E7AC3D00206C3E00206B +:10D890000F4B1B7807B5A3B101A8FFF755FA98B154 +:10D8A0000623037001A90B4828F054FD0A4B1A788F +:10D8B0000AB10122DA72FFF7C7FD002003B05DF85C +:10D8C00004FB48F20160F9E748F20760F6E700BFA1 +:10D8D000AC3D00206C3E0020B43D0020F8B52C4B40 +:10D8E0001B780446002B4CD000284DD0294E122224 +:10D8F00000212BF0D5FE71687789358902232380BA +:10D900000846FFF72FFA3D440328ADB204BF0123B8 +:10D910002380F3686581C5F58065ADB2638027819A +:10D9200005B1A58101F1080501F58051A94226D96B +:10D930002B68013323D0284629F083FD012807D026 +:10D94000022812D00028F1D1A3880133A38007E078 +:10D95000E3880133E380E3896A8803331344E38176 +:10D960006B88033305EB8305E0E7E3884D1BE18912 +:10D970000133E38001EBA5010123E1812374002041 +:10D9800001E048F20160F8BD48F20460FBE700BF27 +:10D99000AC3D0020CC3D0020024B187A003818BF67 +:10D9A00001207047303F0020034B187A0122B0FA63 +:10D9B00080F05A7440097047303F002008B51422A7 +:10D9C000002104482BF06CFE034828F077FC00206F +:10D9D00008BD00BF303F0020203F002010B5094C9B +:10D9E000094B4360204629F02BFE40B9FEF7EAFCC4 +:10D9F000064920741C2306488C2228F04CFC002089 +:10DA000010BD00BF303F0020D4A90500943E002087 +:10DA1000203F002038B5234D234C2B7A3BB92349B6 +:10DA2000234828F0A7FC206008B9686038BD0223AD +:10DA300024682B72237973B1012B24D02046032153 +:10DA400029F067FE00232B726B6018491848BDE867 +:10DA5000384028F0BABCD4E90523D21AB2F5805F69 +:10DA6000D4E9031028BF4FF480529208012A38BF2E +:10DA700001221944184429F048FE50B11128DDD183 +:10DA800001232B72D2E7D4E90303184429F03FFEA7 +:10DA9000F3E72B7C002BC9D1BDE83840022000F011 +:10DAA00009B800BF303F0020483F0020443F00201D +:10DAB000203F002038B5234C237A002B41D0022B85 +:10DAC00009D1032830D0204B00221B68E2601A796C +:10DAD0003AB1012A22D0637C7BBBBDE83840FFF716 +:10DAE00099BFD3E905128D1AB5F5805F94BF52191D +:10DAF00002F580529A619142EDD102284FF0000365 +:10DB000008BF19462372104B18BF0D21186829F061 +:10DB100000FE0E490E4828F058FCDCE71A69013275 +:10DB20001A615B699A42E7E7E3680133082B01D881 +:10DB3000E360D0E70023E360DFE7BDE83840FEF7AD +:10DB400031BC38BD303F0020483F0020443F00201A +:10DB5000203F002000F0FD03012B08D1044B0022E0 +:10DB60005A74421E504250411874FFF753BF704719 +:10DB7000303F002010B5064C201D29F061FD28B96A +:10DB8000637C1BB9BDE81040FFF744BF10BD00BF68 +:10DB9000303F00202DE9F34180460D46104801A991 +:10DBA00016461F4628F0ACFB0446B0B118220021EF +:10DBB00004302BF075FD2D0B0123237101A90848BA +:10DBC000C4F80080A760E560666128F0C3FBFFF73A +:10DBD000D1FF002002B0BDE8F0810420FAE700BFC9 +:10DBE000203F00202DE9F34180460F460F4801A950 +:10DBF00016461D4628F084FB0446A8B118220021D1 +:10DC000004302BF04DFD089BA36001A9C4E9036714 +:10DC10000648C4F80080656128F09CFBFFF7AAFF66 +:10DC2000002002B0BDE8F0810420FAE7203F002088 +:10DC3000014829F0A7BD00BF00C0010030B587B082 +:10DC400005461422002101A82BF02AFD4FF6FF7390 +:10DC50009D42ADF8065023D0284629F026FE112813 +:10DC6000044617D007D860B10B2811D021462846AA +:10DC700029F0ADFD03E043F202039842F6D1002201 +:10DC800009E00E2301A88DF8043029F095FDF6E790 +:10DC90000F23F7E70122034B28461978FCF746FFCC +:10DCA00007B030BD70450020024B034918780022B0 +:10DCB000FCF760BF72450020BDDC02002DE9F04793 +:10DCC000DFF8048188B098F800100546FCF716FFCD +:10DCD0000646002873D1284600F0FCFA08280146C1 +:10DCE00022D006D888B106284BD0284629F06FFDEF +:10DCF00009E043F20203984205D043F201439842FF +:10DD000059D01128F1D1012446E03146142203A84C +:10DD10002BF0C6FC102303A88DF80C30ADF80E5084 +:10DD2000012629F049FDEEE70DF1060029F040FD3E +:10DD3000344601274FF0020A0DF10809BDF80630FC +:10DD4000BB421ED9002249463846CDE903A929F035 +:10DD500031FDB0B9BDF808303CB942F605241B1BB3 +:10DD60005C425C410137BFB2E8E742F602129342DF +:10DD7000F8D101AB03AA39462846049329F016FDD1 +:10DD800030B1284600F0D2FA00F0BEFA002403E0D9 +:10DD9000BDF80430002BF4D00A4B224619782846EF +:10DDA000FCF7C4FE98F800103246284608B0BDE8DB +:10DDB000F047FCF7BBBE2846FFF740FFA3E708B0DB +:10DDC000BDE8F087724500207345002013B5044676 +:10DDD00000F0ACFA00236A46092128F097FF0528D5 +:10DDE00005D1044B012219782046FCF79FFE02B0B2 +:10DDF00010BD00BF6E45002008B5084B08491878D3 +:10DE00000022FCF7B7FE024630B9064B06491878E7 +:10DE1000BDE80840FCF7AEBE08BD00BF714500205C +:10DE200069DE02006E4500202DDE020037B542F6A5 +:10DE3000A623ADF800300A4B04461868019001256E +:10DE400001AA69462046ADF8025029F0ABFC28B97A +:10DE5000044B2A4619782046FCF768FE03B030BD13 +:10DE6000202B06006D45002030B5012187B0054606 +:10DE70001C4829F092FB0446BFF35F8F70BB284615 +:10DE800029F0CEFC862801460ED007D8D0B1112843 +:10DE900026D0284629F09BFC002403E043F202032D +:10DEA0009842F6D122460FE01422214601A82BF019 +:10DEB000F7FB062301A88DF80430ADF8065029F0D1 +:10DEC0007BFCEFE701240246074B28461978FCF754 +:10DED0002DFE1CB9BFF35F8F024B1C6007B030BD35 +:10DEE0000122F1E74C3F00207145002038B503784E +:10DEF0000446A3B94088FFF7A1FE6588284629F0AB +:10DF000014FD28B1064B012219782846FCF70EFEB5 +:10DF10006088FFF75BFFBDE83840FFF76DBF38BD95 +:10DF20007245002037B50378082B044630D1427A79 +:10DF300072BB057A072D1BD0082D2ED0012D27D1BD +:10DF400080886A46294628F0A1FF08BB019B1B7800 +:10DF5000F3B1A08800F018FA4FF6FF73984217D07B +:10DF6000124B2A461978FCF7E1FDFFF79DFE0FE002 +:10DF7000808800F009FA4FF6FF739842044607D0F4 +:10DF80000B4B01221978FCF7D1FD2046FFF71EFF4D +:10DF900003B0BDE83040FFF72FBF064B19680129D9 +:10DFA000F6D1BFF35F8F1A60F2E700BF7245002021 +:10DFB000714500204C3F00202DE9F843FCF794FD0B +:10DFC000DFF89090DFF8908089F80000FCF78CFD76 +:10DFD00088F80000FCF788FD184F194E3870FCF7E0 +:10DFE00083FD3070FCF780FD164D174C2870FCF750 +:10DFF0007BFD2070FCF778FD144B187099F8003009 +:10E00000182B18D098F80030182B14D03B78182B08 +:10E0100011D03378182B0ED02B78182B0BD02378F7 +:10E02000182B08D0182806D0094B00201860BFF321 +:10E030005F8FBDE8F8830320FBE700BF7245002037 +:10E04000734500206E4500206D4500206F4500207F +:10E050004C3F0020714500207045002037B50C4B27 +:10E060000022CDE900320B4B0D4619780446FCF72F +:10E070005DFD0949094B2046002D08BF0B46019361 +:10E0800000F054F90022694628F076FE03B030BD56 +:10E09000010009006E45002000AA050004AA050041 +:10E0A00070B503888488502B86B0054638D00ED8CA +:10E0B000352B48D0362B63D03F4B4049187800228F +:10E0C000FCF758FD06B0BDE87040FFF7EDBD522BE0 +:10E0D00022D0542BF0D11422002101A82BF0E0FA19 +:10E0E000112320468DF80430ADF8064000F01EF9EB +:10E0F000ADF8080000F008F9314B204619780022ED +:10E10000FCF714FD2F4B204619780022FCF70EFD7A +:10E1100001A829F051FBCFE72046FFF78FFDCBE7A1 +:10E12000037B012BC8D1827A012AC5D1018942F62D +:10E1300002139942C0D1244B20461978FCF7F6FC13 +:10E14000FFF75AFEB8E7214E20463178FCF7D6FC9F +:10E150000028B1D0002231782046FCF7E7FCEA889D +:10E160003ABBAE89012E24D1E989204629F01CFB57 +:10E17000F8B9174B324619782046FCF7D7FC9BE7D5 +:10E18000134E20463178FCF7B9FC002894D0317842 +:10E1900000222046FCF7CAFCE98851B9EB89012B23 +:10E1A00003D1297C003918BF01212046FFF756FF13 +:10E1B00082E70021F9E700BF70450020F7770500EE +:10E1C0007345002072450020714500206D450020F8 +:10E1D0006F450020F0B58DB000F06EF801A8FCF797 +:10E1E00065FC0F4F00244FF6FF76019AA3B29A42C6 +:10E1F00004D80DB0BDE8F040FFF756BD0CAA02EB05 +:10E20000430333F8285C284600F090F8B04204D16C +:10E21000397801222846FCF789FC0134E5E700BF84 +:10E2200072450020F0B5184B184D93E8030089B0F3 +:10E2300001AE86E803004FF6FF772888B8421CD06D +:10E240000022314628F098FD0446C0B11422002176 +:10E2500003A82BF025FA2B88ADF81030112C0CD028 +:10E26000862C0CBF0623072303A80EBF8DF80C30A5 +:10E270008DF80C30059429F0C8FA09B0F0BD288853 +:10E2800028F0D6FD2880D8E708AA0500D44300204E +:10E29000044B1A884FF6FF739A4201D0FFF7C2BFB2 +:10E2A000704700BFD4430020024B4FF6FF721A8024 +:10E2B00000207047D443002008B54FF6FF7028F0C7 +:10E2C000B7FD034B1880BDE80840FFF7ABBF00BFA8 +:10E2D000D443002070B505460A4829F094FA70B975 +:10E2E000084C43F2030621884FF6FF72284629F0B6 +:10E2F00084FAB04204D1238801332380F3E703205A +:10E3000070BD00BFD643002013B5074A044692E80B +:10E3100003006B4683E8030000221946204628F0DC +:10E320002BFD02B010BD00BF10AA0500132810B5C8 +:10E33000044602D94FF6FF7010BDFCF74DFB0028D4 +:10E34000F8D00A20014B4443185BF5E7D84300207E +:10E35000132838B505460C4602D943F2020038BDF1 +:10E36000FCF73AFB0028F8D0064B0A2000FB0530EA +:10E37000D0F802302360C388A380037AA371002001 +:10E38000EDE700BFD84300204FF6FF7398422DE918 +:10E39000F04105460CD00C4F00244FF00A0808FB52 +:10E3A00004F3A6B2DB5BAB4205D00134142CF6D1EA +:10E3B0004FF6FF7604E03046FCF70EFB0028F4D061 +:10E3C0003046BDE8F08100BFD843002013289FBF2E +:10E3D0000A235843014B1952704700BFD84300200D +:10E3E00038B50546FFF7D0FF0446284628F05BFD08 +:10E3F00038B9132C05D80A235C43024B4FF6FF7241 +:10E400001A5338BDD8430020F0B510229BB0054602 +:10E410000C461C4800212BF043F91B4B05B13CB9BD +:10E420000021084619701BB0BDE8F04029F08FBAF2 +:10E430000026620029461348E7B21F702BF008F946 +:10E44000382231460CA803962BF02AF903ABCDE90C +:10E4500000660CAA2146284629F07FFA034668B9CF +:10E4600004A90CAA08460133082B41F8042B02F139 +:10E470000702F8D1394629F06AFA034618461BB05C +:10E48000F0BD00BFA04400207445002030B50388D3 +:10E49000102B91B04ED1041D0FCC06AD0FC50FCC83 +:10E4A0000FC59DF81C3094E8030003F0FE03062B13 +:10E4B00085E8030009D0FCF759FC9DF81C30032BBC +:10E4C0004FEA530204D9022A3DD04FF6FF7310E001 +:10E4D00001AA0DF102010720FCF750FC0028F4D03E +:10E4E000029907A8113129F0AEFA0028F0D0BDF842 +:10E4F0000230BDF8184018480A226243811883523E +:10E500009DF8222007980A724FF6FF72C1F80200A8 +:10E510009342BDF82000C8800CD0ADF8083001A8A7 +:10E520000023ADF806408DF8043028F032FD01A834 +:10E53000FFF7DCFC11B030BD029907A8013129F0CA +:10E54000A8FB0028D3D101AA0DF102010720FCF796 +:10E5500015FC0028F0D1B8E7D8430020054BD8615E +:10E56000B3F8F02012B2012A04BF0022A3F8F02071 +:10E57000704700BFD44000200248002303643830B5 +:10E58000FFF7ECBFD440002008B5FBF771FA094A49 +:10E59000B2F8F0301B0443BFB2F8F03003F1FF33A0 +:10E5A0001BB24FF6FF73A2F8F030BDE80840FBF74E +:10E5B00051BA00BFD440002008B5FBF759FA0C4B04 +:10E5C000B3F8F020013212B2A3F8F02052B9DA69A0 +:10E5D0002AB9D3F8F42012B993F8FC2032B1002202 +:10E5E000A3F8F020BDE80840FBF734BA0122F7E7B2 +:10E5F000D440002038B505460C46FBF739FA104BDD +:10E6000093F8FC20042A19D0B3F8F01009B20129BC +:10E6100004BF0021A3F8F01093F8FD10501C0A4429 +:10E6200002F00302143283F8FC0003EBC203C3E9D7 +:10E6300001540124FBF70EFA204638BD0024F9E707 +:10E64000D440002038B504460D46FBF711FA216886 +:10E65000C9B90E4BB3F8F02012B2012A4FF00002F4 +:10E6600008BFA3F8F0106260D3F8F820256042B923 +:10E67000C3F8F440C3F8F8400124FBF7EBF9204657 +:10E6800038BD5460F6E70024F7E700BFD44000200F +:10E69000F8B52C4CE36905466BB1FBF7E9F9E6697F +:10E6A0003EB10023E36125B1FBF7D4F9304603F016 +:10E6B00039FCFBF7CFF9B4F8F0301BB2002B3FD197 +:10E6C000FBF7D6F9B4F8F06036B21EB1BDE8F840F9 +:10E6D000FBF7C0B94FF6FF73A4F8F030D4F8F4504C +:10E6E000E5B994F8FC2042B394F8FD3003F114012D +:10E6F00004EBC101D1E90156013303F00303013AF0 +:10E7000084F8FD3084F8FC20FBF7A4F93146284654 +:10E710000CF052F9BDE8F840FFF74EBF6B68C4F843 +:10E72000F4300BB9C4F8F8302F682E60FBF792F97B +:10E730002846B847FBF79CF9D0E7FBF78BF9E9E7E8 +:10E74000F8BD00BFD44000200120FFF7A1BFFFF7B4 +:10E75000FBBFFFF7F9BF00BF2DE9F843214BD3F80A +:10E76000002122B10022C3F8002101229A60D3F8CF +:10E770000C21A2B31C49DFF86C90D1F8D410002210 +:10E78000C3F80C21D3F818250C78D3B2A3423CBFB0 +:10E790000A701C46D9F80034012B1DD1134D2E6888 +:10E7A0006A68A71DF3199A4216D304F1010842467C +:10E7B00030462AF04DFFD9F8483506F8083020F0E9 +:10E7C00040FE2B681C44020AA070E2703B44020C1D +:10E7D000000E227160712B60024B01229A60BDE82D +:10E7E000F88300BF00100040D4400020503F0020BC +:10E7F0000E4B022210B5C3F88020BFF34F8FBFF33A +:10E800006F8F0B4B0022C3F8102101221A61D3F83D +:10E810001021002AFBD0074CD4F8D40020B129F0F5 +:10E8200099FA0023C4F8D43010BD00BF00E100E025 +:10E8300000100040D4400020F8B50446FFF7D8FF90 +:10E8400025786678063506FB0556304629F065FAC8 +:10E850002E4BC3F8D4002E4B064405441D605E6069 +:10E860004FF080430022C3F8002101221A60D3F840 +:10E870000021002AFBD0274B94F90320C3F80C2574 +:10E88000A278C3F80825627AC3F810256268C3F835 +:10E890001C25227AC3F82425002601250827C3F861 +:10E8A0002C65C3F83055C3F81475227842F0017214 +:10E8B000C3F8182502214FF6FF72C3F83415C3F8C8 +:10E8C0003C25154AC3F838251822C3F85425134AA5 +:10E8D000C3F804056020C3F8047382F80103C2F88A +:10E8E00080111160D3F8002242F01002C3F8002218 +:10E8F000C3F800615D60D3F80021002AFBD000223C +:10E90000C3F80C2101229A60F8BD00BFD44000205A +:10E91000503F0020001000402110010000E100E005 +:10E920001B4B0222C3F88020BFF34F8FBFF36F8FC2 +:10E93000184B0022C3F8102101221A61D3F81021CC +:10E94000002AFBD090F90320C3F80C258278C3F885 +:10E950000825427AC3F810254268C3F81C25027ABC +:10E96000C3F824250022C3F8002101225A60094B74 +:10E97000D3F80021002AFBD00022C3F80C21012289 +:10E980009A60034B0222C3F880211A60704700BFCF +:10E9900000E100E000100040F8B51D46324B16467D +:10E9A00002220C46C3F88020BFF34F8FBFF36F8F56 +:10E9B0002E4B0022C3F8102101221A61D3F8102136 +:10E9C000002AFBD0D3F818356219DBB29A4204D979 +:10E9D000A3422EBF1D1B1C460025254FD7F8D4305F +:10E9E00062191A70D7F8D43001462246581C2AF012 +:10E9F0002FFE3DB1D7F8D40001342A4631462044D9 +:10EA00002AF026FE194B0022C3F8002101221A60C9 +:10EA1000D3F80021002AFBD001229A600022C3F81B +:10EA20000C21124BD3F80C21002AFBD00022C3F892 +:10EA3000102101221A61D3F81021002AFBD00022F4 +:10EA4000C3F8002101225A60084BD3F80021002AA4 +:10EA5000FBD00022C3F80C2101229A60024B022253 +:10EA6000C3F880211A60F8BD00E100E0001000400A +:10EA7000D44000200B4A0221C2F88010BFF34F8F10 +:10EA8000BFF36F8F084BD3F81805084BC0B2D3F80B +:10EA9000D43006301844064B1B681160834208BF0F +:10EAA0000020704700E100E000100040D44000204A +:10EAB000503F0020114B022270B5C3F88020BFF3F5 +:10EAC0004F8FBFF36F8F0E4B0E4AD3F818350E4D94 +:10EAD000D2F8D4202C68DBB20633D018844208D098 +:10EAE000D65CB11D0144621AA41B063C2AF0BEFD8F +:10EAF0002C60024B02221A6070BD00BF00E100E0F2 +:10EB000000100040D4400020503F0020014B002264 +:10EB10001A707047B044002008B5054B00221A70E7 +:10EB200017F088F801F00AFCBDE8084017F022BB96 +:10EB3000B0440020FFF720BD00F0FFBE072908B554 +:10EB40000A4607D104492AF073FD18B9BDE8084008 +:10EB5000F0F7AAB808BD00BF5840060008B504F099 +:10EB600067F8BDE8084000F0B9BEF0B5A1B00646B0 +:10EB700008A803F0C5F9504D044630BB304604F0F8 +:10EB800037F8FFF7EBFF06680146012214A805F0ED +:10EB90008CFD3146224614A808F05AFB0646032095 +:10EBA000F0F744FB012730462F700BF023F84FF0AD +:10EBB000FF302C70F0F73AFB17F0D0FA3846FFF729 +:10EBC00067FD03F073F921B0F0BD00244FF0FF3072 +:10EBD0002C70F0F72BFB17F0C1FA2046FFF758FD19 +:10EBE000099C364B25689D4210D1E3685A68022A79 +:10EBF0000CD19A68062A09D1D8680EF061F928B1BB +:10EC0000E368DC6820460CF032FA05462B492846BA +:10EC100013F086F80028D6D1294821460CF060FA76 +:10EC20002849284613F07CF80028CCD101AA69466F +:10EC300020460EF090F902AA322104A804F00CF943 +:10EC4000009B022B05D9019B1F495A6802A804F0BA +:10EC500099FD20460EF03EF870B123681B49DA8812 +:10EC600002A804F08FFDE36833B15A6822B19968B5 +:10EC7000002202A80CF00EFA14A803F041F980B9A2 +:10EC80000320F0F7D3FA124816F040FF4FF47A70E1 +:10EC900029F031F804A804F031F917F04FF803F027 +:10ECA00005F94FF0FF30F0F7C1FA0020FFF7F0FC54 +:10ECB00004A804F0DDF886E77545002080E1050032 +:10ECC000C0D205005CE10500604006006940060016 +:10ECD00064AD050038B50BF0A5FE4FF4F0500BF015 +:10ECE000B9FE1B4D1B4CFFF711FF16F0F9FE00F0AB +:10ECF000DBFB1948294603F091F90AF02FFD237830 +:10ED00003BB9164800F00CFE022814D11348FFF757 +:10ED10002CFF2378012B17D101F09CFE0028F8D09E +:10ED20000F49104804F02EFD17F018FA03F0B2FA5C +:10ED30000AF05EFDD7E70C4901224FF42A700AF071 +:10ED400025FE0AF034FEE4E701F01AFFE6E700BF13 +:10ED500076450120C8400020764500205840060036 +:10ED60006D400600C0D2050010E9050000F0D8BDD6 +:10ED700008B503F091F901F07FFDBDE8084003F00C +:10ED800001BA014608B5034816F003FE01201EF043 +:10ED900017FF00BF7F4006000FB407B504AA05485F +:10EDA00052F8041B019204F08FFB03B05DF804EBF2 +:10EDB00004B07047C0D2050008B508460CF01CFA34 +:10EDC000EFF72EFF062008BD08B510F06BFE074ACE +:10EDD0000346002052F8041B994205D001300D284B +:10EDE000F8D103480BF0AAFB08BD00BF2CAA050010 +:10EDF000974006001FB501A8EFF7F6FEDDE90132E6 +:10EE00000398524303FB032300FB00301FF0F0FD87 +:10EE10001CF024FE20F01CF80FF03CF805B05DF863 +:10EE200004FB7FB56846EFF7DFFE00980FF032F87D +:10EE3000039001980FF02EF8049002980FF02AF832 +:10EE400003A90590032012F011F807B05DF804FB48 +:10EE50001FB501A8EFF7C8FE03980FF01BF805B027 +:10EE60005DF804FB1FB501A8EFF7BEFE02980FF096 +:10EE700011F805B05DF804FB1FB501A8EFF7B4FE6B +:10EE800001980FF007F805B05DF804FB1FB5054BBE +:10EE90001A7822B9012201A81A70EFF7A5FE05B071 +:10EEA0005DF804FBB044002010B50846FFF78CFF66 +:10EEB0000446FFF7EBFF094B598858880122A2400E +:10EEC00089B280B220EA020011424FF0000258805D +:10EED0001A7114BF1E200E2010BD00BFB0440020C8 +:10EEE00010B50846FFF770FF0446FFF7CFFFEFF7B6 +:10EEF0008DFEA0420CBF1E200E2010BD08B5FFF7EE +:10EF0000C5FFEFF783FE034B53F82000C00040F02D +:10EF1000020008BD2CAA050070B5134CFFF7B6FF20 +:10EF20002379FBB12079114E002111F09FFF0023BE +:10EF300000F108052279934202D30023237170BDAA +:10EF400004EB530203F00101527989000A4102F0F7 +:10EF50000F02013356F82220D20042F0020245F897 +:10EF6000042BE7E70248EAE7B04400202CAA05009A +:10EF700010E90500431E0B2B21D8114A01215388AB +:10EF80008140194389B2518013790F2B17D8137917 +:10EF900002EB53035B791179DBB2C9074BBF03F076 +:10EFA0000F0323F00F0343EA00101843137902EB19 +:10EFB0005303C0B2587113790133DBB21371704738 +:10EFC000B044002008B5F0F79BF8062008BD08B54E +:10EFD000F0F788F8002814BF1E200E2008BD08B5E1 +:10EFE000084B984208D0084B984207D0074B9842EC +:10EFF00006D007480BF0A2FA002008BD0120FCE76C +:10F000000220FAE718AF050020AF050010AF050099 +:10F01000A1400600F8B50F4CF0F7CCF82078B0B15D +:10F02000002111F023FF23460B4E13F8015B00F182 +:10F0300008010022954202D800232370F8BD13F87E +:10F04000017B56F8277041F8047B0132F2E7034850 +:10F05000F4E700BF764501208CAD050010E90500FE +:10F0600010B50C46F0F7A6F82046FFF7B8FF0849A0 +:10F0700001224B7A02FA00F0034223EA00034B72AA +:10F080004FF000030B7014BF1E200E2010BD00BFF8 +:10F090007645012010B50C46F0F78CF82046FFF7B6 +:10F0A0009EFF034B9B7A83420CBF1E200E2010BD97 +:10F0B0007645012008B5F0F77DF8034B9A7A034BAB +:10F0C00053F8220008BD00BF764501208CAD050035 +:10F0D00008B5F0F76FF8EFF7F3FF400040F00100DC +:10F0E00008BD38B508461546FFF779FF044620B13C +:10F0F000012802D007480BF021FA28460CF07CF8D2 +:10F100000546F0F757F820462946EFF7C7FF0620D7 +:10F1100038BD00BFA140060008B508460CF0BCF899 +:10F12000EFF7B4FF062008BD10B5C3680C4600F128 +:10F13000080281680069EFF7EBFF2CB910BD0120D0 +:10F14000FFF7A6FA20F0EDF8EFF7CCFF0028F6D194 +:10F15000F4E71FB502AB0193104B00930138022373 +:10F1600004310BF0B9FC0298830706D103680C4AFE +:10F17000934205D00B4A934202D00B480BF0A0FB00 +:10F18000D0E90332816817F025F99DF80C10044688 +:10F19000FFF7CAFF204604B010BD00BF98AD0500C0 +:10F1A000D8F9050074F90500A940060030B585B00E +:10F1B00002AB0193154B00930431022301380BF08D +:10F1C0008BFC02980CF068F8002105461FF00CFE3D +:10F1D00010B10F480BF0B2F9039C002C01DC0D4874 +:10F1E000F8E720461FF004FC29461FF055FC0A49A9 +:10F1F0001FF006FD1FF052FE214617F065F80121B1 +:10F200000446FFF791FF204605B030BDA8AD0500CC +:10F21000BD400600CA40060000007A44012804D020 +:10F22000022812D0082812D070470022094B012171 +:10F23000587A9A72914001435972197807299FBFF1 +:10F24000481C18705B185A7070470122EEE70222C2 +:10F25000ECE700BF764501204A68014904F092BA04 +:10F26000D3400600024B03481B78A0EB03307047E5 +:10F27000583F002000300700024B03485B78A0EBAA +:10F2800003307047583F002000300700C379002B3F +:10F2900014BF1E200E207047C37910B5044643B139 +:10F2A000054A03795068A17900EBC310013001F0E1 +:10F2B000F1FD0023237210BD583F002008B5FFF771 +:10F2C000EBFF062008BD08B50868FFF7E5FF06203C +:10F2D00008BD38B5074C6368C501002103EBC010B9 +:10F2E00001F0D8FD63682B4493F87F00237A8342B2 +:10F2F000F1D238BD583F00202DE9D043104B93F890 +:10F300000880D3F8049007460E460124A04503D296 +:10F31000FF242046BDE8D083E30109EBC41119F8AE +:10F320000330FE2B09D18B78B34206D1324603312C +:10F3300038462AF07DF90028EBD00134E4B2E5E745 +:10F34000583F002008B504490C200BF08AFE034A00 +:10F3500042600122027208BD18E6050085F3020032 +:10F3600007B501A910F0D4FB0199FFF7C5FFFF28ED +:10F3700002D102200BF0EEFAFFF7ABFF062003B03C +:10F380005DF804FB38B5124B1D7A59680446237AA0 +:10F39000AB4201D900201AE0DA0101EBC3108A5C0C +:10F3A000FE2A02D001332372F1E78178033010F096 +:10F3B000CFF800210546032011F058FD01234FF03E +:10F3C0000112C0E903238560237A0133237238BD1B +:10F3D000583F0020002170B508460FF07DF90D4E12 +:10F3E00005460124337AA34201D2284670BD7268D3 +:10F3F000E30102EBC410D35CFE2B07D1817803300C +:10F4000010F0A6F8014628460EF086FF0134E4B25B +:10F41000E8E700BF583F002037B501A910F078FB9E +:10F420000199FFF769FFFF2802D102200BF092FA41 +:10F43000164B5D6803B205EBC31300219A785C7824 +:10F440000232D2B203B205EBC31393F87F00FF2858 +:10F4500017D1A01A08440EF01DFD002104460A2011 +:10F4600011F004FD01224FF00111C0E90212C0E9C0 +:10F470000422C0E90622C0E90842C0E90A2203B01A +:10F4800030BDC2F17E0211440022DBE7583F00206C +:10F49000044A0379506800EBC310033010F8011CD4 +:10F4A00010F056B8583F002070B5244A244C254D22 +:10F4B00002EA04031819A3F5FC43111A03F1FF3300 +:10F4C00003EA040348BF01F6FF711F4C091369707A +:10F4D00004F6FF71C91A21F47F61A3F6FF7621F0CB +:10F4E0000F01B44238BF00210B44D21A48BF02F6C4 +:10F4F000FF72C01A1213C0112A7028721FF037FF52 +:10F500002B7AB0FBF3F202FB130001306872FFF7B5 +:10F51000A9FE0378FD2B024603D100F578626A60EC +:10F5200070BDFFF7A9FE0378FD2BA2F1800401D185 +:10F530006C60F5E7FD2101F0ADFCF9E70030070054 +:10F5400000F0FFFF583F002000D006002DE9F347F0 +:10F550003E4E3F4F757A327AD6F804C001322C46BF +:10F56000E3011CF80330FF2B6CD00134E4B2944269 +:10F5700008BF0124AC42F3D10021E3010CEBC4101D +:10F580001CF8033003B90131C0F30B0363B94FEA30 +:10F59000C31E10F80EE0BEF1000F05D10133202B81 +:10F5A000F5D101F015FC4DE00134E4B2A24208BFF0 +:10F5B0000124AC42E1D1002943D0FFF753FE037888 +:10F5C000FD2B16D18DF80430FFF74CFE0446FFF7F3 +:10F5D00053FE4FF4805A0546A54217D1284601F044 +:10F5E000F7FB012201A9284601F064FCFFF75CFF4C +:10F5F000B0E7FFF741FE03788DF80430FFF73CFEDB +:10F600000446FFF72FFEBA460546E5E7204601F01F +:10F61000DFFB204601F0DCFB0AEB04094FF0000899 +:10F6200019F8083009EB080123B1802204EB080027 +:10F6300001F040FC08F18008B8F5805FF0D14C463D +:10F64000CAE7FF24204602B0BDE8F087583F0020FB +:10F6500000F0FFFF70B583791944C9B27E290446D2 +:10F660004FF0000502D0817100200BE08571D2B10E +:10F67000FFF76CFFFF28064605D12079FFF729FE2A +:10F6800025721C2070BD0C4D6379686800EBC310B7 +:10F6900031467F3001F0FEFB6868617936B200EBDD +:10F6A000C61001F0F7FB044B62795B6803EBC213F1 +:10F6B00093F87F306371D7E7583F002010B50F4BA8 +:10F6C0005A68437902EBC31393F87F10FF2908D1DE +:10F6D000017902EBC1125278FF2A0BD08179914255 +:10F6E00008D082791344012100225C78FFF7B2FF31 +:10F6F000204610BD4FF0FF34FAE700BF583F00200E +:10F700002DE9F84F9946037A04460F46154613B97A +:10F710001C480AF013FFC3793BB1DFF86CA00379F2 +:10F72000DAF80420DB01D35C43BB0923C9F80030BD +:10F730004FF0FF352846BDE8F88F3744A8EB0608A0 +:10F74000B8F1000FF6D0A0796379C0F17E060130E0 +:10F7500046451BFB0300DAF8043028BF4646324614 +:10F760003946184401F0A6FB012231462046FFF736 +:10F7700071FF0028E1D0C9F80000D9E7A8464FF092 +:10F78000800BDDE7E4400600583F00202DE9F843F8 +:10F790009046027A05460F4612B920480AF0CEFE7E +:10F7A000C4793CB9DFF878900279D9F80410D20115 +:10F7B0008A5C32B909221A604FF0FF342046BDE856 +:10F7C000F883D9F804006979AB7900EBC111C3F172 +:10F7D0007E0291F87F60FF2E09D12E7900EBC610D2 +:10F7E0004078FF2817D0C01A824228BF0246A8EBF3 +:10F7F0000406964228BF1646002EDFD00133194476 +:10F800003246381929F024FF002231462846FFF7F6 +:10F8100021FF3444D5E70022E9E700BFE4400600B9 +:10F82000583F002078292DE9F04780460D461646BE +:10F830001F464CD8FFF760FD0446002E43D0FF283A +:10F8400001D0FFF746FDFFF781FEFF28044602D1F5 +:10F850001C200BF07FF8DFF87C90D9F8043000B260 +:10F860004FEAC01AFE2103EBC01001F013FBD9F8D8 +:10F8700004005044E9B2023001F00CFBD9F8040056 +:10F880005044414603302A4601F014FB29464046C5 +:10F89000FFF754F9104B03F11C01002F18BF194654 +:10F8A0000C200BF0DEFB0B4B04715B68447124B23F +:10F8B00003EBC414A378C67102338371012303726E +:10F8C0004772BDE8F087FF28E4D13046F9E7002011 +:10F8D000F7E700BF583F002028AF05001FB50446DA +:10F8E00029F027FF002301461A462046FFF79AFF1A +:10F8F00010B902200BF02EF8074B0190029320461E +:10F90000064B039303F074F904AB13E90E0004B043 +:10F91000BDE8104004F0ACBABDF6020099F2020056 +:10F9200010B5044629F005FF01462046FFF7E4FC28 +:10F93000FF2814BF0220002010BD022873B50E4618 +:10F9400037D1706801A910F0E3F8019B4FF0FF3444 +:10F95000C2182546824210D101A9306810F0D8F8AB +:10F96000B4FA84F3B5FA85F201995B095209FFF7FD +:10F9700059FF10BB02200AF0EDFF10F8013B722B7B +:10F9800001D0772B08D1691C10D1A3F1720CDCF1E6 +:10F99000000545EB0C05DDE7622B01D0742B05D18A +:10F9A000611C03D1743B5C425C41D3E704480AF01C +:10F9B000C5FD4FF0FF342546CEE702B070BD00BF55 +:10F9C000F8400600074BD3F8C42042B9D3F8C8204A +:10F9D0002AB9D3F89800003818BF012070470120D9 +:10F9E000704700BFD4400020052803BF486840008E +:10F9F00040F001000020704700F10C030B604368E9 +:10FA00004B6042238B60002070478068400040F0CC +:10FA10000100704710B5044608460BF0EDFB031ECD +:10FA200002DC04480AF08AFDA360EFF78BFA062097 +:10FA300010BD00BFCA40060038B50446084615464A +:10FA40000BF0DAFB002802DB6368834202D80C4823 +:10FA50000AF074FD15B90B480AF032FF042D044476 +:10FA600004D1207B400040F0010038BD28460BF057 +:10FA7000C3FBFF2801D90448EAE720730620F4E716 +:10FA8000054106000B4106001241060008B5084B6F +:10FA900018681EF031FB1BF043FE02460B461EF0B9 +:10FAA000EFF91EF07BFE400040F0010008BD00BFF2 +:10FAB000643F00201FB504460522084601A90BF04B +:10FAC000CDFD019B029804F10C026468844294BF4E +:10FAD000191919188B4202D1062004B010BD13F871 +:10FAE000010B02F8010BF5E7054A06490023C1E9BD +:10FAF00031335360C1F8983093601360EFF7F6B973 +:10FB0000643F0020D440002008B5FFF7EDFF062039 +:10FB100008BD10B5094C237B012B0CD1202104F129 +:10FB20000D00EFF71DFA0223237305490548BDE8D0 +:10FB30001040FEF787BD0023F6E700BF643F0020BA +:10FB400049FB0200943F0020F0B5584D584CD5F8C1 +:10FB5000C4308DB0002B40D05A68A3689A420BD8AD +:10FB60000023C5F8C430D5F8C8302BB9D5F8983083 +:10FB7000002B3DD1FFF7B8FF66684E48D5F8C4307A +:10FB80003044002B6FD1D5F8C830002B40F0868070 +:10FB9000002E00F08880C6F12002802129F080FD2F +:10FBA0000023444863601A4610F8011B0133803972 +:10FBB000202B01FB0122F7D152092260F9F758FFEF +:10FBC000257B0123EDB22373F9F744FF002D6AD1A1 +:10FBD0000DB0BDE8F040FFF79CBFD5F8C820002A63 +:10FBE000C4D09168A2689142C6D8C5F8C830BDE7B4 +:10FBF000684602F085F9B0B9D5F898000AF08EF998 +:10FC0000064602F053F9002EB4D016F0030221D1BB +:10FC1000336829498B4211D1B068C5F8C460A2602D +:10FC2000EFF790F9A8E7019B2449186812F078F8DB +:10FC300000289FD10198FEF791FC9BE7204A934250 +:10FC400002D0204A934205D10023F068C5F8C8606D +:10FC5000A360E5E7FFF748FF1B491C480DF091F84A +:10FC6000FEF77CFC88E7A1685A680C311944A76844 +:10FC7000C6F12005D21B954228BF15462E442A46C0 +:10FC800029F0E6FC3D441F2E6660A56088D8104927 +:10FC900010480DB0BDE8F040FEF7D4BCA268196969 +:10FCA00011449A68E3E70DB0F0BD00BFD4400020D6 +:10FCB000643F0020713F00201CB00500CCE005002F +:10FCC000D8F9050074F905001841060068DE050042 +:10FCD00049FB0200943F00202DE9F0418EB004461C +:10FCE0000E4617469846FFF76DFE08B1FFF7FCFE7B +:10FCF0004E4D002340462B73EFF7FEF84C4930463B +:10FD000017F078FA14F003027AD1236849498B423C +:10FD100011D164680CB32046EFF7CCF8002F00F047 +:10FD2000828002A802F0ECF8002876D0EFF7DEF827 +:10FD3000039802F0F7F8404EB34204D1204617F082 +:10FD4000D3FC0446E6E73D498B4219D13C4BA06801 +:10FD5000C3F8C440AA60EFF7F5F8FEF715FC394880 +:10FD6000FFF7F2FEFEF728FC002F5CD0FFF72AFE1B +:10FD7000002858D00120FEF78BFC1FF0D2FAF5E7DF +:10FD8000314A934202D0314A934206D12C4BE0686B +:10FD9000C3F8C8400023AB60DDE72D4A934202D090 +:10FDA0002C4A93422CD102AA01A920460BF0C6FA94 +:10FDB000019A2AB3029B1B6813F0030520D11B682C +:10FDC000B3421DD14920504327F0A7FF4FF02C0824 +:10FDD00004460646019BAB4203D8002306F8013CCB +:10FDE00098E7029B53F8250017F07EFC0146304649 +:10FDF0004936482229F02CFC013506F8018CE9E748 +:10FE0000002120460AF040F80D4BC3F89800A4E703 +:10FE10000120FEF73DFC1FF084FAEFF743F80028BD +:10FE2000F6D102F043F80EB0BDE8F081643F002047 +:10FE30005C01060084010600500206001CB00500AB +:10FE4000D4400020943F0020D8F9050074F9050043 +:10FE500018E90500D4E305007FB502AB0193084B18 +:10FE6000009304230AF038FE02989DF80C200499B0 +:10FE700041F68463FFF730FF062007B05DF804FB0E +:10FE800048B0050008B5FFF79DFD20B9EFF70AF867 +:10FE900000F0010008BD0120FAE708B5FFF7F2FF06 +:10FEA000002814BF1E200E2008BD002B30B501F124 +:10FEB000FF3114BF01254FF0FF350244904200D1BD +:10FEC00030BD11F8013FA3F18004037805FB043332 +:10FED000FF2B82BFDB170133C3EB032300F8013B89 +:10FEE000ECE78317C0F31602C0F3C75096380144FD +:10FEF00003F002030029C3F1010342F4000204DD10 +:10FF000002FA01F103FB01F0704711F11F0F03DB4F +:10FF1000494242FA01F1F5E70020704738B504463E +:10FF20000D4610460F21FFF7DCFF2544224695427F +:10FF300000D138BD1378803B4343DB138033FF2B64 +:10FF400082BFDB170133C3EB032302F8013BEEE76B +:10FF5000012838BF012070B505460C300E4627F049 +:10FF6000DCFE064B8660C0E9003504462A46802147 +:10FF70000C3029F095FB204670BD00BF1CB0050079 +:10FF800038B50446D0E90101FFF7E2FF6268054693 +:10FF900004F10C010C3029F069FB284638BDF8B596 +:10FFA000064608460C4615460BF061F82C4F874272 +:10FFB00001D0002440E0A6F10E030F2BF9D801A2D6 +:10FFC00052F823F00D0003000D0003004900030068 +:10FFD000B3FF0200B3FF0200B3FF0200B3FF020051 +:10FFE000B3FF0200B3FF0200B3FF0200B3FF020041 +:10FFF000B3FF0200B3FF0200050003000500030089 +:020000023000CC +:10000000410003002046FFF7BBFF044628460BF0E3 +:100010002EF88742CDD16A6863689A4228BF1A4693 +:100020001B2E04F10C0005F10C0107D0A6F10E0502 +:100030006B426B41FFF739FF2046F8BD0123F9E71A +:100040002046FFF79DFF0446284666680BF024F91A +:100050003146024604F10C00FFF760FFECE700BFF9 +:100060001CB0050030B585B0084611461A4602ABF3 +:100070000193144B009302230AF08CFD039C002C87 +:1000800002DC11480AF05AFA0298062818D00BF040 +:1000900003F9002105461EF0A7FE08B10B48F1E761 +:1000A00020461EF0A5FC29461EF0F6FC08491EF06D +:1000B000A7FD1EF0F3FE2146FFF74AFF05B030BD55 +:1000C0002020F8E768B00500CA4006001D41060080 +:1000D00000007A44044B054AD3F8D0301A6040F24D +:1000E00004429A8006207047D44000207800040023 +:1000F00013B5094CD4F8D03018880DF0CBFED4F8E5 +:10010000D030009058880DF0C5FE6946019002205D +:1001100010F0ACFE02B010BDD44000201FB502AB01 +:1001200001930A4B009302230AF0D6FC029B1BB1F9 +:10013000074AD2F8D0205380039B1BB1044AD2F85F +:10014000D0201380062005B05DF804FB3CB105000B +:10015000D440002008B5142027F0DFFD064BC3F87B +:10016000D000064B036040F2044383800023837178 +:100170000361062008BD00BFD440002078000400C1 +:1001800010B58CB0684601F0BBFE0D4C70B1D4F8D0 +:10019000D030002121209971EEF7F8FD019801F08F +:1001A000C1FE0120FEF774FA1FF0BBF8D4F8D0307E +:1001B0009B79002BF5D101F079FE0CB010BD00BF8A +:1001C000D440002070B588B0244B254C009304AD7A +:1001D000042301950AF080FCD4F8D030049840F252 +:1001E00004429A8000F00703022B0AD083072FD124 +:1001F00003681A7B62B303EB82031A69194B9A42B4 +:1002000026D10123CDE90235D4F8D0301649002596 +:100210009D71059816F0EEFFD4F8D0601FF015F927 +:10022000D4F8D0309DF81C20B060DA71029A9A811F +:10023000012A039ADD8108BF12681A6101229A71AE +:100240009DF818300BB1FFF79BFF062008B070BD7A +:1002500003AA02A90BF072F8D6E700BF4CB1050063 +:10026000D440002055FB030054010600F0B587B0D0 +:1002700002AB01931A4D1B4B009304230AF02CFC94 +:10028000D5F8D03018490022DDE902649A7104984B +:1002900016F0B0FF802121209DF81470EEF776FD56 +:1002A00056B11249B1FBF6F12120EEF741FD0130C4 +:1002B00002D10F480AF042F9002C0EDB1FF0C5F8FE +:1002C000D5F8D0300022C3E903220444DA710222B7 +:1002D0009C609A710FB1FFF753FF062007B0F0BD85 +:1002E000D44000206CB105005401060040420F00CC +:1002F0002341060008B568B10868074916F07AFF7F +:10030000064BD3F8D030002199712120EEF73EFD45 +:10031000062008BD0248F0E754010600D440002042 +:100320001C010600044BD3F8D00018B180790038C6 +:1003300018BF0120704700BFD44000202DE9F341D1 +:10034000704CD4F8D030002B42D09B79002B3FD09A +:100350001FF07BF8D4F8D0309A68904238D39A795D +:10036000022A0CD100212120EEF710FD1FF06DF8BC +:10037000D4F8D0300A30986001229A7128E09A7936 +:10038000012A25D19A89D989914203D3D979F1B12A +:100390000021D981012A18691CBFDB8950F823008C +:1003A00000F00703022B16D0830708D103681A7BDD +:1003B0002AB103EB82031A69534B9A420BD053497B +:1003C000534803F0DFF9D4F8D0300022D5E7997113 +:1003D00002B0BDE8F08101A90FF09AFB0746802129 +:1003E0002120DDF80480EEF7D1FC3B78D4F8D0E092 +:1003F00003F01F035A1EB8F1010FBEF800104EF6AD +:100400006025D2B2B5FBF1F5BEF80210B5FBF1F5EF +:1004100069D9797823295CD0622960D1002A5BD020 +:10042000023BDAB2012A4FF0FF3C18BF4FF0000C3C +:10043000B8F1020F5BD001200223F95C3A2904D005 +:1004400001F00F018EF80410013398459EF8041056 +:1004500017D9FE5C3A2E14D15E1CB04511D9BE5D91 +:100460000233984506F00F0681BF06EB860676003C +:100470008EF80560FB5C84BF03F00F03F6188EF85E +:100480000560092A39D8234B04396144520049B226 +:100490001A4478B3B2F850300029B6BF494243FA43 +:1004A00001F103FA01F12120EEF742FCD4F8D0303B +:1004B0005B795D431EF0C9FFD4F8D030DA890A3D7C +:1004C00001320A2DACBF40190A30DA81986002224D +:1004D00053E74FF0000CABE794460622A8E7002054 +:1004E00084460123A9E7002084460123ADE7434663 +:1004F0000120AAE7B2F85E30CEE700212120EEF716 +:1005000045FCD3E7D440002055FB03002B410600F7 +:10051000C0D205003CB1050073B501A90FF0F8FA8F +:10052000019B502B064602D915480AF007F84FF4F4 +:10053000807027F0F2FB134D019AC5F8DC000446E9 +:1005400000239A4209D15B23A354204600F04EFDBC +:10055000A0B9C5F8DC000C48E7E7F15CE1540133D1 +:10056000EFE70132A35C9B2BFBD1214607480FF03C +:1005700061F90023C5F8DC3002B070BD0022F1E75C +:1005800050410600D440002058410600DCE8050038 +:1005900010B5094C2368002B0BDB2346802153F850 +:1005A000040B03EBC010EEF725FD4FF0FF33236083 +:1005B00010BD6FF00103FAE79C3F002038B5164CE0 +:1005C000D4F80431D4F8081104EBC3134A1C0B44CB +:1005D0007F2AC4F80821187117D92368002B15DA6F +:1005E000F9F746FA2568D4F804312360F9F732FAAE +:1005F000D4F804310235C3F10103C4F8043101D148 +:10060000FFF7C6FF0023C4F8083138BD0120FEF70C +:100610003FF81EF07CFEE0E79C3F00202DE9F04310 +:100620008DB00646084611461A4604AB01933C4B72 +:10063000009308230AF050FA4FF4116027F06DFB85 +:10064000DFF8E0809DF85030C8F8DC004360049B80 +:100650004370059B0370069B8370079BC370324FEA +:100660009DF82030314C3B60099BC4F80C310546A5 +:100670000A9BC4F8103103A930460FF049FAD4F8A8 +:100680000C318146BBB344F6382649F27042022B46 +:10069000C8BF16460023C4F814312549C4F81831E0 +:1006A0000B98C4F81C3184F8203184F82131C4F847 +:1006B000243184F82231C4F8083184F82331C4F895 +:1006C00004316FF00103236016F094FD3046EEF71D +:1006D0006BFC2846039A494600F020FF284601F0AB +:1006E000EFFA054668B9FFF7FFF9124BC8F8DC507E +:1006F000186809F023FF43F60956CBE78020FFF77F +:100700005DFFD4F80831002BF8D13B6823B1D4F851 +:100710002411094815F03DF906200DB0BDE8F0831D +:10072000D8BB0500D4400020CC4000209C3F0020D6 +:100730005C010600C42000206B41060073B50C4626 +:10074000054654F8040B1646FFF7E6FE0023009317 +:1007500022463346691EFFF761FF02B070BD13B534 +:100760000C461346002200920A1D411E2068FFF726 +:1007700055FF02B010BD13B50C461346012200927E +:100780000A1D411E2068FFF749FF02B010BD2DE988 +:10079000F041354DD5F810310C461BB1012B10D16D +:1007A00041EA1114D5F80C314BB15A1E012A2FD849 +:1007B0008609012B38D1D5F81C31B3422BD3BDE8C3 +:1007C000F081022B0ED1E02928BFE0242749202CFC +:1007D00038BF2024FF2313FB0414C021B4FBF1F421 +:1007E000E4B2DFE7032B0BD1D02928BFD024204966 +:1007F000302C38BF3024FF2313FB0414A021EDE775 +:10080000042B02BF1B4901EB141494F84040C9E7C4 +:100810004609032BCEE7D5F81C3120460133C5F835 +:100820001C31FFF7CBFEC6E7D5F81C31F31A02D115 +:1008300085F82041C3E795F82071A4EB070898FBE1 +:10084000F3F8D5F81C31B342F2D2D5F81C3101339C +:10085000C5F81C31D5F81C31B34214BF47442746B4 +:10086000F8B2FFF7ABFEECE79C3F002020E0FFFF73 +:1008700030D0FFFFD8BB050000B58BB0684615F03F +:10088000EBF8044B1968091A890801F041FC0BB018 +:100890005DF804FBD44000202DE9F047DFF82491F7 +:1008A0008EB04FF00008044602A815468A46C9F8E3 +:1008B0000080CDF80C8001F023FB05F0010607460F +:1008C000002859D115F0080331D0102027F025FA5F +:1008D0003D4A12694260034600F1080294E80300B1 +:1008E00082E80300A0683A46194608F0C4FE2A06CA +:1008F000044602D40320EEF799FC204609F07AF969 +:100900004FF0FF30EEF792FC0120FDF7C1FE01F041 +:10091000CDFA002E50D02D480121EEF7C9FC01245C +:10092000002E4AD001212948EEF7C2FC45E0EF062F +:1009300012D5D4E90121C02003F0DCFA044627686F +:1009400052462146684603F0B0FEC5F380023946A0 +:10095000684606F07DFCCAE7680605D594E80E00F7 +:10096000C02003F085FAE9E7A906E8D5204602F0A1 +:100970003FF9FEF7F3F8E1E74FF0FF30EEF756FCF2 +:100980004046FDF785FE6B0602D5A36820689847B0 +:100990001EB10E480121EEF78BFC039B0C49186831 +:1009A00011F0BEF9044610B1D9F80040B8E7039938 +:1009B00008480AF095FBB3E7012420460EB0BDE8D5 +:1009C000F08700BFC4400020D44000207A410600D8 +:1009D00080E10500C0D2050008B503784BB90121BC +:1009E00001700448EEF764FCEEF76AFC0338012856 +:1009F000FAD808BD7A41060070B5067804461EB1E3 +:100A00004FF0FF35284670BDEEF75AFCC31E012B90 +:100A100005460BD801210C482170EEF749FC032D47 +:100A2000EED10A480664383001F07CFAA388013B15 +:100A30009BB2A380002BE5D105480121EEF738FCDD +:100A40006388A380DEE700BF7A410600D44000201F +:100A5000984106002DE9F04F8BB0202106A802F046 +:100A6000DEF9DFF8F8803E4F3E4E404600F08CF94C +:100A700000233046079300F087F9DFF8EC90EEF79B +:100A80001FFC0128044638D107990229ECD1089BA4 +:100A90001A78052AE8D193F801A0BAF1410F0BD0DA +:100AA0003248EEF705FC002010F4807330D1304658 +:100AB000079300F069F9E2E74846EEF7F9FB802575 +:100AC0004FF0000B032168468DF800508DF801B0FF +:100AD0008DF80240EEF7ECFB01ABCDE9033752464F +:100AE000234B8DF804B0214603A8ADF80650ADF8AD +:100AF00008500593FFF7D0FED6E702280BD11D481A +:100B000000F042F906A802F0B3F91B4B002018715F +:100B10000BB0BDE8F08F032802D100230793AEE7A6 +:100B2000042804D0C1B206A802F0F7F9A7E71348D9 +:100B300000F02AF9079B43B90E4800F025F906A8F2 +:100B400002F096F94FF48070E2E71122012106A825 +:100B5000FFF7A2FEC3058BD5DAE700BF7C41060094 +:100B6000F9090300027F0600974106004142060092 +:100B7000D90903004E570600C44000209A410600E0 +:100B80002DE9F04387B0202102A802F048F9DFF8F0 +:100B90000C81434F434D444E404600F0F5F8434826 +:100BA00000F0F2F8424800F0EFF8424800F0ECF8AC +:100BB0002B894FF000090BB1A5F80890314602A827 +:100BC000CDF80C9017F06BFD012804460BD1384886 +:100BD00000F0DAF802A802F04BF9374B00201C7144 +:100BE00007B0BDE8F083022803D1314800F0CCF80B +:100BF000D0E7032803D12E4800F0C6F8D8E7042830 +:100C000008D12B4800F0C0F802A802F031F94FF4E7 +:100C10008070E5E705282AD12848294C00F0B4F86F +:100C2000CDF80C90EEF74CFBC1B203298DF80710FC +:100C3000E1D004290AD11E4800F0A6F801211622AD +:100C400002A8FFF729FEC305B2D5C9E702A802F042 +:100C500064F99DF807300D2B03D1204600F094F87D +:100C6000E0E701210DF10700EEF722FBDAE7039B35 +:100C7000002B9DD002A802F041F914F0AFFA58B150 +:100C80000A2102A802F049F9394602A817F007FD27 +:100C90000328B0D00428EDD10021D0E71F81060041 +:100CA00020420600D4400020E44106009D41060099 +:100CB0004E570600BE410600C4400020E941060030 +:100CC0001942060020220121E6E537B50D466A46A5 +:100CD00001A9044614F04CFC0199002D14BF002218 +:100CE000802201290BD0022906D007490748224655 +:100CF00002F048FD002005E042F0080201210098C2 +:100D0000FFF7CAFD03B030BD25420600C0D2050082 +:100D1000002210B51146044614F02AFC022805D121 +:100D200020460121BDE81040FFF7CFBF2046FEF767 +:100D30001DF8022804D12046BDE81040FFF7C2BFCD +:100D4000012010BD70B50F4E03464518AB4206D1C9 +:100D5000984215D2BDE87040191AEEF7A9BA1C46A0 +:100D600014F8012B0A2A09D1984202D2191AEEF777 +:100D70009FFA02213046EEF79BFA20462346E5E72C +:100D800070BD00BF4E57060010B5044628F0D1FCD8 +:100D900001462046BDE81040EEF78ABA07B54FF08D +:100DA000FF33019300F0030001AB184428F050FC1E +:100DB000019803B05DF804FB044AD2F80034DB0765 +:100DC000FBD50160BFF35F8F704700BF00E00140BB +:100DD0004FF080531A69B0FBF2F302FB130373B9AF +:100DE000084B0222C3F80425C3F80805D3F80024F1 +:100DF000D207FBD500220448C3F8042570470348F6 +:100E0000704700BF00E001400000AD0B0A00AD0BD1 +:100E1000074B0222C3F804250122C3F81425D3F896 +:100E20000024D207FBD500220248C3F804257047EE +:100E300000E001400000AD0B074B0222C3F804257F +:100E40000122C3F80C25D3F80024D207FBD50022D9 +:100E5000C3F80425704700BF00E00140037831EA81 +:100E600003030CBF012000207047036831EA03032D +:100E70000CBF01200020704710B5054C0123C4F8B9 +:100E80000435FFF799FF0023C4F8043510BD00BFF7 +:100E900000E0014013B501228DF807100DF10701A4 +:100EA0000446FFF77BFF014624F00300FFF7E4FF51 +:100EB00002B010BD2DE9F8431E4B15460122C3F8C0 +:100EC000042510F0030304460E4610D0C3F10407B6 +:100ED000AF4228BF2F463A46A0EB0308FFF75EFF5C +:100EE00001464046FFF768FFED1B3C443E4425F0B9 +:100EF0000308B0443746A4EB0609B84513D115F0F2 +:100F000003020AD025F003052C4471192046FFF78F +:100F100045FF01462046FFF74FFF064B0022C3F86E +:100F20000425BDE8F88309EB070057F8041BFFF719 +:100F300043FFE2E700E00140F8B50B4B1546012204 +:100F400006460F46C3F804250024A54204D1064BEB +:100F50000022C3F80425F8BD57F8241006EB8400DE +:100F6000FFF72AFF0134F0E700E001404FF0805323 +:100F70001A695869504370474FF080531869704799 +:100F80004FF08053586970470139C9B2044B084487 +:100F9000197090F8802003495A708A5C9A707047E3 +:100FA00081450120584206000131C9B2044B084472 +:100FB000197090F8802003495A708A5C9A707047C3 +:100FC000814501205842060049F2A4239842064B6D +:100FD00003440B448BBFA3F51243A3F5F54313F869 +:100FE000390C13F8550C7047584206002DE9F04FA4 +:100FF0002023054680F88030421E85B07E3012F8EE +:10100000011F01F07F036F2B24D901F05F03904291 +:1010100082F88130F3D1B84C7F236370FF221B2309 +:1010200085F8FF30164602F101095FFA89F905EBF0 +:10103000090384F8009093F88030A3705B2B0ED1E5 +:101040000136F6B29B23AB552670A370012005B084 +:10105000BDE8F08F5F2B88BF01F04F03D7E72E2B41 +:1010600010D10232D2B222702A44A44992F88020D0 +:1010700062708A5C02F00102A2701AB90136F6B2FF +:10108000AB55BAE19D4A6370D25C12F0020040F0A9 +:10109000928042B122F07F011706A17013D4984BC1 +:1010A000984A1A60D3E722780136F6B22A44202300 +:1010B000782EA37082F880302670E1D99B23AB553F +:1010C00084F80290C2E7904A413B52FA83F393F8C6 +:1010D0001F2193F8397147EA02270137BFB2002177 +:1010E0003846FFF771FF0006F7D54FF00103637034 +:1010F0008846012211463846FFF766FF93462828A6 +:1011000002F10102D2B25BD1B8F1000F00D06170E0 +:1011100094F801A0CDF808A00AF1010A5FFA8AFA52 +:1011200051463846FFF750FF2928F3D1D046CDF875 +:10113000048008F101085FFA88F841463846FFF755 +:1011400043FF00F07F003D28F1D184F800906270E9 +:10115000CDF80090009BEB18114693F88030039374 +:101160003846FFF731FF039B984227D10299531C61 +:101170008A42DBB227D1A0704B460BF1FF3B5FFAEE +:101180008BFB59463846029384F801B0FFF71CFFE9 +:10119000010600F1E980594B20701A56029B002A83 +:1011A00017DA013BDBB2EA18237092F88020A270B4 +:1011B0009042E2D091E749F2A5278EE7A0708CE734 +:1011C0004FF0010896E7009A0132D2B200921A4617 +:1011D000C0E72028A0700CD119462846FFF7D4FE9E +:1011E000A37823F07F02A2701A063FF576AF23782A +:1011F000C3E723280AD119462846FFF7C5FEA3787E +:1012000003F04003A370002BF1D166E72E2807D12D +:1012100019462846FFF7B8FEA37803F00803F1E764 +:1012200026281BD119462846FFF7AEFEA378DB0619 +:10123000DDD42378EA1892F88020A270482A7FF43F +:101240004CAF013BDBB223702B4493F88030A3708A +:1012500003F0EF03432B7FF440AFC8E7402807D1EA +:1012600019462846FFF790FEA37803F00403C9E768 +:101270005E2807D119462846FFF786FEA37803F0BB +:101280002003BFE72B280CD1013BDBB223702B449A +:1012900093F88030A370452BA9D003F0EF03492BBE +:1012A000D9E73A2804D0164B184A1A600020CEE637 +:1012B000194628460293FFF767FEA278029B02F0C8 +:1012C0002002A270002A3FF458AF2378F0E7492AA1 +:1012D0007FF403AF9A1C55FA82F292F88020A27034 +:1012E0004E2A7FF4FAAE0333DBB223702B4493F81B +:1012F0008030A370472B34E081450120584206001E +:10130000C420002044420600505306004E4206000E +:101310002170A2F152010129A27040F2E880442A12 +:1013200000F0E5804C2A14D0462A7FF4D6AEDA1CB1 +:1013300055FA82F292F88020A270552A7FF4CDAE41 +:101340000433DBB223702B4493F88030A3704C2B12 +:1013500007E00333DBB223702B4493F88030A37093 +:10136000592B00F0C480B8E6009B24E0594638466B +:101370000293FFF729FE684B20701A56029B002A41 +:101380000EDB2028A0703AD119462846FFF70CFE44 +:10139000A37823F07F021806A27040F1A8809CE693 +:1013A0000133DBB2EA18237092F88020A2709042D9 +:1013B0007FF493AEDA46019A0AF1010B5FFA8BFBD8 +:1013C000924584F801B0D1D184F8018000224146D1 +:1013D0003846FFF7F9FD00F07F033D2B1EBF0136B5 +:1013E000F6B2AB5508F101030106DBB240F1908083 +:1013F0000AB184F80180DDF800904A4613E62328FC +:101400000AD119462846FFF7CFFDA37803F0400321 +:10141000A370002B6BD160E62E2807D11946284611 +:10142000FFF7C2FDA37803F00803F1E726281CD1DB +:1014300019462846FFF7B8FDA37803F01003A37000 +:10144000002B54D12378EA1892F88020A270482A01 +:101450007FF443AE0133DBB223702B4493F880302A +:10146000A37003F0EF03432B7BE7402807D1194615 +:101470002846FFF799FDA37803F00403C8E75E2828 +:1014800007D119462846FFF78FFDA37803F0200304 +:10149000BEE72B280CD10133DBB223702B4493F829 +:1014A0008030A370452B22D003F0EF03492B58E77F +:1014B0003A281ED025287FF4F6AE5A1CD2B22270EC +:1014C0002A4492F88020A270452A7FF400AF9A1C2B +:1014D000D1B255FA82F2104892F880206270805C96 +:1014E00020F07F0C000684F802C03FF511AF23788E +:1014F00060E7194628460293FFF756FDA278029B43 +:1015000002F02002A270002A3FF454AF2378F0E7E3 +:10151000984601225BE700BF58420600C0E942122C +:101520007047104B002110B50246196000F5007499 +:10153000034682F8121182F811110432A242F8D146 +:1015400000F5807100221A729A725A72DA720433AC +:101550008B42F8D17F2380F80C33034B034A1A6087 +:1015600010BD00BFD0400020C42000209A410600DA +:101570000023C0E94233704770B5002504462B466E +:101580007F26EAB204EB820292F810117F2907D17C +:101590000233204604F82310BDE8704017F0AABAC1 +:1015A0007E2908D10233204604F8236017F0A2FAFE +:1015B00000230135E5E70029FBD004EB830001336C +:1015C000017292F81111417292F81211817292F81F +:1015D0001321C272DBB2ECE730B50F4C0021CBB265 +:1015E00000EB830393F810217F2A14D0A25C5206EB +:1015F0000FD593F814217F2A0BD0A256002A08DABF +:1016000093F9165193F81621002D02DD013283F86B +:1016100012210131E3E730BD32550600F8B50D4621 +:101620007E290446164605F14500C1F17E0201F10E +:1016300044014FEA81014FEA800084BF4FF44271B8 +:101640004FF443704FEA8202214488BF00222044B5 +:101650001F4628F00BF804EB85019DF8183081F83F +:1016600012319DF81C3081F8106181F8117181F8F8 +:101670001331F8BD2DE9F3410023DFF878800546EA +:101680001C461E4605EB840191F810217F2A2ED0BE +:1016900091F811110B44DBB2671CEF2BFFB215D987 +:1016A000002302341A4639462846CDE90066E4B2E2 +:1016B000FFF7B4FFCDE9006600237E2221462846CD +:1016C000FFF7ACFF00230134E4B2DBE77D2AFAD850 +:1016D000424492F85120D207F5D5CDE900660023A7 +:1016E0007E2239462846FFF799FF3C46EAE702B0DA +:1016F000BDE8F081325506002DE9F04F034600F5B4 +:101700000072002183F8121104339342FAD10024AD +:10171000D0F80C614A4F22464FF00A0CB44208D36D +:1017200044327F2300F822300120BDE8F08F0C46C0 +:10173000F4E7D0F808E11EF80450611C602D88BF62 +:10174000203DC9B288BFEDB28E420DD01EF80130E7 +:10175000602B01D9203BDBB2232D20D1303B092B5C +:1017600004D9384B384A0CE00023F5E7A11CC9B274 +:101770008E4209D8FF2BF4D843701306D7D5314BCE +:10178000324A1A600020D0E71EF80140A4F130056B +:10179000092DEFD80CFB0343303B0131E7E7DFF8BD +:1017A000B0804FF0000EC14618F801BB5D455FFAEE +:1017B0008EFA12D11EF807B0BBF12A0F0DD05B458F +:1017C0000BD100EB8203013283F810A1417883F83A +:1017D0001311A11CD2B2C9B2CFE70EF1010EBEF1B6 +:1017E000510FE1D1164C002314F8018BB8F12A0FE8 +:1017F0005FFA83FE0DD119F80380A84509D100EBEB +:101800008203013283F810E1447883F81341D2B2A5 +:10181000B3E70133512BE7D10E4C082314F801E94B +:10182000AE4506D013B9074B0B4AAAE7013BDBB222 +:10183000F4E7002BF7D000EB820484F80E319CE72C +:1018400022560600C4200020B5540600A35406000A +:10185000D15506007B560600C3540600094A90F88D +:1018600010317F2B00D1704790F9121113440029D9 +:10187000D4BF93F84A3193F89A3180F8113104308B +:10188000EDE700BF325506002DE9F743DFF89480FD +:10189000064600273DB206EB850595F810417F2CE2 +:1018A00002D103B0BDE8F08318F80430791C9A0720 +:1018B000C9B234D5D80720D495F81331019308EB79 +:1018C000040995F812310093621C99F84B31D2B299 +:1018D0003046FFF7A3FE95F81331019395F81231C6 +:1018E0000093A21CB91CC9B299F84C31D2B230464F +:1018F000FFF794FEF91CC9B211E03A460132D2B2A8 +:1019000002F1440316F82330002BF7D07F2BD3D0FD +:1019100018F80320120702D4243B012BCCD80F4621 +:10192000B8E700BF325506002DE9F7437F4E8146E8 +:1019300000254FF01E082CB209EB840494F81031F6 +:101940001BB90135EFB23D46F5E77F2B00F0EB8088 +:10195000F25C6F1CD106FFB20ED44E2B2BD1182295 +:101960000D2194F8123184F8101194F81311CDE977 +:1019700000310023394642E012F0200F94F8123172 +:1019800094F813213946CDE9003248464FF0000360 +:101990000CBF14221522FFF741FE94F81031352BAD +:1019A00040F09B8094F80C31334493F851305B073E +:1019B000C9D510235FE04F2B03D11B22D0E71C2297 +:1019C000CEE7502BFBD012061DD594F81221D2B1D0 +:1019D00007F1440219F82220AAB9AA1CD1B209EBD6 +:1019E000810292F810017F280DD0305600280ADAC3 +:1019F00092F812213AB10023CDE900331F22484664 +:101A0000FFF70CFE9FE7172B08D0182B36D194F860 +:101A10000C31F356002B96DA13232CE094F80C319A +:101A2000013D452BEDB21DD12A2384F80C3105F17F +:101A3000430319F82330F356002B84DA0135EDB255 +:101A400009EB850595F81031002B62D0F356002B79 +:101A5000BFF679AF95F81231002B7FF474AF84F89C +:101A6000108170E7392B01D12C23DEE7F356002BD0 +:101A7000BFF669AF122384F8103164E7202B06D13A +:101A800094F80C313C2B7FF45EAF2623F3E7482B10 +:101A900016D194F814317F2B03D14B2384F81031E5 +:101AA00002E0F35C9806F8D594F81031F25CD207A6 +:101AB0007FF573AF94F80C21202A24D10C3BDAE790 +:101AC0003C2BF1D194F814317F2B3FF43CAFF35C05 +:101AD00099063FF538AF3F23CDE72A2B08D194F87C +:101AE0001331019394F8123100932B22002341E724 +:101AF0002C2B08D194F81331019394F812310093F0 +:101B00002D22002336E7452B91D0392B7FF41BAFD4 +:101B10008DE795F814317F2B3FF415AFF356002B6A +:101B2000BFF611AF9BE703B0BDE8F0833255060066 +:101B30002DE9F041614C0026F5B205F1440310F89F +:101B400023307F2B33D0234493F85130DB072CD53F +:101B50006A1ED2B200EB82022B46013B13F0FF0358 +:101B600026D092F810117F2904D061560029A2F1E5 +:101B70000402F2DA1AB200EB820292F810117F2905 +:101B80000FD0671897F85170BF0602D5615C4907FE +:101B900007D592F81171791CC9B201EB570182F88F +:101BA00011110133DBB2AB42E4D10136C4E70023AB +:101BB00042490626052712E01EF0040F07D11EF049 +:101BC000010F0BD092F81131A3EBD30334E09CF852 +:101BD0000D21531C03EB92038CF80D312B461AB2E6 +:101BE00000EB820292F810417F2C64D011F904E0DE +:101BF00011F804C05D1CBEF1000FEDB21FDA00EB5E +:101C0000850C9CF8104111F804807F2C14BF11F84A +:101C100004E04FF0410E18F0400FCDD1123C012CE2 +:101C2000DCD80233DBB2443310F82330CB5C5B06E4 +:101C3000D4D592F81131013B82F81131CEE70C4432 +:101C400094F8514014F0080F0DD000EB850393F881 +:101C500010217F2AC2D08A5C9207BFD583F8116118 +:101C600083F80D71BAE71CF0020F19D00133DBB213 +:101C700003F1440410F82440002CF7D07F2CADD0A1 +:101C80000C5DA407AAD500EB830393F81141640807 +:101C9000013483F8114192F811315B080133CBE72D +:101CA000E4069BD592F80C31CB5C9B0796D592F855 +:101CB0001131023BC0E7BDE8F08100BF325506009C +:101CC00038B5FFF72EFC0446FFF716FD0023C4E9E4 +:101CD000423308B3204D2B6823B1204804F58871A6 +:101CE00000F048F82046FFF71FFE2046FFF774FC7F +:101CF000FFF7B4FD2046FFF71BFFFFF7C5FD2346A6 +:101D000004F5007193F81021502A06D97F2A07D0D4 +:101D1000134B144A1A60002038BD04338B42F1D1B2 +:101D20002B6813B1104813F05DFE2046FFF7A2FCAC +:101D30002B6823B10D4804F5887100F01BF820468C +:101D4000FFF71AFC064B0A49186827F0E8FCB0FABE +:101D500080F04009E0E700BFCC400020DA540600E4 +:101D6000C4200020E95406000F5506001F55060048 +:101D70009A4106002DE9F34105461A481A4E1B4FB9 +:101D8000DFF86C800C4613F02DFE2946194813F03D +:101D900000FE194813F026FE184813F023FE04F540 +:101DA0007F7521787F2901D0A54208D10D4813F015 +:101DB00019FE134802B0BDE8F04113F013BE5029DC +:101DC0006278A37809D8CDE900230E487B5C18F827 +:101DD000012013F0DEFD0434E3E7304613F0D9FDB3 +:101DE000F9E700BF1C57060095570600225606006B +:101DF000D1550600495706005157060027580600DE +:101E000045580600725706002DE9F0431E4687B07C +:101E100007461D48DFF8749090460D4613F0E2FD2A +:101E200031461B4813F0B5FD1A4813F0DBFD1A4884 +:101E300013F0D8FD0024A64205DC134807B0BDE826 +:101E4000F04313F0CFBD05EB840018F8041082783E +:101E5000049155F8241015F82430C1F3463103914C +:101E6000C1780809029035F8240001F00F01C0F391 +:101E700086100190009103F03F03395D1209484636 +:101E800013F087FD0134D6E71C57060047580600BB +:101E9000B6570600E357060015580600024B5A696C +:101EA0000260586100207047D4400020024B5A69FC +:101EB00012685A61704700BFD4400020024B9A69F3 +:101EC000C0E9002198617047D4400020044A93691A +:101ED0001968916110B15A6818461047704700BFE1 +:101EE000D440002038B5054D0446AB690BB1A34280 +:101EF00000D338BD0120FFF7E9FFF6E7D44000200A +:101F0000C460056146618761C0F81C80C0F82090FC +:101F1000C0F824A0C0F828B0C0F82CD0C0F808E061 +:101F2000FFF7BCBF0F4D6C6908B50CB9FCF729FF72 +:101F300060602046FFF7D6FF23686B612046C468C7 +:101F4000056946698769D0F81C80D0F82090D0F8E0 +:101F500024A0D0F828B0D0F82CD0D0F808E0012088 +:101F6000704700BFD44000202DE9F0432A4C0025E3 +:101F70004FF0030CD4F800610021013143189A0896 +:101F800003F00303B25C5B0042FA03F303F00303C4 +:101F9000022BF2D0D4F80831090103EB00108E08AF +:101FA00089B300EB860603681A0729D1D4F8081113 +:101FB0005A1AC2F3011E99424FEA92174FEA4E0E87 +:101FC0004FEA12121CD8D4F80C11994218D9D4F83F +:101FD000009119F8078048FA0EF303F003030CFA96 +:101FE0000EF1012B41EA08010AD104EB850E3F2DC9 +:101FF00009F807109ABF0135CEF81C21C4F8183132 +:102000000430B042CFD12DB1013D04EB8503D3F8AC +:102010001C01AFE7BDE8F083D440002021F00F039E +:1020200010B51A1A0E4C013AA4FB024292090D4C4B +:10203000A3EB8211C4E94002C4F808110132002167 +:10204000C4F80C3127F02CFB002301214FF0FF32A4 +:10205000C4E94433C4E988322381A4F81C1210BDBA +:10206000FDC00FFCD4400020024A138901331381C4 +:10207000704700BFD4400020024A1389013B1381FE +:10208000704700BFD4400020024B1889003818BFA9 +:1020900001207047D4400020F8B51C4D2B89002248 +:1020A0000133C5F820222B81C5F8182105F1080459 +:1020B00005F1DC06032754F8043F1A071AD1D5F8B6 +:1020C0000821981AC0F3011193424FEA901C4FEA7D +:1020D00041014FEA10100DD3D5F80C21934209D2DB +:1020E000D5F8002112F80CE04EFA01F303F00303D7 +:1020F000012B02D0A642DED1F8BD07FA01F141EA78 +:102100000E0102F80C10FFF72FFFF3E7D440002078 +:10211000A9B32DE9F0411A4E0F46051F00244FF0D8 +:10212000030855F8043F1A0704F101041AD1D6F840 +:102130000821981AC0F3011C9A424FEA90114FEA05 +:102140004C0C4FEA10100DD8D6F80C219A4209D940 +:10215000D6F8002112F801E04EFA0CF303F0030365 +:10216000012B03D0A742DCD1BDE8F08108FA0CFCBA +:102170004CEA0E0C02F801C0FFF7F6FEF2E77047DA +:10218000D44000202DE9F843414ED6F81831002BF9 +:1021900072D0D6F8041100258900C6F818510F46F0 +:1021A000002947D00024D6F80001A20804F0030358 +:1021B000825C5B0042FA03F303F00303032B0B463C +:1021C00040D001348C42EED3D6F81821002AE4D155 +:1021D000D6F814219A4238BF531C002B56D0002742 +:1021E0003D4639464FF0030C4FF0020E05E0B9F1C1 +:1021F000010F36D0013199421CD0D6F80041880831 +:1022000001F0030214F80080520048FA02F909F0C4 +:102210000309B9F1020F2BD0B9F1030FE7D10EFA80 +:1022200002F20F46013128EA0202994222544FF08D +:102230000005E2D133890022013BC6E944273381FE +:10224000BDE8F8832046FFF78FFED6F8041101346D +:102250008900A1420B46A6D8D6F81821002A9CD1A5 +:10226000B6E70CFA02F228EA020222540125C1E77D +:10227000002DF6D10F46BDE7D6F80431D6F814216B +:102280009B009A4238BF531C002BA8D11F46D1E7B0 +:10229000D4400020044B1A8900210132C3F81811E0 +:1022A0001A81FFF76FBF00BFD4400020394BD3E93C +:1022B00042122DE9F047521A0024D3E94061C0E9E7 +:1022C0000144C0E90344C0E9054402604FEA810CBF +:1022D000A646274625462246A1462146A04616F890 +:1022E000093049000B4103F00303012B47D0022BB7 +:1022F00041D0002B38D0013294450ED04FEA9209DC +:1023000002F0030116F809304FEA410A43FA0AF3D2 +:1023100013F0030301D0012BE1D1012D11D0022DC7 +:1023200002D14169013141618169A94238BF8561AA +:1023300094450FD0012B26D04FEA920902F00301F9 +:10234000CDE70169013101618169A94238BF856129 +:102350009445EFD1474500D9C76024014FEA0E13D9 +:10236000C0E90143BDE8F0870EF1010EC0F808E0B6 +:1023700001371D46BFE7013444600135BBE7013436 +:1023800044601D46B7E7B84501D2C760B84600278C +:10239000D2E700BFD44000202DE9F04100F10F0545 +:1023A0002D0959D05E4C2389002B55D1B4F81C322D +:1023B000002B0CBF4FF0010C4FF0000C50D1D4F8A3 +:1023C0001011D4F80461B14239D2D4F80071481E1A +:1023D000384400221AE00132954251D913F00C0F13 +:1023E0001ED10132954240F2918013F0300F1CD182 +:1023F0000132954240F28D8013F0C00F1AD10132A4 +:10240000954240F289800131B14218D210F8013F63 +:1024100013F0030FDFD013F00C0F4FF00002E0D0E9 +:1024200013F0300F4FF00002E2D013F0C00F4FF066 +:102430000002E4D00131B1424FF00002E6D3BCF11A +:10244000000F09D1FCF794FCD4F81011D4F8046102 +:10245000B1424FF0010CB8D300231846BDE8F0811B +:10246000D4E988239A42AAD3FCF782FCD4F810114D +:10247000D4F80461B14238BF4FF0010CA5D3EBE7AB +:102480008900A1EB020C012A0CF1010E03D14B1CB7 +:102490009B08C4F81031D4F814318B4238BF0B4676 +:1024A0004FEA9E00C4F814310EF0030317F80080C1 +:1024B0005E0001230CF1020CB34043EA08036145BE +:1024C0003B5411D34FF002084FEA9C06D4F80001A8 +:1024D0000CF00303875D5B0008FA03F30CF1010CB9 +:1024E0003B4361458355EFD2D4F80831D4F820122C +:1024F00003EB0E130D44120100211846C4F82052BC +:1025000027F0CEF803461846BDE8F0818900013176 +:10251000B7E789000231B4E789000331B1E700BFB2 +:10252000D440002030B5184D2B8963BB58B3D5F883 +:102530000831D5F81011D5F80041C31A9A09B1EB4A +:10254000931F88BFC5F810211809A15C4FEA900CB1 +:1025500000F003034FF0030E5B000EFA03F321EAD1 +:10256000030304F80C300130D5F800414FEA900C19 +:1025700000F0030314F80C105A0041FA02F202F0C2 +:102580000302022AE8D030BDD4400020034610F0F8 +:102590000F001AD1164AD2F80811994217D810B470 +:1025A000D2F80C419C420ED95B1AD2F800419A092C +:1025B000C3F30111A25C49000A4102F00302012A9F +:1025C0004FEA131304D010BC7047002070477047C7 +:1025D00001301A18910802F00302615C520041FABE +:1025E00002F202F00302022AF2D00001EBE700BF80 +:1025F000D44000202DE9F04789460546002800F028 +:10260000F4807E4C002900F091802189002940F05F +:10261000B680D4F80831C31A4FEA131CD4F8043139 +:102620000CF1010809F10F07B8EB830F4FEA1717F8 +:102630004FEA83008E4680F0DE80D4F80011012638 +:102640004FEA980308F0030ACB5C4FEA4A0A43FAC0 +:102650000AF303F00303022B00F0958033B90EF167 +:10266000010E0EEB0603BB42C0F08E80B74259D07C +:102670003CD3B644BE4580F08D80002A7FD0002137 +:102680004846FFF789FE0746002878D032012946E0 +:1026900026F0DEFF2389002B45D1D4F80831D4F889 +:1026A0001021ED1AAB092809B2EB951FD4F800519F +:1026B00088BFC4F81031E95C860800F003034FF0CE +:1026C000030C5B000CFA03F321EA0303AB55013062 +:1026D000D4F80051860800F00303A95D5A0041FABE +:1026E00002F202F00302022AEBD01CE067443A46F1 +:1026F000B4444FF0030E9008D4F8006102F00303D5 +:10270000315C5B000EFA03F3013221EA03036245F8 +:102710003354F0D1D4F81031BA08B3EB970F88BF17 +:10272000C4F810212F463846BDE8F087238933BB13 +:10273000D4F80801D4F810212D1AAB09B2EB951F7B +:10274000D4F8000188BFC4F810312E09C15CB50867 +:1027500006F0030303275B0007FA03F321EA0303F0 +:1027600043550136D4F80001B50806F00303415D76 +:102770005A0041FA02F202F00302022AEBD00027CB +:102780003846BDE8F087013608F1010840457FF47E +:1027900057AF6BE70CEB07010CEB0602914212D925 +:1027A0004FF002089008D4F800C102F003031CF8AF +:1027B00000E05B0008FA03F3013243EA0E039142A2 +:1027C0000CF80030EED1D4F81431BA1B8B4238BF6C +:1027D0000B46120105EB06102F460021C4F81431F8 +:1027E00026F05EFF3846BDE8F08701464846BDE862 +:1027F000F047FFF7D1BD012638E700BFD4400020E5 +:1028000010B58AB0044603A8FFF750FDDDE9043097 +:10281000039A00900749204600F0B4FFDDE9083133 +:102820000698079ACDE900100349204600F0AAFF58 +:102830000AB010BD94BC0500B8BC05002DE9F84FE6 +:10284000DFF82CB14B49DBF80821074600F09AFF6E +:10285000DBF80421920077D0DFF81C81DFF81CA19F +:10286000DFF81C9100250EE0012E3DD02E224549B7 +:10287000384600F087FFDBF804310135B5EB830FF4 +:102880004FEA830260D215F03F0610D005F0030630 +:102890007600DBF80021AB08D35C43FA06F606F0BD +:1028A0000306022E1ED0032EDED16D22DFE7DBF8F9 +:1028B00000112C46A00804F00303085C5B0040FAFA +:1028C00003F39B0702D101349442F3D3621B7F2AA6 +:1028D0002ED805F0030676002A014146384600F05E +:1028E00051FFD6E73D22C2E7DBF808212B01D25881 +:1028F0004A452FD0244B9A422ED0244B9A422FD0B7 +:10290000234B9A422AD0234B9A4227D0224B9A42F9 +:1029100028D0224B9A4225D0214B9A4226D0214BD7 +:102920009A4221D0204B9A420CBF4D2268229EE74A +:1029300092095146384600F025FFDBF8043124F0B7 +:102940003F05B5EB830FC7D338461849BDE8F84FAC +:1029500000F07EBB54228AE74C2288E7532286E7A8 +:10296000442284E7412282E7422280E746227EE732 +:10297000D440002000BD050038BD05001CBD050089 +:1029800018E9050040BD0500D4E3050074DC05002E +:10299000DCE8050084E6050030DB050064DB0500AB +:1029A000A4E10500D8E10500D0E40500FCBC050069 +:1029B000064A0346506A1A684168C1F31E018A42FA +:1029C00002D3521A1A6070470068F5E7D44000201D +:1029D000014441F20553884204D3D8B2012838BFDC +:1029E0000120704710F8012B03EB43135340F2E72B +:1029F000034B044A5A620022C3F8E020704700BF2C +:102A0000D4400020C0F705002DE9F04781460F466D +:102A1000002942D0FFF7DCFF214B5C6A82460CB9EB +:102A2000204636E094F90730E668002B06F1FF36C1 +:102A30004FF0000516DB013604F11808B54215D336 +:102A40002468ECE706EB05084FEA580808F106038E +:102A50003A4654F82310484626F073FE0028CCBFAF +:102A600045464646731B012BECD8E4E723695B5DC2 +:102A70009A4510D163695B5D9F420CD158F82500DF +:102A80003A46494626F0D4FD28B96068C0F31E00D6 +:102A90002844BDE8F0870135D0E70120F9E700BF01 +:102AA000D44000202DE9F84380460E46FFF7ACFFE6 +:102AB0000246002840F09280FF2E03D949494A4837 +:102AC00006F093FF494CD4F8E000751C90B1D4E9AE +:102AD00039132B448B4229D9294425F039F907466B +:102AE000D8B90246D4F8E810D4F8E00025F030F95F +:102AF000C4F8E070802D2F4638BF8027384625F077 +:102B000017F9C4F8E000D0BB284625F011F9C4F845 +:102B1000E00098BB284607F0FDFCD4F8E4302B44D5 +:102B2000C4F8E430D4F8E030002BE3D0D4F8E83037 +:102B3000D4F8E0701F4441462B44324638464FF0EB +:102B40000008C4F8E83026F083FD07F80680314617 +:102B50003846FFF73DFF636AD3E90253AB42814633 +:102B600029D36D000A2D38BF0A2506206843183086 +:102B700025F0DEF848B9C4F8E000CBE72F46002383 +:102B8000C4F8E470C4F8E830D0E700F1180303EBB0 +:102B90008503626A03612B44436153680260D26813 +:102BA000C0F80C80C3F31E031344426863F31E0293 +:102BB000C0E901256062636AD3E9030303F800906A +:102BC000636A5B691E54821D636A43F82270DA6887 +:102BD0000132DA605A68C2F31E0202441046BDE8B0 +:102BE000F88300BF69580600F8DE0500D4400020D5 +:102BF00010B5044626F09DFD01462046BDE8104074 +:102C0000FFF750BF07B5019001A8FFF7D1FE019B68 +:102C10000269D05C03B05DF804FB07B5019001A820 +:102C2000FFF7C6FE019B4269D05C03B05DF804FB70 +:102C300007B5019001A8FFF7BBFE019B063350F8D2 +:102C4000230003B05DF804FB13B5019001A80C4606 +:102C5000FFF7AEFE019B4269D25C2260063350F85A +:102C6000230002B010BD2DE9F8431D460023036088 +:102C70000B6013602B60164BDFF858905C6A0746B8 +:102C8000884616460CB14C4505D12B683268134472 +:102C90002B60BDE8F8833B6801333B60E268D8F8FD +:102CA00000301344C8F800306269E368D1188A42E2 +:102CB00007D32046FFF76AFC2B68246803442B6087 +:102CC000E0E7336812F8010B013303443360EEE7A9 +:102CD000D4400020C0F705002DE9F8430D4B0E4FFE +:102CE0005C6ADFF83880DFF838900CB1BC4201D163 +:102CF000BDE8F883E36804F1180505EB8306B542E7 +:102D000001D32468F1E755F8042B4146484600F00A +:102D100039FDF4E7D4400020C0F705006E580600E6 +:102D2000C0D2050030B50023202411F8012F0AB9C4 +:102D3000027030BD120600F101051FD50BB1047001 +:102D400028460B78124A03F07F036BB9013A12F858 +:102D5000013F13F0800F054600F101000BD003F096 +:102D60007F032B700123E0E712F9015B002DFBDAF2 +:102D7000013BDBB2E9E700F8013CE8E7012B04BFC7 +:102D8000047028460B7800F8013B0223CDE700BF12 +:102D90007558060038B544680368214499420546D1 +:102DA00010D9037B1BB10848002106F01EFE01F17B +:102DB000100424F0070408348068214624F0BDFF85 +:102DC0002C60A86038BD00BFF8DE050070B5044671 +:102DD0000E4611461546FFF7DDFFD4E901302A46BD +:102DE0003146184426F042FC62682A44626070BD95 +:102DF00070B54668B142044628BF31460D460121F0 +:102E0000FFF7C8FFA368681C5919721B184426F005 +:102E10002DFC6368A06801336360284470BD38B539 +:102E20000129044638BF012100250846216065605C +:102E300024F073FF2573A06038BD38B505460C46F5 +:102E40000131FFF7ECFF6C6038BD0023C0E90132AF +:102E5000012301600373704738B514460546FFF738 +:102E6000DEFF024B2560636038BD00BFCD2D03003F +:102E7000037B10B5044613B9806824F06BFF002370 +:102E8000A36010BD38B50546102024F046FF294642 +:102E90000446FFF7C4FF204638BD10B5044648B1CC +:102EA000037B13B9806824F055FF2046BDE810402D +:102EB00024F050BF10BD38B5037B04460D461BB14E +:102EC0000748002106F091FD01688068294424F03C +:102ED00034FF2368A0601D442560184438BD00BF3E +:102EE000F8DE050056E738B504460D46FFF752FFF9 +:102EF000D4E901301D446560184438BDD0E9002391 +:102F00009A4210B5044602D10121FFF7D4FFD4E95B +:102F100001320021D154A06810BD10B50C4601212A +:102F2000FFF7E1FF047010BD7F29F8B50C46CEB263 +:102F300004D80121FFF7D7FF0670F8BD06F03F0661 +:102F4000B1F5006FC1F3871546F0800607D2022164 +:102F5000FFF7C9FF65F03F0505704670EDE705F026 +:102F60003F05B1F5803FC1F3073745F0800508D232 +:102F70000321FFF7B8FF67F01F07077045708670E1 +:102F8000DBE70421FFF7AFFFA40C07F03F0764F075 +:102F90000F0467F07F07047047708570C670CCE738 +:102FA00038B5054608460C4626F0C3FB21460246C6 +:102FB0002846BDE83840FFF709BF10B51446FFF7B3 +:102FC00017FF047010BD10B51446FFF711FF047011 +:102FD00010BD43688B422CBF591A002141607047D5 +:102FE00038B50446154662688A42084603D9294422 +:102FF0008A4201D8606038BDA368521A1844194447 +:1030000026F034FB6268521B6260F4E70A46002136 +:10301000FFF7E6BF07B5044B00906846019300F048 +:1030200053FA03B05DF804FBCD2D03000EB403B5D5 +:1030300003AA52F8041B0192FFF7ECFF02B05DF8FF +:1030400004EB03B0704700BF08461146FDF77ABE97 +:1030500070B5054608460E4626F06BFB044620B1C7 +:1030600002466B68286831469847204670BD2DE9B6 +:10307000F74F8A469DF8301091460D9A11F0DF0FF8 +:103080000646A2EB09023FD030290CA9254F0EBFFE +:103090004FF010080F464FF0010813F0800537D0AD +:1030A00002EBD2746510A2EB6404002D37DDAB4651 +:1030B000D845424673683068A8BF5A4639460192DF +:1030C0009847019AABEB020BBBF1000FF0DCB9F1B2 +:1030D000000F05D0736830684A46514698474D4402 +:1030E000002C0DDD2544A045C146A8BFA14673684C +:1030F00030684A463946A4EB09049847002CF2DCB4 +:10310000284603B0BDE8F08F074F4FF01008C4E722 +:1031100013F0010401D11546C7E71446D7E700258F +:10312000D5E700BFADD205009CD205002DE9F043E4 +:1031300089B006460020119D9DF84880139F8DF8A8 +:103140000F000AB381421ADA2D228DF80F2049426E +:10315000109A08ACA2F10A000DF11009B1FBF3FCC2 +:1031600003FB1C12092A8CBF1218303204F8012DFF +:103170004C458E4661460ED07345EFD90BE0A8074B +:1031800027D52B228DF80F200029E1D130238DF88F +:103190001F300DF11F0415F040099DF80F301CD0B1 +:1031A00023B30122CDE900822B460DF10F013046F9 +:1031B000FFF75DFF013F814608AACDE900872B4656 +:1031C000121B21463046FFF752FF484409B0BDE8C4 +:1031D000F0836A07D8D52022D4E7002BECD004AACC +:1031E0009442E9D904F8013C013CE5E79946E3E75C +:1031F0002DE9F04F93B01E469DF874300793CB072E +:10320000DDE91E871C9D81460C4692460BD488073B +:1032100003D109687F4B994205D0204607F0ECFFA7 +:10322000440044F0010415F0810306D1079A302AC6 +:1032300003D1B845B8BFB8461F4620460AF0CBFDBB +:1032400000280DF1280B18DBA90712D52B238DF8C8 +:1032500028300DF12901EB06F6B21DD5BAF1020FA7 +:103260000DD10B46302003F8020B701C4870194634 +:1032700012E06A0701D52023E9E75946EBE7BAF1E6 +:10328000080F62D1A8054FF030030B7045BF06F15F +:103290000E034B7001310231002315F0200FA1EB1A +:1032A0000B020B700CBF19462C21012F0EA8C8BFB2 +:1032B00045F0400506920B9015F040024FF01000CB +:1032C000CDE90C03CDE902618DF82730059246D097 +:1032D000CDE900A30DAA23460CA90BA80AF054FCC3 +:1032E00003782D2B824606D18DF827300D9B013BAC +:1032F00000F1010A0D93012F40F384800D9C059B82 +:10330000BC42B8BF3C462BB19DF8273003B1013415 +:10331000069B1C44A0452DDD15F00103A8EB040419 +:1033200029D126461C4625F001054EB120230093E5 +:103330000023019638491A464846FFF798FE06468C +:10334000059BD3B9302307933AE0BAF1100FA3D10C +:103350000B46302003F8020B06F1170086E70AAB94 +:10336000CDE900A30DAA23460CA90BA80AF00CFC7A +:103370008246C0E700240026D5E7302307939DF856 +:1033800027305BB100230122CDE900320DF1270186 +:103390004846FFF76CFE08F1FF380644069B63B110 +:1033A00000230122CDE900325946069A4846FFF72C +:1033B0005EFE069B0644A8EB0308012FD8BF4746D4 +:1033C000079B00930D9A01972B4651464846FFF7FD +:1033D0004EFE06444CB12023009300230E49019475 +:1033E0001A464846FFF743FE06440B980EAB984238 +:1033F00001D024F0AFFC304613B0BDE8F08F0024BC +:103400002646BCE7059B002BF9D11C461E464746C5 +:10341000D6E700BF88E30500994106002DE9F04199 +:103420008AB0074608469907DDF844801E4644D412 +:1034300013F0040F0CBF002320230193129B009371 +:1034400002A91346202205F075FCF305044610D5A9 +:10345000431C1F2B0DD800F128020DEB020425227E +:1034600004F8202C03F128026A44002102F8201CF1 +:103470001C4616F0400522D09DF808302F2B4FF047 +:1034800000031ED8012202A9CDE900323846FFF719 +:10349000EEFD08F1FF380546013C0DF109019DF8EC +:1034A00040300093CDF80480334622463846FFF77B +:1034B000DEFD28440AB0BDE8F0812B23BDE702A958 +:1034C000EDE702A91D46EAE72DE9F04F824689B0F3 +:1034D000144600260B461D4613F8012B82B9A9425B +:1034E00011D30B78002B00F04581013120234FF0E0 +:1034F00000080A4612F8015B7DB94FF00A0C2AE079 +:10350000252AE8D1EBE76F1ADAF80430DAF8000080 +:103510003A4698473E442946E3E72D2D03D148F02B +:1035200001081146E5E72B2D02D148F00208F8E723 +:10353000202D02D148F00408F3E7212D02D148F0F4 +:103540000808EEE7302D22D148F040082B46E8E786 +:103550000CFB0525303D0F4611F8012BA2F1300080 +:103560000928F5D92E2A42D17A782A2A11D00A467A +:103570004FF00A0C0021174612F801BBABF13000E6 +:10358000092809D80CFB01BBABF13001F3E700259A +:10359000B3E754F8041B023721EAE17B3A786C2A3E +:1035A00008BF013797F80090B9F1000F00F0E280F2 +:1035B000B9F1780F6BD8B9F1570F1BD8B9F1470F94 +:1035C00062D8B9F1440F62D9073424F00704F4E853 +:1035D000020105931BF002F9059B00930146CDE91A +:1035E000015B43464A465046FFF718FF63E04FF041 +:1035F000FF3BD3E7A9F15802202A48D801A151F88E +:1036000022F000BF433703008F3603008F360300DC +:103610008F3603008F3603008F3603008F3603008A +:103620008F3603008F3603008F360300A136030068 +:10363000C336030027370300C9350300C93503002B +:10364000C93503008F3603008F3603008F36030021 +:103650008F3603008F3603008F3603008F3603004A +:103660008F36030065370300D73603008F3603001B +:10367000013703008F360300433703008F36030002 +:103680008F36030043370300B9F1500F6AD0DAF8E0 +:103690000430DAF8000001223946984701360BE081 +:1036A00054F8042BCDE9003543463AB1334904229E +:1036B0005046FFF7DCFC0644791C0BE73049052235 +:1036C000F6E754F8042B8DF81C20CDE900350122D3 +:1036D000434607A9ECE707A954F8040B0593FFF745 +:1036E000B3FABBF1FF3F059B014604D0079A93450F +:1036F00038BFCDF81CB0CDE90035079A4346D7E76F +:1037000054F8049B0593484626F013F8BBF1FF3F9D +:10371000059B024602D0584528BF5A46CDE90035E0 +:1037200049464346C4E7CDE9023561230093CDF80D +:1037300004800A23012254F8041B5046FFF7F6FCCC +:10374000B9E729F00F0209F101010F3A01F0060172 +:10375000D2B2CDE90235CDF804800092C1F1100358 +:103760000022E8E7CDE9023561230093CDF804801B +:103770001023F5E7304609B0BDE8F08F77740600F6 +:103780007C7406000EB403B503AA52F8041B019220 +:10379000FFF79AFE02B05DF804EB03B0704700BF7C +:1037A00002690A2A10B5044622D1C3690133C361F4 +:1037B0000123236263692361A3696361D4E901037F +:1037C00098476369A0610D2B07D10A239842636172 +:1037D00003D1D4E901039847A061A369013306D15D +:1037E00063695A1C03D00A2B1CBF0A23A36110BDB6 +:1037F000036A092A04BF073323F007030133D8E71C +:1038000038B504460D462069431C02D100252846E0 +:1038100038BD0A2807D115B1A36A002BF7D020467E +:10382000FFF7BEFFEFE715F0E2FA0028F7D12369B2 +:10383000232B08D12046FFF7B3FF23695A1CE2D09F +:103840000A2BF7D1DFE75C2BE0D163690A2BDDD1CE +:103850002046FFF7A5FFE2E70369272B1DD0222BA7 +:103860001BD0752B03D023F01002622A10D14269BD +:10387000272A12D0222A10D0722B09D1622A0ED107 +:103880008069272809D0A0F1220358425841704787 +:10389000622B04D14369722BF1E7012070470020AD +:1038A00070472DE9F74F0023044683640121FFF799 +:1038B000A7FF656AE369A363002D236AE36307DA60 +:1038C000062384F840300135656203B0BDE8F08F0F +:1038D00004D0052384F84030013DF5E7002837D0B7 +:1038E00029462046FFF78CFF042384F84030D4E9B2 +:1038F0000C306FF000429918256A30F81110013D24 +:103900008D42E2D019D9E16A8B4207D308314900D0 +:1039100024F013FAE36A60630833E362D4E90C32FB +:10392000591C216322F81350636A01336362CCE7A8 +:10393000013B2363636A013B6362236B991830F890 +:1039400011108D42F4D3C0D0022384F84030BCE77C +:1039500021694E1C02D184F84000B6E72046FFF7EB +:103960007BFF0090002800F05A8184F8405004F159 +:1039700044062369752B5CD0622B4ED16369722B90 +:10398000009B15BF4FF000089846012702270B2324 +:1039900094F84020002A55D184F840303FB12046A9 +:1039A000FFF7FEFE022F02D12046FFF7F9FE236942 +:1039B0002046222B14BF4FF0270A4FF0220AFFF7B0 +:1039C000EFFE2369534540D163699A453DD12046B6 +:1039D000FFF7E6FE2046FFF7E3FE4FF0030900275E +:1039E000D4F810B0BBF1FF3F00F01381B9F1010F23 +:1039F00003D1BBF10A0F00F00C814F4528D33946A3 +:103A00003046FFF7E6FA01212046FFF7F9FE20468F +:103A1000FFF722FF0028ACD157E7722B0ED1636964 +:103A2000DDF80080622B15BF012702270A230B2334 +:103A3000AEE74FF0000801270A23A9E72F464FF011 +:103A40000008F9E79A42A9D03FE74FF00109C6E71D +:103A5000DA4508D1514630460137FFF765FA20466E +:103A6000FFF79EFEBCE7BBF15C0F40F0CC80204628 +:103A7000FFF796FE2769B8F1000F05D05C213046AC +:103A8000FFF752FABB469EE0782F06D85B2F0BD883 +:103A9000222F7BD056D80A2F52D0A7F1300BBBF182 +:103AA000070FEBD80327A2E0A7F15C021C2AF4D889 +:103AB00001A353F822F000BF8D3B03009B3A0300A3 +:103AC0009B3A03009B3A03009B3A03002D3B030003 +:103AD0005F3B03009B3A03009B3A03009B3A0300C1 +:103AE000773B03009B3A03009B3A03009B3A030099 +:103AF0009B3A03009B3A03009B3A03009B3A030066 +:103B00006B3B03009B3A03009B3A03009B3A030084 +:103B1000593B03009B3A0300653B03007D3B0300D8 +:103B2000713B03009B3A0300DD3B03004FF0070BA2 +:103B300094F840300A2B61D159463046FFF7F4F92A +:103B400000278CE7552F19D0A7D8272F1ED04E2F2E +:103B5000A3D1A44806F0D6FE4FF00D0BE8E74FF0D6 +:103B6000080BE5E74FF0090BE2E74FF00A0BDFE740 +:103B70004FF00B0BDCE74FF00C0BD9E794F840202B +:103B80000B2A05D15C213046FFF7CEF9BB46CFE7C3 +:103B9000752F0CBF042708274FF0000B11E02046BB +:103BA000FFF7FEFD22690192104615F03FF900284B +:103BB00000F05581019A104615F086F94FEA0B1B6B +:103BC0008344013FEBD2BBF1FF3FB9D0BBF5881F67 +:103BD000AED34FF0010384F84030B1E70227DBE7B2 +:103BE0002046FFF7DDFD2269303A02EBCB0B62691C +:103BF000303A072AE7D8013FF2D1E4E7BBF1FF0FE3 +:103C0000E7D80B2BE5D15FFA8BF13046FFF785F94A +:103C100096E74F453CBF032284F84020EFE6084674 +:103C200015F0F0F8054620691DB95F2801D07F28FE +:103C30003ED9072384F8403004F14405C1B2284638 +:103C4000FFF76BF92046FFF7ABFD2069421C1BD143 +:103C50002846FFF753F9644F0646002557F8041B22 +:103C6000304625F05CFD00281CD10D35EDB2102D3D +:103C700084F840507FF429AE5C4BD3F8EC30002B35 +:103C80000CBF0F230D2360E615F0BCF840B9206986 +:103C90005F2805D07F2803D815F0BEF80028D7D0BC +:103CA000217CCCE7FFF611AE0135242DD6D10CE6F0 +:103CB00015F0B2F868B321692E2935D1092384F8AB +:103CC000403004F144063046FFF72EF92046FFF756 +:103CD00067FD09272069431C3FF4F7AD002D39D15A +:103CE00020F02003452B35D16521304684F8407003 +:103CF000FFF71AF92046FFF753FD21692B2901D060 +:103D00002D29E7D13046FFF70FF92046FFF748FD90 +:103D1000E0E723692E2B04D1606915F07DF80028B7 +:103D2000C9D1334D002635E00823302984F84030CE +:103D3000C7D1656945F02005A5F16203162B9FBF29 +:103D40002C4DDD40ED4305F0010588BF012585F0D0 +:103D50000105B6E715F056F828B121692E290DD1D5 +:103D600084F84070CEE7206915F056F80028F4D1A9 +:103D700023692E2BF1D05F2BC7D0A6E521F02003BD +:103D80004A2BBFD1ECE7652F01D0632F00D101355D +:103D9000013601352F7817B12369BB42F3D1204694 +:103DA000FFF7FEFC0FB90123CFE5212F07D12369CF +:103DB0003D2BF8D12046FFF7F3FC3823C5E52E2F25 +:103DC0001AD123692E2B02D163692E2B01D05B23DC +:103DD000BBE52046FFF7E4FC2046FFF7E1FC0C239F +:103DE000B3E500BFC7740600C8D20500D440002068 +:103DF00082740600012040000335324615F8027C2B +:103E0000632F11D0652F0FD0184B134493F89030C7 +:103E100084F8403003F0FB02532A01D0552B14D113 +:103E2000A36A0133A36250E515F8013C2169994268 +:103E300006F1010607D12046FFF7B2FC3246652F96 +:103E4000E2D00235DAE7632FFAE703F0FD02542AE5 +:103E500002D0582B7FF439ADA36A013BE2E74FF063 +:103E6000010384F84030834662E600BFC8D20500F3 +:103E70007FB5064601AD542085E80E0023F04DFFC6 +:103E80000446034695E8070043F8046B83E80700FF +:103E900001236FF00102C4E9073200250A22C4E9B8 +:103EA0000B23C4E90955142023F037FF2021606358 +:103EB00004F14400FEF7B3FF636B20461D80C4E9A4 +:103EC00005552561FFF76CFC2046FFF769FC20468D +:103ED000FFF766FC2046FFF7E4FCE36B012B06D0FE +:103EE00094F84030042B1CBF052384F84030204652 +:103EF00004B070BD30B585B001AC0546204615F064 +:103F000027F894E80E002846FFF7B2FF05B030BD51 +:103F100010B5044670B1C3684068984704F1440086 +:103F2000FEF7A6FF606B23F015FF2046BDE81040AA +:103F300023F010BF10BD00BFD0E90432013B036184 +:103F400052F8230070470369C9431944436953F881 +:103F500021007047F8B5446A06460D46BCB1D4E965 +:103F600000132B448B4223D905F108030022194486 +:103F7000204623F0EDFE0246B8B9616820460831BC +:103F800023F0E6FE63682360336A63603462802D49 +:103F90002F4638BF802707F1080023F0BEFE00231C +:103FA000076043600446706202E023682B4423608C +:103FB00060680544656008342044F8BD38B50D4696 +:103FC0000C211446FFF7C6FF4FF49D72C0E901248F +:103FD000056038BD38B5D0E903329A4204460D4633 +:103FE00008D310339900406923F0A7FEE3686061AD +:103FF0001033E360D4E90432591C216142F82350A4 +:1040000038BDF8B504461D46D0E9000383420F468B +:10401000164608D31030C100A06823F08EFE236836 +:10402000A06010332360D4E90103421C626053F89E +:10403000301067F3170143F8301003EBC002D6705D +:104040005560F8BD10B48469CAB20023A16B10BCDE +:10405000D7E710F001021CD110F003030CD000F0E0 +:104060000F03062B15D00A2B11D100090C38032899 +:104070008CBF00200120704770B102793A2A08D025 +:104080002D2A08D18068B0FA80F0400970471046A8 +:1040900070470120704718467047C20702D540F0AC +:1040A00001007047830710D0030900F00F000628B5 +:1040B00003D1D80040F002007047A3F10D000228A0 +:1040C00009D8074B53F82000704730B103793A2BD9 +:1040D00003D180687047034870470348704700BFAA +:1040E00084D3050048E6050010E9050038B505460B +:1040F0000C46FFF7AEFF38B12846FFF7CEFF07F0BA +:10410000C3F9031B5842584138BD2DE9F04105461B +:104110000F461446164696B9314620460CF0A6FEC8 +:10412000014600F10808ACB90A4628463946FFF7AF +:1041300045FF01462846FFF74DFF012008E0013EFC +:1041400031462846FFF7FFFEFFF783FF0028E2D144 +:10415000BDE8F0812846FFF7EFFE0646FFF79DFF1A +:10416000013C48F82400002EDDD0B307DBD1686A9B +:1041700000F108039E42D6D3426813449E42D2D235 +:1041800073681B0A0233A2EB83034360CBE7F7B5E6 +:10419000866996F84020072A05460F461ED1D6E9C3 +:1041A0001210FEF77FFC902F04460ED1C1000022B2 +:1041B00041F0020105F1280006F055FD28B14268E2 +:1041C000D3071FD542F0010002E0200140F00200B9 +:1041D0000146284603B0BDE8F040FBE6082A07D1B7 +:1041E0000022D6E91210334604F0E4FF0246E7E766 +:1041F000092A0CD10096D6E912100023012205F0FD +:1042000057F80246B16B2846FFF7D8FEE0E70A2AC6 +:1042100013D1D6E912100A2906D8FEF743FC30B1B3 +:10422000000140F00600D3E7FEF7EEFBF7E7D6E922 +:10423000122107480BF047F9E3E70B2A04D1D6E92E +:1042400012100BF03EFADCE7120142F00A00BFE761 +:10425000DCE8050010F00102034604D040F0010341 +:104260000B600120704790B110F0030010D11A7953 +:104270003A2A0ED19B680B6013F00100F1D19A0726 +:1042800007D11868034BC31A58425841704770470A +:104290001046704788E30500002127E7012125E744 +:1042A0002DE9F04F85B01D462D2A00F12803044664 +:1042B0008846164601930BD10021FFF744FEB8B1A2 +:1042C000870702D10379922B12D005B0BDE8F08F99 +:1042D000922A20D10021FFF736FE014640B188071F +:1042E00006D10B79952B0AD12046FFF725FE013D1B +:1042F000A6F11E03012B6ED8A9462F461AE0962B75 +:10430000F6D12046FFF718FE4B6823F0FF0343F079 +:1043100092034B60D9E7962A08BF0135E8E71E2EC5 +:104320004CD1FFF7BBFFC8B95046FFF7B5FF0028D7 +:1043300008BF5F4607F1FF3BB9F1000F0ED009F14E +:10434000FF3949462046FFF7FEFD22696169D21B0D +:10435000824641F82200B9F1000FE0D10021594511 +:1043600034D16D1A012DB0D0A6F12303022B01D94F +:104370002A2E7DD1691E2046FFF7E5FD02A9FFF731 +:1043800069FF002800F04E81232E3ED0242E3FD01E +:10439000252E0CBF4FF018094FF02209AF1E002F39 +:1043A00039DA002D40F03381029AD30740F134818D +:1043B00042F001012046FFF70DFE86E7FFF76CFF94 +:1043C0000028CBD15046FFF769FFB0E72046FFF742 +:1043D000B3FD0131C3E7202EC6D100212046FFF7EF +:1043E000B2FD0746FFF758FF68B93846FFF756FF9A +:1043F0000028B9D0DA212046FFF79EFD204605B0FF +:10440000BDE8F04FE6E5FA21F5E74FF01609C5E7FC +:104410004FF01709C2E739462046FFF794FD03A97C +:10442000FFF718FF78B1B9F1220F07D0DDE90212CA +:10443000484606F08BF8013F0290B0E7039809F078 +:10444000CAFC0028F2DA962E40F0F980D4E9012364 +:1044500003EBC20313F8153C2D2B38D12A464146F5 +:104460002046FFF752FE90B36368023B63602CE77F +:10447000A6F12603022B45D8691E2046FFF763FDEF +:1044800002A9FFF7E7FE002800F0F680A5F1020977 +:10449000B9F1000F85DD09F1FF312046FFF753FD2B +:1044A00003A9FFF7D7FE90B149462046FFF74BFD21 +:1044B000C0F3071000F0FD03412B08D02338C7B22A +:1044C000039809F088FC1A2F0FD8002811DAA91CCC +:1044D00089002046FFF73EFD46EA05230746C0F85F +:1044E0000080436000F10801BAE01E2F01D90028C6 +:1044F000EDD0DDE90212384606F028F8A9F10209EC +:104500000290C5E7292E19D100212046FFF71BFD97 +:1045100002A9FFF79FFE0028D9D001212046FFF70E +:1045200012FDC0F30710322818BF3E38029914BF9D +:10453000C0B2022005F0A8FA029032E7052E71D130 +:1045400000212046FFF7FFFC07460028BFD010F0EF +:10455000030B04D1436803F0FE03562BB7D00121AF +:104560002046FFF7F0FC00F00F03022BAFD1BBF1A8 +:10457000000FACD13B792C2BA9D1BB6803F00F0203 +:10458000022AA4D11B09482BA1D1FB68002B9ED085 +:104590009A079CD11A79302A99D1D3F808A04FEA0A +:1045A00010195046FFF755FD68B93449344808F0F2 +:1045B000E8FBA1693A68096805465B4608F09DFC7E +:1045C0002846FDF7AFFC5046FFF767FD4FEAC901EB +:1045D0000122074641F00201019806F044FB4760C2 +:1045E0004846FEF725FB02785F2A204608D1FFF7F0 +:1045F000A3FC00252046FFF79FFCA846082677E687 +:10460000FFF79AFC51462046FFF7E4FC5FE720469F +:10461000FFF792FC013DC4E629462046FFF7CEFC99 +:104620000146C7E6922E7FF40EAFD4E9012303EBD7 +:10463000C20313F8053C2D2B7FF449AF01E0062E91 +:1046400018D12A4641462046FFF75FFD00287FF437 +:104650003CAE3CE72046FFF76FFC013D41F82500EA +:10466000002DF7D1962E03D139462046FFF7B2FC34 +:104670003946C3E6362EE4D0332EDDE778750600E2 +:10468000B0DE05000346006830B508B9106030BDE3 +:10469000840702D013600120F9E74468E5B28D4237 +:1046A000F8D108301060200AF1E72DE9F04FAF4B48 +:1046B00097B00024CDE9073102900D4605A8AC491A +:1046C0000192CDE90544FDF7F9FB40234FF400705A +:1046D000CDE9093423F021FB20230B908020CDE984 +:1046E0000C3423F01AFB2146CDE90E0513A8CDE9C1 +:1046F000114406F083FA019B002B4ED0022B0CBF15 +:104700003F222246A96BDFF86CA2002309A8FFF71D +:1047100078FC00270A9C002C00F060810B99964AD7 +:10472000964E013C01EBC40351F8341093F803B0EA +:104730000A94C1F3170902EB0B01BBF1630F0A7B6B +:10474000009291F8BC10009A5B6888BF41F48071B8 +:1047500006EB410602F03001102902F00F081ED0CE +:1047600020294CD0002F00F00F81B8F1020F40F04B +:10477000EF80012B18D00021009AD20703F1FF30FF +:1047800006D574880AEA0404B4F5805F08BF5808A7 +:10479000012800D161B10346D8E03D22B2E72BB930 +:1047A00006EB4306984505D80127B3E7002FF7D15C +:1047B0000027AFE7374636F8021B01EA0A00B0F5DA +:1047C000805F0DD195F84000C1F30B01884214D1F0 +:1047D00009A85946FFF7DBFC2846FFF762F8E7E730 +:1047E0000133434504D25A46494609A8FFF709FC5C +:1047F000398809A8FFF726FCDAE70133D2E77FB151 +:1048000003F10041013936F811100AEA0101B1F54E +:10481000405F1AD1002109A80393FFF7DBFB039B3C +:1048200006EB4304984524D8019B002B43D1002478 +:1048300006EB4808274646455ED1012F7DD1009BF7 +:1048400058067AD50026314671E0012BACD995F88F +:104850004030052B40F0F08049494A4808F091FA71 +:10486000AA6B29680446002308F047FB2046FDF7A1 +:1048700059FB274634F8021B01EA0A00B0F5805FB5 +:1048800017D195F84000C9B288420ED1072805D14A +:10489000594609A80393FFF77AFC039B0393284624 +:1048A000FEF7FFFF039B0133BCE7002B3FF47CAF17 +:1048B000CDE7013397E7BBF1050FB8D1002109A877 +:1048C000FFF741FB0028B2D1012109A8FFF73BFB0C +:1048D000840700F0B88000F00F000228A7D009A8D4 +:1048E000FFF72AFB09A8FFF727FB00230822494608 +:1048F00009A8FFF7D5FC5BE738F8023D03EA0A0197 +:10490000B1F5805F05D1DBB2072B94D101340137BB +:1049100091E7214609A8FFF716FB00B101370134E2 +:1049200089E7FFF709FB0136002818BF0146A642B8 +:1049300009A8F6D1FFF74EFB3AE7009B190604D50C +:10494000002109A8FFF746FB013423465A46CEE76B +:10495000012B3FF429AF13F001013FF40DAFB8F183 +:10496000030F7FF474AF012106E700BF113F03007E +:10497000F397030000F0FFFF84D30500F0D4050097 +:10498000847506008CDE050008EA030101F00101D0 +:1049900036F8114004EA0A00B0F5805F13D195F8AB +:1049A0004000C4F30B04A04203F1010409D119B97A +:1049B000594609A8FFF7EBFB2846FEF772FF23468E +:1049C000E2E72346D1E6494609A801335A46FFF7F4 +:1049D00018FB214609A8FFF735FB9BE613A806F054 +:1049E00021F9129850B141682246083123F0B0F9FC +:1049F000129B5A681A60119A5A60119395F84030C8 +:104A0000002B7FF424AF0D9B002B3FF420AF0E9BB7 +:104A10000B981B68109323F09DF90E9823F09AF9D8 +:104A20000120FDF753FADDE91001029B83E8030042 +:104A3000184617B0BDE8F08F022B01D106490CE7EC +:104A4000064907480AE700283FF4F1AE03793A2BFC +:104A50003FF445AFEBE600BF8D750600B475060068 +:104A6000B0DE050038B50446406808B9606038BD5E +:104A7000456823F06FF92846F7E700BF2DE9F041BC +:104A800007461E4661B111F0030511D14B68D8B23B +:104A900090420DD14FEA132801F10804454501DB8E +:104AA000BDE8F08154F8041B3846B0470135F5E7FE +:104AB00038463346BDE8F0411847024B89689D22CD +:104AC000DCE700BF57580300014B89686B22D5E72C +:104AD0000950030010B50446084611461A4614F062 +:104AE0004FFA236A436000238360E3690BB9E061F6 +:104AF00010BD1A469B68002BFBD19060F8E710B5FB +:104B000004460021406A03F0A5F9606A0E2103F013 +:104B100080F8606A0121BDE8104003F04EBA896850 +:104B2000406A0022090903F0FBB88968406A03F073 +:104B3000CEB82DE9F74F05460C46174698461BB1EF +:104B4000CB8A43F00803CB822B6AE7831B78002BC8 +:104B50003FD1686A43463A46214603B0BDE8F04F6C +:104B600003F0DDB9DB6A03EBC60B13F83630053B07 +:104B7000012B1BD84FF0000915E0E36A03EBC902D3 +:104B800013F83930062B0CD1DBF804105368994226 +:104B900007D1BBF80220686A002302F05EFF0AF129 +:104BA000010A09F10109238D4B45E6DC01362B6A28 +:104BB0001A8DB242D6DCBAF1000FCAD0686ACDF8BD +:104BC00000803B465246214603F0B5F903B0BDE8EC +:104BD000F08F0026B246EAE7F8B504460E461146C5 +:104BE0001A46002385780769837003610D4BFFF730 +:104BF00045FF6368A3B9618A39B1228A2AB9606A1C +:104C000003F062F9606A03F06EF8238A628A314623 +:104C10002046FFF78EFF003D18BF0125A5702761D4 +:104C2000F8BD00BF255F030070B54378012B054632 +:104C30000C4606D1036A0A461B8B0221FFF74AFF86 +:104C40002061A268216928464C23BDE87040C3E773 +:104C500070B513464278012A05460C4604D10A462F +:104C60000721FFF737FFA061A669E26828464623BF +:104C70003146FFF7B1FFB08A70BD10B5002204467F +:104C8000406A03F033F80023606A1A46194603F0BD +:104C900073F92046BDE8104031E710B50446406A7C +:104CA00003F0B6F8238B226A0133918C9BB29942B0 +:104CB000238338BF938410BD038B013B0383406A79 +:104CC00003F0C4B82DE9F04F85B0814600AF0C4623 +:104CD00011B90121116013E011F0030619D10B790C +:104CE000682B06D1CB681B0913608C68002CF0D0B0 +:104CF000012604F00F03022B0DD12109002EE9D06B +:104D0000D9F82400002202F06FFF1437BD46BDE839 +:104D1000F08F0026EDE716B9A3681B0913606568DC +:104D200004F1080A2D0A05F1FF3BD0460AEB850580 +:104D300058F8040B0009FDF770FFA8458344F7D12C +:104D40000BF1070323F00703ADEB030D6B46984609 +:104D50005AF8040B3B6007F10C010009FDF774FFE2 +:104D6000FA687A600146404624F072FC7A683B6833 +:104D7000AA45904417D159461846FDF793FE0022E4 +:104D80000146D9F8240002F02FFF002EBDD00C34CC +:104D9000A542BAD054F8041BD9F82400002209090E +:104DA00002F0BEFFF4E74FF02E0208F8012BCFE728 +:104DB00031B1826801F00303134304BF0B688360C1 +:104DC000704738B543680D460446114643B9054857 +:104DD00007F0D7FF294660602046BDE83840E7E786 +:104DE00038BD00BFB0DE0500004AEAE7B87506002E +:104DF00070B51446054612780E467BB12AB1032AD7 +:104E000003D00F4ABDE87040DBE7032626706168D7 +:104E1000286A14F014F900B1067070BD62B901235C +:104E20002370006A214614F011F92378012BF4D184 +:104E3000044A31462846E5E7062AEED0024AE1E771 +:104E4000C5750600D2750600DF75060038B50B790A +:104E5000092B0CBF858AC58A4FF6FF739D42044615 +:104E600002D1064AFFF7ADFF228B638B606AD21A2C +:104E70002946BDE8384002F09CBF00BFE675060039 +:104E800010B404460B466278006A012A02D110BCB5 +:104E900014F0B4B802460249606A10BC02F004BCC7 +:104EA00074D9050010B4026A0446407801280B4604 +:104EB00003D110BC104602F0E8BB606A014910BC87 +:104EC00002F0F2BB6CD90500036A10B51A8B0446D8 +:104ED000FFF7BEFE01462046BDE81040E2E72DE99F +:104EE000F3418D6805F00F030A2B04460E4606D0E9 +:104EF000002D2FD0AB072DD12B79652B1DD100951F +:104F0000002501AA65216846FFF7BCFB019B002133 +:104F100003EB800040F2BA52984214D1F26840F29A +:104F20000A439A4231D1236A1F78AFB1354A3146DC +:104F3000204602B0BDE8F04143E7622B0AD1AB68DE +:104F40000093ED68DDE753F8047B97420CBF013115 +:104F50000331E1E70021E1E7606A02F071FE606A77 +:104F6000052102F0B0FE606A3A46012102F0ACFF72 +:104F700001AA29462046FFF7A5FE606A02223946AB +:104F800002F032FE02B0BDE8F081606A02F058FE25 +:104F900006F10C006A466A21FFF774FB00270646FB +:104FA000B742606A0FD10022314602F08DFF2946D8 +:104FB00001AA2046FFF786FE0025B542606A0BD1A4 +:104FC00002F0A7FEDEE7009B53F827309968090935 +:104FD00002F079FE0137E3E7009B53F82580D8F80B +:104FE00008703F093946012202F0FEFDD8F80C1086 +:104FF00029B939462046FFF755FF0135DDE7090994 +:10500000F8E700BFFF75060037B504460D46406A55 +:10501000002102F015FE606A0E2102F0FAFD01AADD +:1050200029462046FFF74EFE01992046FFF73AFF3A +:1050300003B030BD10B4026A0446407801280B4624 +:1050400003D110BC104602F020BB606A014910BCBD +:1050500002F02ABB64D9050070B505460C4671B351 +:10506000CA0705D5BDE87040406A491002F0E8BDA6 +:105070008B0717D004F00F04022C4FEA111109D04E +:10508000062C0AD004291AD0BDE87040406AC9B283 +:1050900002F0BFBDBDE87040F2E6BDE87040406A76 +:1050A00002F011BE0968406A02F043FD2279044B08 +:1050B0002146284653F82230BDE87040184770BD9D +:1050C00078D805002DE9F84F8B0704460D461646A3 +:1050D0000DD001F00F03022B12D1D7074FEA1111A7 +:1050E00002D4BDE8F84FDDE6BDE8F84FC8E64968F0 +:1050F000CBB22D2B6ED009D8062B0BD02C2B10D079 +:1051000029462046454ABDE8F84F5AE62E2B73D073 +:105110009D2BF5D1002EF3D105F10802090A204696 +:105120006EE0022A02D0A968FFF796FFEF68002F11 +:10513000E6D017F00309E3D17B68DAB28E2AB846CD +:105140000DD1022E4FEA132805D007F1080A08F105 +:10515000FF3BD9450EDB08F1010857F8288098F885 +:105160000430312B1ED1022E0CD1606A02F0EFFD0B +:10517000012112E05AF8041B2046FFF76DFF09F1E8 +:105180000109E6E7D8F808102046FFF765FF012E71 +:10519000EED1606A02F0BAFD0021606ABDE8F84F06 +:1051A00002F0D8BD322BABD1012E606A0AD102F0D9 +:1051B000AAFDD8F808100022606A0909BDE8F84F76 +:1051C00002F0AEBD022E01D102F0A7FDD8F8081002 +:1051D0000122F1E7AA68002A92D0002E90D15168EE +:1051E000090A022906D1D36823B1980702D11B7995 +:1051F000AC2B85D0083292E7002A81D1A96811B979 +:10520000BDE8F84F0CE08E0703D10B79922B0A46CC +:10521000E5D005F10802012181E700BF1176060003 +:105220002DE9F84304460D46904601F1FF3900266A +:105230004FF0FF37B9F1FF3F0AD17B1C03D1606A01 +:10524000294602F060FE0026AE421AD1BDE8F8837E +:1052500058F8261061B18A070AD10B79222B07D1A1 +:10526000013709D1606A4A46314602F050FE37469E +:10527000013609F1FF39DDE72046074ABDE8F8436A +:105280009FE558F82610B74208BF896800222046DB +:10529000FFF718FF0136D7E71C7606002DE9F74F18 +:1052A00005460C4616461F462046FEF7F5FF38B168 +:1052B00066B9686A394603B0BDE8F04F02F05FBDD9 +:1052C0002046FEF7EBFF20B1002EF2D103B0BDE87F +:1052D000F08F002C4BD0A30749D163684FEA132B02 +:1052E000DBB21E2B18D1DEB1083404EB8B0B5C450E +:1052F000ECD054F8041B3B4632462846FFF7CEFF5D +:10530000F5E75AF8041B019243462846FFF7C6FF0B +:1053100009F10109019A11E01F2B22D1002EE3D0DF +:10532000D5F80C8008F10103EB600BF1FF3304F1B9 +:10533000080A4FF00009009386F00102009B4B45DC +:10534000DFDC0BF10101284654F821103B463246C0 +:10535000FFF7A4FF686A414603B0BDE8F04F02F0D2 +:1053600039BC202B03D1A46886F001069CE72146B6 +:105370002846FFF771FE686A3A46314603B0BDE839 +:10538000F04F02F006BD2DE9F843C76804461E46FB +:10539000BB1CC3600D46406A394607F101099046BF +:1053A00002F018FC606A494602F05BFDA968002221 +:1053B0002046FFF787FE2D690DBB41462046FFF7CB +:1053C0004BFE236A1978062913D1606A294602F038 +:1053D000F4FD606A02F09DFC606A394602F0CFFC81 +:1053E000606A494602F0F6FB606ABDE8F84302F0E5 +:1053F0003CBDB200606A053202F074FDECE72B7927 +:10540000AD2B07D1A9683B4600222046FFF746FF97 +:10541000ED68D1E7E9682046FFF71EFE606A0121CA +:1054200002F018FD731C424629462046FFF7ABFFE9 +:10543000D2E70023032A2DE9F04104460D46164623 +:1054400042700162C36080F8302002D1408E18BBE8 +:1054500060634FF000083146606AA4F832802A4643 +:1054600002F086F96778EE68012F04BFA5F8228064 +:10547000A5F82480A6B1B20712D133793F2B0FD102 +:10548000B1682046FFF7E8FD606A02F081FD606ABE +:10549000BDE8F04102F02ABA800022F04CFCD7E7C8 +:1054A0002B7843B931462046FFF7D6FD606A0E21BE +:1054B00002F0AFFBE8E7072B0BD1012F07D1002348 +:1054C000A370F168484B46222046FFF7D7FA71696E +:1054D000E9E7022B19D13168606A02F02AFB637890 +:1054E000012B07D10023A370B168404B4C2220460A +:1054F000FFF7C4FAF1682046FFF7AEFDEB8ADB0741 +:10550000C2D5606A02F005FCD0E7033B032B40D80C +:10551000012FD6F80C8005D1206A0422394613F0F9 +:105520006DFD6F833168606A02F003FB2B78032BFB +:105530001ED10122606A002102F0C6FC2B78062BE6 +:105540001ED1606A02F0CFFB01212046FFF798FCD4 +:10555000606A02F0C8FB606A02F0C5FB0023B26813 +:1055600041462046FFF70FFF2B78062B8CD19DE795 +:10557000042B01D10222DDE7052BDFD10322D9E77D +:1055800020460121FFF77CFC606A012102F062FCE9 +:10559000E4E7012F04D104220A21284613F02EFD4E +:1055A00017212046FFF76CFC16212046FFF77AFCF6 +:1055B000B168606A090902F086FB1A212046FFF7EC +:1055C00071FC31692046FFF747FD0A21284613F098 +:1055D00005FD0378042B3FF469AF4288606A00231D +:1055E0000A2102F03AFA4FE7E96F0300EF6F030078 +:1055F00038B5026A1278072A04460B4606D0022AFA +:1056000004D0BDE83840114AFFF7DBBB9D684DB9B7 +:10561000606A0E2102F0FDFA606A0021BDE83840A0 +:1056200002F0CBBCAB070BD12B79AF2B08D12046B6 +:10563000A968FFF711FD2046BDE83840FFF75FBAC3 +:1056400029462046FFF708FDE6E700BF237606005F +:1056500038B50C460546C968FFF7FEFCA168284628 +:10566000BDE83840F8E438B50B79342B04460D46D4 +:105670000CD18968FFF7F0FCED68AD685DB9606A30 +:105680000E2102F0C6FA0422022115E0406A0E2122 +:1056900002F0BFFAF1E7AB071CD12B799A2B10D19E +:1056A0000E21606A02F0B5FAA9680029EBD0204605 +:1056B000FFF7D2FC04220321606ABDE8384002F003 +:1056C00003BC9B2B06D1A9682046FFF7C5FCEB68FD +:1056D0009968EAE729462046FFF7BEFCD3E710B5F4 +:1056E00004468968FFF7B8FC606A0021BDE81040F5 +:1056F00002F030BB2DE9F047C668D0F814A0B0F82E +:105700001A908682B31CC36006F10108038BA0F8CF +:1057100016800446438388680D46FEF7BDFDE0B958 +:10572000E768A8687B1CE360FEF7B8FD18B9606AFB +:10573000414602F024FB606A394602F04BFAE96800 +:105740002046FFF789FC606A414602F043FAA968E7 +:105750003B4601222046FFF7A1FD2969C4F814A0A9 +:105760002046A4F81A90FFF777FC606A3146BDE83E +:10577000F04702F02FBA2DE9F347C668731CC360E7 +:10578000044688680D46FEF787FD0246D8B9E768EB +:10579000A9687B1CE36020463B46FFF77FFD20465F +:1057A000E968FFF759FCA868FEF778FDC8B92B69CE +:1057B0000BB96B691BB1606A314602F0E0FA606AAE +:1057C000394602F007FA01AA712105F11000FEF72F +:1057D00059FF002781464F450AD169692046FFF7E6 +:1057E0003BFC606A314602F0F5F902B0BDE8F08793 +:1057F000019B53F82780D8F80800FEF74DFD0246BC +:10580000E8B9D4F80CA0D8F808100AF10103E36055 +:1058100020465346FFF742FD2046D8F80C10FFF70C +:105820001BFCD8F80800FEF739FD0028D9D1606AC2 +:10583000314602F0A4FA606A514602F0CBF9013712 +:10584000C9E710B504468968FFF706FC606ABDE841 +:10585000104002F05EBA01F00F03022B2DE9F04771 +:1058600005460C4604D1BDE8F0470909FFF7E2BB45 +:10587000002954D011F0030651D10B792C2B36D1CD +:105880008968FFF7E9FBE668002E48D016F00308A8 +:1058900045D17768FAB28E2A334609D13F0A06F11C +:1058A000080907F1FF3AC2450FDC013756F82730E7 +:1058B0001A79312A11D128469968FFF7CDFB686A19 +:1058C0000221BDE8F04702F045BA59F8041B28460A +:1058D000FFF7C2FB08F10108E5E7322A1FD19968FA +:1058E000686A0222BDE8F047090902F019BA2D2BB7 +:1058F00015D18C689CB163681B0A022B07D004F198 +:1059000008076368B6EB132F10D3BDE8F087E36890 +:10591000002BF4D09A07F2D11B79AC2BEFD12146A2 +:105920002846064ABDE8F047FFF74BBA57F8041B74 +:105930002846FFF790FF0136E3E700BF2E7606000A +:10594000F8B54E6801F10804360A054604EB8607EF +:10595000BC4206D1686A31460022BDE8F84002F038 +:10596000B3BA54F8041B2846FFF776FBF0E74B6800 +:105970002DE9F04105460E461F0A01F108080024F2 +:10598000BC4201DBBDE8F08158F8041B2846FFF754 +:1059900063FB6B683BB10234284656F82410BDE81F +:1059A000F041FFF705BA0134EAE710B50446FFF706 +:1059B000DEFF606A2221BDE8104002F069BA70B5CE +:1059C0004378CE68012B0446154606D1036A0A4681 +:1059D0001B8B2946FFF77EF87061002371691A4618 +:1059E0002046FFF7A6F8F1682046FFF735FB062DA5 +:1059F00003D1606A002102F02DFA0023606A1A4682 +:105A0000BDE87040012102F0ACBA8968034619B9BB +:105A1000406A0A4602F058BA4A68120A022A09D1B4 +:105A2000CA683AB112F0030F04D11279AC2A01D13D +:105A30000622C4E7184683E738B58C68054634B9B2 +:105A400001222146686ABDE8384002F03DBAA1074C +:105A50001AD16368DAB2922A16D11B0A022B0BD133 +:105A6000E3684BB19A0707D11B79AC2B04D12146CF +:105A70000322BDE83840A2E721462846FFF777FF1A +:105A800061680122090ADDE721462846FFF7E4FAAA +:105A900001221146D6E701F00F03022B70B5044630 +:105AA0000D46164602D01E4AFFF78BF931462046B6 +:105AB000FFF7D2FA606A02F026F96378012B4FEA09 +:105AC00015160FD1226A1378033B032B0AD85068AE +:105AD000314601F0DAFD0278032A09D1206A314605 +:105AE00013F08CFA31462046BDE87040FFF7DAB972 +:105AF0000022206A314613F081FA236A5B685B68F2 +:105B0000002B02460CBF0123002304D00178012999 +:105B100004BF0021017029462046FFF769F9E1E73B +:105B200011760600D1E90212B5E72DE9F04F87B0F2 +:105B3000CDE90221044605AAA42103A81D46FEF7CB +:105B4000A1FD00270190B9463E46B8464FF0010B33 +:105B5000019B9F420ED11EB1606A494602F070F867 +:105B6000029B606A002B70D033464246294602F001 +:105B700003FA13E0059B53F827A0BAF1000F59D0A0 +:105B80001AF0030F56D19AF80420A62A19D1B007AB +:105B900007D5314A51462046FFF713F907B0BDE853 +:105BA000F08F1D2F01D92D4AF4E70BFA07F2DAF82E +:105BB000081046F0010649EA02092046FFF74CFAB0 +:105BC0001FE0A72A0DD1606A02F08DF8DAF80810FC +:105BD00046F002062046FFF73FFA08F101080137B8 +:105BE000B6E7A82A26D1DAF80C2072B191070CD1B9 +:105BF0001179AA2907D19268DAF808102046FFF730 +:105C00004AFF0135EBE7AC290ED0DAF8081001F0B5 +:105C10000F02022A01D0124ABCE70909606A02F0A9 +:105C200052F8DAF80C10D5E7062251462046FFF765 +:105C3000C6FEE6E7B30701D50A4AABE7B8F1000FA5 +:105C400001D0094AA6E75146B7E7334642462946FE +:105C500002F087F9A2E700BF337606003A76060025 +:105C6000427606004F7606005676060070B50D4661 +:105C7000417801290446134603D12A46FEF72AFF3C +:105C80006861606A02F03CF86E6900231A4631468A +:105C90002046FEF74EFFB18A606A02F014F8E96808 +:105CA00029B18B0703D10B79A32B08BF0021204614 +:105CB00002230022FFF739FFB08A70BD036A10B5D6 +:105CC0001A8B0446FFF7D2FF01462046BDE810407C +:105CD000FFF7E8B8002389681A4626E72DE9F04F58 +:105CE000044685B00F4602AA422107F10800FEF7DC +:105CF000C9FC236ADFF8ECA01D8B00268346B14661 +:105D00005E4509D1F9680B79032B43D12A46204619 +:105D1000FEF79EFF05464BE0029B53F826300093AA +:105D200003AA6C2103F10800FEF7ACFC039B196881 +:105D30000A09732A80460CD02046FFF78DF901230B +:105D400043451BD3009BD96859B12046FFF784F91E +:105D500007E0022807D052462046FFF732F809F143 +:105D600001090136CCE759680B09412B04D0B3F582 +:105D7000CB7FF0D10425F2E70125F0E7039A606AB2 +:105D800052F8231001930022090901F0C9FF019B79 +:105D90000133D5E7442B17D18E682A463146204679 +:105DA000FEF756FFB269D38A43F001030546D3825A +:105DB0000026ABEB0909B1450BD829462046FFF771 +:105DC00071F805B0BDE8F08F2A462046FFF74EFF78 +:105DD000A0E70023606A1A46012102F0C2F80136EA +:105DE000E9E700BF5D7606002DE9F7438D680446BC +:105DF00016464DB9002A68D002222946606A03B0CF +:105E0000BDE8F04302F060B815F003077CD12B79B0 +:105E1000372B0FD122B1406A0222012102F054F83F +:105E200020462946FFF718F9606A03B0BDE8F04341 +:105E300002F054B89F2B67D1EB681A79A12A52D18E +:105E4000A22101AA03F10800FEF71CFCA968804604 +:105E5000F1B18B071CD10B79372B19D126B1411C1D +:105E60000222606A02F030F8A9682046FFF7F4F8D1 +:105E7000606A02F033F84FF0010947450ED1B9F1DD +:105E8000000F22D1606A0322791C02F01DF81CE089 +:105E90002046FFF7E1F84FF00009EEE7019B53F8C9 +:105EA0002710A9B18E0713D10E79A6F1370046420B +:105EB00046412046FFF7D0F8B9F1000F0FD04EB998 +:105EC000154A29462046FEF77CFF03B0BDE8F08363 +:105ED0000026EEE7606A02F001F80137CDE7002EF8 +:105EE000FBD00E4AEDE7AB6853B19A0708D11B7996 +:105EF000372B05D10422294603B0BDE8F0435EE507 +:105F0000052229462046F7E729462046FFF7A4F850 +:105F10000322012172E700BF757606008376060032 +:105F2000012261E701F00F03022B70B504460FD088 +:105F30000B79492B01D04F2B02D10123A37070BDE7 +:105F40004A2BFCD0502BFAD0482B0DD10D696DB9DE +:105F5000A378002BF3D1638A002BF0D020461A4A95 +:105F6000BDE87040FEF72DBFCD68F0E7A3780BB316 +:105F7000238A8E6801339BB2012B23820AD1618A66 +:105F8000606AA1B1002201F09FFF606A0222002135 +:105F900001F09AFF29462046FFF75EF8606A310952 +:105FA00001F091FE606ABDE8704001F097BF01F01A +:105FB0009AFEEAE7638A0133638229462046BDE8F8 +:105FC0007040FFF749B800BF8E7606002DE9F84310 +:105FD0000C4689680546FFF73FF8E668002E55D065 +:105FE0007768296AFBB209788E2BA36819BF04F180 +:105FF0000C0601273F0A0836072903F00F0249D192 +:10600000022A45D11A099A2A46D1326811793029D3 +:1060100042D19268002A3FD10A212846FEF730FF7C +:106020002A6AD36A128D32B931683E4A2846BDE8E1 +:10603000F843FEF7C6BE5978C9070DD559682846FA +:10604000FEF71EFF022F0AD80023686A1A460221B3 +:1060500001F087FF012417E0013A0833E3E7736892 +:106060001A79322AF0D1B4682279302AECD19968B1 +:10607000686A0122090901F039FEA16800230122A2 +:106080002846FFF752FD0324A74224D8BDE8F88331 +:106090000024F9E7022AFBD140F23312B2EB131FBE +:1060A000F6D133681A79302AF2D19C68002CEBD0F3 +:1060B00014F00308ECD123792F2BE9D1686A434609 +:1060C0004246414601F04DFF3368424699682846F2 +:1060D000FFF78AFEBEE704F10108B84556F8241020 +:1060E0004FEA840319D20A79322A16D13344D3F8FD +:1060F000049099F80430302B0FD18968686A002227 +:10610000090901F0F3FDD9F80810002301222846FF +:10611000FFF70BFD08F10104B6E72846FEF79CFFE8 +:10612000A046F7E7A576060010B5026A1278072A9E +:1061300004460B4606D0022A04D0BDE81040064AA9 +:10614000FEF73FBE20461946FFF740FF2046BDE858 +:106150001040FEF7D4BC00BFB8760600F8B54B6817 +:106160000C46896805461F0AFEF776FF0C340026A8 +:106170000236B74204F1080400DCF8BD54F8041CF0 +:106180002846FEF769FF54F8081C686A0909233994 +:10619000C9B201F07DFEEBE72DE9F0414D680C46F8 +:1061A00089680646FEF758FFA5F10D085FFA88F8E2 +:1061B0002D0A0C340127AF4201DBBDE8F08154F811 +:1061C000041B3046FEF748FF706A414601F060FE4E +:1061D0000137F0E7F8B5CD6804460E4625BB0378D5 +:1061E000ABB1036A1D7895B94FF4BD71FEF748FE57 +:1061F000B1682046FEF730FF606A2B462A4601212F +:1062000001F0AFFE606ABDE8F84001F082BDB16800 +:106210008B0700F0948001F00F03022B40F0968072 +:106220002046FEF719FFEDE7AF0740F092806B685C +:10623000DAB25B2A13D1ED68002D40F08880006A45 +:106240000378072B40F08280896801F00F03022B4E +:106250007CD10422BDE8F840D14012F0CFBE562ACE +:1062600011D101228968FEF72DFFE9682046FEF76B +:10627000F3FEA968606A09093D39C9B201F008FE58 +:106280000222B16856E0572A61D11B0A5F1E013312 +:1062900055F82310FEF7E0FE002F02DD606A01F0E2 +:1062A00032FDB16800222046FEF70CFF08350026BB +:1062B000BE424BDA0136BE4202DA606A01F023FDCB +:1062C00055F8041B00222046FEF7FCFEF0E76B6841 +:1062D000DAB2062A3DD1B768002F3AD0B80738D1D4 +:1062E0007A68D1B2062934D11B0AB3EB122F30D110 +:1062F000022B2ED1BB6823B1990702D11B79222B27 +:1063000027D0FB6823B19A0702D11B79222B20D01A +:10631000A9682046FEF7A0FEE9682046FEF79CFE2D +:10632000606A01F0FAFCB96800222046FEF7CAFE56 +:10633000F96800222046BDE8F840FEF7C3BE0029F8 +:106340003FF46EAF0B793A2B7FF46AAFF8BDAB0721 +:10635000BDD029462046FEF77FFE002291E738B5E2 +:106360000C46C9680546FEF777FEA168686AC1F366 +:106370000711322918BF3E39BDE8384014BFC9B2F1 +:10638000022101F080BD10B504468968FEF764FE65 +:10639000606A0321BDE8104001F075BD2DE9F843A6 +:1063A0004E68D0F80C805FFA86F9A9F11E03D3F18C +:1063B000000949EB030908F101030446C360360AEA +:1063C00001F108050027B74205DB606A4146BDE8D8 +:1063D000F84301F0FFBB55F8041B20460137FEF7D8 +:1063E0003BFEB742F1DA606A4246494601F0D9FC09 +:1063F000E9E72DE9F0414E6804460D46360A896802 +:10640000FEF72AFE032E83BFD4F80C8008F10103A7 +:10641000E3604FF0000801277B1CB3421CDB032E16 +:106420004ADDE568606A6B1CE360294601F0A7FC61 +:10643000606A414601F0CEFB0121606A01F0A6FAD4 +:10644000606A01F06AFC606A01F063FC606A2946D8 +:10645000BDE8F04101F0BEBB296920460237FEF7D6 +:10646000FBFDB74205DA606A01F04DFC606A01F09D +:106470006EFCE968606A01F00F030A2B11D1C1F3C9 +:10648000071124291ABF3339C9B2062101F000FDD2 +:10649000B74204DA606A4246002101F082FC083506 +:1064A000BAE70B79852B01D13221EFE78B680BB965 +:1064B0000721EBE73321E9E7BDE8F0812DE9F04161 +:1064C000C568D1F80C800E46AB1C04460022D8F8F3 +:1064D0000810C3602B46FEF7E1FE6F1CB168204632 +:1064E000FEF7BAFD606A394601F049FC606A294648 +:1064F00001F070FB606A4FF0FF3101F047FAD8F805 +:106500000C102046FEF7A8FD606A3946BDE8F04150 +:1065100001F060BB2DE9F04F8B6803F00F03022BF5 +:1065200089B004460E4640F0E880CB68002B00F0AE +:10653000E480980740F0E1801A792C2A40F0DD8051 +:106540009A6802F00F01022940F0D78012097C2AD4 +:1065500040F0D380DB681A79302A40F0CE809B6807 +:10656000069307AAA42106A8FEF78CF8431E022B67 +:1065700000F2C380079901280A6800F0B180022860 +:10658000D1F8049000F0FE808D68E90740F1B580F5 +:106590006B0800F0B28032B1930704D11179A639AB +:1065A000022940F2AA80B9F1000F08D019F0030FB8 +:1065B00005D199F80410A639022940F29E80B368EB +:1065C0000193336977690293E6686369218B0493C9 +:1065D000638B03936183731C311D19F001080593CC +:1065E00006F1020AA682E38206F1030BE16005D1FF +:1065F000494620460592FEF72FFD059A1146204692 +:10660000FEF72AFD606A594601F0B9FB5146606AFF +:1066100001F0E0FA606A01F076FB00220199204661 +:10662000FEF750FD02992046FEF716FD606A711CC8 +:1066300001F0D0FA29462046FEF70EFD606A0E21D1 +:1066400001F026FC606A594601F0C4FA606AB8F1AC +:10665000000F49D101F05AFB606A01F05EFB002D8A +:10666000ACBF00210121606A01F012FC606A524651 +:10667000012101F08EFB049B6361039B6383002F68 +:1066800039D0606A01F045FBB8F1000F02D1606AB1 +:1066900001F03FFB39462046FEF7DEFCE568606A04 +:1066A0006B1C2946E36001F06AFB88F00101606A17 +:1066B000013101F06BF9606A314601F08BFA606AD2 +:1066C00001F027FBB8F1000F02D1606A01F021FB55 +:1066D0001FB1606A294601F07DFA09B0BDE8F08F6C +:1066E0009146032502465EE701F00DFB4946204630 +:1066F000FEF7B2FCB3E73D46DDE7E568238BB4F86F +:106700001A9063836FEA45436FEA5343D4F814A0A9 +:10671000A3826F1CEB1CE360F168E7822046FEF762 +:106720009BFC606A012101F095FB05F10208606A9B +:10673000394601F04FFA606A414601F092FB0022AF +:10674000B1682046FEF7BEFC31692046FEF784FCA6 +:10675000606A394601F013FB4146606A01F03AFA7B +:10676000606A01F082FB7169C4F814A02046A4F8A5 +:106770001A90FEF771FC606A294609B0BDE8F04F37 +:1067800001F028BA032506E72DE9F04704469046B4 +:1067900099460F4621B9BDE8F0471946FEF75CBCA3 +:1067A000C668731CC360156815B315F0030A1FD1C2 +:1067B0002B797B2B1CD1A968FEF74EFC5246314643 +:1067C0002046FEF76AFAE96852462046FEF77AFC50 +:1067D0004B4608F10402791E2046FFF7D5FF606A98 +:1067E000314601F01EFB2046BDE8F047FEF764BAD3 +:1067F00029462046FEF730FC204600223146FEF7AF +:106800004CFA606A01F085FAE2E737B50C460546B6 +:1068100001AA7A2104F10800FDF734FFE368019A28 +:1068200001462846FFF7B0FF03B030BD2DE9F04F19 +:1068300085B0C56802921E460E9B0393AB1C0446AE +:10684000C3600F4601222946FEF727FA05F1010A27 +:1068500039462046FEF700FC0022606A514601F0EE +:1068600008FB606A294601F0B5F9606A01F0B3FBE4 +:10687000D4F80C8008F10103E3600027029B9F42DB +:1068800014DB2046FEF718FA606A01F0A7FB606A85 +:10689000514601F09FF903992046FEF7DDFB606A3F +:1068A000414605B0BDE8F04F01F094B93346D4F845 +:1068B0000C901A68019209F10102E260019AD2F883 +:1068C00008B004360137BBF1000F46D1029ABA4234 +:1068D00038D1606A01F01DFA0025AB46019B2046C5 +:1068E000D968FEF7B9FBFDB1606A0E2101F091F99C +:1068F000606A594601F06EF9606A012101F046F8BC +:10690000606A0E2101F085F929462046FEF7CAFA91 +:1069100029462046FEF78EFB606A4FF0FF3101F0FA +:1069200035F82046FEF7C8F9606A0122414601F0B9 +:10693000A0FA606A494601F04DF9606A012101F050 +:1069400025F89BE720461C4A1968FEF73AFA2046CC +:1069500005B0BDE8F04FFEF7AFB91BF0030529D134 +:106960009BF80420762A5B4603D1DD68DBF808B08B +:106970002D09606A01F0C7F959462046FEF76CFB05 +:10698000606A082101F084FA606A4A46002101F039 +:1069900000FA002D9DD029462046FEF783FAD4F850 +:1069A0000CB00BF10102E260594602222046FEF7CC +:1069B00074F993E70025DCE7C37606002DE9F34779 +:1069C000C76898467B1C16460D46C36002223946AE +:1069D000DDE90AA90446FEF760F93EBB606A0321BF +:1069E00000F0D4FF29462046FEF736FB606A6FF0C0 +:1069F000020100F0CBFF606A0E2101F00AF9606A23 +:106A0000394601F0E7F8606A012100F0BFFF49460E +:106A10002046FEF721FB606A4FF0FF3100F0B6FF21 +:106A2000204602B0BDE8F047FEF746B9CDF800A019 +:106A30004346324629462046FFF7F8FEDBE77FB59E +:106A4000CD682B79782B06460C4609D1AB680193AB +:106A50000023009389681A46FFF7B0FF04B070BDA9 +:106A6000742B03AA4FF0770116D105F10800FDF74A +:106A700009FE2B6902463BB9EB680093A168039BB2 +:106A80003046FFF7D3FEE9E79B680193EB6800937C +:106A9000A168039B3046DFE704F10C00FDF7F2FD2F +:106AA00000230246E9E72DE9F74F044617469846CA +:106AB0000E4629B9194603B0BDE8F04FFEF7CCBA2F +:106AC000C5682B1DC360136805F1010A05F1020BAF +:106AD00005F10309002B00F0C98013F0030240F018 +:106AE000C58019797B2940F0C18099680192009393 +:106AF000FEF7B2FA606A01F006F940F27111204621 +:106B0000FEF7BBF8DDE900322046D968FEF7DAFA75 +:106B1000022229462046FEF7C0F8606A032100F0F1 +:106B200035FF43463A1D711E2046FFF7BCFF606AE1 +:106B30006FF0020100F02AFF606A0E2101F069F88F +:106B4000606A01F0EAF8606A514601F018F92946D6 +:106B5000606A01F03FF8606A01F0D5F8606A0122CE +:106B6000212100F046FF606A082101F091F95A46A0 +:106B70000021606A01F00DF9606A01F0C4F8606AF2 +:106B800001F0E5F8606A01F0C8F800224FF4B9712D +:106B9000606A01F0ABF8606A01F0D9F8606A01F050 +:106BA000D6F8606A01F0AFF80022606A0A2101F0AD +:106BB000B7F8606A01F0B1F8606A0E2101F029F8B7 +:106BC00000231A46606A032101F0D6F92046FDF73A +:106BD00096FF4A46606A002101F0DBF8606A01F026 +:106BE00098F8606A0E2101F014F8606A494601F0D5 +:106BF000C6F8606A022100F0C9FE5946606A00F0DA +:106C0000E9FF606A01F0A3F8606A01F0A0F8606A29 +:106C1000514600F0DFFF0022606A4FF4B97101F0C5 +:106C200065F80E21606A00F0F4FF606A01F06BF80D +:106C3000606A01F068F800231A460321606A01F0D7 +:106C40009BF92046FDF75BFF606A01F062F8606A1D +:106C50004FF0FF3100F09AFE606A494600F0BAFF3B +:106C6000204603B0BDE8F04FFEF726B8194620468F +:106C7000FEF7F2F9606A01F046F8204640F2711121 +:106C8000FDF7FBFF606A01F044F841E72DE9F04FA2 +:106C90008D682B79032B85B004460AD12946FEF76F +:106CA00013F9AA69D38A43F00103D38205B0BDE882 +:106CB000F08F026AD28AD20706D4544A294605B018 +:106CC000BDE8F04FFEF77DB8162B40F09280C66805 +:106CD000E968331DC360FEF7BFF9606A002240F225 +:106CE000731101F003F80023606A1A46194601F097 +:106CF00043F9E7686369606A0193BA1C07F1010808 +:106D0000E260228B638BA78206F1010B628341460E +:106D1000A4F81680009300F05DFF0122594620463A +:106D2000FDF7BBFF606A00F0EEFF20464FF4BA713A +:106D3000FDF7A3FF06F10209A96820460022FEF72D +:106D4000C1F90022606A494601F093F85946606A29 +:106D500000F040FF606A01F03EF9606A00F0D3FF86 +:106D6000606A012240F25D1100F043FE06F1030A61 +:106D7000606A082101F08CF85246606A002101F037 +:106D800008F8606A00F0C5FF0122606A314601F030 +:106D900070F8606A514600F01DFF0121606A00F042 +:106DA000F5FD2046FDF788FF606A01F017F9606A7B +:106DB000494600F00FFF29692046FEF74DF9606A49 +:106DC000414600F0DCFF019B6361009B6383606AC6 +:106DD000314600F0FFFE69692046FEF73DF9606A22 +:106DE000394600F0F7FE606A05B0BDE8F04F00F0EC +:106DF00090BF03AA7A2105F10800FDF743FCEB6878 +:106E0000039A01462046FFF74EFE4FE7D476060070 +:106E100038B58D6804462DB92946606ABDE838400A +:106E200001F0C0B8AB070BD12B795E2B08D1A96854 +:106E3000FEF712F9E9682046FEF70EF90221ECE7A9 +:106E400029462046FEF708F90121E6E710B5026A57 +:106E50001278072A044604D0BDE81040084AFDF71E +:106E6000B0BF896841B9406A0E2100F0D2FE606A65 +:106E7000BDE8104001F08CB8FEF7EEF8F7E700BF70 +:106E8000EB7606002DE9F3414378012B04460D46CD +:106E90001AD10B79102B0CBF4FF001084FF00008EE +:106EA00008D0036A1B782BB9114A02B0BDE8F04143 +:106EB000FDF787BF01AA6D2105F10800FDF7E2FB90 +:106EC00000260746B74202D102B0BDE8F081019B1F +:106ED000206A53F826100022090912F08FF8434661 +:106EE000024629462046FDF783FF0136EAE700BF48 +:106EF000F7760600F8B5144BD3F8EC7004460D464F +:106F00000FBBC6688968731CC36001223346FEF755 +:106F1000C5F91F21606A012200F06BFDE96841B1EB +:106F20002046FEF799F8606A3B463A46012101F097 +:106F300018F8606A012101F035F8606A3146BDE851 +:106F4000F84000F047BEF8BDD440002070B50546BB +:106F5000006AC68A0C46B10706D5214A2146284652 +:106F6000BDE87040FDF72DBF04F00F01022912D1DA +:106F70002109AB781BB1838B0133838302E0438B00 +:106F800001334383012651B3002212F037F803780E +:106F900013B3144AE2E72179914202D1A1680909A9 +:106FA000E7E7994211D1AB78002BD6D10123AB7022 +:106FB000A168A1B101F00F03022B18BF896846F048 +:106FC0000406C68209090326DDE7A16846F0020629 +:106FD000C68209090526D6E704230370467070BDF2 +:106FE000B47506000D77060049234822AEE74F230B +:106FF0004E22ABE72DE9F04F0E46016200214270B0 +:10700000C1603378072B8DB00446154605D0874AFA +:107010000DB0BDE8F04FFDF7D4BE012A05D0C36A1C +:10702000021D1B68806A294698476378D6F80C9041 +:10703000032B10D10BAA462109F10C00FDF722FB0E +:10704000E36A0B9A9B680146A06A9847636870835D +:10705000002B40F0B380D9F81010C1B101F00F0639 +:10706000022E10D10B09752B3DD006D83E2B3CD0FB +:107070005E2B0DD06E4A2046CAE740F25F32934243 +:10708000F8D1032604E06B4A2046FDF79AFE02265B +:10709000D9F81430089309AA192108A8FDF7F2FAC3 +:1070A0004FF0000A0590059B9A4520D16378012B8B +:1070B00015D9E36AA06A5B68314698476378042B68 +:1070C0000DD1206A0396438B02930023CDE9003350 +:1070D000A26A0069D2E90232052102F0BBFA6368B4 +:1070E000002B6BD114E00026D2E70126D0E7099BE4 +:1070F00053F82A100B79082B4FEA8A0B02D10AF1B8 +:10710000010AD0E7052B06D04B4A2046FDF759FE71 +:107110000DB0BDE8F08FCB68002BF5D18B681A79E4 +:107120002C2AF1D19F6807F00F02022AECD1DB680C +:107130000493002BE8D09A07E6D11B79302BE3D1DA +:10714000049B0AAAA42103F10800FDF79BFA3F095A +:10715000B7F5237F80461BD1012805D10A9A136811 +:1071600003F00F03022B04D0344A099B53F80B1091 +:10717000CBE7E168012D01F10103E36019D012684A +:10718000E36AA06ADB681209984790B92C4AECE7D9 +:10719000B7F5C87F16D1012803D10A9B1968CB0720 +:1071A00001D4284AE1E7012D03D0A06A491020F05C +:1071B00018FE6368002BA2D0DDF81090D9F80030DB +:1071C000A360A5E7B7F5FC7F24D1012804D90A9B69 +:1071D0001A6812F0010701D11B4AC6E7012DE8D059 +:1071E000531006930A9A0BA952F82700FDF732F8BC +:1071F00008B9164AB9E7A36A0B98079306F087FE09 +:10720000DDE9061302460137184620F0F1FDB845C6 +:10721000E8D1CEE7012DCCD0E36A0246D3F810B016 +:10722000A06A0A9B3946D847C3E700BF1777060014 +:1072300024770600287706003F770600457706008A +:1072400051770600557706006177060073770600D0 +:107250002DE9F04F9BB0CDE901011020144620F03C +:107260005CFD9D4B1B69436054220021064605A826 +:1072700022F016FA4FF0FF33012113A88DF81440C5 +:107280000A9303F0BBFC029BD900012241F00201EA +:1072900013A803F0E8FC01234360002116A807F0BF +:1072A0007BF9019A00231268194605A8FDF712FC24 +:1072B000054611A800F043FA0C9C0E9007464FF0CB +:1072C000000924B1DDF818A0BAF1000F1FD00C9B03 +:1072D00013B1069A002A3BD04946384600F036FAE8 +:1072E000DFF8F8A10C9C069B002C00F01281002B0B +:1072F00000F0D7800D9B05A8D968FDF759FD0D9BBF +:10730000079A9B8A0299069805F0F7FD04E1238B02 +:10731000042B4FF00102214605A807D1FFF76AFEB2 +:10732000089BA468994538BF9946CAE7FEF781F8DB +:10733000238D9A45F4D2E36A03EBCA0113F83A307D +:10734000012B02D1204611F081FE0AF1010AEFE77C +:10735000D98AB3F828C0490713D50CF1FF31481C6E +:107360000FD0DC6A04EBC104607810F0020F22D069 +:107370003AB1D2E900AE94E8030082E80300C4E920 +:1073800000AE4FF000021A840022624519DB002291 +:10739000624539DBD3F804A0BAF1000F09D0BAF87E +:1073A0002820039200200446039A90423CDB002CE4 +:1073B00075D19B688CE712B9012808BF22460139B4 +:1073C000CDE71978D86A01294FEAC20E00EBC20452 +:1073D00004D161680A290ED10132D6E710F83210C3 +:1073E00009D9012907D14FF0030100F80E10617887 +:1073F000C90704D4F0E710F80E100429F7D1198C4E +:10740000481C18846180E7E7D96A01EBC20011F8D3 +:107410003210052906D14178CC075FBF198C418015 +:10742000013119840132B3E7DAF82C2002EBC001F4 +:1074300012F83020053A012A16D84FF0000E11E05C +:10744000DA6A02EBCE0B12F83E20062A08D1D1F8F8 +:107450000480DBF80420904504BFABF802400134FF +:107460000EF1010EE645EBDB01309DE7D86A00EB3B +:10747000C20110F83200062802D14878C00702D5B0 +:1074800048882044488001326245EFDB5A8B12FA6B +:1074900084F25A831A8C12FA84F41C8489E700223D +:1074A000F2E7238B042B1BD10F9B1BB9484601F03D +:1074B0001DFC0F9000230322214605A80E93CDF852 +:1074C00040A0FFF797FD069B23B90422214605A89B +:1074D000FFF790FDA46806E7D440002070DA0500AD +:1074E0000222214605A80E97FDF7A3FF069B002B5D +:1074F000F0D10322214605A8FDF79BFF069B002B38 +:10750000E8D10422214605A8FDF793FF0028F8D012 +:10751000E0E7002B7FF4EEAEDDF81890D5F8108090 +:10752000B9F1000F13D0384600F018F90F98002871 +:107530003DD10198FDF796FA2846AD6811F044FD5B +:10754000002DF9D10698002834D0FAF7EBFC139CF3 +:107550001898C4F3DC046400033400EB940080004A +:1075600020F0DBFB24F003040444F460DDE9144163 +:10757000B06001F1040CA1450BD1189A002393428D +:10758000D1D0199951F82300F16841F82300013353 +:10759000F5E751F839303BB1042B1FBF5CF83920B7 +:1075A0005210DB0820F8123009F10109E3E701F07D +:1075B000B2FBBEE72A46314640461BB0BDE8F04F5D +:1075C00002F059B88842F8B505460C4601D10120B1 +:1075D000F8BD03F04CFD0646204603F048FD864208 +:1075E00001D00020F4E70F4B9E4214D16A68636813 +:1075F0009A42F6D105F10807083400266B68B342B9 +:10760000E5D954F8041B57F8040BFFF7DBFF0028FB +:10761000E7D00136F2E721462846BDE8F84003F0FE +:10762000D5BF00BF18E90500C90010B50122044606 +:1076300041F00201083003F016FB43683BB9A36830 +:10764000C3F3DC03013B5B0043F00103436040688C +:10765000C0F34F0010BD70B505460E460024EB691F +:10766000A34208D8314605F1140006F055FEEC6936 +:10767000013C204670BD2B6A314653F82400FFF7C9 +:10768000A1FF0028F5D10134E9E710B50122044635 +:1076900011F0B4FC0378012B05D12378012B8CBFAA +:1076A00004230223037010BD70B505460E46104634 +:1076B00019461C4611F092FC03785A1E012A06D87E +:1076C0007368002221462846BDE870401847032B06 +:1076D00002D173680122F5E736684288042B2146FF +:1076E0002846B44608BF0023BDE8704018BF0123F8 +:1076F000604700BF426A03464079032888BF586B41 +:10770000114494BF18468018596270478279034625 +:107710000AB1184670475A79C06A032A014401D851 +:10772000D962F6E79A6AD9620244586B10447047EE +:1077300010B50C460121FFF7E9FF047010BD10B52C +:107740000446442020F0F7FAC46010BD10B504468A +:10775000C161880020F0E1FA206210BD10B5044636 +:10776000006A20F0F7FA2046BDE8104020F0F2BA97 +:107770002DE9F74F16460023C0E90423378C8360B8 +:107780008371C362436280F83830738CB6F82490FA +:10779000B6F81A80B6F816A0B6F81EB041710122EC +:1077A0001F44974238BF17464FEA8905013F82615F +:1077B00005F0040508F003021543FA0002F0780210 +:1077C000B38B04460AF00F0A15433F094FEA5909E3 +:1077D0004FEA980847EA090242EA0A0242EA080226 +:1077E0001A4352EA0B0235D101212046FFF782FFEE +:1077F00005706379022B18D9D4E90F787D0008F061 +:10780000010305F07E054FEA5808BF091D4358EAF9 +:1078100007094FF00101204618BF45F08005FFF72A +:1078200069FF0570B9F1000FE8D1636AB18AE363BB +:10783000E0682D4FFFF7F8FE2B49024620460DF079 +:10784000A9FA0025738BB28B1344AB4248DD318D0E +:10785000002241E0012120460193FFF74BFF65F034 +:107860007F053A0105704FEA8A15019B02F030024C +:1078700005F0400515430BF001021543DA0002F054 +:10788000080215434FEA880202F0040215434FEA4A +:10789000490202F002021543BF084FEA59094FEAB4 +:1078A0005A0A4FEA58085B084FEA5B0B92E7F36A03 +:1078B00003EBC2035878C0070DD55888A8420AD1F7 +:1078C0005968E068FFF7B0FE3946024620460DF0E1 +:1078D00061FA0135B6E701329142E8DC0521F0E7B3 +:1078E00003B0BDE8F08F00BFF57603004379012BAC +:1078F00070B5044601D1012034E0C26B436A002513 +:107900009B1AC36305642069038DAB420BD863796E +:10791000032B1AD1606AE36AA0622363184420F043 +:107920000AFA6063E7E7C36A03EBC50213F8353070 +:10793000052B08D1012120469678FFF7DBFE067063 +:10794000236C013323640135DDE7042BD3D1D4E963 +:107950000A13626A8A4202D1216B994203D0A26261 +:107960002363002070BD94F838301BB105490648E8 +:1079700002F03BF8E268C38A5268616B006901F06B +:1079800060FEB8E77E770600F8DE05004379012B3C +:1079900007D083681944036981605A8C9142C8BF3B +:1079A0005984704710B51446FFF7F0FF0121FFF727 +:1079B000ADFE047010BD38B504461D46FFF7F2FF5A +:1079C0002A4620460249BDE838400DF0E3B900BF21 +:1079D0000D77030070B504460D46C068194616467B +:1079E000FFF722FE3246034629462046BDE8704096 +:1079F000E1E711320B46D2B20121EBE716320B461A +:107A0000D2B24FF0FF31E5E719320B46D2B2002176 +:107A1000E0E770B4C4682678042E1D4608BF666887 +:107A2000638808BF46F823505D1C658070BCC2E7C0 +:107A300003F128011346CAB20021BCE770B4DDE9A6 +:107A40000365D2B203EB460443EA062315B10132C3 +:107A50000134D2B2091B70BCADE710B4044633B98F +:107A60000F2A04D8503A10BCD2B201219AE703F190 +:107A700024012046134610BCCAB201219BE710B472 +:107A800004463BB90F2A05D8403A10BCD2B24FF099 +:107A9000FF3187E703F126012046134610BCCAB226 +:107AA0004FF0FF3187E7F8B516461F46FFF76EFF28 +:107AB0008479054604BB4379022B25D9C46A036A3D +:107AC000C4F1FF2453F8273004F57F04FE34442E1C +:107AD0001C4412D814F1400F14DB3F2CD4BF0027F4 +:107AE0000127E41BB91C2846FFF710FE06706FB98A +:107AF000442E98BF40344470F8BD7F2C94BF0027BB +:107B00000127EEE70127ECE70127EBE76B79442E2D +:107B100098BF04F58044042B05D1B4F5004F24BF71 +:107B2000012385F8383064F07F03E41143708470DA +:107B3000E2E7274BD3F8EC30022B2DE9F04704465F +:107B400089460ED886698E420BD2C56A43698E1B60 +:107B5000ED1A40F2FF7756EA050304D1E36AC4E95F +:107B60000539BDE8F087062E01D90F2D1AD91F2D32 +:107B7000AA4628BF4FF01F0A554510D8032EB0461D +:107B800028BF4FF0030801212046FFF7B3FD4AEA62 +:107B900048130370A5EB0A05A6EB0806DBE74FF0D8 +:107BA0000008F0E7BE42B0464FF0020128BFB846D9 +:107BB0002046FFF79FFD4FEA181303F070032B4395 +:107BC00063F07F03037080F80180AA46E2E700BFFC +:107BD000D4400020002383714379012B1EBF036A28 +:107BE000C26A43F821207047012A10B40B460446AC +:107BF00006D0022A0AD110BC69224FF0FF31D1E62B +:107C000011461B322046D2B210BCE3E64FF0FF31E2 +:107C1000F7E70C2910B504460AD10849C068FFF7F8 +:107C20001AFD2322034601212046BDE81040C2E68A +:107C30004331CAB2BDE810400121B3E648E6050071 +:107C400001F110033F2B73B506460C4607D8A1F18E +:107C50008002D2B2012102B0BDE87040A2E601214B +:107C600022220DF10505FFF79DFE294604F07F0055 +:107C7000E3B2E4112A4605F8010D601C0128F5D88D +:107C8000013403F0400313D11BB97F2305F8013CF5 +:107C9000951E491B3046FFF739FD01AC01462B46C6 +:107CA000A34209D19DF804205B1BC25402B070BDF1 +:107CB000002BEED00023E9E713F8012B62F07F02DE +:107CC00001F8012BECE70B461022012182E610B5EA +:107CD0000446C068FFF7BFFC23220346012120466B +:107CE000BDE8104067E6532201215BE6002A0B46FF +:107CF0004FEA4201C1F1010114BF1522142269E6C5 +:107D0000542201214EE6572201214BE6582202213E +:107D100048E659224FF0FF3144E65A22002141E65D +:107D200070B50D460446114622B92B461322BDE814 +:107D300070404FE6022A04D1FFF7D5FF2046FFF737 +:107D4000ECFF2B4618226FF001012046EFE75B2283 +:107D5000002127E610B5044629B955224FF0FF311E +:107D6000BDE810401EE6022904D1FFF7BCFF204603 +:107D7000FFF7EDFF56226FF002012046F0E710B545 +:107D80000B46044642220021FFF78DFE0123A3711A +:107D900010BD134619B143224FF0FF3183E6442250 +:107DA000FAE7134619B145224FF0FF317BE6462230 +:107DB000FAE7F8B505460C4621F400471646CAB95D +:107DC0000B040ED55921FFF7B3FC59212846FFF7C4 +:107DD000AFFC59212846FFF7ABFC59212846FFF795 +:107DE000A7FC3B46422200212846FFF75CFE012308 +:107DF000AB71F8BD3B4640220021FFF754FE210A3B +:107E000021F07F013143C9B22846FFF791FCEEE72C +:107E1000002A02F147020B46D2B20CBF0221002118 +:107E200041E638B504460D460E21FFF7F2FE204626 +:107E30002946FFF7CFFE02215C22FFF7B3FD204663 +:107E40006FF00301BDE83840FFF7A0BD5D224FF0A1 +:107E5000FF31A7E5002915BF5F225E220321002123 +:107E6000A0E50B464B2201211DE66FF00301FFF751 +:107E70008DBD10B50B4604464A220021FFF713FEC4 +:107E80000123A37110BDA1F13002D2B2002189E516 +:107E9000322938B5044611D0332912D101250721E2 +:107EA0002939CAB220464FF0FF31FFF77BFD55B1AB +:107EB0002046D322BDE83840002173E50125062184 +:107EC000EEE70025ECE738BD022A02F12A020B4654 +:107ED000D2B214BFC1F1010101216CE562226FF041 +:107EE00001015FE5032909D004290AD000210223FA +:107EF0000A4443EA8203C9432F225CE500210B4672 +:107F0000F6E70121FBE70B463022013953E510B4B7 +:107F1000144641EA02232144312210BC4BE510B43F +:107F20001C4622430B6910BC07BF322201213322B9 +:107F30004FF0FF316DE5F8B51446D6B2069A1F46EC +:107F40003A430B6905460BBFC4F10101E14320220E +:107F50002122FFF75EFD31462846BDE8F840FFF7D5 +:107F6000E7BB07B5CDE900230B4634220021FFF71C +:107F700065FD03B05DF804FB07B5CDE900230B46B2 +:107F800036224FF0FF31FFF759FD03B05DF804FBD7 +:107F900010B5632204464FF0FF31FFF703FD0123C4 +:107FA000A37110BD10B501F164020446D2B249427A +:107FB000FFF7F8FC0123A37110BD10B501F16702B2 +:107FC0000446D2B24942FFF7EDFC2269D38A43F05E +:107FD0000103D38210BD0421FFF7D8BC6FF002016A +:107FE000FFF7D4BC70B50646B2B1900714D1107932 +:107FF0002E2811D194687CB1A2070DD16568EAB230 +:10800000922A09D12D0A022D06D1A2681A60049B7A +:10801000E2681A60012070BD0A460448044904F071 +:1080200029FF736A18600020F5E700BFB0DE050085 +:1080300089770600F0B585B005460E46104603A9BF +:108040001F46FCF707F948B90B490C48324604F0C3 +:1080500011FF6B6A1860002005B0F0BD039803F0B3 +:10806000D7F830EA0703F7D00346054900973246B0 +:10807000024804F0FFFEECE79C770600B0DE050046 +:10808000A2770600038C032B70B5C46A03D1856AFE +:1080900000239D4205D144F821201FF098FE0120C5 +:1080A00070BD54F82360964201D00133F1E70020FF +:1080B000F6E711F037B838B58BB2032B04460D46FE +:1080C0000384426205D1826AC06A9200002121F0D5 +:1080D000E7FA042D20460CBF022101211FF04FFEBC +:1080E00020460021BDE8384010F0EEBF02F00F033B +:1080F000022B10B5044608D00A460C490C4804F07F +:10810000B9FE636A1860002010BD836A120900205E +:10811000984204D1238C042BF5D10649EEE7E16A9D +:1081200051F820108A42EFD00130F1E7B87706000D +:10813000B0DE0500BE77060000F00F03022B02D16F +:108140000009FAF775BD0148704700BF9941060064 +:1081500070B5054610460E46FFF7EEFF0378732B09 +:1081600019D14378BBB103460A22002013F8014F0E +:108170005CB91F2808D90B490B481F23324604F06D +:1081800079FE6B6A1860002070BD303C092C02D863 +:1081900002FB0040EAE705490348324604F06AFE64 +:1081A000EFE700BFC4770600B0DE0500D177060018 +:1081B000F8B5054610460E461F46FFF7BDFF174CA3 +:1081C00001780022A44663788B421BD190F801E02D +:1081D000A3789E4516D190F802E0E378734511D15B +:1081E0006BB91CF82200B84208D90D490D483B462E +:1081F000324604F03FFE6B6A18600020F8BDC37879 +:10820000002BEED00132152A04F10404DBD106491B +:108210000448324604F02EFEEDE700BF7CD905008D +:10822000C4770600B0DE0500DA7706002DE9F347D3 +:1082300006460F46002A3CD093073AD113792F2BDC +:1082400037D1926802F00F03022B08D10F23FFF7FA +:10825000AFFF01248440204602B0BDE8F08742B35E +:1082600012F0030A25D113799F2B22D1D5682B79DF +:10827000A12B1ED192680F23FFF79AFF4FF001093F +:1082800009FA00F401AAA22105F10800FCF7FAF9A5 +:108290008046C245DFDA019A0F2352F82A20394678 +:1082A0003046FFF785FF09FA00F004430AF1010A9E +:1082B000EFE7044904483A4604F0DCFD736A002401 +:1082C0001860C8E7E0770600B0DE050010B5044688 +:1082D000024804F056FD206010BD00BFB0DE05006E +:1082E00004292DE9F84380460C460DD8151F01F1ED +:1082F00030093026B1450DD055F8040F00F00F03BA +:10830000022B0AD00D4900E00D49D8F82400FFF7F0 +:10831000DDFF00242046BDE8F8830009FAF788FC59 +:10832000074621F006FA0228ECD13B78722BE9D1FE +:108330007B78B342E6D10136DCE700BF1078060057 +:10834000F17706002DE9F0470F4686B0044603A9F1 +:1083500038461E469146FAF777FC0378762B054699 +:1083600040F02D81B9F1020F40F0D68040F2693320 +:108370009F4232D14EF6B4684FF42C6906E04EF6B7 +:10838000B168F9E74EF6B1684FF4246932682946BE +:108390002046FFF7DDFE7268074629462046FFF7B4 +:1083A000D7FEFB02420102F0200203F470431343A4 +:1083B000B90143EA0903C0F3430001F0400143EA75 +:1083C000000241EA0801204610F070FE33E24EF64A +:1083D000B868D1E74EF6BD68CEE740F275339F42EC +:1083E000CDD040F271339F42CCD040F26A339F42ED +:1083F000EDD040F26B339F42ECD0B7F55C7F1ED1DD +:108400003068FFF799FEAF4921F089F9A8B13268C9 +:108410000F2329462046FFF7CBFE07467068FFF77B +:108420008BFEA94921F07BF9002840F0BF803A0378 +:1084300042F421624EF6F161C5E70F27EEE740F204 +:108440006F339F422ED13068FFF776FE0378722B90 +:1084500018D132680F2329462046FFF7A9FE294686 +:10846000726880462046FFF773FE4EF6106107469D +:10847000FA01D2B242EA0832C7F3430742F421625A +:108480003943A0E7326829462046FFF761FE2946B6 +:10849000726807460F232046FFF78AFE4FF46E41AD +:1084A0008046E5E740F26E339F422ED14EF690585B +:1084B000326829462046FFF74BFE05AB009307467E +:1084C000726804AB29462046FFF78CFD002800F0B7 +:1084D000B281049A072329462046FFF769FE059AD0 +:1084E000064629464FF47F732046FFF7A3FDFA02A4 +:1084F000B90102F4704201F0400142EA900241EAFF +:10850000080142F4206231435DE740F276339F4236 +:108510004CD14EF68058CBE7B9F1030F46D1DFF8C6 +:10852000AC81002700F1010A03224146504621F0A8 +:1085300008F9B0BB2B79A3BB654B326803EB870707 +:108540002946204697F85480FFF702FE72680746D6 +:1085500029462046FFF7FCFDB268814629462046A1 +:10856000FFF7F6FDFA02430102F4704203F0200324 +:1085700013434FEAC912D2B243EA50031343BF0177 +:108580004FEA0812D2B207F0400708F0F00142F4B7 +:10859000206247EA590941F46E411A4349EA010150 +:1085A00011E70137042F08F10408BDD14B464949B2 +:1085B00049482A4604F05EFC636A18603BE1B9F161 +:1085C000000F10D140F2BE239F4205D14FF43F412E +:1085D000204610F061FD2EE140F27E339F42E5D14E +:1085E0004BF63071F4E7B9F1010F40F00481B7F5B3 +:1085F000CE7F10D1014632682046FFF777FD014655 +:10860000204610F0D7FD002840F015813349606AFC +:10861000FFF75CFE0FE1B7F5D57F09D1014632685F +:108620002046FFF763FD0146204610F017FEEAE7FB +:1086300040F2B312974209D1014632680F23204617 +:10864000FFF7B6FDC10041F48E41C1E7622B49D16D +:10865000039B032B0CD0052B40F09180C3785F2B3C +:1086600040F08D8003796E2B02D0772B40F087800D +:1086700069781B4B00224FF0FF375878884205D1AC +:1086800095F802C09878844508BF1F7801320E2AF9 +:1086900003F10303F1D17B1C88D0326829462046C0 +:1086A000FFF724FD039B052B024609D12B79A3F18B +:1086B00077056B426B413946204610F099FDA2E7E1 +:1086C0000023F8E7257806002F780600D1D90500A9 +:1086D0007CD905003C780600B0DE0500497806002C +:1086E000E0D90500692B4AD14378742B47D1306813 +:1086F000FFF722FDBA4B017800225E788E422AD124 +:1087000047789E78B74226D1867826BBAE1C314684 +:108710000B46013118780028FAD1691D8B423FF6CB +:1087200045AFB04902EB42020A44013B92F8642093 +:1087300012F0010F4FEAC2000CBF4FF0080C4FF0CF +:10874000000C00F008000821B3420AD241EA0211ED +:1087500041F43F413CE701320E2A03F10303CCD13F +:1087600024E713F80179742F4FEA510101D1014335 +:10877000EAE7652F7FF41AAF4CEA0101E4E740F223 +:10878000E1139F4202D14BF2726121E7B7F5F17F0D +:1087900002D14BF262611BE740F2E9239F4213D101 +:1087A000326829462046FFF741FD10F43F4F02464C +:1087B00007D150044ABFD1B242F4344141F43541AB +:1087C00006E74EF62D11FEE5782F7FF4EFAE326806 +:1087D00029462046FFF72AFD10F4FE4F024607D136 +:1087E00001044ABFC1B240F43C4141F43D41EFE6CF +:1087F0004EF6BD01E7E5B9F1020F40F0AF817368B5 +:1088000003F00F03022B40F2B32340F0A1809F42FC +:1088100014D1014632680F232046FFF7C9FC726865 +:10882000074629460F232046FFF7C2FC3946024679 +:10883000204610F09BFC06B0BDE8F08740F2D7134D +:108840009F421CD14FF6B0294FF2800732680F23A8 +:1088500029462046FFF7ACFC7268804629460F2364 +:108860002046FFF7A5FC47EA000242EA082249EA4F +:108870000001A8E54FF690294FF2A007E6E7B7F50B +:108880003E7FF7D040F2B7239F422DD10146326898 +:108890000C232046FFF78CFC07467068FFF74CFC62 +:1088A00006460146504820F03AFF98B14F483146FD +:1088B00020F035FFB0B12A464D494E4804F0DAFAAF +:1088C000636A0022186042EA072242F400424FF233 +:1088D000EF3178E50023434A03EBC303134493F8D5 +:1088E0008E20F0E70123F6E740F291139F4215D165 +:1088F0004FF480473268294607232046FFF758FC8B +:1089000072688046294607232046FFF751FC4246FD +:1089100003463946204610F024FC8CE7DFF8D88067 +:10892000002703224146284620F00BFF50B9EB7880 +:1089300043B92C4B03EB870797F8A0703F0147F42E +:108940008047D7E701370F2F08F10408E9D12DE65A +:108950009F421CD14FF40057326807232946204616 +:10896000FFF726FC294680467268FF232046FFF762 +:1089700061FB47EA000141EA082129E64FF420574C +:10898000EAE74FF44057E7E74FF46057E4E7B7F5FD +:10899000EC7FF3D040F28D139F42F2D040F243338C +:1089A0009F42F1D040F2B5239F4227D14FF2402899 +:1089B00032680F2329462046FFF7FAFB7268074604 +:1089C0004FF6FF7329462046FFF734FB3A4603462D +:1089D0004146204610F0DCFB2DE74FF2C028E7E7C8 +:1089E000E0D905007CD905000BDA050014DA050092 +:1089F00035780600B0DE05001DDA0500B7F52D7FDD +:108A0000EBD040F2B6239F421AD1014632680F23C1 +:108A10002046FFF7CDFB2946074672684FF0FF332B +:108A20002046FFF707FB3A4683B205464FF2402146 +:108A3000204610F0ADFB2B0C3A464FF2C021C8E7A0 +:108A4000B7F5247F28D1014632680F232046FFF76F +:108A5000AFFB05AB00930746726804AB294620467E +:108A6000FFF7C0FA00283FF4E6AE049A0F23294628 +:108A70002046FFF79DFB059A06462946FF23204620 +:108A8000FFF7D8FA820842EA073246F4684142F416 +:108A9000706241F0500196E440F28E239F4242D032 +:108AA00040F28F239F4240D040F291239F423ED01C +:108AB000972F3ED040F23F339F423CD040F24133AB +:108AC0009F427FF473AD0523874A02EB8303294657 +:108AD000B3F8DC70326807232046FFF769FB05AB6B +:108AE00000938046726804AB29462046FFF77AFA65 +:108AF00000283FF45BAD049A072329462046FFF780 +:108B000057FBFA04064618D5059A1F232946204626 +:108B1000FFF790FA47EA0801800141EAC60100F434 +:108B2000F860014354E50023CEE70123CCE702239C +:108B3000CAE70323C8E70423C6E73B04059A06D522 +:108B40003E2329462046FFF775FA4008E2E77C23DA +:108B500029462046FFF76EFA8008DBE7B9F1030FDC +:108B60007FF424AD40F299239F4221D1002732683F +:108B7000072329462046FFF71BFB7268814607231F +:108B800029462046FFF714FB29468046B2681F237A +:108B90002046FFF74FFA47EA090747EA801747EAF6 +:108BA000C80115E54FF40067E1E74FF48057DEE7B1 +:108BB00040F29A239F42F5D040F297139F42F4D09F +:108BC00040F28D139F422BD14FF4C05832680723D7 +:108BD00029462046FFF7ECFA726807230746294624 +:108BE0002046FFF7E5FAB26802F00F03022B814638 +:108BF0000ED1072329462046FFF7DAFA47EAC901D2 +:108C000041EA080141EA8011E2E44FF4D058DDE77F +:108C100007232946204648F48068FFF70BFAEDE762 +:108C200040F215339F4222D14FF6903832680F231D +:108C300029462046FFF7BCFA726881460F23294671 +:108C40002046FFF7B5FAB268074629460F232046AB +:108C5000FFF7AEFA40EA092242F4704242F0F00215 +:108C600048EA0701FFF7AFBB4FF6B038DEE740F246 +:108C70005E339F42F8D040F243339F42C5D0B7F5F0 +:108C8000507F7FF493AC014632680F232046FFF7F4 +:108C90008FFA72680F23294607462046FFF788FAA5 +:108CA00005AB00938046B26804AB29462046FFF727 +:108CB00099F900283FF4BFAD049A0F2329462046B6 +:108CC000FFF776FA059A06462946FF232046FFF766 +:108CD000B1F93F0247EA083746F4684147EA900293 +:108CE00041F04001FFF76FBB7CD9050038B5054660 +:108CF00030201FF012F820220446002120F0D0FC82 +:108D0000294620461FF028F8A562A8001FF005F8A4 +:108D1000E062204638BD10B50446C06A1FF01AF85C +:108D2000204600211FF020F82046BDE810401FF02B +:108D300011B800BF2DE9F04F89B0062ACDE9011224 +:108D4000129F9DF84C500493064615D8012A08D965 +:108D50000F463F2307F8013B0197019A0023137048 +:108D600002E0029B002BF8D1029B012B94BF002054 +:108D7000012009B0BDE8F08F0028019C27DA0146E8 +:108D800016F050F818BB2D2206F1004004F8012B14 +:108D90000646049BBB4926F00048404603F02005E8 +:108DA00016F040F8C0B9B749404616F01DF898B91A +:108DB00085F04903237085F04E0385F04605637006 +:108DC000E01CA57000230370019BC01AD1E7002DA1 +:108DD000DFD004F8015BDCE73146304616F022F8BC +:108DE00040B145F04E0385F0410523706570E01CED +:108DF000A370E7E7049B002F43F02008B8BF0627C5 +:108E0000B8F1670F02D1002F08BF0127019BA4EB27 +:108E10000309029BB6F1000BA3EB090909F1FF3A24 +:108E20001ED1B8F1660F0BD17A1C5245A8BFA9F12B +:108E3000030707F101094FF0660B002292460CE090 +:108E40007A1D5245A8BFA9F107070022B8F1650FA6 +:108E5000C3469146F2D14FF02B0A1146154638E031 +:108E6000CBF3C7507F3815F0C3FD874915F014FECA +:108E700015F0EEFFBBF17E5F054680F0C1804542F4 +:108E800015F0B6FD01468148DFF800B212F086FD0C +:108E900001463046039115F09DFF0399002840F0EC +:108EA0008F80B8F1660F08D0B8F1670F40F092805C +:108EB000042D00F38F806A1E17447A1C5245A8BF08 +:108EC000A9F10307002207F10109924611464FF06C +:108ED000660B27EAE773BBF1650F039340F0F5805B +:108EE00003F1010917468A1A00230592B9F1000F10 +:108EF00080F2F880042B36DD621E302113782E2B91 +:108F0000164602F1FF32F9D0A3F13000092840F2F1 +:108F10002A8101363378302B25D172782E2A40F001 +:108F20002F81BBF1660F00F02B81BAF12D0F32704B +:108F3000737040F02381013D08BF4FF02B0AB4420B +:108F400006F10100A6EB0401A0EB04003CBF0021E8 +:108F50000120A4EB0602214438BF0022204420F067 +:108F600085FB31233370B8F1670F0BD1039B4BB1F5 +:108F700023461C46013B14F8012C302AF9D02E2A36 +:108F800008BF1C46BAF1000F15D0049B84F801A05D +:108F900003F020030A2243F0450395FBF2F023700F +:108FA00090FBF2F302FB130302FB1050303330301E +:108FB000A370E070043400232370019BE01AD8E60C +:108FC0000135684215F014FD0146584612F0E6FCE2 +:108FD00001465EE7A9F10602BA4205DCB8F1670F67 +:108FE00014BFA9F107071746304615F009FEC3461E +:108FF00006466A424FF000094FF02D0A494668E7DD +:10900000013015F0F5FC01462048DFF880B012F081 +:10901000C5FC0146304615F0F1FEC8B9B8F1660F3F +:1090200023D1554534DA7A190132524507DBAAEBD0 +:10903000050ABAF1010FAAF1020708BF002707EBE2 +:10904000050909F101092A4629464FF0000A3EE7C1 +:109050006A1CA81C039215F0CBFC0146584612F07E +:109060009DFC039A01461546D4E7B8F1650F0FD071 +:10907000B8F1670F1BD02A46C3464FF000094FF0E6 +:109080002B0ABBE7FFFF7F7F9B209A3E0000204119 +:10909000A9F10602BA4201DCA9F107074FF0000965 +:1090A0002A464FF02B0A49464FF0650B11E73A1D4F +:1090B000524501DBA9F10607BD4203DB2A464FF00A +:1090C000670BDAE76A1CBF1AB9E7BBF1670F7FF4D9 +:1090D00009AF002FD6BF4FF00109DDF80C90CDF895 +:1090E0000C90FFE6002F3BDD384615F081FC014671 +:1090F000274812F053FC02460023314610460793DE +:10910000069215F085FE079B50B9069A3046114627 +:1091100015F0B8FB079B069A0133092B0646ECD1E4 +:109120002246B9F1000F0BD003F1300102F8011B08 +:109130000599F94204D1039911B12E21A21C617045 +:10914000002F09F1FF3908DC30461149CDE906232B +:1091500015F0A2FCDDE906230646013F1446C5E6EC +:109160004FF07E52C8E7392B02D001333370D1E67D +:10917000019B51709E427FF4C1AECBE60135DEE625 +:10918000019A0299631C9A1A8A4238BF1C46D6E695 +:109190000000204108B5044631B1054B8A6B0360DD +:1091A0000968002303F0A9FE2046F8F7BBFE00BFC4 +:1091B000B0DE05002DE9FF47044601921E46451822 +:1091C0002AB1023A222A02D9364801F0B7F9AC4254 +:1091D000274636D214F8010B0FF009FE804600280E +:1091E000F5D13B782B2B26D12746E91B384601AA1F +:1091F0001FF054FF0744B9460024A9454B4623D32A +:10920000B8F1000F00D06442640044F00104BB4296 +:1092100009D01F46AF423B463ED2187801370FF0C7 +:10922000E6FD0028F6D12049019A204803F022FEED +:109230003146FFF7AFFF2D2B04BF27464FF0010843 +:10924000D3E74FF00008D0E719F8012BA2F1300A5C +:10925000BAF1090F09D95F2ACFD042F02002A2F15A +:1092600061011929CCD8A2F1570A01995145C7D9F2 +:1092700020461EF00AFE28B9019B03FB04A494EAD1 +:109280004403BAD5019B03974246E91B03A804F0A7 +:1092900026FE039B0446BAE7C5D1204604B0BDE8CC +:1092A000F08700BF547806006978060044DE0500A8 +:1092B0002DE9F04F8BB0CDE90623149B08930023D2 +:1092C00004930023CDE90133DFF898A2044600EBB4 +:1092D00001094C4580F0A38120780FF088FD0590AE +:1092E00000283ED123782B2B3FD101344C4580F010 +:1092F0009681237843F02003692B3CD1A31C994528 +:1093000040F28381637843F020036E2B40F07D812F +:10931000A37843F02003662B40F07781E31D994545 +:1093200004F103051AD9E37843F02003692B15D122 +:10933000237943F020036E2B10D1637943F020038F +:10934000692B0BD1A37943F02003742B06D1E37969 +:1093500043F02003792B01D104F108054FF0FF46BB +:109360001DE0049E01340496B3E72D2BC1D10123E7 +:1093700001340293BAE76E2B40D1A31C994540F209 +:109380004481637843F02003612B40F03E81A37851 +:1093900043F020036E2B40F03881734EE51C069B92 +:1093A0007BB14D450DD22B7843F020036A2B08D1B9 +:1093B000019BA54243F0020308BF4FF07E560135E2 +:1093C0000193029B1BB1012306F100460293A542C3 +:1093D0000DD04D452C4680F0F880207801350FF0F7 +:1093E00006FD0028F5D1079B002B40F0FC805F496B +:1093F0005F4803F0C6FC0899FFF7CCFE4FF0000869 +:109400002146002742464646CDF80080C3460D4619 +:1094100015F8010BA0F13003092B039300F28B80A8 +:10942000BBF1020F2ED1009B52498B4205DC009903 +:10943000039B0A2000FB01330093A94500F2B5808D +:10944000059B13B1009B5B420093009B46441E4466 +:1094500016F1250F05DA3846474915F01DFB25366C +:10946000074616F1090FC0F0A280704215F0C0FA4D +:109470000146504612F092FA0146384615F0C0FBFC +:1094800006468CE7039B33B13C490992384615F0F8 +:10949000B5FC099AC8B1BBF1000F01D10136CCE788 +:1094A00001324FF0010BC8E734490992384615F0F4 +:1094B00091FC099A30B35146384615F0EDFA002177 +:1094C00015F0E2F9099A0746013E002EECD1164646 +:1094D0002A493846CEB915F07DFC28B351463846A6 +:1094E00015F0DAFA0746039815F082FA0146384675 +:1094F00015F0CAF9BBF1010F07464FD108F1FF384B +:1095000032469AE708F10108DEE715F063FC48B13E +:109510005146384615F0C0FA002115F0B5F908F1AA +:10952000FF380746013ED3E7BBF1000F39D108F100 +:1095300001085A4681E7BBF1000F21D12E28B0D097 +:1095400040F0200CBCF1650F1DD1A9456FD94B78B7 +:109550002B2B1DD18D1C4D453FF449AF4FF0020B15 +:109560006BE700BF000020410000C07F7578060057 +:1095700044DE050064666606EA1C0802EC78AD600D +:10958000BBF1020FDCD15F283FF457AF0D4657E720 +:109590002D2B08D101238D1C0593DCE73246B34601 +:1095A0004BE732467DE74FF0020B29462FE7304666 +:1095B00015F01EFA0146504612F0F0F9394615F042 +:1095C0006BFA5DE725460026EDE67FF40CAF019BC4 +:1095D000012B3FF40CAF6BB1049831460BB0BDE8E2 +:1095E000F04F02F043BD019B002B7FF400AF01233D +:1095F0000193B8E6079B13B100213046EEE73046F1 +:109600000BB0BDE8F04F03F03DBD069B002BD9D158 +:10961000029B002B3FF4EBAE25460026D3E64FF02D +:109620000008254646460027CDF800800DE73FF4A8 +:10963000DEAE05E708B510201EF07DFB0123837028 +:1096400008BD10B503F001030224C0E901128470C3 +:10965000C37010BD9DF80430426003F00103C37075 +:10966000009B8360029B0373C368039A817062F35B +:109670001F23C360704770B5044610462388CBB1E2 +:109680000A460023214604F009F82346002213F875 +:10969000011BE443090603EB040604D4D30718D5E1 +:1096A000114B036015E013F8011BC1F38015B540A1 +:1096B0002A43EFE7A3786568052B0BD10B49267B7E +:1096C000E468102001F0CDFCC0E90165C4F3172463 +:1096D000C46070BDA3680A46294603F0DFFFE37843 +:1096E000002BF6D0DCE700BF08E30500F4E105003D +:1096F00038B5144612F4807218BF1A461D46FFF79B +:10970000BAFF620902F008022A44E1B2BDE838401B +:1097100002F035BC024B82681A61C268DA60704799 +:10972000D4400020838803F4C071B1F5C07F0246A5 +:109730000FD0190604D5C07B02EB80021069704778 +:1097400013F4807006D0D07B02EB80021369586856 +:1097500070470148704700BF9D25040070B51F4C3D +:10976000F9F746F900250123E561A4F8F030D4F8B3 +:10977000F4300BB1A4F8F050194B1A4E1A48A4F863 +:10978000FC50C4E90E350321184B63642564C4F80A +:10979000EC5003F073F83046012103F06FF8AA2271 +:1097A000BA21304603F06FF900210846C4E9036688 +:1097B000C4F8A05004F090FF0A21C4F89C0004F003 +:1097C000ABFDD4F89C0040F2DA5104F0A5FD06F19F +:1097D00030000021BDE8704004F0DEBED44000201F +:1097E0005CE105002C4100201C41002010E905002F +:1097F0007047D0E9023018470048704764EF050011 +:10980000034BC0000A4640F00201D86803F03BB9A0 +:10981000D4400020034BC10041F00201D86803F09E +:1098200040B900BFD4400020034BC0000A4640F0BE +:109830000201186903F027B9D4400020034BC1008E +:1098400041F00201186903F02CB900BFD440002098 +:10985000F8B51C46930707460D46164608D113680F +:109860009A88910615D5520610D5AB889B0501D56F +:109870002660F8BD50B90F4B9D4207D00E490C2011 +:1098800001F0EFFBC0E901562060F2E7C4E9006790 +:10989000EFE70A4A934202D173682360E9E7084A76 +:1098A0009342E5D110B101F0E2FB05467368C4E9CB +:1098B0000035DEE7C4E5050084DA0500E0E90500CF +:1098C00018EA050000232DE9F041C2E900330E46F5 +:1098D0000746144601F0CBFB0A2E054602D1206054 +:1098E000BDE8F081192E07D1838803F4C0731BB142 +:1098F000144BC4E90037F3E76B7B5BB105EB8303E3 +:1099000022461B693146384698476368042BE7D1E5 +:1099100000236360EB7C002BE2D005EB8303F100B6 +:109920001869002241F00201043001F09CF900287E +:10993000D6D04268234629463846BDE8F041FFF7B5 +:1099400087BF00BFDCEE0500F0B58DB00546684668 +:109950000E4617461C46F8F7D3FA40B93A46314648 +:109960002846FFF7AFFFF8F7A1FA0DB0F0BD002CC5 +:10997000FBD1019B0449186808F0D2F90028F4D102 +:109980000198F8F7CFFA00BF18E005007FB5C000D6 +:1099900040F00200CDE904120190062301A9052040 +:1099A000CDE9023309F0FEF907B05DF804FB70B5AC +:1099B00045680024AB68A34200D870BDEB6853F83B +:1099C0003400E60078B104280DD006F083F803785F +:1099D0005F2B08D0EB68985906F064F8EB683344C5 +:1099E0005968FFF70DFF0134E4E708B519B903F032 +:1099F000BFF9F8F797FA03F0C4F9FAE70EB403B524 +:109A000003AA52F8041B019203F0E0F9F8F78AFA6E +:109A100038B50D4BC5000446186945F00205002213 +:109A20002946043001F01FF9024650B9074829467B +:109A300001F019F9024620B9054906482246FFF708 +:109A4000DDFF506838BD00BFD440002038EB050072 +:109A50007B7806001CDF05000A4B10B50446D3E9ED +:109A60000303984207D0E100002241F002010430D4 +:109A700001F0F9F820B92046BDE81040FFF7C8BF53 +:109A8000406810BDD4400020032837B505460C4679 +:109A900007D1084601F0F8FC00B30E24204603B0BD +:109AA00030BDCA072FD54B1008282AD801A252F87A +:109AB00020F000BF9D9A0300E59A0300039B03007A +:109AC000039B0300D99A0300039B03009D9A0300A4 +:109AD000E19A03009D9A0300002BDED01E24DDE7EF +:109AE000002BDBDAB3F1404F06D14FF0804003B0DA +:109AF000BDE8304004F0CEB95C42640044F001049B +:109B0000CCE7DC43F9E7062825D101F00703022B57 +:109B100010D08B071FD10B681A7BE2B103EB8203D5 +:109B20001A691F4B9A4216D1486840B98B68C868B9 +:109B300001930CE0CC082046F9F764F818B1400016 +:109B400040F00104AAE701A92046F9F77DF8019940 +:109B5000F8F73EFFF3E7204601F089FAC37ABBB17C +:109B600000EB8300214603692846984798B9042DE5 +:109B7000B4D0A5F10803022B0FD90A4B20465D5D36 +:109B800001F080FA084903462A460848FFF736FFE5 +:109B9000062DECD1B1E7044680E700247EE700BF44 +:109BA00055FB0300D1E905008178060068DE050059 +:109BB0002DE9F04105460E461746984601F057FA42 +:109BC000847A54B100EB8404434624693A46314612 +:109BD0002846A446BDE8F0416047284601F052FA05 +:109BE000024902460248FFF709FF00BF8A780600D3 +:109BF00068DE050000231A461946FFF7D9BF70B585 +:109C00000C46114986B0054608690490C86805905D +:109C1000C1E9033202A80D49F8F750F92E6822462F +:109C200029466846FAF741FDB4FA84F252093146F2 +:109C30006846FDF70DFBFFF7DDFF04460120F8F74E +:109C400045F9204606B070BDD440002015970300AA +:109C500007B50022019101AB0121FFF7A9FF03B075 +:109C60005DF804FB07B5CDE900126B460022022126 +:109C7000FFF79EFF03B05DF804FB30B45568003D6C +:109C8000144618BF0125C5F1020302EB83030A46FF +:109C90002918206830BCFFF78BBF10B5044603F0CD +:109CA000F6F830B1002320461A461946FFF780FF28 +:109CB0000446204603F004F928B9BDE810400349E2 +:109CC000034803F05EB8204610BD00BF9778060039 +:109CD00068DE050070B5164604460D46FFF7F2FD36 +:109CE000336893B9A30709D12268084B9A4205D17A +:109CF000E28807492B460748FFF780FE204601F01F +:109D0000C1F9054902462B46F5E770BD88E9050013 +:109D1000B878060018E00500C178060007B56A4665 +:109D2000FFF7D8FFDDE9000111B903B05DF804FBCE +:109D300002F0D1F8F9E72DE9FF41174606460C4637 +:109D40001D4601F094F9384A904208D12B463A4614 +:109D50002146304604B0BDE8F04103F021BD8188C2 +:109D600011F4C07814D0062C2DD1304F00233B6263 +:109D7000FFF7D8FC0346304698472860E8B9396AAF +:109D800019B1296004B0BDE8F0812C600846F9E7FC +:109D9000062C18D101AA19213046FFF793FD019B2B +:109DA0006BB901AA8A213046FFF794FF039401AAF8 +:109DB00000210120FFF761FF28600120E2E701AAEE +:109DC00041464046F6E7002CEBD1384601F04FF90A +:109DD000174907F0A5FF01AA68B147213046FFF7F0 +:109DE00071FD019B7BB101AA21462046FFF745FF8B +:109DF00028602046C6E79B213046FFF763FD019BA4 +:109E00000BB10397D3E70B49384603F060F830B144 +:109E100009490A4802F0B5FF28600220B2E7384637 +:109E2000FFF73BFFF8E700BF84E20500D4400020C5 +:109E300038E10500CCE00500C9780600F8DE050031 +:109E400073B5164605460C4601F011F9427B5AB12E +:109E500000EB82020423CDE900362146136928462F +:109E60006A469847009B43B1284601F00BF9044924 +:109E7000024623460348FFF7C1FD02B070BD00BF94 +:109E8000C178060018E0050073B50C46054601F0E0 +:109E9000EEF88388190606462ED403F4C073B3F592 +:109EA000C07F29D0C37BB3B14CB900EB83031A69DF +:109EB000174B9A4203D010201DF02FFF0446F37B6E +:109EC000B28806EB8303D2051B69214648BF1B6895 +:109ED0002846984778B96A460F212846FFF7F2FCD2 +:109EE000009B63B11CB910201DF017FF04462146EA +:109EF000684603F03FFD0546284602B070BD28467F +:109F000001F0C0F8034902460348FFF777FD00BFA0 +:109F1000B1120400E078060068DE050037B504469B +:109F200001F0A5F8818811F4C0750AD0104B002209 +:109F30001A62FFF7F7FB0346204603B0BDE8304046 +:109F400018476A4619212046FFF7BCFC009B3BB925 +:109F5000204601F097F8074902460748FFF74EFDF3 +:109F60006A4629462846FFF788FE03B030BD00BF89 +:109F7000D4400020ED78060068DE050030B50546C7 +:109F80008FB000F06DFD284601F071F8848814F45C +:109F9000C0740AD01B4B00221A62FFF7C3FB0346B2 +:109FA00028460FB0BDE8304018476A4619212846B8 +:109FB000FFF788FC009BE3B102A8F7F7A1FF014679 +:109FC00040B96A46FFF759FE0446F7F76FFF20468F +:109FD0000FB030BD039B0C49186807F0A1FE28B1F3 +:109FE000039802F097FE074B1862F0E70398F7F723 +:109FF00099FF284601F046F8044902460448FFF755 +:10A00000FDFC00BFD4400020CCE00500ED78060048 +:10A0100068DE05002DE9F04F8DB013680293044609 +:10A02000002841D102F10408C1F307294FEA49038E +:10A03000CFB253FA81F14FEA810B58F821607610C4 +:10A0400048D1354608EB87030093964A08EB0B038B +:10A0500001934FEA870A08EB87034FF0000B019941 +:10A060008B423BD1CB444FEA4B0B7B1C002E48D19B +:10A070000BEB0305A8001DF050FE81460CB10460F7 +:10A0800001265246414609EB86001FF0E1FABC1951 +:10A09000A344AB4506D948464FEA8B011DF04DFE5F +:10A0A0005D46814626468EE0546802F10808BBE70B +:10A0B00026FA0AF3D80708D558F82A0001F0BEF9A5 +:10A0C00018B101F099F8013805440AF1010A574521 +:10A0D000EED1B7E74FF0000A5546F8E7196871B9B5 +:10A0E000586860B181070AD10168914207D1039392 +:10A0F00002F0C6FC0BF1FF3B6A4A039B8344083322 +:10A10000ADE71D445D44A8001DF007FE81460CB17B +:10A11000046001244FF0000A1DE026FA0AF2D2077B +:10A1200058F82A0037D5830718D102685E4B9A4247 +:10A1300002D05E4B9A4211D108AA07A901F0FEF89D +:10A14000079A0899920009EB84001FF081FA079A98 +:10A1500014440AF1010A5745DFD199E708A9FFF72E +:10A1600093FEA7EB0A03039004930398FFF706FFFF +:10A1700002460028EDD0049B19198D4207D8E9004A +:10A18000484605921DF0D9FD059A81466D0049F8B3 +:10A1900024200134E9E749F824000134D9E7009B81 +:10A1A000D3E9001A002975D11AF0030739D1DAF87A +:10A1B00000203C4B9A4234D1DAF80820974215D35C +:10A1C000009B08330093DDE900329342E7D1321B54 +:10A1D00021464B4652080298FFF7EAFC04464846DF +:10A1E0001DF0B8FD20460DB0BDE8F08FDAF80C2068 +:10A1F00052F837004FEAC70888B104280FD000F0A2 +:10A200000702022A01D006F0F3FB49F82600DAF82B +:10A210000C20B1004244494452684A60023601377A +:10A22000CAE708AA6A215046FFF754FD002108AA90 +:10A230000846FFF722FD0021FFF726FE8046404634 +:10A24000FFF79CFE07460028BAD0721CAA4207D32B +:10A25000E90048461DF071FD4FEA450B81465D4619 +:10A2600007F00702022A03D0384606F0C1FB074672 +:10A2700008AA0F215046FFF72DFD08AA0021012052 +:10A280000A97FFF7FAFCB2004A4449F826700236F2 +:10A290005060D4E7B2004A4449F826100236C2F8AA +:10A2A00004A08DE774DC050018E90500D4E305007F +:10A2B00070B5830786B00C4615461BD103681D4A4E +:10A2C000934202D01C4A934214D102AA01A901F080 +:10A2D00035F8019BA34228D31AD8029B043D03EB17 +:10A2E00084049C4201D106B070BD54F8042D45F899 +:10A2F000042FF6E702A9FFF7C7FD002306460193E6 +:10A30000019BA342304606D3FFF738FE0028EAD06F +:10A310000A4922460BE0FFF731FE30B1019BDA43D8 +:10A320002244013345F82200E9E7019A044905482F +:10A33000FFF764FB18E90500D4E305001479060073 +:10A34000FB78060044DE05002DE9FF418307154632 +:10A35000CFB2C1F3072437D103683A4A934202D0FF +:10A36000394A934230D10290029803AA01A900F021 +:10A37000E5FF01983B1983425ED80399002601EB63 +:10A380008003A64216D1C01B01EB8701801B04F09D +:10A39000A3F9039945F82600BC0005EB86080B19C4 +:10A3A0004246994202F104020AD10023029304B00A +:10A3B000BDE8F08153F8042D45F826200136E0E78A +:10A3C00053F8040D1060ECE70021FFF75DFD00235A +:10A3D00080460193019BBB4219D30021084604F03B +:10A3E0007BF906464046FFF7C9FD0146D0B9B16882 +:10A3F000A14221D345F8246005EB810205EB8403DB +:10A40000091BAB4212D1304604F081F9CFE7404638 +:10A41000FFF7B4FD80B1019BFA1A2244013345F8DD +:10A420002200D6E7304603F077FFDBE7F468D01A66 +:10A43000205843F8040DE4E7019A04490448FFF763 +:10A44000DDFA00BF18E90500D4E30500FB7806003B +:10A4500044DE05002DE9F04F85B000AF07F108029A +:10A4600005460C46FFF72EFAFB6823B1274928481A +:10A470002246FFF7C3FAB868002842D107F1080264 +:10A4800040F279112846FFF71DFABB68002BEDD08A +:10A4900007F1080228461721FFF714FA391DB8689A +:10A4A00005F036FB82462046F8F7B7FBD7F8049054 +:10A4B00009F101068519EB1D23F00703ADEB030D30 +:10A4C0006B464A4651464FEAD30B18461FF0C0F878 +:10A4D0002E2309F83B302046F8F7AAFB8146204698 +:10A4E000F8F79BFBE84646440246494630461FF0D3 +:10A4F000AFF829464046F8F7D5FA01221E21FFF7AA +:10A5000045FA1437BD46BDE8F08F00BF2E7906002E +:10A51000D0DF050008B50446F7F7B6FD18B10449C9 +:10A520000448FFF762FA044902482246FFF766FA38 +:10A530003479060040DF050049790600014608B578 +:10A540000148FFF752FA00BF44DE05002DE9F04351 +:10A55000072887B081468846174603D1914219D013 +:10A560000E2637E1022801D0052807D13A46414698 +:10A57000484607B0BDE8F04300F0AFBF082829D136 +:10A58000104602F084FC38B13946404602F09FFC88 +:10A590000028E5D01E261DE117F0030440F03F819E +:10A5A0003A68B24B9A4240F03A8107F108067B685C +:10A5B000A342D5D956F8045B284602F068FC00286F +:10A5C00000F073812946404602F081FC0028E1D169 +:10A5D0000134ECE711F0010F00F03F814D10D1077D +:10A5E00040F10C815410232800F21981DFE810F0AB +:10A5F000F600FA001701FE0002011701170117010A +:10A600001701240032003500380072007A007D0006 +:10A61000800017018C009500A800B00024003200D3 +:10A620003500380072007A007D00800017018C0030 +:10A630009500A800B000DA0045EA040898EA48034B +:10A640004FEA48005DD54046C11707B0BDE8F0436A +:10A6500003F010BC85EA0408F0E705EA0408EDE71A +:10A66000002C02DA8248FFF769FF1F2C09DC6FF02B +:10A6700040432341AB4204DB4FF040432341AB4214 +:10A6800025DD2846E91703F0F5FB8046404600F03B +:10A69000EEFC037B002B40F0F780A9F109030C2BA3 +:10A6A00040F2FE80B9F1240F40F0B98002A9404683 +:10A6B000FFF7EAFB04462046FFF760FC00283FF462 +:10A6C0004FAF394600F082FF0028F4D062E705FA68 +:10A6D00004F8B3E7002CC5DB1F2CA8BF1F2445FAE4 +:10A6E00004F8ABE705EB0408A8E7A5EB0408A5E729 +:10A6F000214628461DF0C9FB0028C2D104FB05F005 +:10A70000400040F0010665E0002C00F0D0802146BA +:10A7100028461DF0EBFB804690E7002C00F0C78038 +:10A72000284614F065F90546204614F061F9014603 +:10A73000284614F065FA07B0BDE8F04302F0A2BC69 +:10A74000002C00F0B480214628461DF0C1FBE2E752 +:10A75000002C23DA284614F04BF93A4601464846C5 +:10A7600007B0BDE8F04302F0EDBCE20707D5314683 +:10A7700040461DF08AFB002883D106FB08F8012C17 +:10A780003FF45CAF3146304664101DF07EFB00287C +:10A790007FF477AF7643002CE7D14FE72E464FF09A +:10A7A0000108F8E7002C00F082800021022006F06A +:10A7B0005DFB2146064628461DF098FB400040F010 +:10A7C0000100B060214628461DF082FB400040F0A9 +:10A7D0000100F060304607B0BDE8F083A542FFF607 +:10A7E000D9AEBDE6A5423FF7D5AEB9E6A5427FF7A3 +:10A7F000D1AEB5E6A542BFF6CDAEB1E693072CD1FA +:10A8000013681C4A93421BD1284614F0F1F83A46CB +:10A810000146484602F096FC06460028DAD1164B5F +:10A82000404613F8095000F02DFC0446384600F06D +:10A8300029FC12490090234611482A46FFF7DEF80A +:10A84000104A934209D1284614F0D2F83B460146FB +:10A850000022484601F0C5FCDEE7B9F1060F01BF52 +:10A8600043464FF02409B8461F460FE718E9050094 +:10A8700061790600A4E10500ACE905006F790600E6 +:10A8800068DE050004DC050000EB83003A4603693E +:10A89000414648469847064600283FF4FEAE99E7F1 +:10A8A00009F10D095FFA89F9F0E62F46B7E7024989 +:10A8B0000248FFF79AF800BF8279060060E00500C1 +:10A8C000014608B50148FFF790F800BF68DE0500B3 +:10A8D0002DE9F041044617461E460D4641B1186861 +:10A8E00000F0C5FB6368834202D00548FFF7E8FF2C +:10A8F000A06833463A462946BDE8F041FFF758B90B +:10A900008E790600014608B50148FFF76EF800BFD2 +:10A91000D4DE050007B50022019101AB012102F050 +:10A92000E5F8F7F7FFFA014608B5034809B9FFF75C +:10A930005CF8FFF7EFFF00BFCCE0050008B500F0C2 +:10A94000A1FB024902460248FFF758F89479060035 +:10A9500068DE0500410008B5024841F00101FFF73B +:10A96000D9FF00BFDCDD05007FB504460D4602A817 +:10A970002021F8F754FA0A492A4602A8F8F756FBAC +:10A9800002A804F0C3FD640044F00104CDE90040D6 +:10A990006B4600220221034802F0A8F8F7F7C2FA3A +:10A9A0009B790600DCDD050008B5024841F2F24162 +:10A9B000FFF7B0FFF8DE050030B58DB004466846FD +:10A9C0000D46F7F79DFA48B920462946FFF740F9AA +:10A9D0000446F7F76BFA20460DB030BD01990248E6 +:10A9E00000F07EFB0024F6E7C0D2050070B58CB005 +:10A9F000044668460D461646F7F782FA50B92046D7 +:10AA000032462946FFF72EF90446F7F74FFA20465B +:10AA10000CB070BD0199024800F062FB0024F6E71B +:10AA2000C0D2050082B0024B01AA1A6002B0704782 +:10AA3000D4400020014B1860704700BFD440002074 +:10AA4000034B82B0186801ABC01A02B0704700BF58 +:10AA5000D4400020014B5860704700BFD440002014 +:10AA600007B5064A1368526801A95B1A9A4201D8D1 +:10AA7000FFF79AFF03B05DF804FB00BFD44000204D +:10AA800010B503461446500CC2F34F0221B1E10742 +:10AA900002D40C48FFF714FF904206D198420FD021 +:10AAA000094902460948FEF7A9FF984204D9C21A8B +:10AAB00007490648FEF7A2FF9A4201D20549F1E78D +:10AAC00010BD00BFA9790600B379060068DE050055 +:10AAD000C1790600C97906002DE9F74FDDE90CA719 +:10AAE000002406468B4615460193A046A146019BCD +:10AAF0009C4204D1B1453CD22248FFF7E1FEB4426A +:10AB000010D2BAF802209205F6D45BF8240009F1BD +:10AB100001099AF80220012A24D100F0B5FC07F8B7 +:10AB2000240017E0BAF80010C900002241F0020129 +:10AB3000284600F098F888B9BAF80220D30505D560 +:10AB4000BAF8002010491148FEF758FFDAF804203F +:10AB500047F8242001340AF1080AC8E7406808F1E0 +:10AB60000108D6E7022A01D100F046FB47F824008D +:10AB7000F0E72B68B8EBD30F01D20548BDE703B06F +:10AB8000BDE8F08FE7790600E279060068DE05008F +:10AB9000F179060070B586B00446154602EB8002D6 +:10ABA00003A81E4600F037F80B9B01930A9B009305 +:10ABB00003AA334629462046FFF78EFF06B070BD34 +:10ABC00008B50148FFF77CFEFB79060008B501488F +:10ABD000FFF798FE107A060007490346002231F875 +:10ABE000020B984206D20132222AF8D103EB53031A +:10ABF00043F00100704700BF242B060010B5044647 +:10AC0000416019B981600123236010BDC8001DF0A7 +:10AC100092F8A060F7E74160C90041F007010160C8 +:10AC20008260704703789B0710B5044602D48068A1 +:10AC30001DF090F82368002262F3DF036260236056 +:10AC400010BD03789B0710B5044602D480681DF040 +:10AC500081F8236803F0040343F001032360002319 +:10AC6000C4E9013310BD2DE9F74F0378914613F085 +:10AC7000010204460E46009210D001F00702022A9B +:10AC80000CD011F0030203D108687B49884204D03C +:10AC9000B9F1010F02D0002558E000925B0762D5A0 +:10ACA0002768A56827F007072F44BD4232D3B9F1C2 +:10ACB000010FF0D1D4E90032B2EBD30FC3F3DC01C2 +:10ACC00011D104316160A068C9001DF036F8D4E9E3 +:10ACD0000032A2EBD30223F00703A060D2000021D0 +:10ACE00018441EF0DDFC2368A168C3F3DC02501C8D +:10ACF00060F3DF03236001EBC20541F8326006F028 +:10AD000007060022022E6A6020D0237862F3000337 +:10AD100023701BE02868B0421CD1B9F1020F15D195 +:10AD200023686E68083B7A1B05F108012360083A26 +:10AD300028461EF09BFC2568A368C5F3DC0225F0BD +:10AD400007051D44002143F832106E60284603B009 +:10AD5000BDE8F08F009B23B9314600F037FC002896 +:10AD6000DBD10835A1E763682BB9B9F1010F92D1A6 +:10AD7000204600F083F806F0070BBBF1020F29D143 +:10AD8000F008F7F73FFF82466268BAFBF2F102FB78 +:10AD900011A217464FF00008A16851F8370001EBE7 +:10ADA000C705F0B9B9F1010F7FF475AF2368C3F39C +:10ADB000DC020132B8F1000F18BF454662F3DF0331 +:10ADC000BBF1020F2360C5E90060BFD0237860F3B8 +:10ADD00000039DE731460620FEF756FE4FEA600A63 +:10ADE000D2E7042823D1B8F1000F08BFA846616854 +:10ADF0000137B7FBF1F001FB1077BA42CCD1B9F1C2 +:10AE0000010F7FF448AFB8F1000F31D02368002262 +:10AE10000833BBF1020F2360C8F80060C8F80420B3 +:10AE200003D0237862F30003237045468EE7B042D7 +:10AE300011D1B9F1020F89D12368083B23606368FF +:10AE40000137B7FBF3F203FB1277A36853F83730EF +:10AE500063B92B607AE7009B002BC8D13146019281 +:10AE600000F0B4FB019A0028C1D0E2E70423F0E728 +:10AE7000204600F003F887E7DCE805002DE9F04103 +:10AE800046680446701CFFF7A7FE0546C000A76889 +:10AE90001CF051FF2368656003F0060343F00103D3 +:10AEA0002360A0603D1D4FF00008B04504D1384636 +:10AEB000BDE8F0411CF04EBF55F8041C39B104291F +:10AEC00005D001222046FFF7CEFE2B68436008F133 +:10AED00001080835E9E710B5002304460160436026 +:10AEE00088001CF028FFA06010BD03682DE9F74F13 +:10AEF00004468B46914623B912F0010F62D000F050 +:10AF000064F859460620FEF7BFFD23684710B7FBDB +:10AF1000F3F603FB167609F0010300933546002390 +:10AF2000A06850F825804FEA850A00EB8502B8F149 +:10AF3000000F0CD119F0010F44D0002B08BF1346AD +:10AF4000626801326260D846C3F800B034E0B8F1FC +:10AF5000040F17D1002B08BF134622680135B5FB3B +:10AF6000F2F002FB1055AE42DAD1009A52B3002B38 +:10AF7000E6D1204600F029F82368B7FBF3F603FB7F +:10AF80001676CBE759464046019300F01FFB019B24 +:10AF90000028E2D019F0020F0ED063682268013B4E +:10AFA00001356360B5FBF2F1A36802FB115553F85C +:10AFB00025202AB943F80A20404603B0BDE8F08FA7 +:10AFC0000422F7E74FF00008F6E7F8B5076886684F +:10AFD0000446781CFFF700FE0025206065608000B5 +:10AFE0001CF0A9FEA060BD4204D13046BDE8F84087 +:10AFF0001CF0B0BE56F8251029B1042903D0012257 +:10B000002046FFF772FF0135EDE770B50168024693 +:10B010000023994201D1002014E0946854F82300E1 +:10B0200004EB830601330028F3D00428F1D05568DF +:10B03000013D5560B3FBF1F201FB123354F82330AC +:10B040000BB9336070BD0423FBE710B5044680687C +:10B050001CF080FE0023C4E90033A36010BD00BFD4 +:10B06000704710B50C461CF058FE046010BD8307F5 +:10B070000FBF0068024B00F00F0053F8200070472C +:10B08000A4DA050008B5FFF7F2FFBDE80840C08864 +:10B09000F7F7CEBD70B50D4604461646FFF7E0FC47 +:10B0A0002846FFF7E4FF437A43B100EB83033246BF +:10B0B000294620461B69BDE870401847C2880349ED +:10B0C0002046BDE87040F8F75DBB00BF447A06003B +:10B0D0000A4601460148FFF7DDBF00BFC0D20500A8 +:10B0E0002DE9F347044608460E4601F0E9FE98B103 +:10B0F00001AA6946304601F02EFF009B63B11A4950 +:10B100001A4FDFF86C80DFF86C902046F7F7A0FF4D +:10B11000009D033D002D0BDA314620460222FFF749 +:10B12000B9FF1449204602B0BDE8F047F7F790BFD9 +:10B13000019A02EB850339465B6852F825202046C8 +:10B14000F8F720FB019B4FEA850A53449A682AB915 +:10B1500049462046F7F77CFF033DDBE741462046A2 +:10B16000F8F710FBF8E700BF497A06006D7A060091 +:10B17000827A06004F57060008B50246FFF777FFB0 +:10B18000837A53B100EB830306491B698B4204D1D8 +:10B19000BDE80840104606F093BC181E18BF0120F9 +:10B1A00008BD00BFE51804000E2838B503460D465B +:10B1B00003D100230B60012403E01E2803D10124E6 +:10B1C0000C60204638BD10F0010402D043100B6023 +:10B1D000F7E7820707D10168064A914203D102F0DE +:10B1E0009DFE2860E7E719460820FEF74DFC002881 +:10B1F000F5D1E6E788E3050013B501A90446FFF79A +:10B20000D3FF10B92046FFF799FB019802B010BD9B +:10B21000C20705D4830705D10268034B9A4201D1C6 +:10B2200002F075BEFFF7E8BF88E305000E2838B5C9 +:10B2300003460C4626D01E2826D010F0010505D066 +:10B24000401013F0D5FB2060012519E081070CD1D7 +:10B2500002680F498A4202D102F0B0FFF3E70D49BC +:10B260008A4202D101F06CFFEDE719460920FEF792 +:10B270000BFC28B1820703D10268064B9A42F1D039 +:10B28000284638BD0020DEE74FF07E50DBE700BFE8 +:10B2900088E30500A4E1050013B501A90446FFF702 +:10B2A000C5FF38B92046FFF7EDFE044902460448C1 +:10B2B000FEF7A4FB019802B010BD00BF8B7A060018 +:10B2C00068DE0500F8B505460F461646FFF7AEFFE7 +:10B2D000044618B1002333602046F8BDA9070AD1FF +:10B2E0002A680C4B9A4206D132463946284600F06D +:10B2F00073FF0124F0E729460A20FEF7C5FB00286A +:10B30000EAD08207E8D10268024B9A42E4D1324681 +:10B310003946ECE704DC050010B50446FFF7D2FF20 +:10B3200038B92046FFF7AEFE024902460248FEF752 +:10B3300065FB10BD967A060068DE050038B5840707 +:10B3400003460ED104680B4DAC4203D1BDE8384032 +:10B3500005F09ABE084DAC4203D1BDE8384003F079 +:10B36000D1B91846FFF78EFE044902460448FEF79D +:10B3700045FB00BF18E90500D4E305009D7A0600EF +:10B3800068DE050013B50C4601A9FFF7D7FF019B46 +:10B39000A34204D0034904482246FEF72FFB02B023 +:10B3A00010BD00BFA67A060044DE0500F7B51F46B3 +:10B3B000D30706460D4614460FD554100194019A42 +:10B3C000002ABCBF52190192019AD7B1002A14DA9F +:10B3D00000230193019803B0F0BD01A91046FFF7C7 +:10B3E000E3FE0028EBD12046F588FFF74BFE094924 +:10B3F00003462A460848FEF701FBAA42EAD901950E +:10B40000E8E7002A01DBAA42E4D3F28803490448B2 +:10B41000FEF7F4FAB87A060068DE0500C17A060085 +:10B4200088DF0500820701D002F034BD002801DA70 +:10B4300002F04BBD400040F001007047830710B59B +:10B44000014610D102680F4B9A420CD100F007035D +:10B45000022B06D1C008F7F7E0FB400040F00100E6 +:10B4600010BD8068F9E70846FFF701FEC37A33B1E3 +:10B4700000EB8300BDE8104003690520184718461B +:10B48000EEE700BF84E605000E2810B5044622D082 +:10B490001E2801D1012010BD06281CD0C20703D5EB +:10B4A000013818BF0120F6E7FFF7E1FDC37A5BB171 +:10B4B00000EB8300214603690420984720B1A0F1E6 +:10B4C0001E0358425841E6E72046FFF7B7FF002821 +:10B4D000E0D00138E5E70020DDE705282DE9F04759 +:10B4E00015BF1E260E264FF00E094FF01E09914281 +:10B4F00080460C46154607D1C80720D40846FFF7FA +:10B50000B6FD838859071AD504F00703022B05D02E +:10B51000A20717D122682C4B9A4213D105F00703DA +:10B52000022B05D0AB0712D12A68274B9A420ED1C5 +:10B530002946204604F06EFA002808BF4E463046E1 +:10B54000BDE8F08714F0010A06D0EF0738D423468F +:10B550004FF0010A2C461D462046FFF788FD027B6E +:10B5600007469AB18188080704D42846FFF77FFD73 +:10B5700087420BD1B8F1050F0FD0387B07EB80075E +:10B580002A463B6921460220984798B9BAF1000F34 +:10B59000DDD0AC4218BF4E46D1E7CB06EDD507EB68 +:10B5A00082022146136940462A4698470028E4D083 +:10B5B0000646C4E7B8F1020F04D0FFF765FFBBE70A +:10B5C0004E46BCE70646BAE7DCE8050008B50A4681 +:10B5D00001460220FFF781FFBDE80840FFF754BF96 +:10B5E00010B50446FFF72AFF38B92046FFF74AFD99 +:10B5F000024902460248FEF701FA10BDC87A060069 +:10B6000068DE050038B50446FFF731FD837B15463B +:10B610002BB100EB8300036920469847A0B9204670 +:10B6200035B9FFF72FFD094902460948FEF7E6F94B +:10B63000042D04D1FFF726FD06490246F5E7FFF782 +:10B6400021FD05490246F0E738BD00BFD57A060066 +:10B6500068DE0500E87A0600FA7A060038B5054685 +:10B66000FFF705FD037C14461BB914F004000BD151 +:10B6700038BD00EB830302F003021B69284698479C +:10B680000028F2D10120F3E70148FFF719F900BFC4 +:10B69000057B0600042803D0052807D0002070474A +:10B6A0008B68002B14BF1E200E2070478868400056 +:10B6B00040F001007047084A0346C1E900230846EC +:10B6C0000021C0E9021119681832914202BF5B687B +:10B6D000C3F3172383607047ECDA0500F8B50D4615 +:10B6E0000179044601F07F0116464020002206F051 +:10B6F00065FFA268E36827682B6042436A6022798D +:10B7000002F07F01A96008498F4209D1110601D4D6 +:10B71000B20707D46268C2F3172200FB02332B6022 +:10B720000020F8BD0120FCE704DB0500F8B500228D +:10B7300005460E460146402006F040FF0746102011 +:10B740001CF0EBFA0A4B057103F13402012D18BF0E +:10B750001346036043686FF31F230446C0E90136B4 +:10B7600006FB07F01CF0D9FAE0602046F8BD00BFE8 +:10B7700030DB05004268C36891688B4230B40AD25E +:10B780001479D16882685D1CC5601A4404F07F009A +:10B7900030BC06F073BF002030BC7047F0B50546E2 +:10B7A00085B00F4616461AB90024204605B0F0BDF4 +:10B7B00011F00304806843D10A68354B9A423FD1A7 +:10B7C00001AA06F056FB10B93248FFF79BF8042E89 +:10B7D000EBD12979224601F07F01402006F0EEFEF0 +:10B7E0002D4B2A689A420646019B18D1B3F1807FFF +:10B7F00003DB2A492A48FEF7F8F810201CF08DFADE +:10B80000044695E80F0084E80F00019A02EB11232B +:10B8100063F31F216160029B9B1AA360C5E7029935 +:10B820002879C91AFFF782FFDDE90132E968D21AE7 +:10B830000446724306FB0311C0681DF009FFB4E71C +:10B84000014600233A462868FFF7B0FD2968124BED +:10B850009942024611D16B68042E00EB13220ED0E0 +:10B8600095F90430002B9FDA2879E968334600F017 +:10B870007F0007F068F9062497E7042EF4D12879B1 +:10B88000E96800F07F0005B0BDE8F04006F0F6BEC4 +:10B8900068E60500197B060004DB05003D7B060019 +:10B8A00084E00500F0B5044685B00F46052201A9E5 +:10B8B0003846FFF7D3FE00222179402006F07EFEB5 +:10B8C0006368029DB5FBF0F5B5EB132F0646C3F395 +:10B8D000172220D9A16829444143E0681CF02DFAC1 +:10B8E0006368E0606FF31F23BC42636004D10522EC +:10B8F00001A92046FFF7B2FED4E90203019900FB3B +:10B90000063005FB06F21DF0A3FEA36806202B44BB +:10B91000A36005B0F0BD521B62F31F236360EBE729 +:10B92000F8B50E79012E05460C460ED11A49F7F7E7 +:10B930008FFBD4E902213346284603F0E3FB284677 +:10B940001649BDE8F840F7F783BB15493246F7F7CB +:10B9500019FFA368002BF2D01249134F2846F7F7BE +:10B9600077FB0026A368B34204D810492846F7F7AE +:10B970006FFBE4E71EB139462846F7F769FB32460C +:10B98000E168207906F07AFE012201462846FFF799 +:10B9900081FB0136E6E700BF567B0600E240060069 +:10B9A000627B06006D7B0600B08306009A77060076 +:10B9B000F8B5466836F0FF0604460F461DD10179FA +:10B9C0003246402006F0FAFD6368A168082262F35F +:10B9D0001F231144054641436360E0681CF0ADF944 +:10B9E0006268A368E060C2F31722013A03FB0553C3 +:10B9F0006A43314618441DF053FE20793B46D4E992 +:10BA0000022107F0A0F8A3680133A3606368A3F5DF +:10BA1000807363600620F8BD2DE9F043012885B0EE +:10BA200007460E4608D08B0724D10B68254A93425F +:10BA300002D0254A93421DD1012201A93046FFF7C9 +:10BA40000DFEB8B100223946402006F0B7FD029E37 +:10BA5000B6FBF0F6054631463846FFF767FE01991A +:10BA6000044606FB05F2C0681DF0F2FD204605B055 +:10BA7000BDE8F0833046FFF7E1FC054600B1451014 +:10BA800029463846FFF752FE002104463046FEF7AD +:10BA9000FBF94FF0000806463046FEF76FFA034602 +:10BAA0000028E3D025B919462046FFF781FFF3E7C8 +:10BAB0004246E16808F10109384607F044F8C846F3 +:10BAC000EAE700BF84E6050030DB050038B50C4628 +:10BAD0002046114606221D46FEF7D2FF24B9214614 +:10BAE0000120BDE8384021E62968CB0718D411F0C1 +:10BAF000030303D10868124A904211D001F00702F3 +:10BB0000022A04D043B90A680E4B9A4204D1012C90 +:10BB100002D10D48FEF7D4FEBDE8384001207BE796 +:10BB20000846FFF769FB054601460120FFF7FEFDC9 +:10BB30002A4604460021C0681DF0B2FD204638BDEB +:10BB400088E30500DCE80500717B060038B50D468A +:10BB50001C4611462846084AFEF792FF206803F06B +:10BB6000B9FF012D007803D1BDE838400021DDE5A3 +:10BB70006168BDE838404FE70400020070B51B283B +:10BB80008CB006460C46154626D005D804286BD93D +:10BB90000E2850D000244BE02428FBD1012203A919 +:10BBA0002846FFF75BFD00284ED0A1075AD1226836 +:10BBB000474B9A4256D1012209A92046FFF78EFD34 +:10BBC00001230093DDE90901DDE9032303F024FBF0 +:10BBD000002847D01E242BE00A683E4B9A42D9D059 +:10BBE000012206A92046FFF779FD052209A928466A +:10BBF000FFF734FD00229DF82010402006F0DEFC07 +:10BC0000A1680A9EB6FBF0F6054631449DF8200077 +:10BC1000FFF78CFD0446DDE90612C0681DF018FD33 +:10BC2000E068079B099906FB05F218441DF010FD1A +:10BC300020460CB070BD0A68264B9A42AAD029460D +:10BC40002046FFF72FFEF3E7EA0702D50020FEF7B4 +:10BC500059FEAB0706D12B681F4A9342F6D01F4A04 +:10BC60009342F3D00E24E3E7012206A92046FFF712 +:10BC700035FD012209A92846FFF7F0FC0028F1D084 +:10BC8000089A012A1DD05A2A1DDC203201460B9B3E +:10BC9000012B1AD05A2B01DC203301469342D5D117 +:10BCA00023F00203642BD1D0022E01D00029CDD085 +:10BCB0000A9B0093DDE90612099B304606F018F94D +:10BCC00086E74222E1E70021E1E74223E4E700BF03 +:10BCD00030DB050004DB050088E30500A4E1050076 +:10BCE00070B50646102014460D461CF016F8054A9D +:10BCF000067102604268C4606FF31F22C0E901252B +:10BD000070BD00BF04DB05007FB51D460846114627 +:10BD10004FF00212FEF7B4FE052201A92868FFF7D2 +:10BD20009DFC9DF80C40029E21460022402006F01A +:10BD300045FC019AB6FBF0F12046FFF7D1FF04461F +:10BD40002868FFF794F90D4B834209D12A6861688E +:10BD50005368C3F3172363F31F216160D368E36063 +:10BD60002868032201A9FFF779FC18B1237963F051 +:10BD70007F032371204604B070BD00BF04DB0500C3 +:10BD800070B505460E4601460120FFF7CFFC2A4656 +:10BD900004463146C0681DF05BFC204670BD38B5D6 +:10BDA00005460C4610200449FFF75BF90122C0E963 +:10BDB0000125C46038BD00BF30DB05000E3918BF57 +:10BDC0000121490041F00101FEF7C0BB052807D061 +:10BDD0000E3918BF0121490041F00101FDF754BEA1 +:10BDE000002070470E2914BF01490249F7F730B906 +:10BDF000E3740600D874060038B50C462046114698 +:10BE000002221D46FEF73CFE1CB12868FFF73CFBF2 +:10BE100008B90E2038BD1E20FCE700BF02280AD159 +:10BE200088689368984208D148685368984214BF5C +:10BE30000E201E207047002070470E2070470628F5 +:10BE400001BFD1E901305840400040F0010018BF67 +:10BE5000002070472DE9F84F984602EB43035D1C24 +:10BE6000042B00AF82468B4616464FEA85051FD845 +:10BE7000EB1D23F00703ADEB030D6C464FF00009FB +:10BE80002046B96A40F804BB2A1F1DF0E1FB234697 +:10BE90004246711C5046FDF78BFE0446B9F1000F77 +:10BEA00002D048461BF056FF2046BD46BDE8F88F3D +:10BEB00028461BF03DFF04460028D9D08146DFE725 +:10BEC00007B5009313460A46D0E90101FFF7C2FF08 +:10BED00003B05DF804FB38B505460C460C20034959 +:10BEE000FFF7BFF8C0E9015438BD00BFCCDB050047 +:10BEF0002DE9F04F866806EB010A04460AEB420082 +:10BF000001EB4209052887B00F461546984604F113 +:10BF10000C0B4FEA890916D8B6003246594601A8DB +:10BF20001DF096FB01AB4A46414698191DF090FB67 +:10BF3000606801AB2A465146FDF73AFE04462046AA +:10BF400007B0BDE8F08F80001BF0E7FEA2685946FD +:10BF5000920006461DF07CFBA0684A46414606EB6F +:10BF600080001DF075FBA168606833462A4639449D +:10BF7000FDF71EFE044630461BF0ECFEDFE72DE920 +:10BF8000F041CD1CAD0080460E46284607491746B5 +:10BF9000FFF767F8A5F10C02C0E9018604463946AF +:10BFA0000C301DF055FB2046BDE8F081ECDB0500B0 +:10BFB00070B54E6886B004460D463046002112F03A +:10BFC000FFFE072378B10022CDE9003202A910223A +:10BFD000A8686723FCF7AEFE174902AA2046F7F7C8 +:10BFE000D1FB06B070BDCDE900301022672302A955 +:10BFF0003046FCF79FFE114902AA2046F7F7C2FB24 +:10C00000AE680021304612F0F9FE20B931463046C4 +:10C0100012F008FF18B10A492046F7F719F807236C +:10C020000022CDE9003202A91022A8686723FCF79C +:10C0300081FE044902AAD1E7857B0600897B0600C0 +:10C040008D7B06008F7B0600136810B5144633B94C +:10C05000B1F53F7F04D1406801F014F8206010BDB5 +:10C0600040F272239942FAD18068F5E738B5054667 +:10C070000C460C200249FEF7F4FF4560846038BD91 +:10C0800004DC050038B50C46072805D8DFE800F0C9 +:10C09000052304040704162D0024204638BD6068DB +:10C0A000002112F08DFE002833D0A068002112F08C +:10C0B00087FE00280CBF1E240E24EEE7886812F0CD +:10C0C000C7FE0546606812F0C3FE85EA00046400FE +:10C0D00044F00104E1E760688968BDE8384001F197 +:10C0E000004100F10040FFF7C1BF4968A56808465C +:10C0F00012F0D2FC29460446284612F0CDFC014637 +:10C10000204612F0C1FB0FF0A9FCBDE8384000F05A +:10C11000B9BF1E24C1E77FB50C4620461146042254 +:10C120001D46FEF7ADFCECB1012C286821D082073A +:10C1300044D10268264B9A4240D1446886686D68B3 +:10C14000AB0740D12A68224B9A423CD1A9682046CD +:10C1500012F098FB69680446304612F095FB0146E0 +:10C16000204601E00021084604B0BDE87040FFF71A +:10C170007DBF00F00702022A034605D0810714D1D3 +:10C18000026814498A420DD103A903F0C1FC0023BF +:10C190000093012303991A46FDF78AF803461846CF +:10C1A00004B070BD0A498A42F9D002A903AAFFF778 +:10C1B000B3F803990298FFF759FFEFE7FFF76CF820 +:10C1C00000260446BBE72846FFF766F83146C4E779 +:10C1D00004DC0500DCE8050043680B60836813603D +:10C1E00070472DE9F34105460E461446694601AAFB +:10C1F0001846FFF767F8002800F00E81A81E2028D7 +:10C2000000F21081DFE810F0FB000E010E010E01BC +:10C210000E010E010E010E010E010E010E010E01A6 +:10C2200021002B007A000E01360039000E01960025 +:10C230000E010E010E010E010E0121002B007A00ED +:10C240000E01360039000E0196000099304612F0BA +:10C250001BFB01990546204612F016FB08E00099E9 +:10C26000304612F00FFB01990546204612F00AFBFA +:10C27000044685E06D48FEF723FB019FDDF8008052 +:10C280000021384612F09CFD002188B1404612F092 +:10C2900097FD18B166496748FDF7A7FB4146304650 +:10C2A00012F0AEFC41460546204612F0A9FCDFE73D +:10C2B000404612F085FD40B13946204612F0A0FC00 +:10C2C0003946054606F10040EFE74146404612F088 +:10C2D000E3FB39460546384612F0DEFB01462846A8 +:10C2E00012F0D2FA01460546404612F089FC294672 +:10C2F000009007F1004012F083FC0190DDF800800F +:10C30000019F3146404612F0C7FB2146054638469C +:10C3100012F0C2FB0146284612F0B4FA2146054647 +:10C32000404612F0B9FB31460446384612F0B4FBE1 +:10C33000214691E73146304612F0AEFB21460546D4 +:10C34000204612F0A9FB0146284612F09DFA0FF094 +:10C3500085FB0021054612F033FDC0B10198002194 +:10C3600012F02EFD88B1009D0021284612F046FDF6 +:10C3700058B10021284612F023FD00284FD1002596 +:10C3800021462846FFF772FE46E02B4983E7284600 +:10C390000FF0A4FA3146054620460FF041FA019FFE +:10C3A000DDF8008004462946384612F075FB214628 +:10C3B0000646404612F070FB0146304612F064FA21 +:10C3C00029460646404612F067FB21460546384698 +:10C3D00012F062FB0146284612F054FA0FF022FADE +:10C3E000044630460EF00AFF214612F055FB054682 +:10C3F00030460FF0E3F8214612F04EFB38E7009884 +:10C40000314612F0DDFC78B10198214612F0D8FCDB +:10C41000002814BF1E200E2002B0BDE8F0814FF0AE +:10C420007E55ADE70020F7E70E20F5E7947B060088 +:10C43000A97B060060E00500B67B060013468A680B +:10C440004968FFF7CEBE00BF0346054A0A601A7A64 +:10C450000A715B688B6000230846CB60704700BFA1 +:10C460002CDC0500044B0B6001230B71002388605A +:10C47000CB600846704700BF2CDC050008B5037987 +:10C480009B0702D50020FEF71BFA08BD10B5044932 +:10C4900004460C20FEF7E5FD02220272446010BD46 +:10C4A00044DC0500F8B50F6806460D46144612B187 +:10C4B0003846FFF7E3FF69682246381DFEF7D3FBD5 +:10C4C000034608B1406870B9022E05D1022C08D18C +:10C4D00069680748FEF71EFAA868012C00D1586069 +:10C4E000F8BD0620F9E7022C04BF00225A60F7E7E6 +:10C4F00064DF05000122D5E70222D3E70022D1E75D +:10C5000010B50446FFF7BAFF201DFEF79AFB062080 +:10C5100010BD042803D0052808D0002070474B68C0 +:10C5200033F0070314BF1E200E2070474868C0F385 +:10C53000DC00400040F001007047062806D10B7A6D +:10C54000022B03D1480040F00100704700207047E3 +:10C5500030B50B6885680246AB4201D300200AE083 +:10C56000D46804EBC30054F833400133002CF3D0FB +:10C57000042CF1D00B6030BD13B5044600F10C0162 +:10C580008068FFF7E5FF60B12379012B0BD0022B08 +:10C5900043680AD0026869460220CDE9002304F00E +:10C5A00065FC02B010BD0068FBE71846F9E7F0B57E +:10C5B000174E0B7A174F06EB830385B00D460446E2 +:10C5C000D96BF6F745FD14492046F6F741FD2B7A65 +:10C5D0008DF804306B6802930023009603930126C4 +:10C5E0006846FFF7C9FF054628B90C492046F6F70B +:10C5F0002FFD05B0F0BD1EB939462046F6F728FDDF +:10C60000012229462046FEF745FD0026E8E700BF47 +:10C610002CDC0500B0830600C37B0600C67B060049 +:10C620001FB50446FFF72AFF636833F0070203D102 +:10C6300011491248FDF7D9F90022019222795107D8 +:10C6400044BFC3F3DC0303F1FF3301A9204648BF15 +:10C650000193FFF77DFF6368083B63600368029303 +:10C660004368039304220023C0E9002302A90220A7 +:10C6700004F0FCFB04B010BDC97B060064DF0500BC +:10C680002DE9F3470B68204FBB4204460D4603D00B +:10C69000DA881E49F7F776F81D49DFF87890DFF859 +:10C6A00078A02046F6F7D4FC002301934FF0010850 +:10C6B00001A92846FFF74CFF064668B917492046EE +:10C6C000F6F7C6FC2B68BB4203D015492046F6F7A7 +:10C6D000BFFC02B0BDE8F087B8F1000F03D14946B6 +:10C6E0002046F6F7B5FC012231682046FEF7D2FC61 +:10C6F00051462046F6F7ACFC716801222046FEF751 +:10C70000C9FC4FF00008D3E774DC0500E27B0600AB +:10C71000E67B0600B0830600297F0600EF7706005F +:10C72000E240060010B5044904460C20FEF799FCCF +:10C7300000220272446010BD44DC050010B50449BB +:10C7400004460C20FEF78DFC01220272446010BDED +:10C7500044DC050010F003030CD10268117A31B1FA +:10C7600002EB8102044813691A1A5342534103F041 +:10C77000010070470023FAE7A3C803002DE9F3473F +:10C780000C681646074620460D46FFF777FE3168CF +:10C79000304AC9083846FEF773F9022F12D16F6884 +:10C7A0003846FFF7D7FF0146B8B12B689F4209D042 +:10C7B0000023019304F10408686801A9FFF7C8FE8B +:10C7C000074610B9002504343CE039680122404690 +:10C7D000FEF749FA7B684360EEE73846FDF754FB05 +:10C7E00004F1040A81464846FDF7C8FB0028E9D059 +:10C7F0000021FDF749FB8046FDF7C0FB0746404698 +:10C80000FDF7BCFB05464046FDF7B8FB0FB105B18F +:10C8100010B11148FDF792FE012239465046FEF74D +:10C8200022FA4560DFE7B36853F8351003EBC5071C +:10C8300039B1042905D001222046FEF714FA7B689D +:10C84000436001357368AB42EDD8062002B0BDE805 +:10C85000F08700BF05000200E87B060010B500224B +:10C8600004300C46FEF7FFF918B903482146FEF7DD +:10C8700051F8406810BD00BF64DF0500024B40F86E +:10C88000043BFEF7BBB900BF74DC050038B50546B4 +:10C8900010201BF042FA29460446FFF7EFFF20461E +:10C8A00038BD2DE9F041804686B000200D46164681 +:10C8B0001F46FFF7EBFF0F4BC0F80080984502BF03 +:10C8C000037943F00403037155EA060304460DD0CF +:10C8D0003B68019007EB8502314603A80293FEF7FF +:10C8E0009AF903AA01A9681CFFF748FF204606B081 +:10C8F000BDE8F081A4DC0500F8B50C460646002131 +:10C900006068FDF7C1FA022E054660688CBFA66814 +:10C910000626FEF793FD50B9FFF7B8FF0446071D42 +:10C920002846FDF72BFB014618B92046F8BD4010FC +:10C93000F2E701223846FEF796F94660F0E738B58F +:10C9400004468068FFF7A2FF2368626803602379CA +:10C9500022F0070203F0050313434360A268E16875 +:10C960000546D200C0681CF073FE284638BDF0B5FD +:10C97000162885B00C46154661D005D8022810D07F +:10C98000092860D0002409E02428FBD10022294690 +:10C99000201DFEF768F9002841D10E24204605B07D +:10C9A000F0BD02F003038A0725D10A682B498A42A9 +:10C9B00021D1002BF1D1296891421ED1CDE901335B +:10C9C00001A92046FFF7C4FD02A907462846FFF744 +:10C9D000BFFD0646002F3ED00028DED03168386803 +:10C9E000FEF7F4FD0028D8D071687868FEF7EEFDF8 +:10C9F0000028E5D1D1E7002BCFD12A68184B9A4205 +:10CA0000CBD163686A68534033F00703C5D1029302 +:10CA1000043502A92046FFF79BFD064608B91E24EF +:10CA2000BCE7316800222846FEF71DF90028B4D083 +:10CA300041687068FEF7CAFD0028EAD1ADE70846F4 +:10CA4000FFF77DFF0446074A02A90220CDE902450F +:10CA5000FFF794FEA2E700289FD1E0E7A4DC0500E1 +:10CA600074DC0500DCDC050010B40C7A012C04D168 +:10CA7000242802D1496810BC79E7002010BC704717 +:10CA80004068C008704770B504460E461546FFF76B +:10CA9000F5FC01223146201DFEF7E5F845602046F1 +:10CAA00070BD13B50222CDE9000104466946104667 +:10CAB000FFF7F8FC204602B010BD38B50C461AB995 +:10CAC000FFF7EFFF06200BE0042A0AD10022043012 +:10CAD000FEF7C9F818B904482146FDF71BFF406866 +:10CAE00038BDFFF7D0FFEDE764DF05002DE9F04129 +:10CAF0000E46044611463046124A134D9846FDF73D +:10CB0000BFFF10201BF014F9002818BF05460023B2 +:10CB10002C60AB6026B90D4CEC602846BDE8F08176 +:10CB2000B71CBF0038461BF003F904460028F2D0BA +:10CB3000074BA7F10802C0E90036414608301CF057 +:10CB400087FDE9E7FEFF0100FC40002010E9050039 +:10CB500018E90500F8B5C3685A68012A064612D1DB +:10CB60009C6814F003070ED12268114B9A420AD137 +:10CB7000E3681B78FF2B16D14A201BF0D9F8054635 +:10CB800010B90C4BF360F8BDE168F6F7CBF8E5603F +:10CB900028461CF0CEFDC4E90170D4E90210F5F777 +:10CBA00017FF6060EFE76368002BECD1F5E700BF8B +:10CBB000DCE8050010E90500F8B5164602F07F072D +:10CBC000320605460C460AD47B1E012B07D80B689B +:10CBD000D888F6F72DF801462846F6F739FA022FDD +:10CBE00003D123492846F6F733FA2046FFF7B2FF70 +:10CBF00016F07D0734D1E3680BB15A682AB928468C +:10CC00001C49BDE8F840F6F723BA20681A49884263 +:10CC10001FD1022A1DD89868C3071AD507F0B4F8A7 +:10CC20000346B0B1E2681549926828465210F6F7FB +:10CC3000A9FDE3685B68012B19D90D492846F6F771 +:10CC400007FAE368D9683A462846BDE8F840FEF797 +:10CC500021BAE3685A68012A02D199680022F3E7F1 +:10CC6000E16832462846BDE8F84004F097B8F8BDC0 +:10CC7000297F060099410600DCDD0500167C0600D0 +:10CC8000F8B51546D0E901230F46591991420446DB +:10CC90000FD30178D9B105F110061644C0680122FE +:10CCA00031461BF055F878B96568A2682070013DDF +:10CCB000AD1AD4E902302A46394618441CF0C8FCA3 +:10CCC000A2682A44A260F8BD6660E060F1E7013A1C +:10CCD000D51AEEE738B50546FEF7C9F9007A70B106 +:10CCE0002846FEF7C4F904462846FEF7C0F9007A44 +:10CCF000034B04EB80042069C31A5842584138BDE5 +:10CD0000EDCA030010B50446FFF7E4FF00B924693B +:10CD1000204610BD10B5FFF7F5FFC3685B680446F9 +:10CD200023B1FFF717FFE368986810BD0620FCE702 +:10CD300038B51368054614464BB1B1F5BE7F05D131 +:10CD40005368062B02D10023C380236038BD3D29E0 +:10CD500003D1FFF7FFFEEB68F7E7A22903D040F20B +:10CD600021239942F2D12846FFF7D4FF2060EDE756 +:10CD700000231A461946FFF7B9BE13460022FFF7F3 +:10CD8000B5BE73B5054610200E461AF0D1FF044615 +:10CD900040B9034602460146284602B0BDE870404D +:10CDA000FFF7A4BE084B036030461CF0C2FC002213 +:10CDB000C4E90206626001AB012128460194FFF735 +:10CDC00095FE02B070BD00BFDCE805002DE9F04320 +:10CDD00006469BB010200D4690461AF0A9FF044667 +:10CDE00028461CF0A6FC00F10109074648461AF047 +:10CDF0009FFF44B923462246214630461BB0BDE87A +:10CE0000F043FFF773BE70B9C4E902750022174BF7 +:10CE10002360626007AB012130460794FFF766FE8E +:10CE20001BB0BDE8F08301238DF80C300023CDE961 +:10CE3000053003AB01930E4B02932B78CDF8109085 +:10CE4000FF2B04D1294607A8F5F76CFF07AD424632 +:10CE5000294601A8F6F738FBDDE905320021D15457 +:10CE6000059BA360069BE360D0E700BFDCE80500FC +:10CE700081CC03000EB403B503AA52F8041B01923F +:10CE8000FFF7A4FF02B05DF804EB03B0704783071F +:10CE90000BD10268074B9A4207D1037A2BB100EB02 +:10CEA00083031A69044B9A4202D0044904F038BF44 +:10CEB0000120704788E90500EDCA030000DE050087 +:10CEC00008B5FEF7D4F8BDE80840FFF7E0BF38B575 +:10CED00004460D46FFF7F4FF18B12046FEF7C7F8E9 +:10CEE000044629462046BDE8384004F019BF08B57D +:10CEF000FFF708FF0023836008BD2DE9F041884655 +:10CF000017461E46FFF7FEFE0446806890B90C20C7 +:10CF10001AF00EFFA06058B103236360E388A16894 +:10CF2000D81C01EB8302E08041F82380C2E901763E +:10CF3000BDE8F081E388A5880233AB42EEDB033520 +:10CF40000122A9001AF004FF0028F1D0A388A060F4 +:10CF50000333A380E2E738B50D461446FFF7D2FE4F +:10CF6000836813B92B60236038BDC2882A60FAE752 +:10CF700010B5072386B00022CDE9003204460846EA +:10CF80006723102202A94068FBF7D4FE02A92046BD +:10CF9000F6F75EF82E2102A81CF0B4FB68B96521F3 +:10CFA00002A81CF0AFFB40B96E2102A81CF0AAFB3E +:10CFB00018B903492046F6F74BF806B010BD00BF7C +:10CFC000247C06002DE9F04780460F46006809687A +:10CFD0000EF05CFCD8F800A0D7F80090014604469B +:10CFE000504611F04FFC494611F00AFE002106465A +:10CFF000204611F0E5FE98B14C466FF31E04002167 +:10D00000304611F0DDFE40B34946504611F0F8FDC0 +:10D0100005466FF31E05C8F800503C60BDE8F08778 +:10D020000021204611F0D6FE0021051E484618BFFB +:10D03000012511F0CFFE0038EDB218BF0120854266 +:10D04000DDD04946204611F01FFC4FF07E510446CA +:10D05000304611F017FC0646D1E730460EF008F9CD +:10D0600001460546304611F00DFC4FF07C5111F0A1 +:10D07000CFFE0028CFD028464FF07E5111F004FC9F +:10D080000546C8E710B5044608201AF046FE024AD5 +:10D090000260446010BD00BFA4E1050030B50D463C +:10D0A00087B01146284602221C46FDF7E9FC2DB93F +:10D0B000002007B0BDE83040FFF7E4BF2068012240 +:10D0C00003A9FEF7CBFA40B10023DDE90301009389 +:10D0D0001A46FCF7EDF807B030BD2068830703D18E +:10D0E0000268044B9A42F6D0FEF7D6F8FFF7CAFF63 +:10D0F000F1E700BFA4E1050008B503464868072B27 +:10D1000005D8DFE803F00517040407040F15002114 +:10D11000084608BD002111F053FE00280CBF1E2157 +:10D120000E21F5E711F094FE410041F00101EFE717 +:10D130000028EDDABDE8084000F10040FFF7A2BF8B +:10D1400040687047F0B587B004460191104603A9C6 +:10D150001646FEF76BF8002800F0B280232C00F290 +:10D16000EA80DFE814F0CB00D400D900DE00E30051 +:10D17000E800E800E800E800E800E800E800E8006F +:10D18000E800240029003200E80037004500510083 +:10D190007C00E800E800E800E800E800240029003E +:10D1A0003200E8003700450051007C00B4000399CC +:10D1B000019811F069FB03E00399019811F062FBFB +:10D1C00001900198FFF75EFF7AE00399019811F052 +:10D1D00063FCF5E70398002111F0F2FD18B15749FF +:10D1E0005748FCF702FC03A901A8FFF7EBFEE8E7AC +:10D1F000039C0021204611F0E3FD0028EFD10198A7 +:10D20000214611F0FDFCDBE7039D0021284611F0CB +:10D21000D7FD04460028E2D1294601980EF036FBDE +:10D2200000210646019011F0CBFD039D18B164F377 +:10D230001E050195C5E70021304611F0CBFD002108 +:10D24000041E284618BF012411F0C4FD0038E4B2C2 +:10D2500018BF01208442B4D029463046A9E7019D79 +:10D26000039C0021284611F0ABFD90B1002120461F +:10D2700011F0B0FD68B124F000473249384611F092 +:10D28000D1FD0028ABD12F49384611F0ADFD002863 +:10D29000A5D10021284611F09DFD98B120460DF042 +:10D2A000E7FF214611F08CFD60B92146204611F0C0 +:10D2B000B9FD38B93346002229462220FEF791FFF6 +:10D2C00007B0F0BD214628460EF068FB78E70398CA +:10D2D000002111F075FD002881D103A901A8FFF7F5 +:10D2E00071FE0198FFF7CEFE04900398FFF7CAFE87 +:10D2F00004A90590022003F0B9FDE1E70399019824 +:10D3000011F068FD002814BF1E200E20D8E70399F5 +:10D31000019811F07DFDF5E70399019811F050FD9A +:10D32000F0E70399019811F05FFDEBE7039901988D +:10D3300011F064FDE6E70020C2E700BF8279060035 +:10D3400060E00500FFFF7F7F30B494074968034623 +:10D3500008D11568054CA54204D1134630BC002203 +:10D36000FEF73FBF30BC1846FFF7ECBE04DC0500FB +:10D3700010B50446084611460022FDF781FB63689C +:10D38000BDE81040184770B51C46054608461146D2 +:10D390004FF00212FDF774FB6B682068BDE8704027 +:10D3A000184770B505461C46084611464FF0041252 +:10D3B000FDF766FBD4E900016B68BDE870401847D3 +:10D3C00070B51C460546084611464FF00612FDF79B +:10D3D00057FBD4E901126B682068BDE8704018471C +:10D3E0002DE9F04F064683B000AF884691469A4635 +:10D3F000FDF736FBF26812F8013B0021C3F3C30BC3 +:10D40000C3F380041B0638D40BF1010B04EB440476 +:10D410005C44A4002C2C04F114033CD8073323F003 +:10D420000703ADEB030D6D4600244146DFF888800D +:10D430002E6053464A462846A5F80CB007F0E6FC95 +:10D44000D8F810302B61736800215B68C8F8103081 +:10D45000284606F0A5FC2B69C8F81030064618BB14 +:10D46000AB68D3F800801CB128461AF073FCFEB9F3 +:10D4700040460C37BD46BDE8F08F12F8013B4D0029 +:10D4800003F03000A8404BEA000B03F00200884094 +:10D4900004430131B6E718467B601AF049FC7B680B +:10D4A00005460028C1D1B9E7D5F81480002CDBD19E +:10D4B0004046F4F737FD00BFD44000201FB510F000 +:10D4C0000103044602D0401004B010BD06283FD02E +:10D4D0000E283DD01E283DD010F0030308D101686E +:10D4E0001D4A914204D104B0BDE8104000F00FBDC8 +:10D4F00004F00702022A04D043B92268174B9A426B +:10D5000004D101A9204602F003FBDDE72046FDF728 +:10D51000AEFD134B984205D12046FFF711FE11F0E6 +:10D5200097FCD1E70F4B984202D00F4B984206D19F +:10D5300001AA69462046FDF701FF0198C4E70122D0 +:10D5400001A92046FEF78AF80028F6D12046BBE75D +:10D550001846B9E70120B7E788E30500DCE80500D5 +:10D56000A4E1050018E90500D4E30500F0B505467F +:10D570000C46174685B04268394620461E46FDF7E0 +:10D580007FFA6B68DB0706D4AB683146204605B0EE +:10D59000BDE8F040184706EB8402394601A8FDF7C4 +:10D5A0003AFBAB6801AA31462046984705B0F0BD6A +:10D5B0002DE9F8431C46436805460F4611465A00BC +:10D5C00042EA43423846FDF75BFAAE6846F0010690 +:10D5D0002FB9B047E968BDE8F8431BF09ABD012FA9 +:10D5E000206803D1FFF76AFFB047F3E7022F09D1A4 +:10D5F000FFF764FF07466068FFF760FF01463846A3 +:10D60000B047E7E7032F0ED1FFF758FF07466068E2 +:10D61000FFF754FF8046A068FFF750FF41460246DF +:10D620003846B047D6E7FFF749FF07466068FFF77F +:10D6300045FF8046A068FFF741FF8146E068FFF79D +:10D640003DFF4A46034641463846B047C2E710B55B +:10D65000C36813F8012B044651B20029184613F889 +:10D66000012BF9DB10F9013B002BFBDB07F0C1FBC1 +:10D6700063689B6833F8100010BD70B50546084616 +:10D680000C46FFF7E4FF2346024603492846BDE85F +:10D690007040F6F777B800BF277C06002DE9F04709 +:10D6A000884691469A460446F8B1076807B37E68F3 +:10D6B00064680CB9304600E0701C04300D498000ED +:10D6C000FDF7CFFCC0E9019A0546C0F80C802FB1E8 +:10D6D000B20007F1080110301BF0BAFF14B1043694 +:10D6E00045F826402846BDE8F08707460646E4E7A9 +:10D6F0003E46DDE7D8E105002DE9F8439046C268D3 +:10D70000994612F8013B0F460646C3F3C305C3F31F +:10D71000800400211B0616D4013504EB44042C447C +:10D7200007341049A000FDF79CFC0623C0E9013630 +:10D73000858204464B4642463946083007F066FB70 +:10D740002046BDE8F88312F8013B4FEA410C03F094 +:10D75000300000FA0CF0054303F002008840044357 +:10D760000131D7E784E2050008B50346406810B9E7 +:10D770000248FCF7E3FE596008BD00BF3D7C06008F +:10D7800070B5054688680C46FFF761FF23460246E0 +:10D7900002492846BDE87040F5F7F4BF517C060009 +:10D7A0002DE9F84304460D4617461E46FDF758F985 +:10D7B000E06828B90623336005462846BDE8F883AB +:10D7C000636813B92448FCF7B9FE062B18BF1F463F +:10D7D000236904F11802934204D1062D03D01F4897 +:10D7E000FDF76EF81D60DFF878902046D9F810300C +:10D7F000A36150F8083F5B684FF000085B68C4F80D +:10D8000004803946C9F8103006F0CAFAA369C9F88D +:10D81000103001284FF006030546636007D0022848 +:10D82000C4F80C8009D023691B683360C5E72269FE +:10D830001268326022691360BFE7E0693060FDF76B +:10D8400016FC084904F06CFA0028B6D006490748CF +:10D85000FFF797FA3060B0E73D7C06006F7C06006A +:10D86000D4400020CCE00500C9780600F8DE0500B1 +:10D8700013B51C4601ABFFF793FF01280FD0022818 +:10D880000FD0019B062B04BF0023019301980CB11C +:10D89000FDF749F8044B1862204602B010BD01980C +:10D8A000FBE70198F4F73EFBD4400020022810B4B7 +:10D8B0004A680C4603D98B68062B18BF1A462068A5 +:10D8C00010BC01230621D3E701230022D0E7002367 +:10D8D0001A460621CCE707B50D4A01AB0621FFF732 +:10D8E0005FFF012805D0022807D0062003B05DF8AD +:10D8F00004FB08490848FCF778F80198FDF7B7FBE6 +:10D90000064904F00DFA0028EFD10198F4F70AFB5C +:10D91000A4E205008F7C0600F8DE050038E1050072 +:10D9200030B58DB005466846F4F7EAFA014680B98D +:10D930002A1D0120FCF7A1F9EB6823F00103023353 +:10D9400043F00103EB600446F4F7B0FA20460DB053 +:10D9500030BD0198054A0368934204D0044A9342BB +:10D9600001D0F4F7DFFA0024F0E700BFCCE00500B7 +:10D9700088DF05000346054A0A601A684A605B684A +:10D980008B6001230846CB60704700BF20E3050091 +:10D990002DE9F043486885B00D46FDF72DFC041EC7 +:10D9A00002DA0020FCF7CAFDD5F8089040F26A3888 +:10D9B000B9EB08072146684618BF0127F5F73DFA7D +:10D9C000029E2246002130461BF06AFE2868C307EB +:10D9D0000AD433462246394600F0FAF9684601F087 +:10D9E000B1FD05B0BDE8F083042C4FEA600320468A +:10D9F00028BF0420C14514BF221A002232443946F0 +:10DA000004F065FFEAE7F0B50C4685B060680522D2 +:10DA100001A9FDF723FEA5680299019A40F26A3335 +:10DA20009D4203BF01F1FF339B184FF0FF361346B1 +:10DA300018BF01260C46002014B900F046FA0BE08E +:10DA4000B0F5800F04F1FF3408D340F26A30281A91 +:10DA500018BF012000F0ADF905B0F0BD1F783344C8 +:10DA600047EA0020E8E7C0F30F4202F4FF42B2F5B4 +:10DA7000FF4F38B5054609D1C0F316031BB912494B +:10DA80001248FBF7B2FF1248FCF758FD002810DAE5 +:10DA900030F0004210D000F1FF43B3F19C4F0BD99E +:10DAA00000F050F92946044604301AF084FB204661 +:10DAB00038BDC30DDB05F0E7284611F0C9F9440075 +:10DAC00044F00104F3E700BFA77C060084E00500F2 +:10DAD000B07C06007FB50E463046114604221D4636 +:10DAE000FCF7CEFF9EB3012E23D129680820FBF757 +:10DAF000CBFF0446C0B92868324601A9FDF7AEFD48 +:10DB000030B1DDE9010123462246FBF753FB0AE071 +:10DB1000286883070BD102680E4B9A4207D1FFF7A2 +:10DB20000FFBFFF7A0FF0446204604B070BDFCF7D2 +:10DB300005FF01A9286801F0EBFF04466868019E13 +:10DB4000FDF75AFB0023024631462046DDE701245B +:10DB5000EAE700BFA4E1050038B50A4C0C4414F80C +:10DB6000015CB0FBF5F51C461BB16C1C0320B4FB3B +:10DB7000F0F41AB110461BF0DCFD0246E81C20440C +:10DB8000104438BD38E305002DE9F74F13F0010FBD +:10DB9000DDE90C769DF838409DF83CA00092804667 +:10DBA0008B4640D05D1047D44FF0000953463946AC +:10DBB00032462020FFF7D0FFDBF8003083420146D9 +:10DBC00007D201901AF0A9F80199C8F80000CBF823 +:10DBD0000010D8F800B00BEB0102002302F8013C62 +:10DBE00075B3013A1046A4F10A0EAC46B5FBF7F541 +:10DBF00007FB15C3092B8CBF73443033441E00F858 +:10DC0000013CBAF1000F32D0BC451DD3A3451BD255 +:10DC1000131B032B05D1841EA34500F802AC13D2BD +:10DC200022462046E1E7CDE90E4ACDE90C7603B065 +:10DC3000BDE8F04F00F094B86D424FF02D09B5E704 +:10DC40003023941E02F8023CCEB1304601911BF005 +:10DC500070FD201A8345019911D2013E024616F843 +:10DC6000013F4BB90446B9F1000F0DD10FE0A345B8 +:10DC7000EAD2BC45D5D2E7E702F8013BEFE7B9F1BC +:10DC8000000F04D05C4502D904F8019C013CD8F88F +:10DC90000000009B0144091B01392046196003B0B4 +:10DCA000BDE8F08F30B58DB0102206920022CDE98C +:10DCB000022201920A220B46044608AD009206A9F0 +:10DCC00007AA05A80595FFF75FFF01462046F5F76F +:10DCD000BFF90598A84201D01AF03CF80DB030BD4C +:10DCE0000E2A30B413460D4603D1012230BCFCF796 +:10DCF0002DBC1E2A01D10322F8E71D2818D102F0FD +:10DD00000702022A10D09A0712D11868047B2CB19E +:10DD100000EB8404084A2169914205D0074A9042E9 +:10DD200002D0074A904203D12A4619461D20DDE75A +:10DD3000002030BC704700BF55FB030018E9050008 +:10DD4000D4E3050010B505491020FDF78AF9044613 +:10DD500004301AF0CAF9204610BD00BF88E3050060 +:10DD60002DE9F74FDDE90C9A9DF83CB0054698681F +:10DD70000E4690461C4652465B4649460001FFF758 +:10DD8000EBFE33688342074603D219F0C6FF2860D2 +:10DD900037602D689DF83830CDE900B552464946C8 +:10DDA000201D1BF0ECF8C8F80000284603B0BDE8C1 +:10DDB000F08FF8B50E4617460546FFF7C3FF3B4602 +:10DDC00004463246294604301AF09EFA2046F8BD31 +:10DDD00004301BF065B8C30706D5401000280DDBE2 +:10DDE00014BF012000207047836853B1037913F0FA +:10DDF000010F14BF4FF0FF30012070474FF0FF308C +:10DE000070471846704738B50C46082806D8DFE832 +:10DE100000F006151E0508050E2606000024204603 +:10DE200038BD8B68002B14BF1E240E24F7E7081D95 +:10DE30001AF0F2FF440044F00104F0E7FFF782FF1C +:10DE4000211D054604301AF0B2FA2C46E7E7FFF729 +:10DE500079FF211D054604301AF0BAFAF5E70B796F +:10DE6000DB07DCD5FFF76EFF211D054604301AF0F5 +:10DE700093FAEAE773B50D460646FFF763FF012301 +:10DE80000446009332462B4604301AF06CF92046C3 +:10DE900002B070BD90EA40024FEA400302D5C117BC +:10DEA000FFF7E8BF43F00100704773B50D46064623 +:10DEB000FFF748FF00230446009332462B46043008 +:10DEC0001AF051F9204602B070BD10F0404F02D058 +:10DED0000021FFF7EABF400040F0010070472DE944 +:10DEE000F34104460E4617469846FFF72BFF3B4684 +:10DEF00005462168CDF80080324604301AF0B8F9A2 +:10DF0000236803442846236002B0BDE8F081C307BC +:10DF100002D404301AF080BF40107047C30707B521 +:10DF200003D5401003B05DF804FB01A904301AF0DA +:10DF300086FF08B10198F5E701490248FBF755FD56 +:10DF4000B97C060084E005002DE9F0439046CA073D +:10DF500089B007460C4626D54B10022201A902A81B +:10DF60001AF0F5F802AD18F0010F1ED04FEA680361 +:10DF7000022201A902A81AF0EAF802AE202F01D06D +:10DF8000132F40D17368002B70D028461AF0D8FFA9 +:10DF9000044630461AF0D4FF0146204610F030FE09 +:10DFA000FFF770F824E00D1DDDE718F0030F24D112 +:10DFB000D8F800306F4A934202D108F10406DDE739 +:10DFC0006D4A934208D128461AF0BAFF42460146EC +:10DFD0003846FFF7B7F80BE0684A93420DD1284660 +:10DFE0001AF0AEFF4346014600223846FEF7F9F824 +:10DFF0000446204609B0BDE8F08342462146384633 +:10E00000FFF76EFEF4E7A7F109095FFA89F31A2B0F +:10E0100000F28C80FFF796FE0446B9F11A0F0FD874 +:10E02000DFE809F0464C40525210161C0E220E3505 +:10E0300067464C40525210161C0E220E3567710076 +:10E040000024D6E73246294604301AF0ACFAD0E76D +:10E050003246294604301AF0E3FACAE73246294626 +:10E0600004301AF07CFCC4E773681BB94449454886 +:10E07000FBF7BBFC05A81AF038F833462A4605A979 +:10E08000201D1AF029FD05A81AF034F8B1E77368CD +:10E09000002BEBD005A81AF028F833462A46211D9C +:10E0A00005A8EEE73246294604301AF0FBFAA0E74D +:10E0B0003246294604301AF06EFB9AE7324629466A +:10E0C00004301AF0E2FB94E74046FFF727FF021EF8 +:10E0D00002DA2D48FCF732FA192F04F10400294620 +:10E0E00001D00C2F02D11AF0ACF982E71AF003FA32 +:10E0F0007FE73378DB073FF566AF324629460430C9 +:10E100001AF0A7FC75E77368002BAFD0FFF71AFE73 +:10E11000211D074633462A4604301AF0DDFC05A9C6 +:10E120000220CDE9057402F0A1FE61E731462846E0 +:10E130001AF01EF9042F83D8DFE807F00308170D43 +:10E1400012000028ACBF0E241E2452E70028D4BFC2 +:10E150000E241E244DE70028CCBF0E241E2448E7C1 +:10E160000028B4BF0E241E2443E7002814BF0E2449 +:10E170001E243EE788E30500A4E1050004DC050059 +:10E180008279060060E0050061790600C30707B5E3 +:10E1900004D5401009D403B05DF804FB01A9043094 +:10E1A0001AF066FE08B10198F5E702490248FBF74C +:10E1B0001CFC00BFB97C060084E0050004301AF0A6 +:10E1C000BFBE00BF042803D0052807D00020704739 +:10E1D0008B68002B14BF1E200E20704788684000FB +:10E1E00040F001007047044B0B60044BC1E9013063 +:10E1F0000023CB600846704718E605002FE20300B5 +:10E2000070B5836803EBD37149109B0000229142E3 +:10E21000A3F1040301DC062070BDC468E65854F87D +:10E22000225044F82260C4680132E550EFE7D0E99B +:10E2300002120346886882423FBFC96851F8220033 +:10E240000132DA6028BF0020704738B50C680B46F1 +:10E25000A168024619B919491948FBF7C6FB012AFA +:10E2600018BF5A68206808BF4FF0FF320023FDF73F +:10E270009DF8A268E368013A53F82050A26003EBCE +:10E280008001121A9200043103EB80001BF0EEF9BA +:10E29000D4E90232002142F82310616804290BD925 +:10E2A000B1EB430F08D94908E068890019F045FD32 +:10E2B0006368E0605B086360284638BDD57C060073 +:10E2C00088DF050010B40C6802460B46D4E9021042 +:10E2D00010BC03F08CBE07B5CDE9000169460220F1 +:10E2E000FFF7F0FF694601900220FFF7AEFF06201E +:10E2F00003B05DF804FB38B50025044685601021A5 +:10E30000C06819F01AFD0423E060636010222946FA +:10E310001BF0C6F9062038BD38B50D46D0E901130B +:10E320008B42044611D3C900C06819F006FD62682B +:10E33000A368E06052006260D21A013A0133920091 +:10E34000002100EB83001BF0ABF9D4E90232591C29 +:10E35000A160062042F8235038BD38B5044608466F +:10E360000021FBF791FD05462846FBF707FE014615 +:10E37000204601B938BDFFF7CFFFF5E7836870B5D8 +:10E380004C1048BFE418054624EAE4749C424FF060 +:10E39000060128BF1C461646FFF7BEFFAB68E968BA +:10E3A000013B9C4203DB41F82460062070BD01EB79 +:10E3B000830252F8042C41F82320F0E70A46D0E902 +:10E3C000021003F047BEF8B50E460E490E4F044644 +:10E3D000F4F73EFE0025B368AB4205D820460B4952 +:10E3E000BDE8F840F4F734BE1DB139462046F4F7D5 +:10E3F0002FFEF368012253F825102046FCF74AFE51 +:10E400000135E8E76F7B0600B08306009A770600C7 +:10E410002DE9F84F81460F4690469A46FCF720FBBF +:10E42000B94501D3BDE8F88F3D68A9F1040BB8F1F7 +:10E43000000F04D029464046FBF70AFC05463E463D +:10E440000BF10404A64209D92168B8F1000F18D1D4 +:10E450002A460020FCF77AF8824510D0043EB442E8 +:10E4600024D2B8F1000F11D1326829460020FCF700 +:10E470006DF88245F2D02368326822603360A3468B +:10E48000DEE74046FBF7E4FB0146E1E73168404642 +:10E49000FBF7DEFB0246E8E7314653464246484674 +:10E4A000FFF7B6FF3E463746D946B9E73A682368D4 +:10E4B00022603C1BA4103B60013CA6EB0903B4EBBB +:10E4C000A30F0BF1080BE7DC58465346424639468A +:10E4D000FFF79EFFCB46E6E71FB502AB0C46019364 +:10E4E000104B0093043102230138FCF7F5FA23683E +:10E4F0009968012912D9029AD8689DF80C30062A29 +:10E5000001F1804101F1FF3108BF0022002B14BF4F +:10E510000E231E2300EB8101FFF77AFF062004B0D3 +:10E5200010BD00BFC4E3050070B511F0030604463A +:10E530000D4629D10A68174B9A4225D1AB688168EC +:10E5400019444368994210D904318900C06819F010 +:10E55000F4FBAA68A368E06013441A1D62603146A8 +:10E56000102200EB83001BF09BF8D4E90203AA6899 +:10E57000E968920003EB80001BF06AF8A368AA68C0 +:10E580001344A360062070BD29462046FFF7E5FE30 +:10E59000F8E700BFD4E3050038B504290B4B03604E +:10E5A0000446084638BF0420C4E9010180000D4636 +:10E5B00019F0B3FB6268E060521B00EB850092002B +:10E5C000BDE8384000211BF06BB800BFD4E3050064 +:10E5D00038B50546102019F0A0FB29460446FFF780 +:10E5E000DBFF204638BD1B287FB503460E46154687 +:10E5F00022D005D8042844D90E283CD0002437E086 +:10E600001D28FBD103A91046FCF7CEFD0028F5D04C +:10E61000039B002BBCBF002303930398B3685843AC +:10E62000FFF7D6FFC36800930446039BB268F06807 +:10E63000042103F00BFC1BE012F00304DED112688E +:10E640001A4B9A4214D1AB6888681844FFF7C0FF90 +:10E65000B268F16804469200C0681AF0F9FFB06829 +:10E66000E368AA68E968920003EB80001AF0F0FF03 +:10E67000204604B070BD11463046FFF755FF3446C2 +:10E68000F6E7AA0703D12968084A914203D0022B72 +:10E69000B4D10E24ECE7AB680093D6E90221EB6815 +:10E6A00003F05AFC0028F4D01E24E1E7D4E305006F +:10E6B00038B50C462046114602221D46FCF7E0F90B +:10E6C0001CB92046BDE8384082E70020FFF780FFF4 +:10E6D0002968BDE8384040E638B50C460546FFF7E6 +:10E6E00077FF4CB938BDC26854F8231042F82310A4 +:10E6F0000133AB42F7D1F5E70023FAE7D0E9020195 +:10E70000FFF7EABF83680B60C368136070478160DE +:10E71000704738B50446154600230A4681680068EC +:10E72000FCF744FEE36843F8205038BDF0B50446DA +:10E7300089B00D4601F0030610466ABB26BB0A6885 +:10E740005B4B9A4220D1A06802AA03F092FB10B959 +:10E750000020FCF7D7F8DDE90257D4E90220D21BEC +:10E7600000EB8701920000EB85001AF07FFFED1BA4 +:10E77000A068E36828446FF003026A43314603EB64 +:10E7800080001AF08DFF73E005A90220CDE9054550 +:10E79000FFF75BFD062511E0042A2CD1A06806BB1B +:10E7A0000A68434B9A421CD105AA03F062FB40B9A8 +:10E7B000D4E9020105AA03F079FB0546284609B011 +:10E7C000F0BDDDE90530C01AFFF702FFE36882689B +:10E7D00005990546920003EB8101C0681AF038FFE5 +:10E7E000ECE700232A4601462068FCF7DFFDE368DA +:10E7F00053F82050E2E7002E53D10A682C4B9A427E +:10E800004FD101AA6946FCF799FDA06805AA2946DF +:10E8100003F02FFB00289BD0DDE90535009AE06866 +:10E82000ED1A551B002D27DDA16863682944994224 +:10E8300006D9890019F081FAA368E0602B4463606F +:10E84000009A059BE06806991344A2682A44D21AEC +:10E8500000EB8101920000EB83001AF007FFE368F0 +:10E86000009A05980199920003EB80001AF0FEFED1 +:10E87000A3682B44A3608DE70199920000EB83000D +:10E880001AF0F4FE0699A268059B009FE068521AF0 +:10E890003B4400EB8101920000EB83001AF0E6FE9E +:10E8A00066E7024629462046FFF733FF72E700BFBE +:10E8B00068E60500024B834201D105F05BBA704760 +:10E8C00024F30500F8B51546126806460C46406864 +:10E8D0002ABBCF0047F0020739460430FCF7C3F9E2 +:10E8E000024610B143682B6012E040F277139C425D +:10E8F00001D17368F7E70E2C0BD0706872210430D9 +:10E90000FCF7B1F928B140683946FBF7A1F9286056 +:10E91000F8BD2A4621463046BDE8F840CAE70379EB +:10E920009B07F6D46A68C90041F002011AB9FEF7E4 +:10E93000B8F80023D7E7FEF7A6F8FAE710B50446C3 +:10E9400048680022BA210430FCF78DF948B14068CC +:10E9500001F0C0F8024620460349BDE81040F4F734 +:10E9600011BF024AF7E700BFDD7C060099410600AF +:10E9700070B5C50045F002050C4801222946FCF798 +:10E9800072F94468064674B9102019F0C6F9084BAC +:10E99000036004460120FDF779FF2A466060BA2132 +:10E9A000FEF771F87460204670BD00BF2041002062 +:10E9B000D0E40500F7B51E4F05460E1E4FEAC5010F +:10E9C00007F10C004FF0000241F0020118BF384679 +:10E9D000FCF749F90446C0B9B5F55A7F23D01EBBF0 +:10E9E00069462846F4F730F90378752B1CD1009955 +:10E9F00001300139F4F756F8C100224641F0020116 +:10EA00003846FCF730F978B1044660686A4611214F +:10EA1000FAF758FF009B23B100216A460846FBF72E +:10EA20002CF9646800E0034C204603B0F0BD00BF41 +:10EA3000ECE4050024F3050030B5002432F814504E +:10EA400035B185420AD10A681AB953F824300B60EF +:10EA500030BD4A6843F824200023F8E70134EDE78D +:10EA60000620704707B5820706D10168074A914220 +:10EA700002D183889B0502D40548FBF721FF01A939 +:10EA800002F066FF03B05DF804FB00BF88E90500F3 +:10EA9000EB7C060010B50446084611460022FBF741 +:10EAA000EFFF21460420BDE81040FCF7DABA00BFB2 +:10EAB0000149F4F7CDBA00BFDE7406004A68014987 +:10EAC000F4F760BE217C06000020704770B50D464B +:10EAD0000446104E1049F4F7BBFA6968012220463B +:10EAE000FCF7D8FA31462046F4F7B2FAA9680122B9 +:10EAF0002046FCF7CFFA31462046F4F7A9FAE96838 +:10EB000020460122FCF7C6FA20460449BDE87040C1 +:10EB1000F4F79EBAB0830600F97C0600E2400600D6 +:10EB200070B506460D46102003491446FCF799FAC5 +:10EB3000C0E90165C46070BD68E605002DE9F041DB +:10EB40008046C06806280D4616461BD0FCF754FBCD +:10EB5000071E02D12548FBF7F1FC14DCD8F80400AD +:10EB6000062833D16C1ED8F80800062838D0FCF7E8 +:10EB700043FB0028B8BF401940EAE070A84232DBEE +:10EB8000013D1CE00127D8F8040006281CD0FCF742 +:10EB900033FB041EB8BF641924EAE474AC42A8BF76 +:10EBA0002C46D8F80800062809D0FCF725FB0028D9 +:10EBB000B8BF401920EAE0708542A8BF0546C6E903 +:10EBC0000045B760BDE8F0810024EAE7FCF714FBDC +:10EBD000041EB8BF641944EAE474AC42C2DAC2E766 +:10EBE0004FF0FF35EBE70546E9E700BF007D060083 +:10EBF0000E2803460CD01E280AD010F0010007D1C1 +:10EC00009A0706D11868034BC31A584258417047F7 +:10EC10000120704788E3050008B50146FFF7E8FFCB +:10EC200038B98A0704D10868034BC31A58425841BF +:10EC300008BD0120FCE700BFA4E10500044B0B6008 +:10EC4000044BC1E901300023CB600846704700BF88 +:10EC500018E6050059EC030013B50446806800F07F +:10EC60000703022B11D101A9C008F3F7EDFFE268F9 +:10EC7000019B9A423FBF835C5B0043F0010001327D +:10EC80002CBF0020E26002B010BD83680193C06811 +:10EC9000EDE7F8B51C4B984207460D460FD1D1E978 +:10ECA0000110F3F7B1FE044648B12846F4F7E0F846 +:10ECB000E40000232B6044F002042046F8BD69689C +:10ECC0002B68AE680131994203D0304619F035F80F +:10ECD00006466A680023B354AB602B600B4B9F421F +:10ECE00005D168683146BDE8F840FDF758B83946A7 +:10ECF0001020FCF7B6F96968816004463046F3F7E6 +:10ED000067FEE6606060D8E7DCE8050030DB050000 +:10ED10002DE9F04101F00703022B86B007460C46AF +:10ED200017D101A9E008F3F78FFF0646019902A861 +:10ED3000F4F783F8DDF810800025019BAB420CD876 +:10ED40002046FCF794F902A9FFF7A3FF06B0BDE83F +:10ED5000F0818B68CE680193E8E7705DB84708F8EA +:10ED600005000135E9E701460048D1E7A98E040016 +:10ED700001460148CCE700BFB98E040008B5FCF796 +:10ED800076F9C28803490448972A0CBF4223972387 +:10ED9000FAF734FE0F7D060068DE050038B504463C +:10EDA00008460D46FCF763F9084B984208D0084A1C +:10EDB0009C4208BF1446844206D02846FFF7DEFF77 +:10EDC000844201D00248F6E738BD00BF30DB0500C1 +:10EDD00084E605002DE9F04F8BB004460191FCF765 +:10EDE00046F904F00703022B054637D102A9E008D3 +:10EDF000F3F72AFF0746019B9A0706D11B683A4A98 +:10EE0000934209D0394A934206D0374801AB0022D9 +:10EE10000121FFF74DFC01900198DFF8D480DFF865 +:10EE2000D49004AA03A9FCF789FA0024454514BF2D +:10EE3000AA46CA462646039BA34213D8314606A8D3 +:10EE4000F3F7FBFF089C0026039BB3422CD806A9CE +:10EE50002846FFF71EFF0BB0BDE8F08FA368E768F8 +:10EE60000293C8E7049B53F82400FCF700F980459F +:10EE700014BF03464B469A454FEA840B02D01E4806 +:10EE8000FBF71EFD0CB1029B1E44049B53F80B00C4 +:10EE900000F00703022B05D1C008F3F7BEFE0644BD +:10EEA0000134C8E78068FAE736B12046029A39464D +:10EEB0001AF0CEFB029B1C44049B53F8260000F082 +:10EEC0000703022B0CD105A9C008F3F7BDFE0146CC +:10EED0002046059A1AF0BCFB059B01361C44B3E79B +:10EEE0008368C1680593F3E7D4E3050018E90500DA +:10EEF00030DB050084E60500217D06002DE9FF4793 +:10EF0000824608680E46FCF7B2F871688046FFF743 +:10EF100045FF306800F00703022B39D102A9C00871 +:10EF2000F3F792FE0446706800F00703022B33D11A +:10EF300003A9C008F3F788FE8146029ABAF1020FCE +:10EF400004EB02072FD9B368062B2AD001210091C8 +:10EF50004046214601F034FE0546BAF1030F0AD0BF +:10EF6000F368062B07D0012200922146029A404600 +:10EF700001F026FE0746039B6BBB791B284609F070 +:10EF800026FF0130400040F0010004B0BDE8F087EA +:10EF90008368C4680293C6E78368D0F80C90039333 +:10EFA000CBE72546D9E72546E5E7494628461AF046 +:10EFB0003FFB38B901343546039AAE18BE42F4D946 +:10EFC0006000E0E7D04504D1284609F0EAFE064695 +:10EFD000F1E76E1CEFE7DFF808A00024ECE700BFC4 +:10EFE000DCE8050001F00703022BF7B506460846EA +:10EFF00009D101A9C008F3F727FE0446019B33B9E4 +:10F000000E2003B0F0BD8B68CC680193F6E7134B7C +:10F010009E420ED0124B9E420BD0254615F8010B96 +:10F02000B0470028ECD0019A2B1B9A42F6D81E203C +:10F03000E7E72746002517F8010B09F0E3FE28B1A2 +:10F0400017F8010CB04705460028D9D0019A3B1BA0 +:10F050009342F0D3002DEAD1D2E700BF818E0400A5 +:10F06000958E040001460148BCE700BFEF8D040007 +:10F0700001460148B6E700BF058E0400014601487D +:10F08000B0E700BF198E040001460148AAE700BF9F +:10F09000818E040001460148A4E700BF958E04005C +:10F0A000884230B513D20378303B092B0FD80023A8 +:10F0B00013600A2410F8013B1568303B04FB05334C +:10F0C0008142136003D00378303B092BF2D930BD65 +:10F0D000012A13B50C4613D100F00703022B0BD104 +:10F0E00001A9C008F3F7B0FD019B636042232060D3 +:10F0F000A360002002B010BD83680193C068F3E7ED +:10F100000120F7E72DE9F84F98468F1804460D4681 +:10F110000B4600229F4217D8002A0CBF2726222622 +:10F120002349DFF89090DFF890A0DFF890B03246E6 +:10F130002046F4F727FBBD4210D3324620461C4937 +:10F14000BDE8F84FF4F71EBB13F8011B272903D0C5 +:10F150002229DFD12726E3E70122DBE715F8012B7F +:10F16000B24205D1164932462046F4F70BFBE2E7DE +:10F170005C2A04D113492046F3F76AFFDBE71F2A14 +:10F1800008D97F2A12D0B8F1000F01D013060DD490 +:10F190000749E9E70A2A01D10B49ECE70D2A01D119 +:10F1A0005946E8E7092A01D15146E4E74946DBE739 +:10F1B0004E7D06005D7D06005A7D0600577D0600E7 +:10F1C0004D7D0600517D0600547D060073B5164640 +:10F1D00001F00702022A044608460DD101A9C00821 +:10F1E000F3F732FD0546042ED4E9000308D1019A55 +:10F1F0002946984702B070BD8A68CD680192F2E74F +:10F20000044901229847019A012329462046FFF725 +:10F2100079FFEFE7607B06002DE9F0479942DDF8C2 +:10F2200020A0804691461E4613D3BAF1000FA1EBF1 +:10F230000304D6BF25460025002408EB0507324607 +:10F24000494638461AF0F4F920B1A54201D0554498 +:10F25000F3E700273846BDE8F0872DE9F04F87B087 +:10F260008246086803930D469346FBF700FF6968E2 +:10F270000746FFF793FD286800F00703022B3ED1F5 +:10F2800004A9C008F3F7E0FC0446686800F007032F +:10F29000022B38D105A9C008F3F7D6FC8146049AA1 +:10F2A000BAF1020F04EB020834D9AB68062B2FD059 +:10F2B000012100913846214601F082FC0646BAF150 +:10F2C000030F0AD0EB68062B07D0012200922146DB +:10F2D000049A384601F074FC8046B0450AD3A8EB86 +:10F2E0000601059BCDF800B04A463046FFF794FF73 +:10F2F000014688B9039BEBB11048FBF71FF98368FF +:10F30000C4680493C1E78368D0F80C900593C6E7FE +:10F310002646D4E72646E0E7094B9F4208D120461F +:10F3200009F048FD400040F0010007B0BDE8F08F53 +:10F33000001BF7E74FF0FF30F7E700BF647D0600E2 +:10F34000DCE805000023012287E700234FF0FF32AD +:10F3500083E701231A4680E701234FF0FF327CE761 +:10F360002DE9F04F042891B00C4668D1C868FBF72E +:10F3700043FF18B9206811B0BDE8F08F40EAE07390 +:10F3800020680493FBF773FE61680690FFF706FDA3 +:10F390000698A168FFF702FD206800F00703022B22 +:10F3A00050D109A9C008F3F74FFC0390606800F042 +:10F3B0000703022B4BD10AA9C008F3F745FC0590BF +:10F3C000A06800F00703022B46D10BA9C008F3F791 +:10F3D0003BFC8346DDE909329A42CBD80026DDE9C1 +:10F3E0000953002B3DD126B10B9A594630461AF0ED +:10F3F0002FF90B9F4FF0010ADDF80C80049B9A4512 +:10F400000CD05DB101220A9B00922946059A079310 +:10F410004046FFF701FF079B814630BB26B12A46D5 +:10F420004146F0191AF014F9E919002E3CD1BAF14D +:10F43000000F9FD00CA8F3F700FD0E9ECFE74FF012 +:10F44000FF339DE783680993C3680393AEE783683E +:10F450000A93C3680593B3E78368D0F80CB00B93A5 +:10F46000B8E74FF0000A5746C6E70BB909F10109A2 +:10F47000A9EB080526B12A464146F0191AF0E8F82A +:10F480002F4426B10B9A5946F0191AF0E1F80A9B5D +:10F49000099D0B9909EB0308039B1D440F44A5EB41 +:10F4A00008050AF1010AA9E706980CA9FFF7F1FB84 +:10F4B00061E710B504460846C4E902201146F3F797 +:10F4C00087FA606010BDF8B50E460146102014465C +:10F4D000FBF7C7FD054684607EB121463046F3F751 +:10F4E00077FA6860601C18F018FC22460746E8604E +:10F4F00031461AF0ADF800233B552846F8BD08B553 +:10F50000F3F7D0FAC00040F0020008BD10B5044681 +:10F51000D0E9011009F0DFFC014610B90448FAF700 +:10F5200064FA21460348BDE81040FFF7B2BB00BFB4 +:10F5300020DE0500DCE8050001460148FFF7A9BB15 +:10F54000DCE8050001460148FFF7A3BB84E605009F +:10F5500038B50D46044609F0BEFC014610B909480D +:10F56000FAF743FA29462046F3F74EFA30B92A460D +:10F5700021460548BDE83840FFF7A5BFC00040F070 +:10F58000020038BD20DE0500DCE80500F0B50646C7 +:10F5900087B00F461C4615460AB1FBF717FB06223B +:10F5A00029463846FBF76CFA002F5AD0012F0FD1AD +:10F5B0006A46102102A8F3F74FFC216868462A46E4 +:10F5C000FBF768FD02A93046FFF763FB07B0F0BD0B +:10F5D000206883073CD10268234B9A4238D100F05F +:10F5E0000703022B1CD102A9C008F3F72DFB054627 +:10F5F000206800F00703022B16D1C008F3F702FBC6 +:10F60000044624B902992846F3F7E2F90446029920 +:10F61000284609F060FC014640B91448FAF7E5F9BC +:10F620008368C5680293E3E74468EAE702992846DD +:10F63000F3F7EAF918B1C00040F00200C6E731461E +:10F640001020029FFBF70DFDC0E902754460BDE785 +:10F6500002A90522FCF702F8DDE90201FFF778FFB5 +:10F66000B4E70A20B2E700BF84E6050020DE05000B +:10F67000012807B50B4606D10B68009340F20A53E8 +:10F68000019302206B46014600220348FFF77EFFEC +:10F6900003B05DF804FB00BFDCE8050000F00703E1 +:10F6A000022B07B509D101A9C008F3F7CDFA0199DA +:10F6B000FFF725FF03B05DF804FB83680193C06882 +:10F6C000F5E70A4601460148FFF7FDBE84E605005E +:10F6D00070B5024608680C4610F003018CB003D1E7 +:10F6E00005683D4B9D422CD000F00703022B04D04F +:10F6F00079BB056839498D422BD1023A012A02D9DA +:10F700003748FBF7DDF8022B1DD108A9C008F3F735 +:10F710009BFA0546206800F00702022A17D1C008AC +:10F72000F3F770FA044624B908992846F3F750F91C +:10F7300004462949089E1020FBF793FCC0E90265A6 +:10F7400044600CB070BD8368C5680893E2E7446804 +:10F75000E9E7012A01D02348D3E7C30711D54410B4 +:10F7600002D50020FAF7EAFE214608A8F3F765FB68 +:10F770000A982246002119F093FF08A8FFF7E2FE3D +:10F78000DFE701A9FBF76AFF20B1DDE90101FFF71F +:10F7900098FFD6E72068FBF751FE78B910210DEBF2 +:10F7A0000100F3F73CFB206808A9FAF76DFB04465B +:10F7B0002046FAF7E3FB20B904A8DFE7411004A8CC +:10F7C000EFE7FBF719FDFF2801D90748CAE7C1B2E7 +:10F7D00004A8F3F7A2FBEBE784E60500DCE80500EC +:10F7E000717B0600717D0600777D0600084608B52E +:10F7F00019460AB1FBF7EAF910B1BDE8084067E71E +:10F80000004808BDB4E60500012807B50BD10B6818 +:10F81000009340F20A53019369460220FFF758FF14 +:10F8200003B05DF804FB0028F8D10148F8E700BFF9 +:10F83000B4E6050010B40A4C0346A342084603D1BF +:10F8400010BC1146FFF784BE064CA34203D110BC86 +:10F850001046FCF795BA10BC1146FFF732BF00BF47 +:10F86000DCE8050030DB0500F0B585B005460C4648 +:10F870001746FBF7FCFB05F00703022B064615D1E4 +:10F88000E8086946F3F7E0F90546042F26D1A307F7 +:10F89000009818D12268124B9A4214D101AA21462D +:10F8A00002F0E7FA30B90F48FBF72CF8AB68009389 +:10F8B000ED68EAE7DDE901123046521A2944FFF704 +:10F8C000B9FF05B0F0BD0146002322463046FBF7E4 +:10F8D0006DFD285C400040F00100F2E70020F0E7F9 +:10F8E00068E60500197B06002DE9F04F8BB00C4649 +:10F8F000059010681646FBF7BAFB012C81463ED0F6 +:10F900007168FFF74BFA706800F00703022B31D1E2 +:10F9100009A9C008F3F798F98046099B0693306857 +:10F9200000F00703022B2FD109A9C008F3F78CF9C7 +:10F930000390059BDDF824A0CDF810A0012B4FF01B +:10F94000000409BF4FF0FF3301230AF1FF3507938D +:10F950001CBF07930025A3462746049BCBB9BBF1E8 +:10F96000000F27D1224B2348994508BF0A200BB02E +:10F97000BDE8F08F8368D0F80C800993CDE70623AB +:10F98000DFF874800693CAE783680993C36803931A +:10F99000CFE7039A0699012300932A444046FFF7D4 +:10F9A0003BFCA0B9BBF1000F17D1059B43B90AF18D +:10F9B000FF342F46621CD21B524512D13068D6E765 +:10F9C000059B012B2C460AD02F464FF0010B079BBD +:10F9D0001D44049B013B0493BFE72C46F7E75F46B9 +:10F9E000E8E7039948463944FFF724FFBFE700BF23 +:10F9F000DCE80500B4E60500C4E605000A46014659 +:10FA0000022071E70A46014600206DE70A460146DA +:10FA1000012069E72DE9F34100F00708B8F1020F72 +:10FA200004460D4601F0070712D1022F05D1431AF3 +:10FA30005842584102B0BDE8F081C008F3F7E2F83F +:10FA40000646686886B178B1B0420DD00020F1E773 +:10FA5000022F4668F5D1C808F3F7D4F8002EF2D18A +:10FA6000A3680093E46807E0B8F1020FF8D1E0085A +:10FA70006946F3F7E9F80446022F0FD101A9E80817 +:10FA8000F3F7E2F80146DDE900239A42DED1204691 +:10FA900019F0CEFDB0FA80F04009CBE7AB68E96819 +:10FAA0000193F0E708B500F00703022B0DD08307A0 +:10FAB00009D10268064B9A4205D1BDE80840D0E959 +:10FAC0000210F2F7EFBFFFF759F9C00808BD00BFF9 +:10FAD000DCE8050000F00703022B07B50CD0830714 +:10FAE00008D103681A7B2AB103EB82031A69074B1A +:10FAF0009A4208D0FFF742F901A9C008F3F7A4F829 +:10FB000003B05DF804FBC068FAE700BF55FB0300D3 +:10FB100000F00703022B13B50C460CD0830708D165 +:10FB200003681A7B2AB103EB82031A69084B9A42D5 +:10FB300009D0FFF723F901A9C008F3F785F8019B65 +:10FB4000236002B010BD83680193C068F7E700BF6F +:10FB500055FB03002DE9F04F9DB0212805460C46CA +:10FB6000099201F0070840F00A8209AB0B9312F0EA +:10FB700003054FF001030C93174608D11368A74AF9 +:10FB8000934206D10BAA0CA9384601F07DFA002752 +:10FB900003E0A34A934218BF00270C9B0493B8F1DB +:10FBA000020F0B9B069322D10DA9E008F3F74CF846 +:10FBB0000590A50720D19B4B2268D01A43424341B0 +:10FBC00010AA102114A80793F3F746F9059A0D9B84 +:10FBD000144602EB03080026A0450FD8002F40F082 +:10FBE000C481049BB34200F0C0818F4821E0A36828 +:10FBF0000D93E3680593DCE70023E1E721782529ED +:10FC000004D014A8F3F789F90134E5E704F1010AF7 +:10FC1000C24502D38548FAF791FC6178252904D1C1 +:10FC200014A8F3F77AF95446EEE728292ED117B92C +:10FC30007F48FAF745FEA01C01468A461AF8013BA8 +:10FC4000292B1DD1091AFFF75AFC01463846FCF74B +:10FC500005FE012605464FF0000B5246D9464FF0EF +:10FC6000200A9045144613D80022A0450E9236D99A +:10FC700022782A2A6ED1049BB34225D86D48D8E752 +:10FC8000884501D16C48C6E75146D6E70025E2E732 +:10FC900012F8011B2D2902D149F00109E1E72B29B6 +:10FCA00002D149F00209DCE7202902D149F0040918 +:10FCB000D7E7232905D03029D6D149F040098A4613 +:10FCC000CFE74FF0100BCCE7069B721C53F82600D1 +:10FCD0000892FBF791FA089A0E90013416464FF0FD +:10FCE000FF32A0450F9295D922782E2A16D1601C9A +:10FCF00080458FD962782A2A33D1049BB342BDD97B +:10FD0000069B721C53F826000892FBF775FA089AB6 +:10FD10000F9002341646A0457FF67CAF35B9049BA0 +:10FD2000B342ABD9069B53F82650013621784729B8 +:10FD300066D8442969D92846FBF7AEFA01460F98E0 +:10FD4000227802900E984B46CDE900A010A8F3F758 +:10FD500065FB59E720460EAA4146FFF7A1F9044684 +:10FD6000BDE700220F9241460FAAFFF799F904461A +:10FD7000D1E7202A49D801A353F822F053FF03000A +:10FD80000BFE03000BFE03000BFE03000BFE030043 +:10FD90000BFE03000BFE03000BFE03000BFE030033 +:10FDA0000BFE03000BFE030045FE0300A5FE03004F +:10FDB00037FD030037FD030037FD03000BFE030092 +:10FDC000A5FE03000BFE03000BFE03000BFE030069 +:10FDD0000BFE03000BFE0300D9FE03000BFE030025 +:10FDE0000BFE0300F7FE0300F7FE03000BFE03000B +:10FDF000A5FE03000BFE03000BFE030053FF0300F0 +:10FE0000A1F15802D0B22028B3D9059B0B48E41ABF +:10FE10000A460B4600940A49F9F7F0FD18E9050077 +:10FE200074DC050084E60500C07D06007E7D0600CA +:10FE3000827D06008F7D0600887D060044DE050079 +:10FE4000AD7D060005F00702022A05D0A90716D1EC +:10FE50002A689A4B9A4212D118A92846FFF758FEF1 +:10FE6000189A012A014601D09548E2E60E980190C1 +:10FE7000202000904B4610A8F3F7F9F8C4E6284676 +:10FE8000FEF7B6FE60B12846FBF7B6F90E9A01926E +:10FE9000202200928DF860004B46012218A9EAE763 +:10FEA0008848C6E6AA0709D12A68874B9A4205D135 +:10FEB0002846FDF745F9FDF7D6FD05460F9A039252 +:10FEC0000E9ACDF80090CDE901A261230A222946BD +:10FED00010A8F3F78DF997E6BBF1000F01D049F4B4 +:10FEE00004790F9A03920E9ACDF80090CDE901A201 +:10FEF00061230822EBE712AA102118A8F2F7ACFF41 +:10FF00002278722A0CBF0122002208D0079B33B14D +:10FF1000AB0704D129686D4B994208BF04222946DA +:10FF200012A8FBF7B7F80F99199A00290E99B8BFD4 +:10FF30000F920191202100910F998A4228BF0A4611 +:10FF40004B461A9910A8F3F792F818A8F2F790FF09 +:10FF50005AE60F9A03920E9A49EA0B03CDE901A2E1 +:10FF600000931022A1F11703B1E75848534B079AA9 +:10FF700014A9002A08BF1846FEF78BFE1AE00846AF +:10FF8000FBF775F8B8F1020F064616D112A9E00882 +:10FF9000F2F75AFE07461D2D099822D114A9FBF746 +:10FFA00003F938B1149B002B0BDC444B48489E42AC +:10FFB00008BF0A201DB0BDE8F08FA368E768129360 +:10FFC000E9E7129918A85943F2F737FF1A9B0093F3 +:10FFD00001213846149B129A01F038FF18A93046C7 +:10FFE000CAE7FBF744F8864219D1099800F00703E5 +:10FFF000022B0FD118A9C008F2F726FE8046DDF8C3 +:020000024000BC +:1000000060901B2D2AD01CD8042D4DD90E2D25D043 +:100010000020CFE78368D0F80C801893EFE72B4BD4 +:100020009E4209D10998012218A9FBF717FB002865 +:10003000C0D0DDE91889E4E7242DE9D10998FEF75D +:100040009DFE242DE4D10123009312994B46424694 +:100050003846FFF7E1F828BB0E20ABE7129B3BB90F +:100060000998FBF704F8864202D1099C2046A1E7D3 +:10007000B9F1000FFAD0129918A84944F2F7DDFE41 +:10008000129A1A98394619F0E3FA129B1A984A46BE +:100090004146184419F0DCFA18A93046FEF7F9FD7C +:1000A0000446E3E71E2085E7129ACDF80090434608 +:1000B0003946284601F01CFFCDE700BFDCE805000B +:1000C000997D0600A47D0600A4E1050084E60500F4 +:1000D000B4E605002DE9F74F054608680C46FAF727 +:1000E000C6FF012D814625D9022D676823D0A0685F +:1000F000FBF782F8054600210846FEF7EDFA804638 +:10010000206800F00703022B18D16946C008F2F7F7 +:100110009BFD0446009E062F264447D1B442274645 +:100120002DD23878013408F062FE0028F6D19DB354 +:10013000BA460AE006274FF0FF35DCE78368C4685B +:100140000093E7E75645544607D954460AF1010A99 +:10015000207808F04CFE0028F4D0E21B39464846CF +:10016000FFF768FB01464046FEF7D6F8A64206D9DF +:10017000A642274607D1002D0CDCB742D7D3404614 +:1001800003B0BDE8F08F3878013408F030FE002865 +:10019000EED1F0E7013DF0E73946F21B4846FFF7A4 +:1001A00049FB01464046FEF7B7F8E8E739464846BE +:1001B000FEF7F4FD01A93846FFF7AAFC019B824631 +:1001C000A3B91348FAF7BAF9B346ABEB04022146D8 +:1001D0004846FFF72FFB01464046FEF79DF8B34522 +:1001E000CDD2019C002D5C4400DD013D019FA34662 +:1001F000002DE9D00BEB07039E42E5D33A4651466A +:10020000584619F015FA0028DFD00BF1010BEFE783 +:10021000CF7D06002DE9F04F022885B006460D4639 +:1002200004D805B0BDE8F04FFFF754BF0868FAF7EF +:100230001EFF8246D5E9000700F00703022B12D10A +:1002400002A9C008F2F700FD8046A868FAF7D4FFBB +:10025000041E0DDA29463046FFF73CFF05462846C6 +:1002600005B0BDE8F08F8368D0F80C800293ECE70E +:1002700004F1010900214846FEF72EFA062F054633 +:1002800002D12548FAF73EFB03A93846FFF740FCA8 +:10029000039B834613B92148FAF750F9029E46445E +:1002A000039BF71A5CB1B84509D81A465946384637 +:1002B000019319F0BDF9019B00B3013FF2E7A6EBF2 +:1002C000080241465046D5F80CB0FFF7B3FAA70034 +:1002D0004BF82400002CC2D0A9EB0404E868A60067 +:1002E0003246C11919F0C2F96A68E868121B920017 +:1002F0000021304419F0D4F9AC60B0E7EA6801920B +:10030000F21BD21AF9185046FFF794FA019B3E46A9 +:1003100043F82400013CC3E7DB7D0600CF7D0600E7 +:100320002DE9FF41804608680D46FAF7A0FE074612 +:10033000286800F00702022A24D102A9C008F2F7B7 +:1003400083FC0446686803A9FFF7E2FBB8F1020FDB +:1003500006461BD901230093029AAB682146384612 +:1003600000F02EFC039A029B041B14449C420FD8FD +:10037000314619F05DF9002814BF0E201E2004B08C +:10038000BDE8F0818268C4680292DBE72046E9E7B5 +:100390000E20F4E773B50646086800F00702022A4B +:1003A0000D460ED16946C008F2F74EFC044601A97D +:1003B0006868FFF7ADFB022E014606D90B48FAF735 +:1003C000A1FA8268C4680092F1E7DDE900329A423E +:1003D00009D89B1AE01819F02BF9002814BF0E2039 +:1003E0001E2002B070BD0E20FBE700BFEA7D0600B4 +:1003F0002DE9F04F95B00F4605909146102108AABF +:100400000CA89A46F2F728FD4F4508D30CAB0FCB4A +:10041000059C84E80F00204615B0BDE8F08F3E46ED +:1004200016F8011B7D290CD1B14507D979787D29B2 +:1004300004D10CA8F2F771FD374607E0A548FAF79A +:100440007DF87B2904D00CA8F2F767FD0137DBE7C4 +:10045000B14528D979787B29EBD07D2912D0212983 +:1004600010D03A290ED0314649450B461BD00A78A8 +:100470007D2A01F1010103D0212A01D03A2AF3D1CA +:100480001D4602E03346002635461A78212A0ED151 +:100490005A1C914509D95C78A4F17202012A04D84A +:1004A0000233994504D88C48C9E78C48C7E7002433 +:1004B0001A783A2A40F068825F1C5B787D2B11D055 +:1004C0003946012249450B46EDD211F8010B7B2834 +:1004D00001D10132F6E77D28F4D1013AF2D1B846D4 +:1004E0001F4603E0B945DED94FF000083B787D2B6D +:1004F00001D07B48A3E7002E43D00023307810932F +:1005000008F08AFCC8B93346AB429B4605D213F8C3 +:10051000012B2E2A01D05B2AF6D1ABEB0601304627 +:10052000FEF7EDFF0022064601462098FAF79BFBF6 +:1005300028BB6C483146FAF7EDF9DAF80030002BA9 +:1005400001DD69487BE710AA29463046FEF7A8FD81 +:100550001E9A109B013A9A42834603D86349644825 +:10056000F9F743FA01331F9A52F823604FF0FF3333 +:10057000CAF80030AB4514D25E48FAF7C3F94668B2 +:10058000F8E7DAF80030002B01DA5B4857E71E9AEB +:10059000013A9342E2D201331F9A52F82360CAF81B +:1005A0000030B8F1000F13D114B1733C18BF01240F +:1005B0000AAA102110A8F2F74FFC314622460AA8D9 +:1005C000FAF768FD4D4810A9FEF763FB064601E007 +:1005D000002CEAD14FF0FF3307930A93B8F1000FD4 +:1005E00000F0B780FAF73CFA209B02931F9B01931F +:1005F0001E9B00933A465346414610A8FFF7F8FE6B +:1006000010A8F2F77BFC119A90F8008083188346BB +:100610000493B8F1000F7AD03948414619F072F8C6 +:10062000002800F0AA810BF1010B00259BF80020A7 +:100630002B2A6ED02D2A6ED0202A6ED104240BF1E5 +:10064000010B9BF80020232A04BF0BF1010B44F09F +:1006500010049BF80020302A0CD1B8F1000F06D10D +:100660003046FEF7D9FA002818BF4FF03D08002D9C +:1006700008BF302507AA04995846FEF711FD0278F5 +:1006800003462C2A04BF013344F020041A782E2A92 +:1006900005D1581C04990AAAFEF702FD034693F8F7 +:1006A00000B00493BBF1000F39D01648594619F039 +:1006B00029F810B1049B5B788BB31348BFE6104850 +:1006C000294619F01FF808B32A460BF1020B4546DC +:1006D0009046ABE7F67D0600227E0600117E0600FE +:1006E000337E060064DF05003C7E0600527E060075 +:1006F00088DF0500597E0600677E0600DCE80500FD +:100700007D7E0600827E0600927E0600804645467B +:100710008CE7022493E7002491E7002491E710A8D6 +:10072000F2F7A6FBB8F1000F08D13046FEF774FAD5 +:10073000002814BF4FF03E084FF03C08002D08BFC2 +:10074000202514F0060F0DD0BBF1730F05D18F4893 +:1007500075E64446C3464546E7E7BBF1630F01D162 +:100760008B486CE6B8F13D0F2AD0B8F15E0F2AD065 +:10077000B8F13C0F01D144F001043046FEF738FADD +:10078000002800F09980BBF1780F10D8BBF1610F01 +:100790001CD8BBF1470F4FD8BBF1440F00F28C803F +:1007A000BBF1000F71D0BBF1250F00F08580304602 +:1007B000FAF768FC774903465A467748F9F71EF975 +:1007C00044F04004D9E744F08004D6E7ABF162037B +:1007D000162BECD801A252F823F000BF53080400F6 +:1007E0006D0804008B080400B9080400B90804006F +:1007F000B9080400AF070400AF070400AF07040006 +:10080000AF070400AF070400AF0704008B08040023 +:100810009D080400AF070400AF070400AF07040001 +:10082000AF070400AF070400AF070400AF070400E0 +:10083000AF0704003F080400BBF1580FB7D10023F5 +:100840000393079B0094CDE901531022ABF11703EA +:1008500007E000230393079B0094CDE90153022294 +:100860006123314608A8F2F7C3FCEFE53046FAF7FA +:10087000C3FC079B8DF84000CDE9005301222346BD +:1008800010A908A8F2F7F3FBE0E500230393079B08 +:100890000094CDE901530A226123E2E7E3064FF019 +:1008A00000030393079B48BF44F40074CDE9015350 +:1008B000009461230822D4E73046FEF7ADF9002802 +:1008C0003BD0BBF1000F24D0BBF16E0F21D0BBF1A8 +:1008D000250F21D0BBF1240F7FF669AFBBF1470F85 +:1008E00012D8BBF1440F7FF662AF3046FAF7D4FC62 +:1008F0000A9B0293079B0146CDE900535A462346C3 +:1009000008A8F2F78BFDA1E5ABF16503022BECD94A +:100910004DE74FF0670BE8E73046FAF7BDFC1F499B +:100920000EF0BAF80A9B0293079B44F48074CDE959 +:100930000053014623466622E2E7B8F13D0F01D19C +:1009400017487CE5BBF1000F03D0BBF1730F7FF4B8 +:100950002EAF10A93046FFF7DBF80A9B109A002B48 +:10096000B8BF0A920A9B9A4288BF1093079B109ABD +:10097000CDE900530146234683E79BF80150002D43 +:100980007FF49DAEA84651E60027A8E5977E0600B5 +:10099000A37E0600B27E060044DE05000000C842C9 +:1009A000C47E060070B505460868164600F00702CA +:1009B000022A8AB00C4617D104A9C008F2F744F9FC +:1009C0000146049A009500230A44059306A805AB46 +:1009D000CDE90146FFF70CFD2068FAF748FB06A9B0 +:1009E000FEF757F90AB070BD8268C1680492E8E763 +:1009F00007B501A9FFF78CF80199FEF780FD03B058 +:100A00005DF804FB044B0B60044BC1E9013000238B +:100A1000CB600846704700BF18E60500210A0400B5 +:100A200073B50546806800F00703022B15D101A9B4 +:100A3000C008F2F709F9EC68019B9C4211D204440A +:100A4000204608F0AEF9061B31462046FEF757FD5A +:100A5000EB683344EB6002B070BD83680193C068FB +:100A6000E9E70020F7E701F00702022A13B5044680 +:100A700008460AD101A9C008F2F7E6F8042C08D00C +:100A8000052C0CD0002002B010BD8A68C868019205 +:100A9000F4E7019B002B14BF1E200E20F3E7019901 +:100AA00008F095F9400040F00100ECE701F0070381 +:100AB000022B2DE9F74F0446154608460DD101A932 +:100AC000C008F2F7C1F80646019A55B96368206874 +:100AD0003146984703B0BDE8F08F8B68CE6801932C +:100AE000F2E706EB020833460022984516D8002AA2 +:100AF0000CBF272722272949DFF8A490DFF8A4A0FC +:100B0000DFF8A4B03A462046F2F73CFEB0450FD8D5 +:100B100022493A462046F2F735FEDBE713F8011B7F +:100B2000272903D02229E0D12727E4E70122DCE7A7 +:100B3000304608F01BF90546304608F032F9AF425E +:100B4000064605D119493A462046F2F71BFEDDE775 +:100B50005C2D04D116492046F2F77AFAD6E7A5F1C2 +:100B600020035E2B02D80D492A46EDE70A2D01D15C +:100B70001049F0E70D2D01D10F49ECE7092D01D106 +:100B80000E49E8E7FF2D2A4601D85946DCE7B5F5BE +:100B9000803F34BF51464946D6E700BF4E7D060030 +:100BA000E07E0600D97E06005D7D06004D7D0600D4 +:100BB000517D0600547D0600577D06005A7D0600D3 +:100BC000F7B51E462C4B9DF8207098420D461446F2 +:100BD00002D02A4B984208D13B4632462146FAF7CA +:100BE000E5FB0544284603B0F0BDF3070CD57610AD +:100BF00001960199002905EB040227DA013A002049 +:100C0000134679B9551CEDE701A93046FAF7CCFA3D +:100C10000028EED13046FAF735FA1949024619484C +:100C2000F8F7ECFEAA4207D200B10191002FD9D10A +:100C300015491648F8F7D9FE1B7803F0C003802B3E +:100C400002F1FF321CBF01310120D9E70024954297 +:100C500005D304B10191002FEAD01546C2E701394E +:100C6000C0D3681C0124054601302B7803F0C00373 +:100C7000802BF8D0EBE700BF84E6050030DB0500F1 +:100C8000E77E060068DE0500F07E060088DF0500CE +:100C9000F0B585B004460D461746FAF7E8F904F0BA +:100CA0000703022B064616D1E00803A9F1F7CCFF93 +:100CB0000446042F4DD1AB0732D12A68274B9A4204 +:100CC0002ED1EA68062AD5E9013708D0032A06D0D2 +:100CD0002348F9F717FEA3680393E468E9E7062BB6 +:100CE0001AD0012200922146039A3046FFF768FF8E +:100CF0000546062F039A11D00123009321463B4657 +:100D00003046FFF75DFF854225D8421B2946304615 +:100D1000FEF790FD05B0F0BD2546EAE7A018F2E722 +:100D20000023039A009321462B463046FFF748FFE5 +:100D300090F900300278002B08DB0121FEF7DFFB81 +:100D4000E8E701315B081A42FBD1F7E740230121B4 +:100D5000F9E70020DEE70A20DCE700BF68E60500CF +:100D6000197B0600044B0B60044BC1E901300023E2 +:100D7000CB600846704700BF18E60500810D0400EF +:100D8000D0E902120346486882423FBF901C0132FC +:100D900051F82000DA6028BF002070472DE9F041AB +:100DA0000E461249DFF848800446F2F751F906F181 +:100DB000080700257368AB420BD8012B03D10D49FE +:100DC0002046F2F745F920460B49BDE8F041F2F71D +:100DD0003FB91DB141462046F2F73AF957F8041BD6 +:100DE00001222046FAF756F90135E3E7E82B060021 +:100DF000B0830600EE2B0600E240060002460868BB +:100E00000B46083050F8041C01F0F1B80A460830CF +:100E100050F8041C01F01EB9052870B50D461DD010 +:100E2000062807D004281CD14B68002B14BF1E20B5 +:100E30000E2070BD0C4C01236A685E1C013B9A4277 +:100E400003D8600040F00100F3E755F826100620B3 +:100E5000F8F71AFE334604EB6004EDE748684000FB +:100E6000F0E70020E5E700BF10E9050070B50C468B +:100E7000064698B1851CAD0009492846FAF7F1F8F5 +:100E8000466054B1083D214600F10803254451F85D +:100E9000042B43F8042BA942F9D170BD0148FCE7AB +:100EA00018E9050010E905002DE9F0410C4620463F +:100EB000114602221E46F9F7E3FD6CB33568AB0715 +:100EC00003D12A68154B9A4217D0102016F025FF3F +:100ED000002104463068F8F7D7FF00258046042734 +:100EE0004046F9F74BF8064650B928462146FFF729 +:100EF000BDFF0546204616F02DFF2846BDE8F081CF +:100F0000AF4205D8F900204616F017FF7F000446CF +:100F100044F825600135E3E7014DEEE718E90500E7 +:100F200010E9050010287FB504460E4615460CD082 +:100F300007D8042848D90E2821D00024204604B020 +:100F400070BD1B281BD01D28F7D103A92846FAF72E +:100F50002BF90028F1D0039B002B33DD70680021B2 +:100F60005843FFF783FF00F10803044600937268BB +:100F7000039B042106F1080000F068FFDEE7284625 +:100F8000FAF775F8214900F0CBFE0028D5D06B6840 +:100F9000706800211844FFF769FF726800F10803C8 +:100FA00006F1080104469200184618F051FB6A68E1 +:100FB00003467068920005F1080103EB800018F009 +:100FC00047FBBBE7124CB9E71046FAF750F8C37B72 +:100FD0002BB100EB83000F4B02699A4206D02846E2 +:100FE0000A4900F023FF05460028A6D06B6800934D +:100FF0002046726805F1080306F1080100F0ACFF15 +:10100000002814BF1E240E2498E700BF18E905002D +:1010100010E90500650D0400042A7FB504460D465D +:101020002BD111F0030640681DD10A68144B9A4277 +:1010300019D101AA00F01DFF10B91248F9F762FC9E +:10104000DDE901303146C01AFFF710FF019942680F +:1010500008340546920004EB8101083018F0F8FAD4 +:10106000284604B070BD2A46014600232068FAF7DE +:101070009DF9023054F82050F2E70025F0E700BF58 +:1010800068E60500197B060043680B6008301060B5 +:10109000704716F05FBE00BFF8B50E46124B1349FD +:1010A00088421ED08288920503D4306001242046F5 +:1010B000F8BD847C002CFAD000EB84000069026843 +:1010C0009A42EDD1476800F1080505EB8707002437 +:1010D000BD42ECD255F8040B3146FFF7DDFF044466 +:1010E000F6E70024E3E700BF18E90500C4E50500C2 +:1010F0002DE9F3410C46054654F8046B002701A97D +:1011000030680197FFF7C8FF0198037A00EB83036B +:101110003A46D3F81080691E2346C0473061062046 +:1011200002B0BDE8F0812DE9F047DFF8DC80DFF8A0 +:10113000DC9005460C46AB6873B1A28890050BD4D1 +:10114000E15C21B90F2B07D112F4C07F04D0EB680A +:1011500004221A60BDE8F087E37C03B304EB830349 +:1011600069681869C900002241F002010430F9F7EA +:101170007AFDA0B1297C4268EB68286829B1014654 +:101180000020BDE8F047F8F763BB30B1A1888905BE +:1011900003D41D498C4218BF00692146F1E72B6832 +:1011A000ABB9A17C0029D5D004EB81010C6923687F +:1011B0004B4509D1274657F8046F04EB8604261DDA +:1011C00057F8044FB74214D34445B4D1C2E72A7C40 +:1011D000002AE6D1A2889205E3D44445E1D01869FB +:1011E000EA686968F8F76EFBEB681B68002BD8D0DB +:1011F000B0E74445E4D021462846FFF794FFEB686A +:101200001B68002BDCD0A5E7C4E5050018E9050044 +:101210002DE9F0431546126887B00646002A30D102 +:10122000D0E901301129CDE903258DF8142004BF40 +:10123000082203929A7CCDE90101D2B103EB82032B +:101240001969184B0A689A421ED10C46DFF858906B +:1012500054F8048F002747450BD054F8041F494524 +:1012600001D10137F7E701A8FFF75DFF2B68002BDD +:10127000F7D02B687BB1042B03D10C4B2B60B368E8 +:101280006B6007B0BDE8F083074B9942F1D001A82D +:10129000FFF749FFEDE70449039301A8FFF743FF78 +:1012A000EFE700BF18E90500C4E505007CE905008B +:1012B000F0B589B001AF0026039013220F23044636 +:1012C0000D460168019603A8CDE904237E600697C8 +:1012D0008DF81C60FFF727FF019848B1042816D14C +:1012E0002069F9F7C4FE83881B06064602D52069EB +:1012F00009B0F0BD1DB9102016F00FFD0546F07BBA +:1013000006EB80062946336920699847F0E73A469C +:1013100031463046F8F7B1FCEAE7CA880149F2F7EE +:1013200031BA00BFF77E060038B5044608461146BC +:101330004FF002121D46F9F7A3FB082016F0EDFC52 +:101340002B68C0E9004338BD38B51C460546084641 +:1013500011464FF00412F9F793FB23689A0703D163 +:101360001A68074B9A4202D00020F9F7A9FA0C201C +:1013700016F0D3FCD4E90013C0E90051836038BDF6 +:1013800088E90500F0B50E468BB0CDE9036205464D +:101390000021144606A81022CDE9011101AF18F072 +:1013A0007FF90E230595079308977CB90B2305A8B1 +:1013B00029680693FFF7B7FE019804280BD1286926 +:1013C00022463146FAF71EF90BB0F0BD042C0CBFD3 +:1013D0000F231C23EBE70028F6D05CB1042C14BFCC +:1013E000022001203A460021F8F747FC042C18BFE0 +:1013F0000620E9E70120F5E72DE9F04116461268DD +:101400008AB004460D46002A5DD14FEAC10848F073 +:101410000208071D009041463846F9F724FC10B138 +:101420004368336012E040F277139D4211D197E890 +:101430000700454B059306AB83E8070005A8FBF7BB +:101440007EFA3060037943F0020303710AB0BDE80D +:10145000F081CDE907068DF82400216805A8CDE9C3 +:101460000545FFF760FE3768DFB123689B889A0760 +:10147000ECD517F00304E9D13A68344B9A42E5D130 +:10148000384608F07BF90068062803D13049314816 +:10149000F8F7ABFA6B4622460121F8F789FB30607A +:1014A000D4E70E2DD2D0009802AA0E21F8F70AFA3E +:1014B000029B002BCAD002AA39460120CDF8108029 +:1014C000F8F7DBFBEBE7016877688B889B072BD588 +:1014D0000023CDE9050505A8CDE900330793CDF834 +:1014E00020D08DF82430FFF71EFE0098E0B110F0F8 +:1014F000030819D10268154B9A4215D108F03EF93C +:10150000CDE902474FB9806806289FD002AB3A4622 +:101510000121F8F74DFB002383E74068062895D0AA +:1015200002AB42460221F4E7E900201D41F002012E +:101530002FB90222F9F797FB002887D0EBE70122A9 +:10154000F9F791FB4760E6E774DC0500A817060091 +:10155000047F060018E00500F0B51B4B034489B07A +:1015600093F83030049300250C23CDE90251044652 +:101570000E460DEB030009680593CDE900551746AB +:10158000CDF818D08DF81C50FFF7CDFD009B042B33 +:1015900008D131693A462046F8F7D8FF0346184685 +:1015A00009B0F0BD002BFAD06A4629460120029707 +:1015B000F8F763FB242C0346F1D1F9F765FF002807 +:1015C00014BF1E230E23EAE77CE9050070B5254B06 +:1015D00003440D4693F8551088B0CDE9035101AA94 +:1015E0000B210023CDE90512064629688DF81C3031 +:1015F00003A8CDE90133FFF796FD019C042C07D128 +:1016000029693046F8F740FA0446204608B070BD14 +:10161000CCB120462946F8F71BFB062E04460CD019 +:10162000082EF2D1C207F0D4830703D102680E4B13 +:101630009A42EAD00020F9F743F9F9F7E9FD4000B2 +:1016400040F00104E1E7062EDFD1AF2329680493BF +:1016500003A8FFF768FD019B002BD6D16C0044F076 +:101660000104D2E77CE9050088E3050070B5151E8A +:1016700088B00C460CBF1D211B21CDE9034101AAF6 +:1016800009210023CDE90512064621688DF81C309A +:1016900003A8CDE90133FFF746FD019B3BB935B9FE +:1016A0001B23216803A8CDE90435FFF73CFD019811 +:1016B000042816D12069FBF70DFB80B13DB12368EA +:1016C000D888F1F7B5FA01463046F1F7C1FC45F08C +:1016D000800221693046F9F7DDFC08B070BD2A466A +:1016E000F7E728B12146F8F7B3FA00220146F1E7FF +:1016F0002046F9F7C7FC0349024623463046F2F775 +:1017000041F8EAE7117F060038B50D4604460B495B +:10171000F1F79EFC696800222046F9F7BBFC0849F6 +:101720002046F1F795FCA96820460022F9F7B2FCA3 +:1017300020460449BDE83840F1F78ABC237F060003 +:10174000B0830600027F060070B5057A25B9C2880D +:1017500005490648F8F752F900EB85042469A446C8 +:10176000BDE87040604700BF2C7F060068DE0500C2 +:10177000F0B589B00E46012410210023CDE90441C3 +:10178000039001688DF81C300546174603A801AA8E +:10179000CDE901330692FFF7C6FC019B042B0CD167 +:1017A0002869F9F764FC037C00EB83003A4603697F +:1017B00028693146984709B0F0BD2046FBE770B56F +:1017C0001446126886B00346002A4CD1172905D169 +:1017D000C388DB0043F0020323601AE040F2771075 +:1017E000814218D1D87C58B103EB8000364B006998 +:1017F000002808BF184603799D0703D5206008E03C +:101800003148F8E7FBF79BF82060037943F00203C7 +:10181000037106B070BD40F27510814217D12B4A9A +:10182000934201D12A4BD7E7987C70B103EB80003B +:1018300003690193990703D11968264A9142CBD0D5 +:1018400001A90120FFF712FBD8E71346F1E7CDE924 +:101850000131CDE903241946012201A88DF8142095 +:10186000FFF761FCD5E7C27C002AD2D000EB8202F0 +:10187000106902799207CCD465680430C9003DB97B +:1018800002221143F9F7EFF90028C2D02560C0E722 +:101890009A8896070ED4AE070CD12E680E4DAE4234 +:1018A00008D1D50703D50D490D48F8F79EF842F049 +:1018B00002029A80012241F00201F9F7D4F963682B +:1018C0004360002388E700BFD8DC0500C4E50500BD +:1018D00010E9050018E90500A81706003F7F06007B +:1018E00018E00500F0B58BB00D46164609210A2216 +:1018F000CDE906120590016803AA04461F4605A813 +:101900000023CDE9033308928DF82430FFF70BFC58 +:10191000039838B92046F9F7B5FB0B4902460B4846 +:10192000F8F76CF8042807D120693B46324629466F +:10193000F8F73EF90BB0F0BD0499009733462A46FC +:10194000FAF788FAF6E700BF8A78060068DE050035 +:1019500038B50446FFF7A0FB054604302146800059 +:10196000F9F77FFB002104460430F9F747F90DB180 +:10197000014B2361204638BD7CE905002DE9F04785 +:101980008AB00DF10C09002407460D4616460146A3 +:10199000182205A898460823CDE906230394C9F820 +:1019A00004400594CDF820908DF82440FFF7BBFB50 +:1019B0000398019408B1042824D101A93846FFF7FF +:1019C000C7FF044600231122394605A8CDE9033399 +:1019D000CDE906230594FFF7A6FB039B002B58D007 +:1019E00055EA060139D14A460846F8F746F907464E +:1019F000062F4ED03846F9F745FB2E4902462E48B1 +:101A0000F7F7FCFF55EA06020ED102AB012102975F +:101A1000F8F7CEF804462046F9F729FB8742D1D0E3 +:101A200020460AB0BDE8F08705EB46040134A40067 +:101A3000204616F072F9221F8246414640F8047B88 +:101A400017F006FE039853463246691CF8F7B0F8C3 +:101A50000446504616F07EF9DDE705EB46070237EF +:101A6000BF00384616F059F9039B0360049B43609E +:101A70008146A7F108024146083017F0E9FD4A46C1 +:101A800031462846F8F7F9F80746484616F062F955 +:101A9000AEE701980028C3D02269084B9A42BFD113 +:101AA000037A00EB830332461F6929464346B84751 +:101AB0002061B5E75B7F060068DE05007CE9050074 +:101AC00000B589B009210A22CDE90412002301687A +:101AD000039001AA03A8CDE9013306928DF81C30CA +:101AE000FFF721FB0198003818BF012009B05DF80D +:101AF00004FB2DE9FF4711F0030481460F46904691 +:101B000003D10A685B4B9A4202D00020F8F7D8FE56 +:101B10004046FAF71FFE0028F7D002AA384601A96E +:101B2000FFF7B2FADDE90160DFF84CA122464FF47D +:101B30000775964208D106B303685E7C16B103EBC5 +:101B400086031E690B2319E050F822108B07DCD1A5 +:101B50000B685345D9D10B7A23B9CA8847484849FD +:101B6000F7F74CFF8B889C0541BF43F001038B8046 +:101B700003F002031D430132DBE70A23002E18BFE6 +:101B800001330533980016F0D6F83E4B43613E4BC7 +:101B900083613E4BC3613E4B03623E4B43623E4B0F +:101BA00083623E4BC3623E4B03633E4B836003F153 +:101BB0000433C360092303743B4B43630A23C37498 +:101BC000019BC0F800A004468580A0F80690C0F8EC +:101BD000388063B1012B4FF00B03837409BF029B64 +:101BE000C7631B68C36316B10C234374066415F006 +:101BF000020516D1D8F808202C49AA4211D0D8F8ED +:101C00000C3003EBC50053F8353093B1042B10D0E2 +:101C1000436898070DD11B688B420AD140F21E23FE +:101C2000A38003A92046FFF737FA012803D92048EB +:101C30006CE70135E1E7E37C04EB830300221869DC +:101C4000C2210430F9F70FF8054670B1436813F06C +:101C500003020AD11B68DB88B3F5117F05D1031D90 +:101C600001211448FFF760FB6860204604B0BDE81E +:101C7000F08700BF18E9050088E9050068DE050067 +:101C80007D7F06007D1904006D160400E518040030 +:101C9000CD15040059150400F91304008513040040 +:101CA000B11204000102030471170400A817060012 +:101CB000937F0600E0E9050038B50D462846114639 +:101CC0000C4A1C46F8F7DCFE012D04D0032D07D08A +:101CD0000948F8F7F5FD2068BDE83840F9F7C7B9BD +:101CE0002068FDF7DFFED4E90112BDE83840FFF7B8 +:101CF00000BF00BF06000200B57F06001FB5074BFE +:101D000001934B6802930A468B680393014601A82E +:101D1000F7F7E0FF05B05DF804FB00BFF8E9050048 +:101D20002DE9F041154D164E0F46B8421FD010F068 +:101D300003031ED10268AA421BD1837CDBB100EBF6 +:101D4000830000690368B342EFD1044654F8043FAE +:101D500000EB830000F1040854F8040FA045E4D917 +:101D60003946FFF7DDFF0028F6D0BDE8F0810120FD +:101D7000FBE70020F9E71846F7E700BF88E9050010 +:101D800018E905002DE9FF418B070546019108463A +:101D90001AD10B68144A93420ED10123029301AB6E +:101DA0000393DDE90267DFF844800024A6420ED1E8 +:101DB0000E2004B0BDE8F0810D4A934204D103AA7D +:101DC00002A9FFF761F9ECE70A48F8F779FD57F83F +:101DD0002410414505D02846FFF7A2FF08B9013479 +:101DE000E4E71E20E5E700BF88E90500C4E505003B +:101DF00018E90500BD7F0600820708B503D1026817 +:101E0000044B9A4202D00448F8F75AFDBDE8084056 +:101E1000B8E700BF88E90500D17F060010B50C4681 +:101E2000F9F725F92146BDE81040ABE738B50D4676 +:101E30000446F9F71CF9854204D02946FFF770FFE4 +:101E400010B12469204638BD0446FBE7F8B51D46AD +:101E5000069B074602FB01F40026AE4200D1F8BD06 +:101E600018462246394617F0F3FB03462344013651 +:101E7000F3E70B4610B5144601461846FCF75EFE24 +:101E8000A068002809DA6268236801329A42626019 +:101E90000ADC431E5842584110BDFAD0D4E9003242 +:101EA0009342F6DD6360F4E70133FBE72DE9F0418F +:101EB0000E46002108469768D2E90048FCF70CFC62 +:101EC000002F054611DA444502DA2846BDE8F081C4 +:101ED00056F824102846FCF71FFA3C44F3E756F85E +:101EE00024102846FCF718FA3C444445F7DBECE79D +:101EF00070B50446022C049E1546184610D1B24215 +:101F000026D1034608461946AE42324628BF2A4625 +:101F100017F08EFB022C0ED1B0FA80F0400970BD94 +:101F20002CB1032C05D033461D461646E9E70124A3 +:101F3000EAE70424E8E700280ADB0BD1AE4203D02D +:101F40002CBF01200020EAE7601E18BF0120E6E751 +:101F50000020E4E70120E2E72DE9F74F0228DDF851 +:101F600030800446174605D1424509D0002003B011 +:101F7000BDE8F08FB8B1032817D04246B8461746DF +:101F80001A460B461146B845C3461E4628BFBB46F7 +:101F90000D464FF00009D94509D1B84523D02CBFD3 +:101FA00001200020E3E70124EDE70424EBE72B46C2 +:101FB000B2461968DAF800000193F9F707FB043616 +:101FC000019B043510B109F10109E4E7022CCDD0E1 +:101FD0001A68DAF80010E0B2F8F7B8FAA0F11E03B8 +:101FE00058425841C3E7601E18BF0120BFE72DE9E2 +:101FF000F0478046186816461D460F46F9F737F831 +:10200000022ED5F804A0814613D9AA6801233946C7 +:10201000F9F7CCF9032E044606D03946EA680123C5 +:102020004846F9F7C3F90746A74204D80848F8F725 +:1020300085FA0024F8E758F824005146F9F7C6FA63 +:1020400008B90134F0E7600040F00100BDE8F08716 +:10205000DA7F06002DE9F041002507460E4690463E +:102060002C46B54204D1600040F00100BDE8F0818B +:1020700057F825004146F9F7A9FA00B101340135B6 +:10208000EFE700BF03685A7C03EB820318697047CF +:1020900037B50446FFF7F6FF0421856801AB00223F +:1020A0002046A847013002D10198F8F753FC0620DA +:1020B00003B030BD0868FFF7EBBF37B50446FFF744 +:1020C000E1FF0121856801AB00222046A8470130CD +:1020D00002D10198F8F73EFC062003B030BD2DE98F +:1020E000F041044686B00868FFF7CCFF012C0D468E +:1020F000064626D94C686410601C22D0214602A8EE +:10210000F0F78DFE621C02D0631E44B31C46012111 +:1021100002A8F0F7E8FE37680146804601AB286860 +:102120000122B847411C15D101980B2810D1039BFF +:10213000012B10D102A8F0F79BFE062006B0BDE8E7 +:10214000F081102102A8F0F76AFE4FF0FF34D9E7C2 +:10215000F8F700FC50B9012102A8F0F73AFF337BF1 +:10216000DB0702A807D5FDF7D1F9E7E798F80030BB +:102170000A2BC7D1F3E7FDF7E5F9DFE737B5002113 +:1021800001900846FCF7A8FA044601A90120FFF7D0 +:10219000A6FF0546F9F778F920B129462046FCF755 +:1021A000BBF8F2E7204603B030BDF0B5022885B099 +:1021B0000C461DD9A068022201A9F9F74FFA90B187 +:1021C000019D26683046FFF75DFF87686068F9F774 +:1021D00013F86B4601462A463046B847431C09D1DE +:1021E0000098F8F7B7FBA068F9F712F80546E8E79A +:1021F0000025E6E7FBF74EFE05B0F0BD2DE9F04700 +:102200001E4681461546FFF73DFF9DF82070D0E938 +:10221000008317F0020F4FF000048A4618BF98465B +:10222000346007F001076DB133462A4651464846EF +:10223000C04738B1431C08D133680B2B02D10CB115 +:10224000002333602046BDE8F0871FB982442D1A71 +:102250000444E8E70446F5E72DE9F043012889B096 +:102260000F4690461ED13F683846FFF70BFF4FF4EC +:102270008071054604A8F0F7D2FD069C4FF48079E2 +:1022800000262146D5F800C003AB4A463846E04751 +:10229000411C39D103980B2840F09980002E44D17D +:1022A000062073E04868F8F7A7FF0546681CDAD0F7 +:1022B0003868FFF7E7FE037BDA0706462C46294617 +:1022C00004A871D5F0F7ABFD0026002C5BD02146A9 +:1022D00004A8F0F708FE00230093014603AB38681A +:1022E0002246FFF78BFF039B804633B304A82146A9 +:1022F000F0F76FFE03980B2869D1059B002B42D1A4 +:1023000004A8F0F7B5FDCBE778B18145064403D9C1 +:10231000A9EB00090444B4E74FF4807104A8F0F776 +:10232000CAFD4FF480790446ABE72B7B0596DB07AB +:1023300004A829D4FDF706F928E084421CD8DDE979 +:10234000054188578B5D0028324622DA03F0E00011 +:10235000C02820D003F0F000E0281ED003F0F803DE +:10236000F02B0CBF042305231E44A64217D805F109 +:10237000FF35E6D12C46A8E7211A04A8F0F729FE7C +:10238000B8F1000FDBD104A8FDF7C0F809B0BDE833 +:10239000F0830123E8E70223E6E70323E4E7E443CD +:1023A00034442C44164690E7F0F747FDCDF8008002 +:1023B00003AB069938682A46FFF720FF039B43B119 +:1023C00004A8F0F755FD03980B283FF469AFF8F720 +:1023D000C1FA337B0590AAE700223DE701223BE7E3 +:1023E00030B50C4687B005460622606803A9F9F7A8 +:1023F00035F9022D0ED8049A039920680023009322 +:1024000002ABFFF7FBFE0346029858B10B280ED033 +:10241000F8F7A0FAA068F8F7EFFE049A824228BF06 +:102420000246E9E7580040F0010007B030BD062041 +:10243000FBE773B50446CDE900121D46FFF722FE07 +:10244000022186682B466A462046B047431C18BFC7 +:10245000009802B070BD73B5064648680C46F8F7A0 +:10246000CBFE032E05460BD0002D10DB002201AB66 +:1024700020682946FFF7DDFF431C0BD1019807E0D8 +:10248000A068F8F7B9FE02460028EDD0EFE7162065 +:10249000F8F760FAFBF719FD02B070BD1FB5012314 +:1024A000019001A90320CDE90230FFF7D4FF05B068 +:1024B0005DF804FB10B50C46F8F7D9FD437C73B109 +:1024C00000EB8300E107006901D503683BB1A20777 +:1024D00001D543681BB1630705D583681BB9024961 +:1024E0000248F7F782FA10BDE07F0600DCDD050048 +:1024F0001FB5009303ABFFF781FE0346039818B1A5 +:102500000B2807D0F8F726FA580040F0010005B074 +:102510005DF804FB0620FAE730B50D4685B00446A9 +:102520000522686801A9F9F799F8032C12D1A86867 +:10253000F8F76EFE0024029A0199121B8242029261 +:102540004FF0020328BF024621442868FFF7D0FF5E +:1025500005B030BD042C0BD1A868F8F759FE04462D +:10256000E868F8F755FE02998C4228BF0C46E2E76E +:1025700000244FF0FF30DEE71FB504460522084671 +:1025800001A9F9F76BF8DDE9011203232046FFF7F3 +:10259000AFFF04B010BD0223FFF7AABF13B501902F +:1025A00001A90120FFF79BFD0446F8F76DFF002805 +:1025B00014BF2046002002B010BD00BF402808B55F +:1025C00026D04ED800F0FD003C284AD142392F29B0 +:1025D00047D8DFE801F04446464646464918464695 +:1025E00018464618184C461846464646464646463D +:1025F00046464646464644464C49184649184646CD +:1026000018464646464C0121042002B1116008BD1F +:10261000012922D04239CBB22F2B22D82F2920D802 +:10262000DFE801F01D1F1F1F1F1F1A181F1F181F93 +:102630001F1818281F181F1F1F1F1F1F1F1F1F1FB6 +:102640001F1F1F1F1D1F281A181F1A181F1F181FB2 +:102650001F1F1F280421D7E702210846D5E70121C3 +:10266000FBE70548F7F76AFF01210220CDE70121CA +:102670000820CAE70821F0E7EB7F0600512808B5DB +:102680002CD8412803D8012857D0002051E04238E7 +:102690000F28FAD801A353F820F000BF3B2704000D +:1026A0008B2604008B2604008B2604008B26040056 +:1026B0008B260400452704004B2704008B260400CA +:1026C0008B2604004B2704008B2604008B26040075 +:1026D0009127040097270400672704006238C3B2DB +:1026E0000F2BD2D80F28D0D801A353F820F000BF69 +:1026F000312704008B260400832704008B26040066 +:10270000772704008B2604003F2704009727040046 +:102710008B2604008B260400972704008B260400D8 +:102720008B2604008B2604008B2604005727040008 +:102730008856400040F001002CE0885CF9E731F950 +:102740001200F6E731F81200F3E7BDE8084051F84F +:102750002200FBF7BABB01EBC201BDE80840D1E99A +:102760000001FBF787BB01EBC201BDE80840D1E9DE +:102770000001FBF79ABB51F82200BDE80840FAF7C8 +:1027800081BC01EBC201D1E900010CF027F8F4E7AC +:1027900051F8220008BDBDE8084051F82200FBF7BF +:1027A00079BB70B50446084652B9621E13444FF017 +:1027B000FF3510B193F90010C8170146002209E057 +:1027C0000125F6E71E78090241EA10612B4446EA2A +:1027D00000200132A242F5D170BD2DE9F34105463A +:1027E000174601AA1C680E469846FFF7E7FE402DE3 +:1027F00007D1019AE41B531E1C44524214403C442E +:102800003C252318C8F800302346A5F13E04624257 +:1028100062415A2E94BF00210121FFF7C2FF4F2EC3 +:10282000044602D102B0BDE8F081532E06D116F065 +:1028300080FF01462046FCF78BFEF3E7652E23D18F +:1028400082B2C0F30903C0F384201F2818D050B10E +:102850007030140404F0004444EAC05040EA4330AD +:10286000FAF710FCDEE76BB1702459008BB2490512 +:10287000204604F1FF34F8D5A3F580639BB2E8E766 +:10288000FF20E6E71846E4E7662EE9D0642E02D181 +:102890000BF0A4FFE4E75A2E0ED910F1804341F16A +:1028A0000002B3F1004F72F1000302D2FBF7F2FA1B +:1028B000B8E7FBF7DFFAB5E7B0F1804F71F100033D +:1028C00002D2FBF702FBADE7FBF7EFFAAAE713B57D +:1028D00004460193104629B9224601A916F0B8FE14 +:1028E00002B010BD01AB23441444A042F8D013F849 +:1028F000012D00F8012BF8E72DE9FF470C9F144646 +:1029000001AA80463D6889469A46FFF757FEB8F10E +:10291000400F064609D1019BA5EB0A055A1E154436 +:102920005B421D4055444FF03C08A8F13E01AB19F5 +:102930003B604F424F41B9F1650F1DD014D8B9F13A +:102940004F0F40D0B9F1640F51D0A3076CD122686A +:102950003F4B9A4268D12B46324639462046FBF718 +:1029600037FA04B0BDE8F087B9F1660FEDD1204623 +:10297000F8F792FC044626E02046F8F78DFCC204E6 +:10298000C0F34931C0F3C75248BF0131FF2A29D0F3 +:102990008AB1B2F1700320D50B3325DB41F480619D +:1029A00089B2C2F1700241FA02F414F00103C4F3D7 +:1029B0004E0101D001310023264C04EA10440C439F +:1029C00044EA8324A4B2042E304623462A463946DC +:1029D00028BF0420FFF77BFFC3E73F2BECDD1F235D +:1029E0000021E9E71F23E7E700210B46E4E7204643 +:1029F000F8F752FC0BF0A2FB04ABCDE9020103EBAC +:102A000087032A4653F8083C39460420FFF75FFF46 +:102A1000B8F13E0818BF4FF0010804AB03EB88087B +:102A2000043558F8084CCEE72046F8F7E5FB042EAD +:102A30000446C8D90028B4BFFF21002128463246E9 +:102A400016F02EFEB8F13E0F04BF331FED18BAE7A3 +:102A500088E305000080FFFF70B50546712D0E4626 +:102A60001446184607D8612D06D8012D50D0423D96 +:102A7000EBB20F2B26D970BD623D0F2DFBD801A301 +:102A800053F825F0112B0400772A0400332B04009F +:102A9000772A0400292B0400772A0400152B040050 +:102AA000412B0400772A0400772A0400412B0400FC +:102AB000772A0400772A0400772A0400772A040082 +:102AC0001B2B04000F2DD6D801A353F825F000BF0F +:102AD000112B0400772A0400772A0400772A0400C7 +:102AE000772A0400772A0400152B0400412B0400E8 +:102AF000772A0400772A0400412B0400772A040077 +:102B0000772A0400772A0400412B04001B2B0400C1 +:102B10003055B0E726F81400ADE706EBC403C21742 +:102B200046F834005A60A6E70BF062FF46F824002E +:102B3000A1E701EBC2040BF0EFFAC4E900019AE748 +:102B400046F8240097E764282DE9F04106460F4631 +:102B500015461C460DD0662804D04F2813D147F8DF +:102B6000253004E01846F8F797FB47F82500BDE844 +:102B7000F081184601EBC205F8F78EFB0BF0DEFA88 +:102B8000C5E90001F3E713F0030811D11A680E4BF1 +:102B90009A420DD1424601464020FFF70FFD4146C3 +:102BA00000FB057302462046BDE8F041FBF710B973 +:102BB0002046F8F721FB2A46034639463046BDE851 +:102BC000F041FFF749BF00BF88E305008168034873 +:102BD000C90002221143F8F746B800BF2041002087 +:102BE0002DE9F04FDFF8BC8085B0044600AFD8F87F +:102BF00010000E46BA211546F9F730FE8146D8F886 +:102C00001000002240F6CA310430F8F72CF807F122 +:102C10000C0180464846FCF77BFFFB6801460344F5 +:102C2000B8F1000F07D0013C05E08B4205D913F83D +:102C3000012D2E2AF7D0002CF7D18B4203D11A494F +:102C40001A48F6F7D2FED5F800905A1A02EB09049A +:102C500004F1080323F00703ADEB030D6B461846A0 +:102C60007A604FEAD30B04F1010A16F0F1FCE84652 +:102C70007A68B9F1000F09D02E23501C02F83B30BE +:102C800031684A46404416F0E3FC5446214640462B +:102C9000EFF708FFEFF7CCFF143730602C60BD462C +:102CA000BDE8F08FD4400020F87F0600D0DF05009B +:102CB00010B5F0F723F908220849044616F041FD43 +:102CC000024630B9014604F10800BDE8104002F0A8 +:102CD0004FBC2046BDE81040ECF748B80C80060019 +:102CE00010B50446FFF7E4FF012809D00549204646 +:102CF000F0F756F92046FFF7DBFF022818BF002047 +:102D000010BD00BF2E80060070B5044686B0084690 +:102D1000F0F7F4F820490822054616F012FD0646A1 +:102D200080BB01A96A4605F1080002F021FC019967 +:102D3000012905D1636800981A46F6F760FF1FE085 +:102D400002291FD1009B93E803009D68134B04F1F7 +:102D5000080282E80300196962680491D968059144 +:102D600002A80F49C3E90322EFF7A8F8324621462B +:102D70002846F6F780FCF6F73DFF0120EFF7A6F8AE +:102D800006B070BD2846EFF733FFEBF7E7FE636848 +:102D900001211A46D1E700BF0C800600D440002074 +:102DA000159703002DE9F04F0346032B0868B1B0D7 +:102DB00009D9042BD1F80CA026D00C69641005D5D4 +:102DC0000020F7F7BBFB00244FF0060A03A9FCF72D +:102DD0009FFE049024B103AA04A92046FFF700FF38 +:102DE000039B002BECD00025DFF8A4B101262C4674 +:102DF000A846039BB34209D2BAF1060F08BF444666 +:102E0000204631B0BDE8F08F0024DFE7049802D0FF +:102E1000835D2E2B21D13146EFF744FE07460498FF +:102E2000711B2844EFF73EFE06AA054605A9DBF80C +:102E30009C00F8F783FA059B8BB1F90055480022F6 +:102E400041F00201F7F70FFF48B1D0F80490B8F154 +:102E5000000F08BFC846751C4C460136C9E710AACA +:102E600080210CA8EFF7F1FF002C39D1214628462C +:102E7000FBF7A0FD81460028E9D1DBF89C0008AAF9 +:102E800007A9F8F75BFAA146079B994507D30121EB +:102E90002846FBF78FFD81460028D8D13EE000236D +:102EA0000D93089B09A953F82900FCF731FE099AF4 +:102EB000014632B10CA8EFF789FF2F210CA8F0F7DB +:102EC00033F82846EFF7B4FE01460CA8F0F768F88F +:102ED0000CA8FFF705FF034628BB09F10109D3E75A +:102EE000204609AA40F27911F6F7ECFC0998A8B13E +:102EF000FCF7F0FD01460CA8F0F752F82F210CA8C2 +:102F0000F0F712F82846EFF793FE01460CA8F0F709 +:102F100047F80CA8FFF7E4FE034620B91E491F48F6 +:102F20003A46F6F76BFD38460193FBF721FD1C4945 +:102F30000B97814609A8EEF7C1FF019B012B22D117 +:102F4000DDE90D10FCF704FB40F27911024648461A +:102F5000F6F776FF13490D9F0CA8F0F721F80CA89F +:102F6000FFF7A6FE022803D10CA94846FFF7CCFEC6 +:102F70000D9724B14A4629462046F6F761FF002006 +:102F8000EEF7A4FF63E70CA94846FFF7BDFEF0E7A4 +:102F9000D44000202041002015800600D0DF05002D +:102FA000CD2B040025800600014B1869704700BF37 +:102FB000D4400020014BD868704700BFD4400020A7 +:102FC0002DE9F043174E85B0804600200C46D6F818 +:102FD0000C90F9F75BFCF06007462068F6F70AFEF4 +:102FE000B8F1020F0546C6F80C9019D0A068F8F7A2 +:102FF0003EF806466368019304F10801A8F1020057 +:10300000FDF734FF01ABCDE9020700220321304672 +:10301000F6F7CEFD062D18BF686005B0BDE8F08359 +:10302000014EE7E7D440002088E90500014607206B +:10303000F6F72ABD01460620F6F726BD0021F6F771 +:1030400023BF1FB56946F6F71FFF04462046F6F773 +:1030500095FF10B91E2004B010BDF8F715FA00282E +:10306000F4D10E20F7E71FB56946F6F70DFF0446C9 +:103070002046F6F783FF10B90E2004B010BDF8F714 +:1030800003FA0028F4D01E20F7E707B541F62A43DB +:10309000CDE90030002269460220FDF783FC03B031 +:1030A0005DF804FB08B5F8F767F8002814BF1E2088 +:1030B0000E2008BD10B586B0F8F79EF8B0F5881F51 +:1030C000044602D30848F7F739FA01AA02A80421F6 +:1030D000EFF7BBFE214602A8EFF726FFDDE903105C +:1030E000FCF70DFA06B010BD328006000A46014614 +:1030F0002320F7F72BBA024640F2D2512120F7F7EE +:1031000025BA024640F2CA512120F7F71FBA30B55E +:103110000B46012885B0044618BF4C6818686946FC +:10312000F6F7B2FE05462846F6F728FF024610B924 +:10313000204605B030BD21461B20F7F707FA0446AC +:10314000F1E701281FB50B4603D118680021F7F7F6 +:10315000BFFF10216846EFF762FE0B49684605F095 +:103160009EFA032803D109480021F6F73EFC019995 +:1031700019B9042801D10648F7E76846FCF7C6F9F3 +:1031800005B05DF804FB00BF994106005CE1050055 +:10319000F4DF05002DE9F04F914685B08246884660 +:1031A000002240F24A3148461E46F7F75CFD0546CC +:1031B00000B14568BAF1010F4AD1D8F8000069465C +:1031C000F6F762FE00248246A346F6B25046F6F7B2 +:1031D000D5FE074660B93CB9224640F6F271484632 +:1031E000F7F741FDC8B14468204605B0BDE8F08F4F +:1031F0008DB139462846F6F72BFD804644B141464D +:103200005A463046F7F7A2F91E281CBF2746D84673 +:103210003C46C346DAE7B846F0E71048F7F78EF9C0 +:1032200058F8276025B131462846F6F711FD0646C5 +:1032300034B958F82740B14601375745F0D1D3E7A4 +:103240004A4631465846F7F781F91E28F4D1F0E78F +:1032500000273C46B9465FFA86FBEEE74B80060046 +:10326000012397E7002395E737B501A90546FCF749 +:103270004FFC05F00703022B044605D0AB0711D124 +:103280002A680F4B9A420DD10199204605F09FFD07 +:10329000012801900ED1204605F068FDFAF7FAFDED +:1032A00003B030BD019B012B04D12078400040F0D9 +:1032B0000100F5E7019A03490348F6F79FFB00BFB9 +:1032C000DCE805005280060068DE0500022808B52B +:1032D00006D1BDE80840D1E900122220F7F736B93F +:1032E0000148F7F70FFB00BF6B8006002DE9FF4791 +:1032F0001C4B009302AC8846002102230194064631 +:103300000846F7F7E9FB21460298039DDFF858A02D +:10331000FCF7FEFB03A907462846FCF7F9FB00244F +:103320000546A146B4420BD10023CDE90033039AF0 +:103330000D482946EFF79BFE062004B0BDE8F08754 +:103340003CB1CDE90099029A002339465046EFF787 +:103350008EFE58F8241000225046F7F79BFE0134E9 +:10336000E0E700BF1CEB0500C0D2050010B586B039 +:1033700004466A4602A81021EFF76EFD012221469D +:103380006846F7F787FE02A8FCF7D6F806B010BD2E +:1033900070B505460868C2070C4605D4830708D1F6 +:1033A0000268154B9A4204D1012D24D90020F7F769 +:1033B000A9FAF7F771FF012D064616D96068F7F7ED +:1033C0001BFF0BF015FB01460C4808F0E7FA01461D +:1033D000044630460BF060FB08F014F821460BF071 +:1033E0000FFCBDE87040F9F74DBE08F00BF8BDE8E2 +:1033F0007040FAF738BB70BD88E30500000020413B +:10340000012813B50B46144602D90848F7F758FAB5 +:10341000002201210648FBF74BF92246019001A941 +:103420000120FBF759F8019802B010BD7A80060020 +:10343000D4E3050013B504460846FCF733FB00232C +:1034400001466A462046F6F77FFA009B002B14BF20 +:103450001E200E2002B010BD37B50228D1E9005061 +:103460008CBF8C680024FCF71DFB01466CB96A46D2 +:103470002846F6F72FFC009820B1019909B1F8F71A +:103480002AFD0446204603B030BD00236A46284684 +:10349000F6F75AFAEFE738B5044608461546FCF742 +:1034A00001FB2A4601462046F6F7CAFC062038BD35 +:1034B0000022F0E708B5F6F731FD18B9024B186A9B +:1034C000F7F731FA08BD00BFD4400020062808B540 +:1034D000014607D004480122F7F7DCFD0349024802 +:1034E000EFF7B6FD062008BDC0D205004F57060015 +:1034F000F7B50F46002104460846FBF7EDF8174BD9 +:1035000005468CB9DE68B368A34202D8284603B0EA +:10351000F0BDF36853F8341021B1042902D02846D5 +:10352000FAF7FAFE0134EEE75B6A5C68DB68C4F325 +:103530001E041C440226A642E8D2002338686A46CC +:103540003146F6F701FA009B2BB1F10041F0020180 +:103550002846FAF7E1FE0136EDE700BFD44000202F +:10356000024B0022A3F81C2206207047D440002002 +:10357000024B0122A3F81C2206207047D4400020F1 +:10358000034BB3F81C32002B14BF1E200E207047D3 +:10359000D440002008B5EBF7EBFB062008BD00B5D2 +:1035A00089B001A8EEF782FE0398400040F00100C8 +:1035B00009B05DF804FB00B589B001A8EEF776FE0E +:1035C0000298400040F0010009B05DF804FB10B51E +:1035D0000C4C40B9D4F82402431C11D0BDE8104073 +:1035E0000001FAF757BC0868F7F706FE0028ABBFE2 +:1035F00000094FF0FF33C4F82402C4F82432062037 +:1036000010BD00BFD440002020F00040704708B536 +:10361000F7F742FE01460BF005FC002814BF1E2000 +:103620000E2008BD10B5F7F737FE20F0004407491B +:1036300020460BF0F7FB20B9044920460BF0E8FBCD +:1036400008B10E2010BD1E20FCE700BFFFFF7F7FEA +:1036500010B5F7F721FE20F00044074920460BF093 +:10366000E1FB30B9044920460BF0BEFB08B91E202F +:1036700010BD0E20FCE700BFFFFF7F7F08B5F7F706 +:103680000BFE03490BF008FABDE80840F9F7FABC55 +:10369000E02E654208B5F7F7FFFD03490BF0FCF992 +:1036A000BDE80840F9F7EEBC35FA8E3C08B5F7F7EF +:1036B000F3FD07F0E3FFBDE80840FAF7D4B91FB502 +:1036C00000230193F7F7E8FD01A907F065FEF9F77C +:1036D000D9FC02900198F9F7D5FC02A903900220C9 +:1036E000FDF7C4FB05B05DF804FB38B50D46F7F7F0 +:1036F000D3FD04462846F7F77FFD0146204607F034 +:1037000027FEBDE83840F9F7BDBC1FB50023019383 +:10371000F7F7C2FD01A907F0F3FDF9F7B3FC02903A +:103720000198FAF7B7FB02A903900220FDF79EFB70 +:1037300005B05DF804FBF8B50C461646F7F7ACFD8E +:1037400005462046F7F7A8FD014604462846B0473F +:10375000014606460BF066FB20B1214628460BF0D9 +:1037600061FB18B326F00047144938460BF05AFBAA +:10377000F8B9124938460BF037FBD0B925F00045AF +:103780000E4928460BF04EFB20B90C4928460BF099 +:103790002BFB70B124F00044084920460BF042FB9B +:1037A00020B9064920460BF01FFB10B10448F6F77C +:1037B000C5FE3046BDE8F840F9F764BCFFFF7F7FE7 +:1037C00087800600004AB6E78DB80400004AB2E7D9 +:1037D000F7370400004AAEE721B80400004AAAE720 +:1037E0009DB9040008B5F7F757FD07F041FDBDE8A6 +:1037F0000840FAF738B960F31E010846704708B56B +:10380000F7F74AFD07F0B2FCBDE80840FAF72BB91C +:1038100070B5064608680C46F7F73EFD00210546E0 +:103820000BF0E2FA10B11448F6F788FE284608F0CB +:1038300055F8012E054603D1BDE87040F9F722BCCA +:103840006068F7F729FD002104460BF0CDFA002847 +:10385000E9D14FF07E5120460BF0B2FA18B107497A +:103860000748F6F7C2F8204608F038F8014628461F +:103870000BF0C6F9E0E700BF8780060082790600FA +:1038800060E0050070B50D46F7F706FD0446A84751 +:10389000014605460BF0C6FA20B1214620460BF042 +:1038A000C1FAB8B125F000460E4930460BF0BAFA1D +:1038B00098B90C4930460BF097FA70B924F00044DF +:1038C000084920460BF0AEFA20B9064920460BF015 +:1038D0008BFA10B10448F6F731FE2846BDE8704077 +:1038E000F9F7D0BBFFFF7F7F878006000049C9E75B +:1038F000093604000049C5E7ADAF04000049C1E73F +:10390000C9B704000049BDE771B704000049B9E731 +:1039100031B604000049B5E7BDB504000049B1E780 +:10392000FDB104000049ADE725B804000049A9E74E +:103930005DBA040008B5F7F783F8400040F00100D5 +:1039400008BD10B50446F7F77BF8084B08495B68DB +:1039500002460848EFF716FF0648EEF751FF012C24 +:1039600002D10448EEF76AFF062010BDD4400020C3 +:1039700099800600C0D2050008B5F7F73DFCDBF7DB +:1039800055FC062008BD08B5EEF776FB024B1889FA +:10399000400040F0010008BDD440002008B5EEF71B +:1039A00063FB062008BD10B586B0044605AB04AA2B +:1039B00003A902A8EFF757F9059B0193049B009315 +:1039C00006490748DDE90223EFF7DCFE012C01D1AF +:1039D000EFF782F9062006B010BD00BFAE800600EA +:1039E000C0D2050008B5EAF705FE18B90249034838 +:1039F000F5F7FBFF062008BDF6800600F8DE05009F +:103A000010B5074C28B9D4F8EC00400040F0010094 +:103A100010BD0868F7F7F0FBC4F8EC000620F7E7E4 +:103A2000D44000200268034610783E2805D83B2881 +:103A300005D8212806D0402070474028FBD101320C +:103A40001A6070473E20FAE7F8B505680446C5F1EC +:103A50000107EE1915F8010F05F0DEF903460028FD +:103A6000F7D120680A223146F5F7A4FB2560401003 +:103A7000F8BD2DE9FF41019001A8FFF7D3FF002415 +:103A80000F4680462646019B187820B930463C6098 +:103A900004B0BDE8F08105F0BFF960B101A8FFF7FF +:103AA000D3FF0546019B1978782906D12C44019B48 +:103AB00001330193E7E70125F4E7732901D10136CA +:103AC000F4E703AA4046FEF779FD039B2E445A1EF5 +:103AD0005B42013DEBD314441C400444F9E707B5B5 +:103AE000FBF7F8FF01A9FFF7C4FF0198400040F081 +:103AF000010003B05DF804FB2DE9F04F074687B0E5 +:103B000008680C46FBF7E6FF01A90090FFF7B1FF3C +:103B100080466846FFF786FF002181464046FDF754 +:103B2000A5F90522064603A96068F7F797FD039DEE +:103B3000049B0295022F1D440DD9A068F7F75CFB8A +:103B4000031E05DA049A9B1802D52548F6F7F6FC01 +:103B5000029818440290DDE9013A53449D42F4D39F +:103B60000025454503D3304607B0BDE8F08F009BE4 +:103B7000187805F051F970B16846FFF765FF044603 +:103B8000009B1B78782B08D1029820440290009B60 +:103B900001330093E5E70124F2E7732B05F10207F7 +:103BA00008D006EB8707A3460099BBF1000F0CD1A4 +:103BB0002544ECE702982146FBF783FD029B46F87B +:103BC0002700234402930135E1E7097802AB52460E +:103BD0004846FEF702FE0BF1FF3B47F8040BE3E714 +:103BE0000A8106002DE9F04F89B0164698460391E8 +:103BF000FBF770FF049004A8FFF714FFDDF80CA09A +:103C0000814600240DF10C0BB44202D309B0BDE88B +:103C1000F08F049B18780028F8D005F0FDF8A8B1C3 +:103C200004A8FFF711FF0546049B1B78782B0FD1E2 +:103C300003982A46002115F033FD03982844039089 +:103C40002746049B013304933C46DDE70125EBE75F +:103C5000732B07D06719A742049BF2D0A6421BD151 +:103C60003746EEE758F82400052205A9F7F7F6FCD9 +:103C7000671C069C05990398AC4228BF2C46224637 +:103C800015F0E6FC03982A1B0021204415F008FDDE +:103C9000039828440390D4E7197858F82420CDF8E5 +:103CA00000B053464846FEF727FE0134D3E72DE91E +:103CB000FF410F46064657F8040B0C46FFF70FFF6F +:103CC000451029466846EFF7B8F8DDF808802A461F +:103CD0000021404615F0E4FC20683B46721E414638 +:103CE000FFF780FF6846FBF72DFC04B0BDE8F081CC +:103CF000F0B50C4685B001A9062207466068F7F7C3 +:103D0000ADFCA068F7F778FA011E029E04DA891963 +:103D100002D50B48F6F712FC019D20682E440D4495 +:103D2000FFF7DDFE05EB60008642F2D3206804F168 +:103D30000C03FA1E2946FFF755FF062005B0F0BD1B +:103D40000A81060008B50B46014610B90348F5F78D +:103D50004CFE19680148F6F7DDFD00BF80E1050063 +:103D600008B509680248F7F7BBF9062008BD00BF8F +:103D7000C0D205000846024B1146024AFAF75CBE63 +:103D80007041002020F3050008B5014600220348D9 +:103D9000F6F769FF08B14068C00808BD30F40500B7 +:103DA0002DE9F04F8289C389043200EB820808F1C3 +:103DB000040803EB430393B008EB83030C3B00EBD5 +:103DC0008202039107460192049306A8EEF798F841 +:103DD0000346002850D13968039A4968D7E901564B +:103DE000D1F80890002A49D02A78682A46D003984A +:103DF0000393F5F752FF0446EEF758F80794744919 +:103E00002068FDF78DFF38B17B681A784B2A00F0E7 +:103E1000C980682A00F0D38007996E4B994206D07A +:103E20007D682B785D2B02D0642B40F0D980049BF9 +:103E300043450BD37A6805E0049B0C3B0493049B39 +:103E4000434503D3049B1B689342F5D9049B434528 +:103E5000C0F054870498049B049A5B6800687860FB +:103E600023F00303916043F8041F06A8BB60EEF73C +:103E700047F803460028AED0079CC0E7DFF858A1FA +:103E80007D602C4614F8012BA2F11003592B00F28F +:103E90002881DFE813F019050405F204E004CD04DD +:103EA000BA04A80496048204720462044D0438041F +:103EB00026012601260125040804DE013F062F06FF +:103EC00018060506F105DA05C305AF053C052C0506 +:103ED000F403CB0193057B0563055005DD03C303A4 +:103EE000A9038E037503260126012601260126015A +:103EF000260126012601F5022601EB02D9024C0318 +:103F00003D032E03030343014301B0015E03260179 +:103F1000260126012601C601C902C402BF02B90258 +:103F2000AC02A3029C02920284008C0282025F0215 +:103F30001E02170209022601260100025B00F001A1 +:103F4000A201990160017101AA010E46049B43453B +:103F500018D3049B5B689A070ED5049B1B68A34289 +:103F600080F0008656F8043C13F0010F336814BF4C +:103F700046F8083D46F8043D049B0C3B0493049B23 +:103F80004345E6D2EDF792FF144ABE6013685C1E0B +:103F900000F096860020146013B0BDE8F08F043E58 +:103FA00025466DE793F901105A780029C0F2C585BE +:103FB000023313447B60BB68103BBB6005E7079886 +:103FC000BC68F8F7A7FE20607B6801337B60FCE6E5 +:103FD000CCE00500A4E2050038E10500C82000207F +:103FE0003B68DB681C4614F8012B100602F0030A3C +:103FF00013D56FEA030C002604EB0C0014F8013B08 +:1040000003F004018140C3F3C0024AEA010A82407E +:10401000190646EA0206EFD4B24414F8013B1A0628 +:1040200003F0010CC3F3450612D50620002114F855 +:10403000013B013103F001028A404CEA020CC3F358 +:10404000450282401B0646EA020600F10600EED455 +:10405000B444A4442046A5EB0C0500F0CAFEBAF116 +:10406000FF3F2644814609D04FF0000B204600F068 +:10407000C8FED3450BF1010BF9D104463B685B68E0 +:104080009A68B44232F8193011884FF001020DD30A +:1040900022E000F01F0C65454FEA501004F10104C6 +:1040A000A5EB0C0518D3A642024415D994F900C01B +:1040B0002078BCF1000FECDA00F00F0C94F80190BE +:1040C0004FEA001E0EF4E06E65454EEA090004F169 +:1040D0000204A5EB0C05E6D20798F8F70EFF079946 +:1040E000A5E6AF2A40F2CD85BF2A40F2F985CF2A56 +:1040F00040F25A85D32A40F21E86F92A00F236860B +:1041000025463446293256F8041CD0B254F8042906 +:10411000F6F71CFA46F8040C2646B1E695F901209C +:104120006B78002AC0F25385A91C049A0C320492C1 +:10413000049A0B4413602B78049A492B0CBF02237A +:10414000002333435360049B00220D469A6097E698 +:10415000059B33602C46EDF7A9FE049BB54A7C60B5 +:104160000C33A3EB08039B1002FB03F3BE60FB813F +:10417000012013B0BDE8F08FB346039A5BF8041931 +:10418000C7F808B0002A00F08C85039A56F8040C92 +:104190000292002105AB0391F5F7CDFD0128029AAB +:1041A000D6D0002840F0D085059B46F8043C42B1AB +:1041B000104651460292F8F78AFE029A002840F013 +:1041C000C9855E4625465BE656F8040CF5F765FDA5 +:1041D0000446EDF76BFE079411E63068F5F75DFDD8 +:1041E0000446EDF763FE079409E656F804092546F0 +:1041F000F5F7DDFB44E6049B95F901200C3B002A12 +:1042000004936B78C0F2208502351D448A4A1368F6 +:10421000013B40F09380884A402313600BF077F80D +:104220008DE00E2373602546043629E66B78032B58 +:1042300008BF56F80429344656F8040C54F80419FB +:1042400018BF0622FAF76CFC023546F8040C264625 +:1042500016E66A78254642F3801215F8013B03F012 +:104260007F01180641EAC212F7D4530043F001035C +:104270007360043604E6049B02E09C680C3B34B98E +:104280009845FAD96D496E48F8F77BFD0446EDF77D +:104290000DFE0794B3E556E9012156F8080CF8F72E +:1042A000F2FB2546083EEBE5B34631465BF80C0BC6 +:1042B000F5F7EAFD864284D000237060336025461E +:1042C0005E46DDE530680021F5F7DEFD254630600D +:1042D000D6E5049B32680C3B062A04933FF45FAE9C +:1042E000D00740F13D855210A6F104013FF52DAEF7 +:1042F000326017E0049B5B689E0702F1FF320ED527 +:10430000049B1B68A34280F0248451F8043C13F002 +:10431000010F0B6814BF41F8083D41F8043D049BB0 +:104320000C3B04935506E5D10D68002A40F00D843E +:104330000E1F414A1368013B3FF46DAF1360414BC0 +:10434000B3F8F0301BB2002B7FF49AAD0120EAF7EE +:104350009FF995E5D6F800B0BBF1060F00F0D284C6 +:104360001BF0010540F00C84C6F804B05846F6F77F +:104370007EFEA6F1080B2946062530605A46B56038 +:104380000320F5F77AFCF7F77FF8002800F0AF84F8 +:1043900046F8085C25465E4672E556E9022346F873 +:1043A000042C326846F8082C2546336068E556E947 +:1043B0000132254646E9012362E5334656F8042CCE +:1043C00053F8081B2546C6E901211E4658E5334629 +:1043D000254653F8042B72601E4651E556E901014B +:1043E00056F8082CF7F70EF925460C3E48E5254609 +:1043F000344656F8040C54F804190422F7F702F96D +:1044000046F8040C26463BE5F5F7F6F925467060BC +:10441000043635E5002373602546043630E51E2357 +:104420007360254604362BE5062373602546043663 +:1044300026E500BFABAAAAAAC8200020A0F5050067 +:10444000F8DE0500D440002095F901206B78002AA1 +:10445000C0F2B483A3F14004023556F80409F7F71B +:1044600013F800283FF465AF254462E795F9012071 +:104470006B78002AC0F2FA83403B02351D44C5E642 +:1044800095F901206B78002AC0F2E783403BAC1C11 +:10449000234473602278B260311D43E734683246AA +:1044A00020460D21F5F716FC204606F108040C21E4 +:1044B0002246F5F70FFC002122460846F5F7DDFB02 +:1044C00095F901106B78002906F10402C0F2B5835A +:1044D000023504990C31049104992B440B60049B20 +:1044E00042F002025A60049B00229A60B0602646A5 +:1044F000C6E495F901206B78002AC0F297831C4628 +:1045000002353068F6F7C0FF0028ADD0043E10E752 +:1045100095F901206B78002AC0F281831C46023590 +:104520003068F6F7B1FF0028F0D0254401E795F98F +:1045300001206B78002AC0F26983A3F140040235A0 +:1045400056F80409F6F7A0FF00287FF4F2AE2544E0 +:10455000EFE695F901306C78002BC0F24083BE6025 +:1045600056F80C3C0235002B00F04583A6F10C00F8 +:10457000F5F7D4FC002800F04583706004367FE432 +:10458000002114F8013B03F07F02180602EBC11171 +:10459000F7D4CC4BCAB29B1ACA0902F4FF729B1A19 +:1045A00006EB830632460120F5F734FD25463060E0 +:1045B00066E4002114F8013B03F07F021D0602EBC4 +:1045C000C111F7D4CB09C8B203F4FF726FF04043B6 +:1045D0001B1A9B1A06EB8306C1F307213246F5F737 +:1045E0004CFB254630604BE4002114F8013B03F0FE +:1045F0007F021B0602EBC111F7D4CB09C8B203F44A +:10460000FF726FF040431B1A9B1A06EB830632467B +:104610000020F5F7FFFC2546306031E4002214F855 +:10462000013B03F07F0101EBC2121906F7D4D30955 +:10463000D1B203F4FF730B44A6EB83063346C2F3F7 +:10464000072253F8040BF5F7B3FA2546306017E458 +:10465000002114F8013B03F07F0202EBC1111A069E +:10466000F7D43B689A682546341F52F821005968F0 +:104670002246F5F700F846F8040C264600E4002030 +:1046800014F8013B03F07F021D0602EBC010F7D4C3 +:10469000C0F1010306EB8306314605F0F8FB254621 +:1046A0003060FFF7EDBB0021237803F07F0218068E +:1046B000254602EBC11104F10104F5D422783B68D0 +:1046C000D043023506EB800642F48072986850F8B9 +:1046D000210059683346F5F70BF83060FFF7D0BB7F +:1046E0000021237803F07F021B06254602EBC1114F +:1046F00004F10104F5D422783B68C2F101000235CF +:1047000006EB8006E2E7002214F8013B03F07F018C +:104710001D0601EBC212F7D42546344639F81210B3 +:1047200054F8040BF5F796FE70602646FFF7A8BB19 +:10473000002214F8013B03F07F011B0601EBC212BB +:10474000F7D439F8120056E90121F5F71FF925468B +:1047500046F8040C043EFFF793BB002214F8013B1B +:1047600003F07F011B0601EBC212F7D439F81200E7 +:10477000F5F764F82546FFF783BB002214F8013BE8 +:1047800003F07F0101EBC2121906F7D439F81200C9 +:10479000F5F740F82546FFF773BB002214F8013BFC +:1047A00003F07F011B0601EBC212F7D439F8121097 +:1047B00056F8042C56F808092546F5F741FBFFF793 +:1047C0005FBB002214F8013B03F07F0101EBC21232 +:1047D0001906F7D439F8120056F804192546F5F7EA +:1047E00023F8FFF74DBB002214F8013B03F07F01D3 +:1047F000180601EBC212F7D439F8120056F8041962 +:104800002546F4F7FDFFFFF73BBB002214F8013B00 +:1048100003F07F0101EBC2121906F7D4A6F10801DB +:1048200039F81200FDF76AFA2546043EFFF728BB67 +:10483000002214F8013B03F07F01180601EBC212BD +:10484000F7D439F8121030683246F5F743FA2546A6 +:104850000436FFF715BB002214F8013B03F07F017B +:104860001D0601EBC212F7D439F812103068F5F7C3 +:1048700055FA25463060FFF703BB002214F8013BD0 +:1048800003F07F011B0601EBC212F7D439F81200C6 +:10489000F5F7BEF8043630602546FFF7F1BA00227E +:1048A00014F8013B03F07F0101EBC2121906F7D4A3 +:1048B00039F81200F5F7D0F8043630602546FFF7D6 +:1048C000DFBA00BFFEFFFF3F002214F8013B03F0F8 +:1048D0007F0101EBC2121906F7D439F81230DB0060 +:1048E00043F00203736025460436FFF7C9BA00207F +:1048F00014F8013B03F07F021B0602EBC010F7D453 +:10490000F7F7C4FF043630602546FFF7B9BA002038 +:1049100014F8013B03F07F0202EBC0101A06F7D433 +:10492000C0F1010306EB83063146F9F7D5FE2546B3 +:104930003060FFF7A5BA002114F8013B03F07F02B5 +:10494000180602EBC111F7D43B689868002250F8B2 +:10495000210059682546F4F78EFE0EE64FF0000B55 +:1049600014F8013B03F07F021D0602EBCB1BF7D4CA +:10497000306832465946F5F7E7FCCBF3072353FA84 +:104980008BFB254606EB8B06FFF77ABA4FF0000B40 +:1049900014F8013B03F07F021B0602EBCB1BF7D49C +:1049A00059460BF1804B306832460BF1FF3BF5F76F +:1049B0007FFC254606EB8B06FFF762BA002214F84F +:1049C000013B03F07F0101EBC2121906F7D49308F3 +:1049D000C3EB837312F0030256F82300254600F060 +:1049E0005A81012A00F0748156F8041905F0A8FADA +:1049F000FFF746BA002014F8013B03F07F021906C6 +:104A000002EBC010F7D4C0F1010306EB8306314678 +:104A1000FCF72CFA25463060FFF732BA002214F872 +:104A2000013B03F07F01180601EBC212F7D4C2EB81 +:104A30008272019B53F822305A68002A00F071817B +:104A4000002225465A60FFF71BBA002214F8013BEA +:104A500003F07F011D0601EBC212F7D40199C2EBEE +:104A6000827251F82230002B00F05B81002341F864 +:104A700022302546FFF704BA002214F8013B03F068 +:104A80007F011D0601EBC212F7D4019BC2EB8272BB +:104A9000254653F8223056F804295A60FFF7F0B93A +:104AA000002214F8013B03F07F011B0601EBC21248 +:104AB000F7D4019956F80439C2EB8272254641F8C1 +:104AC0002230FFF7DDB9002214F8013B03F07F012B +:104AD000180601EBC212F7D4019BC2EB8272254685 +:104AE00053F822305B68002B00F01B8173600436A2 +:104AF000FFF7C6B9002214F8013B03F07F011D0641 +:104B000001EBC212F7D4019BC2EB8272254653F827 +:104B10002230E8E7002214F8013B03F07F011B0676 +:104B200001EBC212F7D43B685B68DB6853F82230B4 +:104B3000736025460436FFF7A3B9997802F07F0227 +:104B400042EAC1120333FFF734BAA1F11406FFF7AA +:104B5000F0BB530043F001034B60049B0E1D1D6826 +:104B6000FFF78EB9049A3368566826F003064FF0B3 +:104B7000FF327360049BB2601D680836FFF780B98E +:104B80000623C6E90033A6F10C022546002156F89B +:104B9000044C46F8043C0320F5F76FF846F80C4C3B +:104BA00046F808BDFFF76CB9019956F80439C2F10F +:104BB000C002254641F82230FFF762B9AC7803F015 +:104BC0007F0343EAC413A3F58044033545E4AA7880 +:104BD00003F07F0343EAC213E91CFFF7A6BAAB78E0 +:104BE000BE6004F07F0444EAC31456F80C3C03355D +:104BF000002B7FF4BBAC56F8080CF5F78FF90028B2 +:104C00007FF4BBAC2544103EFFF73AB9AC7803F013 +:104C10007F0343EAC413A3F58044033590E4AC78E2 +:104C200003F07F0343EAC414033579E4AC7803F05E +:104C30007F0343EAC414033563E4A97803F07F03D8 +:104C400043EAC113033544E4AA7803F07F0343EA3F +:104C5000C21303351D44FFF7D9BAAA7803F07F03C6 +:104C600043EAC213A3F58043EC1C11E4AA7803F0D5 +:104C70007F0343EAC213A3F5804303351D44FFF7C6 +:104C8000C5BAA2F180035B0043F0010373602546BF +:104C90000436FFF7F5B856F80419F9F73DFBFFF7AE +:104CA000EFB856F8040C05ABF5F745F801283FF4CA +:104CB0004FAA002848D1059B46F8043CFFF781BA6B +:104CC000402313600AF023FB204613B0BDE8F08FA9 +:104CD00056F8042C56F80819F7F7D5FEFFF7D0B8A8 +:104CE000019BC2F1B002254653F82230FBE67368FF +:104CF00046F8083C25465E46FFF7C2B879610220B7 +:104D0000FFF737BA2546A6F10804C6E901BB2246DB +:104D100000210320F4F7B1FF46F808BC2646FFF750 +:104D2000AFB818491848F8F72CF80446EDF7BEF864 +:104D30000794FFF764B830323168D0B2F4F7A4FEBC +:104D400025463060FFF79CB8EDF7B0F8059C079456 +:104D5000FFF755B81046F4F7A0FF0446FFF797BADF +:104D6000EDF7A4F834680794FFF749B807490848F5 +:104D7000F8F707F80446EDF799F87C610220FFF791 +:104D8000F8B900BF74F505001CDF050098F50500B3 +:104D9000D4DE050037B50DF105040B46214602F0BF +:104DA0007F05D20904F8015DF9D1091B984770B954 +:104DB00003B030BD13F8012B62F07F0201F8012B24 +:104DC000AB42F7D11B1B9DF80420C254F0E701460B +:104DD000234601ADF4E710B502680346002012F83F +:104DE000011B01F07F04090644EAC010F7D41A60E1 +:104DF00010BD07B5019001A8FFF7EDFF03B05DF806 +:104E000004FB10F9013B002BFBDB70472DE9F04F51 +:104E10008FB0CDE901230346044653F810ABDAF80E +:104E20000C20836083890093531C43601278002315 +:104E30000D4602F0030698469B461F46616812061F +:104E400001F101001BD40023CDE904334FF0060E1D +:104E500062680498511C6160127802F00101994067 +:104E600008430490C2F3450105980EFB03FC01FAC8 +:104E70000CF108431206059017D50133E8E760608E +:104E80000A78C2F3801199400F4302F0040199405F +:104E90000E43C2F3C00199404BEA010B02F001013D +:104EA000994048EA01080133C8E7009B00219B00B4 +:104EB00004F114091A46E1814846089314F0F0FB06 +:104EC000009B9B1B0693A3EB0B03013BB54209EB35 +:104ED000830107F004027AD92AB92B4632469A494F +:104EE0009A48F4F78BFD0793029B0A1FA81B03EB5C +:104EF00086010392FBF7BAFF079B039A49F8230048 +:104F000011463346009A0298053204EB820200EB08 +:104F10008303834240F0818007F008030993019BDB +:104F200007F00802134307F00203039300F0F08038 +:104F3000002B77D001980A91F7F7A8FC0A990790FF +:104F40000860029B03EB85050023029306EB0B032D +:104F50000A93DDE90132934267D1069B6FF00300AB +:104F600009EB8302990000FB08F008F1030300EB52 +:104F700083004FEA830C504445461746002D40F00D +:104F80009380089BACF10C0C62444B449A42C0F0F5 +:104F900093806068FFF735FF00220D90964240F045 +:104FA000948001F11006264408F10408AB4540F056 +:104FB0009280059B6668049F1E44009B37445D1EDB +:104FC000BE4240F0B68066600FB0BDE8F08F1AB107 +:104FD0005F4A49F823200439019A07F00803134374 +:104FE00012D1A6EB0802954215D3009A05EB0803EF +:104FF000C5F105009B1B10440AEB830304EB800002 +:105000000AEB880C634501D12B467BE71A6940F80F +:10501000042D0433F6E72B4661E750F804CB42F841 +:1050200004CD76E7039B07938BE760680D90FFF74D +:10503000E8FE2F680D9000220A9B9A4204D3039B3E +:1050400033BB4449FA0816E00DA80B92FFF7C3FEE4 +:10505000DAF804300B9A9B6833F81000C00040F077 +:105060000200874212D1009B581E821A59F8220072 +:1050700020B13949FA083548F4F7C0FC696849F8A5 +:105080002210029B01330293083562E70132D3E715 +:10509000079B01223946181DF5F7E5FD4268002AF5 +:1050A000E7D16A684260ECE73B6813B950F82530F5 +:1050B0003B60013D043761E752F8040B00287FF4A0 +:1050C00065AF9A1A25499210D5E70D98FFF799FE1A +:1050D00001320D9062E70DA8FFF77DFE32688AB9B4 +:1050E000DAF804309B6833F81070099B6BB15AF8FA +:1050F0002800F90041F002010430F5F7B4FD20B1B9 +:10510000436833600135043E50E715493A46B2E73B +:10511000BBF1000F02D01348F5F7D2FB039B002B25 +:105120003FF447AF58460191F7F7B0FB019908608B +:105130003FE716F8018BA5EB080859F8280004F0A2 +:105140004FFA49F828003BE7B379060068DE05000E +:1051500010E905004C8106004181060052810600DD +:105160005C8106006481060008B5421E013912F810 +:10517000010F11F8013F50B12BB903F061FE80F02F +:105180000100C0B206E09842F1D0002004E0B3FA7A +:1051900083F0400900F0010008BD13B5024648B194 +:1051A00001236A46F4F7D0FB0098003818BF0120AD +:1051B00002B010BDCC0044F0020406482146F5F7C9 +:1051C00052FD024620B921460348F5F74CFDECE7B5 +:1051D0000120EDE7F8E40500ECE40500F8B50378FC +:1051E00004460BB90020F8BD402B1FD1012000233D +:1051F0001F461E461D462278002A45D1DA1E012A86 +:1052000040F28A80002D03DC002E01DC002F02DD3D +:10521000002B00F0818014F8013C5C2B7CD000282E +:10522000E0D0B3F10A0018BF0120DCE74049FFF7E6 +:105230009BFF0028DAD13F492046FFF795FF002861 +:10524000D4D13D492046FFF78FFF0028CED13B49FE +:105250002046FFF789FF0028C8D139492046FFF7CB +:1052600083FF0028C2D137492046FFF77DFF002881 +:10527000BCD135492046FFF777FF0028B6D1334926 +:105280002046FFF771FFB2E7272A61780BD1002B88 +:1052900044D0032B02D1272948D141E0012B45D826 +:1052A000C3F1010342E0222A11D133F0040209D1F3 +:1052B000222906D1A278222A03D10234C3F10403A1 +:1052C00034E00BB1022B31D1C3F102032EE05C2A92 +:1052D00008D1272903D0222901D05C2902D12BB380 +:1052E000013423E013BB5D2A12D007D8292A0BD042 +:1052F0005B2A0BD0282A19D1013517E07B2A09D067 +:105300007D2A13D1013F11E0013D0FE001360DE090 +:10531000013E0BE0013709E0012064E72729BFD1F6 +:10532000A278272ABAD10234C3F10303013462E719 +:10533000257506006C7506003C750600687506004C +:10534000307206001B750600AC7206000075060080 +:105350002DE9F04F8BB0CDE9032300EB010A804625 +:105360000E4655466C1EA04501D9454610E015F87D +:10537000010C03F047FD08B12546F3E7207803F060 +:105380004BFD0028F8D123785F2BF5D02E2BF3D0DE +:10539000DFF8C4912B4653451F4604D23A782E2A93 +:1053A00003F10103F7D15745A7EB050415D02146BA +:1053B0002846EDF729FB014618B900200BB0BDE8DF +:1053C000F08F4846012308AAF4F7BEFADDF82090D2 +:1053D000B9F1000FF1D07D1CDCE7062E08D95F493A +:1053E0000722404614F024F9002808BF4FF00009B6 +:1053F0005B4B5A6A5368D268C3F31E031344059388 +:10540000002302931F469B4602260193059BB3424D +:1054100014D8002F47D14545CFD1631E052BCCD8DA +:105420004E4E22463146284614F002F90028C4D1D7 +:10543000049B26441E60C4F10700BFE707A930465D +:10544000EDF702FC824624B903785F2B0BD10136BD +:10545000DCE7079B9C42FAD801462246284614F016 +:1054600070F90028F3D131464846FFF796FE002830 +:10547000EDD0019B079A63B123465B450CD893425C +:105480000AD80199C85C1AF80310884209D101337F +:10549000F3E79346CDF804A00296002FD7D1374604 +:1054A000D5E79B46F8E7029B9F4201D05C454FD26F +:1054B000019B049A23441360ABEB04007EE707A929 +:1054C0003846EDF7C1FB079A9442824626D801463A +:1054D0002246284614F035F98346F8B9394648463D +:1054E000FFF75BFED0B118F10F0648BF08F11E06AA +:1054F00026F00F06A6EB0806012ED8BF1036079837 +:1055000008EB0601014440291AD85E4511DC0398D6 +:105510005146EDF79DFD079B9844B0440137029B2F +:105520009F42CCD90F490398EDF792FD4FF0FF3021 +:1055300044E70D490398EDF78BFD0BF1010BE4E710 +:105540000A4903985246EEF71DF9DDF81C80E5E79D +:105550004FF04008E3E700BF9CDA050079810600C0 +:10556000D44000204F570600658206007581060072 +:105570002DE9F74F82460D46009214F0DAF8804686 +:105580000DB100232B602B4B4FF00009194651F849 +:10559000047B47B9DFF8A0B03C469BF8000028B96F +:1055A00003B0BDE8F08F09F10109F0E75846019317 +:1055B00014F0BFF88045019B06462AD8424659465A +:1055C000504614F035F8019B18BBB0451DD1A5B16C +:1055D000A14524D901212960844210D1154B4146AF +:1055E000504653F82440EDF75DFA14490023224653 +:1055F0003944EEF77FFC009B18600220D0E753F897 +:10560000041B01310F440130E6E71BF808002F2886 +:1056100003D00136B3440134BFE70120C0E7084B93 +:10562000009AA4EB0904022053F824302860136088 +:10563000B6E700BF00F80500C0F50500FCF705005F +:10564000BCF5050030B50F4AD2E901141378D068D3 +:1056500004FB0134044481EAB4714FEA747083EAB4 +:105660001123434083F0010340F00205DBB2D06018 +:1056700080EA904080EA411013709560516080EAA2 +:10568000430030BDFC42002038B50546012404EA41 +:105690000503AB4205D3FFF7D5FF20408542FAD979 +:1056A00038BD640044F00104F1E738B50D46F5F764 +:1056B000F3FD04462846F5F7EFFD214609F0E2F830 +:1056C0000546FFF7BFFFC0F316004FF07E5140F0D4 +:1056D0007E5009F0D7F80146284609F0DDF9214649 +:1056E00009F0D2F8BDE83840F7F7CCBC38B50D4624 +:1056F000F5F782FD04462846F5F77EFD844208DC76 +:10570000001B0130FFF7C0FF2044BDE83840F8F728 +:10571000C1BB0020F4F712FFF8B5074608680E4633 +:10572000F5F76AFD012F054607D1002828DDFFF7B0 +:10573000ABFFBDE8F840F8F7ADBB7068F5F75CFD6E +:10574000022F044606D185421ADA401BFFF79CFF60 +:105750002844EEE7B068F5F74FFD061E0BDD601B31 +:105760003044013890FBF6F0002809DDFFF78CFF8C +:1057700000FB0650DDE703D0601B30440130F1E749 +:105780000020F4F7DBFE08B510B1086806280BD13D +:1057900009F0EDFD064BE9224521C3E90121002274 +:1057A0001A70D860062008BDF5F732FDF2E700BF99 +:1057B000FC42002010B5F5F71FFD2028044602D951 +:1057C0000948F4F7BBFE60B1FFF73CFFC4F12004C9 +:1057D0004FF0FF3323FA04F42040BDE81040F8F7FF +:1057E00074BB012010BD00BFA681060010B50446A1 +:1057F000F5F7F6FEF5F700FD00280ADDFFF744FF98 +:10580000F8F748FB042201462046BDE81040F5F7B2 +:10581000F9BE02480021F4F7E8F800BF88DF050070 +:1058200008B5054B197C21B9012208461A74FFF707 +:10583000AAFF062008BD00BFFC42002008B5FFF704 +:1058400001FFC0F316004FF07E5140F07E5009F08A +:1058500019F8BDE80840F7F715BC00BF0F4B1B68EF +:1058600013F0010F0E4B03D0D3F8FC20D2010CD45F +:10587000D3F8FC2042F08072C3F8FC20074B0022D2 +:105880005A601A6842F001021A60044B05485B68CE +:1058900000EA430040F00100704700BF001000E044 +:1058A00000ED00E0FEFFFF7F401000F10050A0EB94 +:1058B000610020F0404000F16040400040F00100F5 +:1058C000704708B5F5F7E8FC044909F0E5F809F078 +:1058D000E5FA12F010FA062008BD00BF00007A4475 +:1058E00008B5F5F789FC002801DB12F004FA062060 +:1058F00008BD08B5F5F780FC002801DD12F0EFF9CE +:10590000062008BD08B509F0A0FD034B03EA4000DE +:1059100040F0010008BD00BFFEFFFF7F08B509F0A1 +:1059200090FD034B03EA400040F0010008BD00BFBA +:10593000FEFFFF7F10B544100846F5F75DFC00F14F +:105940000053013B6FF04042934203D305490648A0 +:10595000F4F74BF80444054800EA440040F0010025 +:1059600010BD00BFB581060084E00500FEFFFF7F8B +:1059700038B545689542044628BF15462A46006852 +:1059800013F066FE236862682B44521B236062603A +:1059900038BD0FB407B504AA054852F8041B01929C +:1059A000EDF792FD03B05DF804EB04B0704700BF63 +:1059B000C0D205000A4601460148EDF785BD00BF8B +:1059C000C0D2050013B5064B8DF807005C68186857 +:1059D00001220DF10701A0479DF8070002B010BD9C +:1059E000C0D2050038B5044613F0A3FE054B0246AD +:1059F0005D6818682146A847BDE838400A20FFF7CF +:105A0000E1BF00BFC0D205001FB50C4611460A4ACF +:105A10000392CDE900041A4602A8CDF808D0EDF7AC +:105A200053FD24B1DDE900321AB903F8012C04B0AA +:105A300010BD00221A70FAE7715904000CB407B5C2 +:105A400004AB53F8042B0193FFF7DEFF03B05DF8BE +:105A500004EB02B0704700BF40F8044B40F8045B11 +:105A600040F8046B40F8047B40F8048B40F8049B3A +:105A700040F804AB40F804BB40F804CB40F804DB2A +:105A8000684670470749084B4FF47A700860074929 +:105A900000221A601A719A601A73C1F8D820012284 +:105AA0005A737047CC20002010430020D4400020BF +:105AB00038B5094C094D637B13B10023637338BDBE +:105AC000EB6933B1FFF7DEFFBDE838400120E8F7AE +:105AD000DFBD09F026FCEEE710430020D440002093 +:105AE000D0E7024B0022C3F8D8207047D4400020F2 +:105AF000044B00225A7302221A71034A1268063AB2 +:105B00009A60D5E710430020CC2000202DE9F04119 +:105B1000064600F08EF9042815DC304600F089F9BD +:105B20000446304600F08BF904280EDC304600F0C5 +:105B300086F907460025A5421EDB24EAE474042CFE +:105B400025DDBDE8F0810524EBE70527F2E74246B5 +:105B50002946304600F079F9414602462846D9F7F1 +:105B60002DF808F10108B845F1DB27EAE778B8F12C +:105B7000040F04DD0135DEE74FF00008F3E741468E +:105B800000222846D9F71AF808F10108EFE70025A6 +:105B90002946002220460135D9F710F8052DF7D106 +:105BA0000134CCE737B5044640B91C4D2B7B83B399 +:105BB0001B48FFF7ABFF2C7303B030BDF5F757FA66 +:105BC000184B834205D1204603B0BDE83040FFF7B3 +:105BD0009DBF04F00703022B05D0A30713D1226851 +:105BE000114B9A420FD101A92046F9F791FF019B71 +:105BF000012B05D1007800F0CBFFFFF787FFDBE733 +:105C0000FFF740FFD8E709490948F7F7BAF8E8F77E +:105C1000A5FC03B0BDE8304034E700BF10430020CE +:105C20004CF905006CFA0500DCE80500C6810600A9 +:105C300068DE050030B5244D244AAB68126806338F +:105C400093428DB0AB6006D32B790024012BAC605E +:105C500003D0022B33D00DB030BD1D4BD3F8D8305C +:105C60001BB90DB0BDE830400CE7ECF7FDF9684614 +:105C7000ECF746F958B92868F4F750F90446ECF700 +:105C800015F9ECF7F9F92046FFF78CFFE3E7ECF79D +:105C9000F3F9019B0F491868FCF742F80028F2D18C +:105CA0000198F5F7E4F90C4B834203D10B490C48FA +:105CB000EDF768FD0198E8F751FC0024E3E7094897 +:105CC000FFF724FFCDE700BF10430020CC200020C9 +:105CD000D4400020CCE0050040DF0500CB81060069 +:105CE000C0D205004CF905002DE9F0470025DFF88A +:105CF00040A0104CCAF8D8508946294690461F4605 +:105D0000F4F7C2F80C4B2060C3F8009084F80C80C4 +:105D1000CAF8D8006573F4F701F9FFF743FF0123D0 +:105D2000A560237117B1BDE8F047C1E6BDE8F08773 +:105D3000D440002010430020CC20002037B5054679 +:105D400013F0F7FC0024014623462246009428461F +:105D500001F0E8F801232246962103B0BDE8304067 +:105D6000FFF7C2BF38B501FB00F301335B100546F6 +:105D7000D81D0C4611F0D1FF044A026002798571EA +:105D80006FF300024471027138BD00BF6CFA050068 +:105D90008279437912FB03F2013252080021073065 +:105DA00013F07EBC8379C21D407913FB00F30133ED +:105DB00041EA011102EB53039A4200D1704702F805 +:105DC000011BF9E7837902FB031200EB52009200FA +:105DD000C07902F00402104100F00F00704710B5C6 +:105DE000847902FB041100EB51008C0004F00404E0 +:105DF000F02242FA04F1C279A3400A401A43C27168 +:105E000010BD2DE9F843089F80460C4691461E467A +:105E1000B4420CDBBDE8F8832A4600232146404605 +:105E2000FFF7DDFF0135BD42F6DB0134F0E74D46FB +:105E3000F9E70379DB0754BF8079052070470379C0 +:105E4000DB0754BF407905207047037913F0010F39 +:105E500070B4054613D002EB8204611818291FBFE5 +:105E600005EBD10501F00701687908410CBFC3F3C8 +:105E7000C00000F0010000EBC00070BC704770BCB7 +:105E8000FFF7A0BF2DE9F8438146FFF7D2FF804618 +:105E90004846FFF7D4FF014607464046FFF762FF3A +:105EA00000240646BC4212DB3046BDE8F883294692 +:105EB00022464846FFF7C9FF294603462246304698 +:105EC000FFF78DFF01354545F1DB0134EAE7002599 +:105ED000F9E72DE9F8438146FFF7ABFF80464846D6 +:105EE000FFF7ADFF014607464046FFF73BFF0024A2 +:105EF0000646BC4213DB3046BDE8F88329462246FD +:105F00004846FFF7A2FF2946C0F109032246304662 +:105F1000FFF765FF01354545F0DB0134E9E7002572 +:105F2000F9E72DE9F04F93B0DDE91EB990469A46A6 +:105F300028EAE876CBF10003B342B8BF33460C46FB +:105F4000C9F1000504932AEAEA739D42A7791C99D6 +:105F50000E90B8BF1D4621EAE171059507EB0805D3 +:105F6000FFF767FFA5EB0B0501EB08039D42A8BFF8 +:105F70001D46854266791D9AA8BF054622EAE2724F +:105F800003950E9806EB0A05FFF759FFA5EB0905E7 +:105F900002EB0A039D42A8BF1D468542A8BF0546E5 +:105FA000029501EB0B054A44BD422BEAEB73A8BFF7 +:105FB0003D46B242A8BF3246069329EAE9730793E9 +:105FC0000892DDE90332934203DD029B059A934276 +:105FD00009DCDDE90612089B1C932B46204613B012 +:105FE000BDE8F04F0DE7039BC345A5BF03F1FF36A6 +:105FF000049B099303F1FF33ABBF099301234FF0D7 +:10600000FF33049E0C93D145029B3ADB013B0A937C +:10601000059B013B0B934FF0FF330D93A9EB0A0354 +:106020001093ABEB08031193099BB34242D1A9EB48 +:106030000A0A049EDDF80C90059FABEB08031E4492 +:106040009944029B57449A44DDE9061233462046A0 +:10605000CDF800A0FFF7D5FE089B069900935246A5 +:106060004B462046FFF7CDFE089B00933A462B4651 +:1060700049462046FFF7C5FE079A1C972B46314636 +:10608000ACE70B93059B0A930123C6E73A460E98AB +:106090003146FFF7DAFE109A0F9903463A4420463C +:1060A000FFF79DFE0D9B1F440B9BBB42EED10C9B4B +:1060B0001E44B9E7119B0A9F33440F93F4E700BFD6 +:1060C00043694869181A00F1804020F0004000F14F +:1060D0004040C00F70472DE9F0471E4FDFF8788031 +:1060E000064609F0B2F9D7F8CC40C0F180454FF030 +:1060F00000093CB163692B4423F0004303F14043A2 +:10610000002B03DDC7F8CC40BDE8F0876168C4F818 +:106110000490404613F037F882463EB1228AE36984 +:10612000D20711D521461846E8F764FA638A022B94 +:106130000DD1D4E9053213446361214652464046ED +:1061400012F0FFFF0446D2E720469847EEE7544698 +:10615000CFE700BFD4400020C1600400034A002301 +:10616000C2F8CC30024A1370704700BFD440002000 +:1061700084450120024B1B780BB90120ABE7704727 +:106180008445012038B500234360C3600D460446B2 +:1061900009F05BF92844084D6061E3F769FCD5F824 +:1061A000CC200648214612F0CCFFC5F8CC00BDE853 +:1061B0003840E3F74FBC00BFD4400020C16004006A +:1061C00038B5054D2B780446084613B10CB9FFF7D6 +:1061D00082FF2C7038BD00BF844501200A4BD3F8E4 +:1061E000CC3010B563B15C6909F02FF904F180443B +:1061F000201A20F0004000F1404020EAE07010BD7D +:106200004FF0FF30FBE700BFD4400020F0B585B071 +:1062100002AB0193214B00930E4602230431013857 +:10622000F4F75AFC02983568F5F736F80446E86842 +:1062300008F0DAFB214608F02FFC194908F0E0FCD1 +:1062400008F006FE04460398431C18D1A868AB6802 +:1062500024EAE4729A4228BF1A462C6920EAE070C8 +:10626000984294BFC2EB0001C2EB030121EAE17145 +:10627000EB683068224400F0ADF805B0F0BDF5F7EA +:106280000BF80746E86808F0AFFB394608F004FC55 +:10629000034908F0B5FC08F0DBFDD8E754F9050028 +:1062A00000007A4470B50446806811F036FDA2689B +:1062B0002169054613F0CCF9E368A1682A4600205D +:1062C000BDE8704000F086B8012870B538BF0120E5 +:1062D0000E46044611F021FD22460546802113F0AA +:1062E000DFF933462A4621460020BDE8704000F021 +:1062F00071B830B585B0084611461A4602AB019315 +:10630000134B00930223F4F745FC039801F076FF4A +:10631000041E02DC0F48F4F711F90298F4F7BCFFF1 +:106320000021054608F060FD08B10B48F3E7204660 +:1063300008F05EFB294608F0AFFB084908F060FC56 +:1063400008F0ACFD2146FFF7BFFF05B030BD00BF30 +:1063500064F90500CA400600BD40060000007A440A +:10636000052803BF8868400040F001000020704706 +:1063700003690B6083684B6042238B600020704789 +:10638000C068400040F0010070471FB50446052278 +:10639000084601A9F5F762F9A268029B01992069F4 +:1063A0009A4228BF1A4613F053F9062004B010BDD4 +:1063B00010B50446084601F021FF031E02DC044824 +:1063C000F4F7BCF8E360D8F7BDFD062010BD00BFB0 +:1063D000CA400600F8B5044614200F4615461E466E +:1063E00011F09BFC34B9084B0360C0E90147C0E9D8 +:1063F0000365F8BD054B0360A207F6D122689A42F7 +:1064000008BF6468F1E700BF74F90500D8F905001A +:106410007FB504460D46164612B91E48F4F750FAE9 +:10642000042A806823D18B0715D10A681A4B9A4237 +:1064300011D101AAFBF71DFD10B91848F4F762FA53 +:10644000D4E90332019902980A44411A6068FFF7BF +:10645000C1FF04B070BD002301462A462068F4F74E +:10646000A5FF2369185C400040F00100F1E70A46EF +:10647000002301462068F4F799FF05463046F4F7FB +:10648000BBFEFF2802D90648F4F758F8236958558F +:106490000620DEE7EB81060068E60500F2810600D3 +:1064A00012410600F8B5A0F11B03022B05460C466D +:1064B00016460CD8D1E90332D1E90101FFF78AFF72 +:1064C000A26821690746006913F0C2F83C46A5F1AD +:1064D0000E030F2B2CD8DFE803F00808202B2B2B02 +:1064E0002B2B2B2B2B2B2B0808203046F4F7BFFD32 +:1064F000104B83421CD1B268A368206931699A426B +:1065000028BF1A461B2D06D00E3D6B426B41E9F7A2 +:10651000CCFC2046F8BD0123F9E730462569A76881 +:10652000F4F7BAFE394602462846E9F7F7FCF0E7E9 +:106530000024EEE7D8F9050010B588B008461146EA +:106540001A4603AB01930D4B00930223F4F722FB91 +:10655000049801F053FE041E02DC0948F3F7EEFF35 +:1065600005A903980722F5F779F8DDE905210398D5 +:106570002346FFF72FFF08B010BD00BF04FA050047 +:10658000CA400600C1F1040301219940421E031DC7 +:1065900012F8010F084002D19A42F9D17047012048 +:1065A00070470346044A0A605A689B68CB60002320 +:1065B00008464A608B60704754FA050008B5FFF73B +:1065C00038FC400040F0010008BD08B5FFF737FC7B +:1065D000400040F0010008BD2DE9F043D1E9007012 +:1065E00085B00C46F4F708FE8046A068F4F704FE78 +:1065F0008146E068F4F700FE05462069F4F7FCFDEB +:1066000025EAE57420EAE07631462046FFF7AAFB4A +:106610000023CDE9023305460146CDE90046384660 +:106620004B464246FFF77DFC284605B0BDE8F083A7 +:1066300070B5044608461646F4F7DEFD05463046BA +:10664000F4F7DAFD002D064601DB002802DA0C48DB +:10665000F3F774FF2046FFF7ECFBA84204DD204669 +:10666000FFF7EDFBB04201DC0648F1E73246294670 +:106670002046FFF7EAFB400040F0010070BD00BF7C +:10668000028206000882060008B50379DB0702D5FE +:106690000148F4F715F908BD11820600F8B50F6836 +:1066A0000C463846FFF7F0FF6068F4F7A5FD054695 +:1066B000A068F4F7A1FD002D064601DB002802DAF0 +:1066C0000F48F3F73BFFE068F4F796FD092804460E +:1066D00001D90C48F5E73846FFF7ABFBA84204DDCB +:1066E0003846FFF7ACFBB04201DC0748E9E7384623 +:1066F000234632462946FFF772FB0620F8BD00BF4D +:1067000002820600328206000882060038B50D4675 +:106710000446FFF7B9FF2846F4F76EFD0928014645 +:1067200002D90448F3F70AFF2046FFF73BFB062097 +:1067300038BD00BF328206002DE9F04FD1F800903D +:106740000C4685B083464846FFF79EFFD4F8048088 +:106750004046F4F78CFC1F4B834202D01E48F4F7EE +:10676000AFF8BBF1070F01D11C48F8E7A068F4F7B8 +:1067700043FD0646E068F4F73FFD07462069F4F75D +:106780003BFD05466069F4F737FD002D824601DBCD +:10679000002802DA1248F3F7D1FEBBF1060F15D03C +:1067A000A069F4F729FD8346E069F4F725FD014669 +:1067B000CDE902B14046CDE9005A3B463246494652 +:1067C000FFF7AFFB062005B0BDE8F08F00218B4638 +:1067D000EEE700BF6CFA0500388206003D82060035 +:1067E00054820600FFF74EBBFFF773BB2DE9F0475D +:1067F0000D46164625490446ECF7C4FF1EB9244948 +:106800002046ECF7BFFF2349DFF88C90DFF88CA01F +:106810002046ECF7B7FF00272846FFF710FBB842E9 +:1068200031DC1C492046ECF7ADFF1EB91C4920465F +:10683000ECF7A8FF20461B49BDE8F047ECF7A2BFE4 +:1068400041463A462846FFF700FB514619F800201A +:106850002046ECF797FF08F101082846FFF7E9FA10 +:106860004045EDDC10492046ECF78CFF4EB9284638 +:10687000FFF7E5FA0138B84203DD0C492046ECF792 +:1068800081FF0137C8E74FF00008E6E75A820600AB +:10689000618206006F820600718206004E7D06004E +:1068A0004F570600E2400600678206006982060034 +:1068B00010B504210446FFF765FE40B903212046C8 +:1068C000FFF760FE00280CBF0220032010BD04204B +:1068D000FCE708B508F03FFD20B9BDE808403F20BF +:1068E00008F039BD08BD2DE9F04107460846FFF71D +:1068F000F0FF002406460025C4F10408735D43FA46 +:1069000008F303F001032A4603EBC303214638468C +:106910000135FFF764FA052DF0D10134052CEAD1D9 +:10692000BDE8F08113B5044601A94068F9F7F0F815 +:10693000A368019A934209D2C15CE068FFF7D3FFD4 +:10694000A368E0680133A36002B010BD0020FBE73C +:10695000002210B5036902764269C360934204467F +:106960000DD21878A37E207713B10523637605E056 +:10697000FFF7AFFFFFF79CFF0130607610BD2023CB +:106980000377F2E738B50546202011F0C6F9052156 +:106990000B4B036004460846FFF7E4F9EA686B68AE +:1069A00062602A7CA276AA682361134463616B7CCF +:1069B000A060E3762046FFF7CBFF204638BD00BF3E +:1069C00090FA0500C26843699A422DE9F0410446F5 +:1069D0000AD1037E052B07D1C37E002B65D0FFF7BC +:1069E000B7FFA068FFF7D4F900260025771CD4F87C +:1069F00008802A4639464046FFF7E4F92A4603460E +:106A0000314640460135FFF7EAF9052DEFD1042F55 +:106A10003E46EAD100252A46A0680023042101351C +:106A2000FFF7DDF9052DF6D1227E637E9A421BD257 +:106A3000207FFFF74EFF00250646227E735DA0688B +:106A4000C2F10402134103F001032A4603EBC3031E +:106A500004210135FFF7C3F9052DEED1237EA0688F +:106A600001332376BDE8F081F8D1E36861695A1CEF +:106A70008A42E26005D1202323774FF4A063238369 +:106A8000ECE758782077FFF724FFA17E054611B187 +:106A900040F2FF53F3E7FFF775FD404220762846AA +:106AA000FFF706FF01306076D8E71846DAE7042AD8 +:106AB00073B504460E4611D101A94068F9F728F8CC +:106AC00001990546002332462068F4F76FFC295CE3 +:106AD000A068FFF708FFA06802B070BD0020FBE7C8 +:106AE000052802D14868F4F77BBD002070472DE9E6 +:106AF000F04385B0914688460546FFF79AF9064669 +:106B00002846FFF79CF9074601463046FFF72AF969 +:106B10000023CDE9023304460146CDE9006728464B +:106B20004B464246FFF7FDF9204605B0BDE8F0832D +:106B300010B504460846F4F75FFB002201462046E4 +:106B4000BDE81040FFF7D3BF10B504460846F4F780 +:106B500053FB002241422046BDE81040FFF7C7BF6B +:106B600010B504460846F4F747FB002102462046CC +:106B7000BDE81040FFF7BBBF10B504460846F4F768 +:106B80003BFB002142422046BDE81040FFF7AFBF6B +:106B9000052138B505460846FFF7E4F829460446BE +:106BA000FFF7A1FE204638BD2DE9F04F884685B09D +:106BB0001146404606221F46F3F762FFB8F1010F67 +:106BC0000FD006D9A8F10203012B40F2868061485C +:106BD00081E005210846FFF7C5F80446FFF7D8F81D +:106BE00017E0386800F00703022B05D0830771D146 +:106BF0000268594B9A426DD101A9F8F789FFDDF877 +:106C00000490B9F1010F804607D10078FFF7C0FF6B +:106C10000446204605B0BDE8F08F00221346174613 +:106C2000164691451CDC23B19E4207F10107B8BF0F +:106C30001E4639463046FFF795F84FF0000B0446E4 +:106C4000DA465D46D94521DC5745E2DDAE42E0DD5E +:106C50002946002352462046FFF7C1F80135F5E7E3 +:106C600018F802100A2901D03A2906D19E42B8BF6D +:106C70001E46013700230132D3E7202903F1010327 +:106C8000F9D03929F7D93548F3F758FC18F80B3003 +:106C90000A2B01D03A2B0FD1AE4205DC0AF1010AD2 +:106CA00000250BF1010BCDE7294600235246204673 +:106CB000FFF795F80135EFE7202B07D10023294690 +:106CC00052462046FFF78BF80135EAE7392BE8D822 +:106CD000303BF4E72248F3F7F3FD3868F4F78CFA19 +:106CE00005467868F4F788FA014606462846FFF715 +:106CF00039F8B8F1020F04463FF470AFB8680522C6 +:106D000001A9F4F7ABFC002D06DB002E04DB029A90 +:106D100006FB05F3934219D01248B5E7019B4B449B +:106D2000414613F80830092B28BF09233A4620466C +:106D3000FFF755F808F10108A845EFD1A94401373C +:106D4000B7423FF466AF4FF00008F5E70027B946B9 +:106D5000F6E700BFB0820600DCE805007C82060092 +:106D6000918206009E8206002DE9F0470F460546F7 +:106D70000021384608F02EF8044610B12948F3F7F0 +:106D8000DDFB2846FFF755F806462846FFF757F87B +:106D900001463046FEF7E6FFDFF88C9082464FF062 +:106DA00000082846FFF745F8A04239DC5046BDE808 +:106DB000F087324621462846FFF747F807F018FECD +:106DC000394607F069FE07F0B9F942464B4607F02D +:106DD00057F8164B002207F07BFCF8B132462146EB +:106DE0002846FFF732F807F003FE394607F054FE55 +:106DF00007F0A4F94B46424607F042F807F0A6FC1C +:106E00000346324621465046FEF7E9FF0136284642 +:106E1000FFF70FF8B042CCDC0134C2E70923F0E7FA +:106E20000026F4E7BE8206000000E03F000022409A +:106E30002DE9F74F804608460C461546F4F717F93A +:106E4000364B9842064607D1B8F11D0F12D005D82F +:106E5000A8F11B03012B17D9002636E0B8F1200F4B +:106E6000FAD12846F4F718FA01464FF07E5007F0A1 +:106E7000C7FE02E02846F4F70FFA0146204603B0A9 +:106E8000BDE8F04FFFF770BF2846F4F7F0F88642F0 +:106E9000E2D12046FEF7D3FF81462046FEF7C9FF28 +:106EA00082462846FEF7CBFF814502D01C48F3F707 +:106EB00045FB2846FEF7BDFF8245F7D14946FEF760 +:106EC00051FF00270646BA4525DC304603B0BDE831 +:106ED000F08F5A4639462046FEF7B7FF5A460190D2 +:106EE00039462846FEF7B1FFB8F11B0F019B0ED1C2 +:106EF0000344092BA8BF09235A4639463046FEF7FA +:106F00006EFF0BF1010BD945E3DC0137DBE71B1A00 +:106F100023EAE373F0E74FF0000BF4E76CFA0500A7 +:106F2000CF8206002DE9F041804614201D460F4611 +:106F3000164610F0F2FE054B0574C0E900389DF8C6 +:106F400018304374C0E90276BDE8F081A8FA050064 +:106F500038B505460C2010F0E0FE054B052104462F +:106F6000C0E900350846FEF7FDFEA060204638BDAA +:106F7000C0FA050008B500F085F90068C00040F0CF +:106F8000020008BD38B504460846F4F735F9430851 +:106F9000054602D00648F3F7D1FA0649204600F02C +:106FA000BFF960792946D7F713FD062038BD00BF29 +:106FB000DF8206003C01060010B50446044900F0DB +:106FC000AFF96079D7F7FCFCBDE81040F6F762BF77 +:106FD0003401060038B504460846F4F70DF90549B2 +:106FE0000546204600F09CF960792946D7F7B4FCA5 +:106FF000062038BD3401060010B5044600F042F901 +:10700000074B984205D01833984202D0204600F032 +:1070100047F96079D7F7B4FCBDE81040F6F73ABFFE +:107020003401060038B58B070546084614D10A68B6 +:10703000124B9A4210D1F4F72FF907F07FF8104B5A +:10704000002206F01DFF07F081FBB0F5806F0446BB +:1070500005D30C48F3F772FAF4F7CEF8F5E70A49CE +:10706000284600F05DF968792146D7F78FFE1CB9F4 +:107070000649284600F054F9062038BDA4E1050071 +:107080000000E03FE78206007C0106002C010600BC +:1070900010B50446044900F043F96079D7F7A0FC25 +:1070A000BDE81040F6F7F6BE2C01060010B5044608 +:1070B0000846F4F7A1F84FF47A7141436079D7F7A5 +:1070C00037FE013002D10248F3F738FA062010BD2E +:1070D000FA82060010B504460846F4F78DF801461A +:1070E0006079D7F725FE013002D10248F3F726FA7E +:1070F000062010BDFA82060008B54079D7F746FC95 +:10710000BDE80840F6F7C6BE70B50D460446164603 +:1071100000F0B8F80849884206D0A1F11803984257 +:1071200002D0204600F0FCF8607932462946BDE8DE +:107130007040D7F75DBC00BF64010600002208B5AF +:107140001146FFF7E1FF002814BF1E200E2008BDE6 +:1071500007B5002201A9FFF7D7FF019B002B14BF41 +:107160001E200E2003B05DF804FB07B5002101AA24 +:10717000FFF7CAFF0198400040F0010003B05DF83E +:1071800004FB38B50D46044600F07CF809498842F6 +:1071900006D0A1F11803984202D0204600F0C0F8B2 +:1071A00028466479F4F728F801462046D7F700FC12 +:1071B000062038BD6401060010B50446F3F757FFFA +:1071C000074B984209D003F11802904205D03033A2 +:1071D000984202D00348F3F773FB204610BD00BF6E +:1071E000DCFD05000383060008B5FFF7E5FF4079E5 +:1071F00008BD00BF062870B50D4617D0144A90424E +:1072000002D11448F3F79AF9FFF7D6FF0446124E5D +:107210003068A04213D008B100F06EF834603CB979 +:107220004FF0FF30BDE87040D7F70CBE0024EEE70A +:107230002946204600F074F833685879F2E72CB1FB +:1072400029462046BDE8704000F04AB870BD00BF36 +:107250007C0006000A8306002043002010B5074C7E +:10726000206848B100F048F8002323604FF0FF3059 +:10727000BDE81040D7F7E6BD10BD00BF2043002099 +:10728000704770470379044AD35C03B98379034894 +:1072900000EBC300704700BF8545012024010600B4 +:1072A00008B50146FFF7EEFF0A7903680249034873 +:1072B000F5F7E0FDEAF736FE1983060044DE050027 +:1072C00010B50446E8F7DEFD10B12046FFF7E8FFF1 +:1072D000E9F728F80028F8D1BDE81040FFF7BEBF55 +:1072E000034A0379891A034AC910D154704700BF71 +:1072F000240106008545012018B10379014A0121C6 +:10730000D15470478545012008B5FFF7BBFF034BFB +:107310004068C01A18BF012008BD00BFA172040058 +:1073200038B50546FFF7AEFF0A4B98420C4603D12D +:10733000A0F1180399420AD0A04208D04368284619 +:10734000984728462146FFF7CBFF012038BD002093 +:10735000FCE700BF4C01060038B50C460546114657 +:107360002046FFF7DDFF2868A04202D0FFF7C4FFE8 +:107370002C6038BD4A680149ECF704BA2583060041 +:1073800070B500234C1D04440A25184693420CD1C5 +:10739000012901D01A2907D1C0EB002000F2FF100B +:1073A00040F2FF33B0FBF3F070BD14F8016B05FB46 +:1073B000006030380133E9E738B50446502010F05A +:1073C000ACFC2146054651F8053B036001230371DF +:1073D0004822053012F03CF9284638BD73B5054601 +:1073E000502010F09AFC0E4B0360461D01230371E0 +:1073F000044648223021304612F052F901A92846AD +:10740000F8F786FB019B482B84BF48230193014674 +:10741000019A304612F01CF9204602B070BD00BF40 +:1074200050020600012938B501D01A290AD1FF2BD4 +:1074300002D91148F3F782F8C3EB83237F33FF248B +:10744000B3FBF4F30431014414460A2024B98BB190 +:10745000012A0AD10948EDE7B3FBF0F500FB15332B +:1074600030330B552B46013CF0E7022A0CBF044891 +:107470000448DFE738BD00BF3183060039830600CA +:107480003F830600468306002DE9F843264F064653 +:107490001546002407F1240333F824208A4210D132 +:1074A0002B68A3B907EB8404304694F8272094F89E +:1074B0002610FFF765FF400040F001002860BDE89E +:1074C000F8830134082CE7D104236B60F7E7686880 +:1074D0000028F4D03379002BF1D007EB8404F3F7C4 +:1074E0008BFE94F8269094F8272003468046494660 +:1074F0003046FFF797FFB9F1220F11D107EB0803D0 +:1075000007EB480793F84430042224213046FFF764 +:1075100089FFB7F84830042228213046FFF782FF60 +:1075200000232B60CBE700BF500206002DE9F04F8F +:1075300089B00D4606920521042204462846FFF72D +:107540001FFF122107462846FFF71AFF0921804630 +:107550002846FFF715FF012181462846FFF710FF57 +:107560001A2182462846FFF70BFF0122002183469D +:107570002846FFF705FF0222079022212846FFF741 +:10758000FFFE0D2106462846FFF7FAFEDDE9062339 +:10759000054662BB1D4A02EB430302EB4606B3F805 +:1075A0005830B6F850100491CDE902B3CDE9009AF5 +:1075B000174943463A462046ECF7E4F8022D0AD034 +:1075C000122D0AD0012D0AD11249204609B0BDE87A +:1075D000F04FECF7D7B81049F7E71049F5E7104935 +:1075E0002A46204609B0BDE8F04FECF7CBB8CDE90C +:1075F0000460CDE902B3CDE9009A0A4943463A4610 +:107600002046ECF7BFF809B0BDE8F08F5002060045 +:107610004F830600B3830600C7830600DA830600A3 +:10762000EB830600F583060030B58BB005460846AF +:1076300011461A4602AB01932A4B00930823F3F735 +:10764000A9FA502010F069FB056001250446057178 +:1076500048223021053012F023F8204680230422EE +:107660001E21FFF7DFFE2B46204604222421FFF7D0 +:10767000D9FE2046182304222821FFF7D3FE029BBF +:10768000204604220521FFF7CDFE039B204604225D +:107690001221FFF7C7FE049B204604220921FFF7B1 +:1076A000C1FE059B294620460422FFF7BBFE069B30 +:1076B000204604221A21FFF7B5FE079B2A462046E2 +:1076C0000021FFF7AFFE089B204602222221FFF790 +:1076D000A9FE2046099B02220D21FFF7A3FE2046AA +:1076E0000BB030BDB4020600053070472DE9F34100 +:1076F000254D2C782CB123061ED56E7884F080049D +:107700009EB90526C82010F0F6FA0124A6421BDC1B +:10771000013EF7D1062002B0BDE8F08101210DF154 +:1077200007008DF80760E9F70DFB631EDCB2FF2C44 +:10773000F4D101350135DCE701210DF107008DF8A9 +:107740000740E9F7FFFAF5E7002504F1FF38214685 +:107750002846D7F723FA10F0FF070ED041462846F7 +:10776000D7F71CFA024640B921462846D7F726FA31 +:107770003A4641462846D7F721FA0135052DE6D18C +:107780000134E4B2C2E700BF2184060008B50A2034 +:10779000D7F796FA062008BD08B5431C02D11C2075 +:1077A000F3F7D8F808B10520FAE708BD1FB503AB19 +:1077B0000193064B00930123F3F78EF99DF80C001B +:1077C000D7F772FA062005B05DF804FBBC0306008B +:1077D00008B5F3F759FED7F76DFA062008BDF0B5E6 +:1077E00085B003AB01930E46154B0093002105466F +:1077F00001230846F3F770F9039806281CD10020EE +:10780000D7F75EFAADB1D7F761FAFFF7C5FF0D4FB5 +:10781000002456F82400F8F75DF93946D7F776FAD0 +:107820000134FFF7B9FFA542F3D1D7F75FFAFFF7AD +:10783000B3FF062005B0F0BDF3F7DEFCE0E700BFC4 +:10784000C4030600994106002DE9F3470D4614468E +:1078500050B101281DD10868F4F77CFF10B9264803 +:10786000F2F76CFE2C680434D7F730FAFFF794FF78 +:10787000224FDFF88C80DFF88C9000256368AB42E4 +:1078800009D8D7F733FAFFF787FF062002B0BDE823 +:10789000F0871D48E4E7A36853F835004FEAC50AAE +:1078A00040B3042826D0F8F715F9A36853440646D8 +:1078B0005B680193DA070DD413F0030202D1196853 +:1078C000494507D00E2B05D01E2B03D04AB91B68A3 +:1078D000434506D101AB002201213846F7F756FE99 +:1078E00001900198F8F7F6F801463046D7F70EFAFE +:1078F000FFF752FF0135C1E7BF840600DCE8050051 +:10790000A4E1050088E30500C48406002DE9F041E8 +:1079100088B001AE1A4FDFF86C803546002457F866 +:10792000041B4046FFF720FA0134072C45F8040BEE +:10793000F5D100243746002557F8040BFEF7E6F88A +:107940000135192010F0D7F9072DF5D1062556F885 +:107950002500FEF7DBF8192010F0CDF9013DF6D235 +:107960000134082C05D1FEF7C3F8062008B0BDE8A5 +:10797000F081E307DED44FF4FA7010F0BCF9D9E7D8 +:107980007004060084AD0500004870470120A1077F +:10799000EFF3108072B6F6F77DBA10B50C46F3F728 +:1079A00037FC631E0342024604D0034903482346C2 +:1079B000F2F724F810BD00BFC984060044DE0500BC +:1079C00070B50646144608460AB3042A71680FD1FA +:1079D000FFF7E3FF7368012B03D0022B06D000688A +:1079E00000E00078BDE87040F6F754BA0088F9E787 +:1079F000FFF7D3FF05462046F3F70AFC7368012B17 +:107A000003D0022B05D0286000E028700624204611 +:107A100070BD2880FAE74A680149D200EBF7B2BE90 +:107A2000DC84060008B5F3F7E7FB80F31088062036 +:107A300008BD07B54FF0805308211A6E00925B6EA7 +:107A400001936846F7F73DFE03B05DF804FB00BF05 +:107A500008B507F06BFCC20708B509D4830703D14A +:107A600002680A4B9A4203D00E2801D01E2807D183 +:107A7000F3F7C2FB002801DD10F03DF9062008BD38 +:107A8000F3F70AFC07F0E4F9F4E700BF88E3050028 +:107A900008B507F0DAFC400040F0010008BD08B569 +:107AA000D6F71EFFBDE80840F6F7F4B92DE9F0411E +:107AB00088B005AB01932D4B00930323F3F70CF82B +:107AC000069803AA0221F3F75DFC04AA0221079895 +:107AD000F3F758FC0598F3F7DFFB039B074618689C +:107AE000F3F7DAFB039B05465868F3F7D5FB049BD5 +:107AF00080461868F3F7D0FB049B04465868F3F7F8 +:107B0000CBFB29460646384606F0BCFE294607460A +:107B1000404606F0B7FE0146384607F071F82146A8 +:107B20000546304606F0AEFE0146284606F0B4FF94 +:107B3000214606F0A9FE049B1A68910703D111683B +:107B40000B4A914206D05B689A0708D11A68084B25 +:107B50009A4204D1F5F796FA08B0BDE8F08103F037 +:107B600051FC07F075F9F6F795F9F5E78005060081 +:107B7000A4E10500F0B589B01D4E009602AF0623C2 +:107B80000197F2F7A9FF1B4D049B1B4A5D43039B22 +:107B900002FB0355059B4EF6602202FB0355069B34 +:107BA0004FF47A7202FB0355079B24201D4410F00A +:107BB000B4F8124B0361029B856130360660062BD8 +:107BC0004FF00006044606620FD0F3F750FA054660 +:107BD0002046F3F74CFA807A05EB80053B462046B9 +:107BE0002D6932460121A8470446204609B0F0BD60 +:107BF0009805060080EE3600005C260503000200B2 +:107C000038B50446084611464FF002121D46F2F7F9 +:107C100037FF054BE3612B68A16923622046FEF71D +:107C2000B1FA204638BD00BFE005060030B585B08A +:107C30000C46FFF7C1FA457901A905222046F3F762 +:107C40000DFD2846DDE90112D6F706FF062005B036 +:107C500030BD08B5F3F7D0FA80F30800D7F712F972 +:107C6000062008BD10B5036A8EB0044643B102A8D1 +:107C7000EAF746F938B9206AF1F7BCFFEAF716F9D6 +:107C800006200EB010BD012363820A4B03991B78B6 +:107C90000022226253B10623CDE9003106486B462B +:107CA0000221F4F723FFE6F759FCE9E70348F3F76D +:107CB00017FAE5E77545002080E10500C0D2050010 +:107CC00008B528B940F2E73007F033FB062008BDBD +:107CD0000868F3F791FAF7E700487047BC07060019 +:107CE00008B5024B5B689847006A08BD60AF0500A5 +:107CF0002DE9F04F89B005AB01934A4B0093032364 +:107D0000F2F7EAFE07F017FB059806283AD0F3F7DA +:107D100073FA012605460698062837D100230393F7 +:107D200007F093FBDFF8008107462C460121084647 +:107D3000FEF746FA9DF81C90B9F1000F67D0FEF7E8 +:107D40004DFA431C014662D0A04228BF2146484656 +:107D5000D6F7F2FD9DF81C1081460020FEF730FAA0 +:107D6000B8F8F0301BB2002B54D0B9F1000F55D148 +:107D7000002EDBD007F069FBC31B9D424ED9EC19E6 +:107D8000241AD3E74FF0FF350026C4E7820727D136 +:107D90000368264A934202D0254A934220D103AA7F +:107DA00004A9F3F7CBFA049FDFF88880DFF8889006 +:107DB000DFF888A00024BC42B2D0039B53F8240013 +:107DC000F3F755F940454FEA840B0DD1039B53F867 +:107DD000240011F0C5FA0121D6F788FD0134EAE745 +:107DE00006AB03930127DFE7484504D0504502D096 +:107DF000134B984208D1039B53F80B00FFF7F4F99B +:107E00000121D6F783FDE9E70E48F2F797FB2146FB +:107E1000B1469CE70120E6F73BFCA1E7062009B04C +:107E2000BDE8F08FF0080600D440002018E90500F6 +:107E3000D4E30500681C0600DCFD0500F4FD050028 +:107E40000CFE05000485060008B5D6F76FFD062078 +:107E500008BD00BF044B0549054AC3E900120022D2 +:107E60001A810620704700BF24430020200307002A +:107E70007469627508B5FFF7EDFF0248E6F7DCFCB0 +:107E8000062008BD2443002008B50248E6F7D4FCCC +:107E9000062008BD2443002008B5E6F7A9FC06200B +:107EA00008BD08B5034BD3F8D43013B90248F2F734 +:107EB00045FB08BDD4400020128506001FB50522F1 +:107EC00001A9F3F7CBFBFFF7ECFF0023DDE901018C +:107ED0001A46E6F761FD062005B05DF804FB10B513 +:107EE000FFF7DFFFE6F7C6FD40B110F8011BF7F71B +:107EF000E8FB0446E6F7DEFD204610BD0624FBE75E +:107F000013B501A9F7F704FE0446FFF7CAFF019B6A +:107F1000034822460321E6F73FFD062002B010BDCC +:107F20004C09060010B5FFF7BCFFE6F7A3FDC0B192 +:107F30000178022907D94378012B04D1837813B93A +:107F4000C378012B04D0E6F7B5FD0748F2F7F6FA3F +:107F500003390430F7F7FCFA0446E6F7ABFD204698 +:107F600010BD0624FBE700BF228506001FB50622D0 +:107F700001A9F3F773FBFFF794FFE6F77BFD0146DA +:107F800078B111F8014B029A0198A24228BF22460B +:107F900011F05EFBE6F78EFD600040F0010004B0DA +:107FA00010BD0620FBE730B585B0FFF77AFFE6F796 +:107FB00061FD18B30178431801301C79DA785D78D7 +:107FC000240444EA02249A785B79144344EA036463 +:107FD000F7F777FB0A4B01906D4203EA44046D000A +:107FE00045F0010544F0010402950394E6F762FDB3 +:107FF00001A90320F8F73AFF05B030BD0620FBE7E2 +:10800000FEFFFF7F2DE9F04F91468BB0074610B180 +:108010006548F2F755FC654E96E8070007AD85E820 +:108020000700B0780290327896F90300737896F8DA +:1080300008B096F809A001908846D9F80410B94212 +:108040001DD85B49D1F8D4108DF81C208DF81D3057 +:10805000002974D1029B8DF81E30019B8DF81F30D2 +:10806000CDF820808DF824B08DF825A095E8070084 +:108070004E4B83E8070006200BB0BDE8F08FD9F81F +:10808000080000EBC70450F83700F9000591B8B3B9 +:10809000042835D06068CDE90332F3F7B9F80599C3 +:1080A0000446D9F808004058F7F7FCFCB0F51A7FF1 +:1080B000DDE903323ED011D8B0F5E97F26D040F299 +:1080C000F91188422FD040F28F11884230D03949BF +:1080D00002463948F4F7CEFEE9F724FF40F2E521E5 +:1080E000884218D040F2EB21884204F1FF31E4B21B +:1080F00008D040F2932C6045E9D1FA2950D82246A5 +:1081000001379AE7FD294BD82346F9E7532C47D886 +:10811000E1B20291F4E7072C42D828490C4494F9C3 +:1081200004100191ECE7022C3AD85FFA84FAE7E7F1 +:10813000A046E5E7FF2C33D85FFA84FBE0E7BDF803 +:108140001C003188884216D0E6F752FB029B8DF85E +:108150001E30019B8DF81F30CDF820808DF824B0A3 +:108160008DF825A095E80700104B83E80700184616 +:10817000E6F762FB7FE7029B8DF81E30019B8DF8CE +:108180001F30CDF820808DF824B08DF825A095E81B +:108190000700064B83E807001846E6F7C1FB6AE7CD +:1081A0000749024695E700BF3785060024430020B3 +:1081B000D44000204485060044DE05004C0906003A +:1081C0004985060008B5034A03490448EBF7DAFA83 +:1081D000062008BD5285060076810600C0D2050043 +:1081E00008B5034A03490448EBF7CCFA062008BD5A +:1081F0002A86060076810600C0D20500C20708B5AF +:1082000009D4830703D10268074B9A4203D00E2892 +:1082100001D01E2803D1BDE80840F2F7EDBFF3F707 +:108220003BF806F015FE08BD88E30500042807B5F5 +:10823000034606D801460C4803B05DF804EBD7F7B7 +:1082400037B80A4A06216846FDF7F8FB00F1080333 +:108250006B444422411C03F8082C6846D7F728F8E1 +:1082600003B05DF804FB00BF6E870600738706004D +:10827000F8B5244D6B7DDB0732D52E687068012878 +:108280002ED9B168431ECA5C0A2A29D14A1E002B86 +:1082900001DC1A4608E0D45C0A2CFAD0013BF6E770 +:1082A0008C5C202C02D101329042F9D8002B0CDDDD +:1082B000541CA04209D15C1E0C44A14205D014F804 +:1082C000017D0A2F0CD0202FF7D00144D31A9C082F +:1082D00011F8023C0C4F3A2B08BF0134013C00D28C +:1082E000F8BD042239463046EAF770FD04213846CD +:1082F000D6F7DEFF2B6904332B616B7D43F002035D +:108300006B75EBE7304300206282060002482022B2 +:10831000002111F0C5B900BF3C41002008B5054B54 +:108320001A68986152685A601A61E8F72DFDBDE835 +:1083300008409DE73043002038B505460A4C6B687D +:1083400063600022A260227508464FF0FF32C4E944 +:1083500003232560A161E8F717FD6B680BB90123C2 +:108360006375BDE8384083E730430020F8B50378F3 +:108370000446CBB10D4FB86E18B1214611F0CFF9BC +:1083800090B1204611F0D5F9461C30460FF0D0FCD4 +:10839000054648B13246214611F05AF904491C22DB +:1083A000081D11F063F9BD66F8BD00BFD440002080 +:1083B0003C4100202DE9F341984C0246A568206815 +:1083C000D0F80480002D40F0B680531E042B07D84F +:1083D0006368434514D0012A00F03781032A0FD087 +:1083E000052A00F014810D2A0ED18D48E8F7CCFC47 +:1083F0002068EAF783FD63681844FFF7B7FF00229F +:10840000104602B0BDE8F0811B2A02D10123A3600F +:10841000A5E0082A01D07F2A1BD121696668B142F4 +:1084200040F29D8082680023324412F8017B202FA5 +:108430000DD101339F19B942F7D8042BB4BF0126DF +:1084400004263246891BEAF7CBFD012710E00126FE +:10845000F7E7637D990712D5092A01D0202A61D157 +:108460000027202A67757AD10321EAF7B2FD032697 +:108470003046FFF7DBFE23699B1B2361EFE0092AEF +:1084800050D1B8F1000F18D083682269134413F853 +:10849000010C00F0ACFC80B1624B01930426002576 +:1084A000019B216920685A1C019229441A780135E0 +:1084B000EAF783FDB542F3D119E0236860689E684E +:1084C0002169594A091A01AB3044FCF741FF0646BD +:1084D000002844D0431CE2D1A069E8F755FC22688B +:1084E000636821699068C91A1844D6F7E1FE2368C9 +:1084F0005B68434503D24D480321D6F7D9FE226875 +:108500002369D2E90110C91A1844D6F7D1FE2368AD +:1085100058682369C01A401BFFF788FE23692B4463 +:1085200023611CE0A2F120035E2B18D82169EAF731 +:108530004AFD0125DBE7012D08D14F2A04D05B2A33 +:1085400040F0AB80022362E7042360E7022D71D183 +:10855000A2F13003092B09D80323A3602275637DA0 +:1085600023F0020363754FF0FF3249E70025412AEB +:10857000A56019D1E268062AF1DC2D4B03EB8203DA +:10858000551CD96E0029EAD06368E5604360EAF7BC +:1085900007FD636826692268F61A5568002EA5EB68 +:1085A00003053FF752AFA2E7422A12D1E368002B3E +:1085B000D5DB6168013BA8EB0101E360EAF709FD47 +:1085C000E268002AE5DB1A4B206803EB8203996E10 +:1085D000DDE7432A0ED1256945452CBF002501253D +:1085E000002DBCDD23689868236929461844D6F716 +:1085F0005FFE93E7442A06D1226963689A42AED9A6 +:108600002F46012634E7482A1FD0462AA7D12569DC +:108610000027A8EB05053E461CE000BF30430020C4 +:108620004E57060062820600C0D205007887060019 +:10863000D4400020032D4FF0000327D17E2A22D101 +:10864000237D312B01D0372B0DD12669626800259F +:10865000B61A2F4600239E42A3603FF709AF002FB2 +:108660007FF445AFBCE7342BD1D0382BCFD0332BA0 +:1086700009D12169414506D20122EAF7B1FC002562 +:1086800001272E46E6E700252F46FAE7042D7FF462 +:10869000BEAE462ABBD0482AD7D00023B7E608B5DD +:1086A000FFF74AFED6F70CFEFFF784FE0028F9DB41 +:1086B00008BD00BF30B40A4C0A4D236803EB8303A6 +:1086C000024603440848226050F82330286801F02D +:1086D0000F0118442860090130BCE8F758B800BF02 +:1086E0004C430020D04000207C0A0600A83906290F +:1086F0002DD8DFE801F004080E141A2027001044DA +:1087000090F810077047C43210F8220000F03F00C4 +:108710007047C43230F82200C0F386107047C4326C +:1087200050F82200C0F34630704700EB820090F80A +:1087300012030009704700EB820090F8130300F069 +:108740000F00704700EB820090F81303F1E7024B33 +:10875000024A1A6000207047C42000207C8706006F +:10876000A839062938D8DFE801F0040810182028B5 +:108770003000024482F810377047C43210F82210DB +:1087800063F3050100F822107047C43230F822105C +:1087900063F38C1120F822107047C43250F8221075 +:1087A00063F3533140F822107047C43200EB820269 +:1087B000917863F3071191707047C43200EB820225 +:1087C000D17863F30301D1707047C43200EB8202A9 +:1087D000D17863F30711F6E7014B024A1A6070473C +:1087E000C4200020878706002DE9F74FD4B202F09D +:1087F0000702013AD2B2042ACDE9001382BF304BFE +:108800003049196014F0F8042F4F4FEA02282ED196 +:1088100090F81947009B6FEA14141D78E4B2A4EB9A +:10882000050B2E465FFA8BFBB91941444FF008093E +:1088300091F869A051460B0647BF1A210320062173 +:10884000042009F1FF39FFF735FF4FEA4A0A19F012 +:10885000FF095FFA8AFAEDD1711CCEB25BFA81F1A1 +:10886000C9B20029E0D1009A2B1B13701CE03A44D6 +:1088700084F0FF0492F864503B194344082693F8AF +:1088800069A053461A064FEA4A0A5FFA8AFA0FD5D8 +:1088900005210220FFF70EFF013E16F0FF06F0D182 +:1088A000013414F0FF04E7D1019803B0BDE8F08F64 +:1088B00029460120FFF7FEFE002DE9D0ECE700BFBE +:1088C000C4200020938706007C0A06002DE9F04FA3 +:1088D00087B00023634E8DF817300D460446FF2104 +:1088E00001F1C40204EB82020139937806EB131004 +:1088F00090F8690560F307139370D37803F00F00C5 +:10890000304490F8690560F30303C3F30310304467 +:1089100090F8690560F30713D370E1D294F81067FB +:10892000A6EB9603DBB201934F4B1B6843B12B467A +:1089300004F5E26204F5447104F50160E9F764FAB4 +:108940000023DFF82081482799469A469B46E21883 +:1089500092F8102812F0F8001DD00DF117012046F2 +:108960000292FFF741FF023D831C029ADBB2EDB297 +:10897000002D74D02778013E16F0FF0649D1E21889 +:108980004FF0000992F81067A6EB9602D2B201925E +:10899000CA46CB46DBE708EB0B01039291F87AC697 +:1089A000029303F1C40104EB8101013F91F802E05D +:1089B0004CEA1E1CC44491F803E09CF87A3508EB9D +:1089C0000A0C0EF00F019CF87AC64CEA010C08EB79 +:1089D0000901C44491F87A179CF87AC541EA1E113E +:1089E00041449C4491F87A156144BCF1FF0FC8BF23 +:1089F0000131C9B28831C1F30311FFF75BFE17F0F3 +:108A0000FF07DDE90232B6D10133013DDBB2EDB241 +:108A1000AEE70199013911F0FF01019100D1BAB916 +:108A200003F1C40114F82120C2F30502934434F881 +:108A30002120C2F38612924454F82120C2F3463218 +:108A400091445FFA8BFB5FFA8AFA5FFA89F97EE755 +:108A50000DF117012046FFF7C7FE03468FE707B069 +:108A6000BDE8F08F7C0A0600CC4000201E2B30B5FC +:108A700086BFA3F11E04E4B20024021992F8105735 +:108A800022467F2D04F10104E4B2F6D00D4484188F +:108A9000EDB284F810570132D2B2934205D0841857 +:108AA00094F81047FF2CF6D0F0E730BD074B034495 +:108AB00093F87A2832B193F8CE0810FB01F0C0F396 +:108AC000C710704793F80509704700BF7C0A06007D +:108AD000074B034493F87A2832B193F8550910FBF9 +:108AE00001F0C0F3C710704793F88C09704700BFBE +:108AF0007C0A06002DE9F04F037A7F2B89B00446EB +:108B000000F02F8100F580730027DFF85CA201934D +:108B10008046B94698F808607F2E40F08A804FF072 +:108B2000000A55465FFA8AF104EB810999F80C3086 +:108B300099F808207F2B00F0F7808B490B440A44FA +:108B400093F8770B92F8771B884240F0C88092F830 +:108B5000C76B93F8C73B99F8091006EB030B5FFA54 +:108B60008BF20192023A0D441206EDB200F1D98067 +:108B70002B44DBB2AE1B0293F6B24FF0A80BBBF155 +:108B8000A80F40F0B58099F80D3099F809205B08DE +:108B900003EB52072B44A5EB520254FA83F354FA29 +:108BA00082F293F8100792F81037C01AFFB2C0B2E1 +:108BB00000F0800C40B280EAE073A3EBE073DBB21C +:108BC000B3FBF7F207FB1233DBB2039390FBF7F032 +:108BD000C3B20493BB19DBB205934FFA8CF3324650 +:108BE0004FF000080693594620460792FFF77EFD96 +:108BF000079A049B05990132D2B2C3188A42DBB2AC +:108C000000F08780039988445FFA88F8474509D8BF +:108C10000699A8EB070800295FFA88F877DB0BB103 +:108C20000133DBB2594620460792FFF799FD079AB8 +:108C3000D9E7012E4DD13B464A4631462046FFF743 +:108C400015FF98F80A30A17898F80BB053443046D5 +:108C500093F8DD99FFF72AFFE17805463046FFF7E4 +:108C600037FF564400F07F0096F8E7C996F8371AA8 +:108C700096F8872A98F8093096F8D7EA96F8276B7D +:108C800005F03F0545EA80100CF07F0C40EA4C30BF +:108C900001F00F0140EA015102F00F023B4441EAAA +:108CA0000262DBB242EA0E72CB4407F1C40144F81F +:108CB0002120E1190137FFB29F4281F8106881F845 +:108CC00010B7F2D1019B08F1040843457FF422AFAD +:108CD00025E7022EB5D13B464A46FF21AEE702D931 +:108CE00093F8176C35E792F8C76B92F8173C32E7A8 +:108CF000029A59462046FFF7F9FC32460746594684 +:108D00002046FFF7F3FC381AC0B2019F50E7013B41 +:108D100087E70BF101015FFA81FBBBF1AF0F7FF435 +:108D20002EAF0AF1010AFDE604EB81016368497A7E +:108D30002944C9B27BB904F5E26203F1C405107895 +:108D400014F825500133C5F34405401BB3F5807F6B +:108D500002F8010BF1D1204609B0BDE8F04FFFF752 +:108D6000B5BD09B0BDE8F08F7C0A06000346007867 +:108D700093F90020002A0ADA00F07F004022104216 +:108D800006D113F8012F02F0C001802904D07047EA +:108D900020EA02005208F2E702F03F0242EA8010A5 +:108DA000EFE7431C18460133027802F0C002802A24 +:108DB000F8D0704703460020994200D8704711F858 +:108DC000012D02F0C002802A18BF0130F4E70346EB +:108DD0000144002099421A4600D87047127802F0E8 +:108DE000C002802A03F1010318BF0130F2E77F2897 +:108DF0009DBF034B185CC0F340000020704700BFCC +:108E0000A68706007F289DBF024B185CC0F3C000F8 +:108E100000207047A68706007F289DBF024B185C84 +:108E2000C0F3800000207047A68706007F289DBF02 +:108E3000024B185CC0F3801000207047A687060024 +:108E40007F2809D8064B1B5C13F00C0F06D1A0F14C +:108E50005F03584258417047002070470120704717 +:108E6000A68706007F2807D8044B1B5C13F00C0F65 +:108E700014BF01200020704700207047A68706001D +:108E80007F289DBF024B185CC0F300100020704784 +:108E9000A68706007F289DBF024B185CC0F34010D8 +:108EA00000207047A687060008B50246FFF7E8FFD6 +:108EB00000B12032104608BD08B50246FFF7EAFFB0 +:108EC00000B1203A104608BD3038092884BF20F090 +:108ED00020000738704710B502460144E524002001 +:108EE000914203D8B0FA80F0400917E012F8013B34 +:108EF00030B103F0C003802B11D10138C0B2EFE7CD +:108F0000BF2B09D9F72B09D8D80800F0060044FA7E +:108F100000F000F00300E3E71B06E1D510BD0020E0 +:108F2000FCE700BFD0E9023293423DBF5A1C826089 +:108F300018784FF0FF307047036810B5044613B13E +:108F400040680EF007FF2046BDE810400EF002BF5B +:108F5000F8B5054610200C461F4616460EF0DDFEFD +:108F6000054B8460C0E900743444C4606B60034BFB +:108F70002860AB60F8BD00BF258F0400398F040066 +:108F8000F8B5054630200E4617460EF0D4FE072DE4 +:108F900004460570C66001D0012D0FD1B368C3F33C +:108FA0000F13A382F0F746FB042320612783E38499 +:108FB00020200EF0B2FEE0622046F8BD014B5B5D62 +:108FC000EFE700BF2688060010B50446C06A0EF021 +:108FD000C1FE2046BDE810400EF0BCBE30B5058D88 +:108FE00004460022954201D8002030BDE36A03EB1D +:108FF000C20043688B42F8D00132F3E770B50446F3 +:109000000D461646FFF7EAFFC0B9E38C228D9A425F +:1090100008D30633D900E06A0EF08FFEE38CE062DD +:109020000633E384238DE26A591C02EBC3002185D9 +:1090300002F83360002343704380456070BD0346EF +:1090400018465B68002BFBD1FFF7C8BFF8B5446832 +:109050000E462CB9F8BD042BFCD105230370F9E7AB +:10906000254628466D68002DF4D077683946FFF70D +:10907000B5FF0028F5D00378043B022BEAD806257B +:109080003570002239462046FFF7B8FF0378002BE1 +:10909000E1D105706468F4E710B50C4602210EF0CA +:1090A00086FE10B10470240A447010BD38B50D4618 +:1090B000042114460EF07BFE28B1057084702D0A41 +:1090C000240A4570C47038BD032998BF144B70B58D +:1090D00091BF5E5C0239FE2621F0010498BF002496 +:1090E00046F435410546FFF7D7FF44B17F2C09D838 +:1090F00044F4304141F080012846FFF7CDFFC5E937 +:10910000066470BDA300A201DBB202F4E0421A4380 +:1091100042F450624FF2AD212846FFF7C7FFEEE759 +:109120003F880600C16910B5044629B17F290BD8D4 +:1091300041F43041FFF7B0FFA169204641F43D41C1 +:10914000BDE81040FFF7A8BF8B008A01DBB202F434 +:10915000E0421A4342F450624FF20D21FFF7A6FF9E +:10916000EAE7114341EAC301FFF796BF072A85BF2B +:10917000083AD200D20042F04002072985BF0839E0 +:109180001143114341F0800141F48C41FFF784BF4A +:1091900030B4DCB244EA02225C101D0104F48064A5 +:1091A000C3F3033305F4E04523432A43194330BC9A +:1091B000FFF77CBF38B5436953F821404368E41A90 +:1091C000043C0546C4F34A0141F46041FFF764FFE3 +:1091D0002B78022B0AD124F4FF6020F0070028B17D +:1091E00010F5006F14BF0020012038BD0120FCE7FE +:1091F00070B5446954F822404268A41A043C0546FC +:1092000062101E46B3B9D2B242EA012141F4504184 +:10921000FFF742FF2B78022B0AD134F0FF0407D06E +:1092200014F5807F14BF002001200646304670BD33 +:109230000120FAE7A51204F4005305F48065C4F395 +:1092400085342C43C2F30B021A4344EA811142F4E1 +:10925000004241F47041FFF729FFE7E738B5436961 +:1092600053F821404368E41A043C0546C4F34F0216 +:10927000C4F30A3142F4784241F47041FFF716FF1B +:109280002B78022B08D1A00D800528B110F5800F96 +:1092900014BF0020012038BD0120FCE7F8B5476865 +:1092A00004460D46164613460A464FF24021FFF784 +:1092B0006FFF2046330C2A464FF2C021FFF768FFAC +:1092C0003846F8BD072910B4044609D832F0FF0328 +:1092D00006D142EA012110BC41F40051FFF7DCBE87 +:1092E000130C1B043BB9134620460A4610BC4FF230 +:1092F0004021FFF74DBF204610BCFFF7CFBF08B598 +:109300000378012B05D931F0FF0302D00548F1F7AE +:10931000F9FAC9B241EA0221BDE8084041F410411E +:10932000FFF7BABE2D88060008B50378012B05D9D2 +:1093300032F0FF0302D00648F1F7E4FAD2B242EA73 +:109340000121BDE8084041F41841FFF7A5BE00BF68 +:109350002D880600D2B242EA012141F42841FFF7EC +:109360009BBE38B5436953F8223042689B1A43F0DC +:1093700001030C4605460A460A3B4FF24021FFF71F +:1093800007FF2346284622464FF43241FFF7E9FE05 +:10939000210101F0800104F00704214341F48841D8 +:1093A000284641F07801BDE83840FFF775BE07292F +:1093B00030B4054614460CD8072A0AD81F2B08D803 +:1093C00041EAC20141EA831130BC41F4D041FFF7C8 +:1093D00063BE9B0043EA013244F47841284641F0E1 +:1093E000D00130BCFFF762BE072930B405461446F1 +:1093F0000CD8072A0AD81F2B08D841EAC20141EA33 +:10940000831130BC41F40841FFF746BE5B0043EADC +:10941000013244F47841284641F0B00130BCFFF7F6 +:1094200045BE436953F821104368CB1A043B013110 +:1094300030B4C3F34A0204460DD0D91C0BDA23F42E +:10944000FF6525F0070515F5006F04D130BC42F427 +:109450006041FFF721BEC3F30A33204642F438428D +:1094600030BC43F47041FFF721BE436930B453F878 +:1094700022404368E31A043B013405464FEA630285 +:109480000ED0DC1C0CDA23F0FF0414F5807F07D12A +:10949000D2B242EA012130BC41F45041FFF7FCBD99 +:1094A0009C1203F4005004F48064C3F38533234317 +:1094B000C2F30B02024343EA8111284642F4004200 +:1094C00030BC41F47041FFF7F1BD043AC2F34702EA +:1094D00042EA012141F45041FFF7DEBD0439C1F3F6 +:1094E0004A0141F46041FFF7D7BD38B514460B4639 +:1094F000072221460546FFF75AFFE100284641F4BE +:109500008F41BDE83840FFF7C7BD00BF136870B595 +:109510006BB94468A51C50F825509C4207D055F8FB +:109520002360B14204D1023350F82330136070BD80 +:109530000133F2E72DE9F0470F461449DFF8509068 +:10954000DFF850A016460446E9F782FD06F1080848 +:1095500000257368AB4205D820460F49BDE8F047A7 +:10956000E9F776BD1DB149462046E9F771FD57F888 +:10957000252051462046EAF705F958F8041B012238 +:109580002046F1F787FD0135E3E700BFE82B060031 +:10959000B083060043880600E24006004B680233B1 +:1095A0000A4651F82310FFF7C5BF70B50546C81C21 +:1095B0000C46800009491646F1F753FD002344602C +:1095C00000F10802A34203D1023340F8235070BDDA +:1095D00056F8231042F8041B0133F3E7E4160600A3 +:1095E00010B5034904460820F1F73BFD446010BD67 +:1095F0001017060013B504464068F0F7BFFC58B1D9 +:10960000A3685A1C5B0043F00103CDE90030A2605F +:1096100069460220F7F72AFC02B010BD1FB50446C8 +:10962000084611461A4602AB01930A4B00930223E7 +:10963000F1F7B0FA21460C20F1F713FD00210446A2 +:109640000298F0F721FC039B60602046A36004B001 +:1096500010BD00BF241706002DE9F0410446406804 +:1096600080000EF05AFB04F10C08064600276168E2 +:10967000B94206D8A06833460022BDE8F041F0F7B1 +:1096800097BA58F8040BF0F779FC054618B146F87C +:1096900027000137EBE730460EF05CFB2846BDE8BB +:1096A000F0812DE9F0410C460546114620460F4A4F +:1096B0001F46F1F7E5F9A01C29468000F1F7D1FC1F +:1096C000013C3B6844600546836000F10C080026BD +:1096D000B44202D82846BDE8F0810136002157F88F +:1096E0002600F0F7D1FB48F8040BF1E7FEFF050078 +:1096F00070B5054610200E460EF00FFB044695E8A7 +:109700000F0084E80F00E660204670BD70B5054686 +:1097100010200E460EF001FB044695E80F0084E889 +:109720000F00A660204670BD70B5054610200E469D +:109730000EF0F3FA044695E80F0084E80F00666027 +:10974000204670BD10B586B00446084611461A463C +:1097500002AB0193084B00930423F1F71BFA214657 +:109760001020F1F77EFC029A4260039A8260049A0C +:10977000C26006B010BD00BF8817060004307047F5 +:1097800038B50B680C46DA8805490546E9F7FAFF53 +:109790002168224628463831BDE83840FFF7CABE66 +:1097A000217C060010B5426B00F138030020824294 +:1097B00002D14FF0FF3010BD53F8044B8C42FAD069 +:1097C0000130F4E738B51368054614464BB9006814 +:1097D000FFF7E8FF431C03D0831C55F823302360B8 +:1097E00038BD02490248F0F700F900BF478806007B +:1097F00018E005002DE9F0471646426B8F19974295 +:1098000080460C46994604D01E491F483B46F0F757 +:10981000F5F8B81C41468000F1F723FC4FEA840AB2 +:10982000524605464760494608300FF011FF0AF1DD +:109830000800B200002128440FF032FF3E4409F135 +:10984000040AA64202D82846BDE8F08759F8240049 +:10985000F6F728F901464046FFF7A4FF431C04D160 +:109860000A460A490848F0F7C9F805EB8007BB68C3 +:1098700013B10A460649F5E75AF82430BB600234B2 +:10988000DFE700BFB379060068DE05004C81060003 +:10989000418106002DE9F04105460E3080000F465B +:1098A0000EF049FA00260446456300F13808AE423E +:1098B00002D12046BDE8F08157F82600F6F7F2F80D +:1098C000013648F8040BF2E71FB50191F6F7EAF804 +:1098D000019B03F00702022A044605D09A0708D12B +:1098E0001A68184B9A4204D101A90120F6F7F2FB3D +:1098F000019003AA019802A9F1F720FDDDE9020118 +:10990000FFF7C8FF1049416140F2012101810F4971 +:1099100081610F49C1610F4901620F4941620F49DD +:109920000F4A816203210260C17208220D498280C0 +:10993000C16082740C490D4AC480C162026304B0E4 +:1099400010BD00BFDCE80500F59704008197040016 +:10995000190E0400250F0400C59704001910040017 +:1099600088E9050004050607650D040018E90500EF +:10997000C268002A034605DDD0E90101884206DB02 +:1099800000207047FCD0D0E901018842F8DD596819 +:1099900048000A4440F001005A607047D1E90232A1 +:1099A00049685B1A1344002ACCBF03F1FF3301332B +:1099B000042893FBF2F303D0052806D0002070475B +:1099C000002BCCBF1E200E20704723EAE37040001E +:1099D00040F00100704710B503460846D3E9011274 +:1099E000034CDB68C0E90041C0E9022310BD00BFA1 +:1099F0000C18060038B50C46D1E901230949054683 +:109A0000E9F7C0FEE268012A05D128460649BDE80B +:109A10003840E9F71DBB28460449BDE83840E9F75E +:109A2000B1BE00BF4C880600E24006001B84060061 +:109A300070B50E46044611463046134A1D46F1F7EE +:109A40001FF821461020F1F70CFB0023436001238F +:109A50009E420446C360286804D1F1F7CDFBA060A4 +:109A6000204670BDF1F7C8FB60606868F1F7C4FB81 +:109A7000032EA060F4D1A868F1F7BEFBE0600028D7 +:109A8000EED10248F0F75AFD0600020059880600A0 +:109A9000136810B514462BB9922904D14068F4F725 +:109AA000F9F9206010BD962901D18068F7E7952962 +:109AB000F8D1C068F3E7042A1FB504463DD1D0E9C8 +:109AC000023062689B1A03440028CCBF03F1FF33C5 +:109AD000013393FBF0F323EAE3708B071FD10A688D +:109AE000174B9A421BD101AAF8F7C3F91549102068 +:109AF000F1F7B7FAE2686368019901FB023343604A +:109B00006368029901FB0233039983604A43002989 +:109B1000C26002DAE2689B1A836004B010BD0A4694 +:109B2000002301462068F1F741FCE268636802FB0C +:109B30000030400040F00100EFE70020EDE700BFFB +:109B400068E6050024180600820708D10068064B65 +:109B5000984206D02C33C31A58425841704700200F +:109B600070470120704700BF6C180600044B0B6063 +:109B7000044BC1E901300023CB600846704700BFA9 +:109B800018E60500659E040008B501220430F1F7CF +:109B9000ACF9062008BD08B502220430F1F7A5F99A +:109BA000062008BD38B5044608460021F0F76CF9D8 +:109BB000043405462846F0F7E1F9014600B938BDFE +:109BC00001222046F1F791F9F4E770B506460D46FB +:109BD0000124B44201D3062070BD55F82410286832 +:109BE000FFF7E0FF0134F4E738B5044608460021EA +:109BF000F0F74AF9043405462846F0F7BFF9014664 +:109C000008B9062038BD03222046F1F76EF9F3E7C4 +:109C100030B585B0044608466946F0F735F9043496 +:109C200005462846F0F7AAF9014610B91E2005B0EE +:109C300030BD00222046F1F758F90028F1D00E205F +:109C4000F5E738B5016804461020F1F70AFA6168B3 +:109C500005460430F1F73FF96268A368E168E868F7 +:109C6000AB6092000FF0F4FC284638BD38B50D46C5 +:109C7000FFF7E7FF29460446FFF794FF204638BD6B +:109C800038B50D46FFF7DDFF29460446FFF7ACFF68 +:109C9000204638BD10B5022204300C46F1F725F9F4 +:109CA00018B903482146F0F735FE062010BD00BF65 +:109CB00064DF050008B50430F1F7C7F9062008BDD8 +:109CC0002DE9F8430C6807460E461AB92046FFF7FF +:109CD000B8FF0446012504F10409BD4202D3204621 +:109CE000BDE8F88356F82500844204D14846F1F7D0 +:109CF000ACF90135F1E70021F0F7C6F8804640469F +:109D0000F0F73CF901460028F3D002224846F1F76B +:109D1000ECF8F4E708B50122FFF7D2FF062008BDF2 +:109D20000022CDE708B50430F1F76FF918B9024900 +:109D30000248EFF75AFE08BD6088060064DF0500A0 +:109D400050F8210010B1043818BF012070478A076D +:109D50002DE9F04104460D4611D10E681F4BF31A50 +:109D60005E425E41AB6863B91EB11D492046E9F70A +:109D70006FF91C492046BDE8F041E9F769B90026B2 +:109D8000F0E71EB118492046E9F762F91749DFF8F4 +:109D900060802046E9F75CF9002701236A68BA422F +:109DA00006D814492046E9F753F9AEB11249E1E764 +:109DB000E8683946FFF7C4FF60B11BB94146204649 +:109DC000E9F746F9EB68012253F827102046F1F72E +:109DD00061F900230137E1E7BDE8F081981806003A +:109DE0008B5B0600698806006F880600E67B06002C +:109DF000B0830600EF770600E24006000528F8B5BC +:109E00000D4609D006280CD0042826D18B68002BDB +:109E100014BF1E200E20F8BD8868400040F00100ED +:109E2000F9E711F0030018D10E680D4B9E42F2D1F4 +:109E30004F680446A74201D17000EFE7EB68214666 +:109E40001846FFF77DFF30B153F824100620EFF7D6 +:109E50001BFE06EB60060134ECE70020DBE700BFE9 +:109E6000981806008268C16870B556680346B1420A +:109E700001D3002008E0D5682846FFF761FF4C1C9D +:109E800018B155F82100DC6070BD2146EFE72DE9DF +:109E9000F04105460F4610200B49F1F7E2F800F1BA +:109EA0000408044629464046F1F715F80026AE425C +:109EB00002D12046BDE8F08157F826100122404625 +:109EC000F1F713F80136F2E76C18060088422DE925 +:109ED000F84305460E46174603D1EAB9BDE8F843F4 +:109EE000AFE600210846FFF7D2FF002104463046C6 +:109EF000EFF7CAFF05F1040980464046F0F73EF847 +:109F0000064668B94FB1E8680DF024FF63686B60DE +:109F1000A368AB60E368EB6006242046BDE8F883E5 +:109F2000002231464846F0F7E0FF0028E5D03146F0 +:109F30002046FFF729FEE0E70122C7E70022C5E738 +:109F400001220430F0F7D1BF70B50C46054611462A +:109F5000204602221E46F0F793FD3CB921462046DA +:109F6000FFF795FF04462560204670BD0021084696 +:109F7000FFF78DFF002104463068EFF785FF0646A6 +:109F80003046EFF7FBFF01460028ECD02046FFF7F4 +:109F9000D7FFF5E72DE9F04186B01646CDE9001070 +:109FA0000446FFF7D1FD0246002835D1214801AB18 +:109FB0000121FFF7C9FF01270446009D2846FFF74E +:109FC000C3FD024650BB1B486B460121FFF7BCFF97 +:109FD0004FF0010805461EB1A268AB689A4226D030 +:109FE000154B0293154BCDE90334002305932E1D29 +:109FF00002A8FFF737FF014698B91E2617B1201DAA +:10A00000F1F723F8B8F1000F02D0281DF1F71DF881 +:10A01000304606B0BDE8F0810027CEE74FF00008DB +:10A02000D9E700223046F0F760FF0028E0D10E2685 +:10A03000E4E700BF6C18060018E60500659E040002 +:10A040000B46002201461846A4E70022A2E7F0B51D +:10A050000C4685B0CDE90212A1070646134620D171 +:10A0600025683C4AAA1A55425541242E66D0184606 +:10A070000193FFF769FD002868D0019B1C2E65D86D +:10A08000DFE806F0444A4E525764646464232E3578 +:10A090006464643E6464646464642911196464647F +:10A0A0001E000025E1E719462046FFF7E9FD0446BA +:10A0B000204605B0F0BD19462046FFF73FFFF6E702 +:10A0C00002A90220FFF72CFEF1E725B102A9022028 +:10A0D000FFF77BFDECE719462046FFF7C7FDE6E7F3 +:10A0E00019462046002DE0D0FFF77EFDE0E7204630 +:10A0F0002A461946FFF7EAFE002D08BF0446D7E7B7 +:10A100002A4602A90220FFF7DBFDD0E7012219460B +:10A110002046FFF73FFFCAE7012221461846F8E72D +:10A12000A1689A6891420FD119462046FFF78DFF2A +:10A13000BDE719462046FFF783FFB8E7002219461E +:10A14000201DF0F7D2FE18B90E24B1E70024AFE7C6 +:10A150001E24ADE76C1806002DE9F843054640685B +:10A16000E0B10021F6F782FE05F10809044600F18E +:10A17000080800276B68BB4209D959F8040BEFF7B0 +:10A18000FDFE064630B92046F6F783FF34462046EA +:10A19000BDE8F88348F8040B0137EBE70446F6E71F +:10A1A0002DE9F0410C460546114620460D4A1F4652 +:10A1B000F0F766FCA01C29468000F0F752FF00264D +:10A1C0000546446000F10808A64202D12846BDE8D1 +:10A1D000F08157F826000021EFF756FE013648F8C7 +:10A1E000040BF1E7FEFF0100F0B51646194A0128FD +:10A1F000D2E9034785B00B4619D94D68062D07D023 +:10A20000A90710D12968144A91420CD12C462F4637 +:10A2100002280CD09868062809D0820703D101686B +:10A220000D4A914202D00020F0F74AFB044601A9F2 +:10A2300018680522F1F712FADDE901120023C120A6 +:10A24000E9F758FE23463A46314605B0BDE8F040EE +:10A25000EFF7D5BCD440002074DC05000222C3E730 +:10A260000122C1E770B506460D4600246B68A34283 +:10A2700000D870BDAB6853F8341021B1042902D066 +:10A280003046F4F749F80134F0E72DE9FF4738B9D3 +:10A2900055495648E8F7DCFE062004B0BDE8F087D3 +:10A2A0000D6841F27A539D4254D100210846F4F7DB +:10A2B00013FA4F490190FFF7D5FF4E4901984E4ED2 +:10A2C000FFF7D0FF019F3578A5B94C4ADFF81C8114 +:10A2D000DFF82C9101A90120F4F7FEF8019803AAF8 +:10A2E00002A9F4F70FFA029B03339F08AF4210D183 +:10A2F0004449CEE730460FF01CFAC11E04463046F2 +:10A30000F5F726F9013401463846F4F705F82644F6 +:10A31000D9E72E46039B53F82600F5F7DBFB0146F1 +:10A320004046E8F795FE029B3E449E420CD2C0F1A7 +:10A330001204002C06DD013CECD349464046E8F708 +:10A3400087FEF8E71234F4E72F494046E8F780FE2D +:10A350000135CBE72846F0F78AFE2C49044623480E +:10A36000E8F776FE00212846F0F7B2FEE288284999 +:10A370001E48E9F707FA274B9C4228D16C68DFF8A2 +:10A3800098801A4EDFF894900434002563689D424B +:10A3900082D2A36853F8357003EBC502AFB14146D2 +:10A3A0003046D2F804A0E8F753FE00213846F0F713 +:10A3B0008FFE49463046E8F74BFE00215046F0F745 +:10A3C00087FE11493046E8F743FE0135DEE7144BBE +:10A3D0009C4208BF2C46E07C00283FF45DAF04EBB4 +:10A3E00080042469CBE700BFBB880600C0D205000B +:10A3F000F8E40500ECE40500C0F50500DCDC050030 +:10A40000658206007A8806004F5706009E8806007F +:10A41000A6880600D0E4050064820600B68806001F +:10A4200088E90500F8B506460D46174605F009F817 +:10A4300004463046D4F7C4FAA8420BD105F001F81F +:10A4400004463046D4F7BCFAA8420BD004F0F9FF1A +:10A45000001BF8BD04F0F5FF001BB842E9D36FF014 +:10A460000100F6E704F0EDFF001BB842E9D34FF01E +:10A47000FF30EEE7F8B5074608680C46FCF7B4FE77 +:10A4800005466068F1F700F8022F06460BD9A06870 +:10A49000F0F7B2FE024631462846FFF7C3FFBDE89B +:10A4A000F840F3F7F7BC014AF5E700BF40420F0060 +:10A4B000C1070CD4820703D10268064B9A4206D02A +:10A4C0000E2804D0A0F11E035842584170470120C5 +:10A4D000704700BF88E305000379002B14BF1E20DE +:10A4E0000E2070472DE9F0418AB005AB0193314B46 +:10A4F0000093013805230431F0F7EEFA059B069F1F +:10A500009DF81C409DF820809DF824600393FBF784 +:10A51000E8FA039D2846FFF7CBFF28B9AA070AD11E +:10A520002A68254B9A4206D1244803AB0022012118 +:10A53000F5F72CF80390039800F00703022B05D0E1 +:10A54000830729D102681D4B9A4225D104A9F5F74A +:10A55000DFFA049BE3B1012B09D144B93EB900787D +:10A56000FCF716FB03900398FBF7D0FA10E0039872 +:10A57000FCF7EEFC03909DF824301BB1039800F02B +:10A580000FFB03900398434622463946FBF7ACFB8A +:10A5900006200AB0BDE8F081F0F769FD084B834260 +:10A5A000E9D10CB9002EDED003A90120F6F75EFC3C +:10A5B000E0E700BF6C1D0600A4E10500DCE8050033 +:10A5C0006CFA050010B58AB005AB0193174B0093E8 +:10A5D000013805230431F0F77FFA059C04942046E6 +:10A5E000FFF766FF28B9A3070AD12268104B9A42E9 +:10A5F00006D1104804AB00220121F4F7C7FF0490F4 +:10A6000003A90498F5F784FA9DF82430059A039974 +:10A6100000939DF82030FCF785FC9DF81C300699CE +:10A620000022FBF761FB06200AB010BD941D060056 +:10A63000A4E10500DCE8050038B50F4C05462146CD +:10A640000E48FCF76DFE21460D48FCF769FE2146D9 +:10A650000C48FCF765FE21460B48FCF761FE2146DD +:10A660000A48FCF75DFEFBF73BFA01202871D4F79E +:10A67000D3FB062038BD00BF4401060004010600DC +:10A68000FC000600EC000600E4000600CC0006001A +:10A6900010B504460020D4F7BFFB002323710848FF +:10A6A000FCF72AFE0748FCF727FE0748FCF724FEC4 +:10A6B0000648FCF721FE0648FCF71EFE062010BDEA +:10A6C00004010600FC000600EC000600E4000600A1 +:10A6D000CC00060008B5D4F781FA400040F0010034 +:10A6E00008BD08B5FBF704FA062008BD0846042893 +:10A6F000114608B51A4601D8042902D90548EFF7D2 +:10A700001DFF092B01D90448F9E7BDE80840D4F73B +:10A7100055BA00BF0541060032820600F8B5D1E9FE +:10A7200000700C46F0F768FD0546A068F0F764FD80 +:10A730000646E068F0F760FD324603462946384693 +:10A74000FFF7D4FF0620F8BD0846042808B51146D7 +:10A7500001D8042A02D90348EFF7F0FEBDE808400B +:10A76000D4F71CBA0541060070B5044608461646E3 +:10A77000F0F742FD05463046F0F73EFD2946024619 +:10A780002046FFF7E1FF400040F0010070BD00BF30 +:10A7900030B587B003AB0193154B00930138032309 +:10A7A0000431F0F799F9049806281AD0FCF704FD53 +:10A7B00005460598062816D0FCF7FEFC04460D4A0F +:10A7C0000D482146FCF7C8FD0A4A0C482946FCF70B +:10A7D000C3FD039A69796079D4F7E8FA28B1F0F7F4 +:10A7E000B9F8074DE5E7074CE9E7062007B030BDAB +:10A7F000801E06006C010600DC200020E020002006 +:10A800008C00060094000600002138B50846F3F7D6 +:10A8100063FF08240546002201231146E0B2D4F765 +:10A82000EBFA28B9610041F001012846F3F774FD05 +:10A830000134782CEFD1284638BD00B58BB003AB7E +:10A8400001930F4B0093043103230138F0F744F9CF +:10A85000049906A8E8F7F1FA9DF814309DF80C0069 +:10A86000DDE9072183F00103D4F7B6FA10B1132014 +:10A87000F0F770F806A8F4F765FE0BB05DF804FB7E +:10A88000981E060000B589B002AB01930E4B0093F1 +:10A89000043103230138F0F71FF9052205A90398B5 +:10A8A000F0F7DCFE9DF810309DF80800DDE9051298 +:10A8B00083F00103D4F7A0FA10B11320F0F74AF89F +:10A8C000062009B05DF804FBB01E060070B588B024 +:10A8D00002AB0193204B0093013806230431F0F7BB +:10A8E000FBF8059806282AD0FCF766FC0446069873 +:10A8F000062826D0FCF760FC05460798062822D0DB +:10A90000FCF75AFC0646154A15482146FCF724FD7B +:10A91000124A14482946FCF71FFD104A12483146D6 +:10A92000FCF71AFD049B7279697960790193039BA6 +:10A930000093029BD4F7AEF838B1F0F70BF80B4C4C +:10A94000D5E70B4DD9E70B4EDDE70B4B0122062077 +:10A950001A7008B070BD00BF881F060074010600A1 +:10A96000E8200020EC200020F0200020B4000600A9 +:10A97000A4000600AC000600A545012008B5034B65 +:10A980001B7813B90248EFF7D9FD08BDA545012092 +:10A99000D98C06001FB50C46FFF7F0FF01A9052270 +:10A9A0002046F0F75BFEDDE901100022D4F7B4F891 +:10A9B000062004B010BD30B50D4687B01446FFF731 +:10A9C000DDFF052269462846F0F748FE062203A966 +:10A9D0002046F0F743FE0198049B984202D00548B8 +:10A9E000EFF7ACFD039A0099D4F796F8062007B06C +:10A9F00030BD00BFEA8C060030B50C4685B0054678 +:10AA0000FFF7BCFF6068F0F7F7FB011E02DA0F48A2 +:10AA1000EFF794FD6846E8F710FA032D0FD1A06810 +:10AA2000F0F7EAFBC1B2DDE901200EF039FE029A2F +:10AA300001981146D4F770F818B1EFF78BFF002199 +:10AA4000F1E76846F4F77EFD05B030BD068D0600DF +:10AA500030B58BB003AB0193214B00930138072332 +:10AA60000431F0F739F80598062832D0F0F7C4FB26 +:10AA70000446089806282FD0FCF79EFB45790998D4 +:10AA800006282BD0FCF798FB4179079806280DD0B3 +:10AA9000022102AAF0F776FC029B1868FCF78CFBF7 +:10AAA000029B45795868FCF787FB4179069B28464D +:10AAB000CDE90043DDE90323D3F7D6FF039A43F240 +:10AAC000C82393FBF2F3074A0133062013800BB02F +:10AAD00030BD4FF0FF34CCE71E25D0E71F21D4E76F +:10AAE00028200600BE44002008B50120D4F7C8FB8A +:10AAF000002814BF1E200E2008BD10B508461446BD +:10AB00001146D4F7D5FB204610BD2DE9F8430D467C +:10AB10001E4614463AB10120D4F7B2FB30B90B23DC +:10AB200033604FF0FF342046BDE8F883DFF83C90F7 +:10AB300005EB04082C46D4F7C3FB04F8010B44458D +:10AB400012D0B9F8007004F080FC06460120D4F75A +:10AB500097FB0028EFD104F078FC801B874203D9D3 +:10AB60000120E3F795FDF1E7641BDCE7BE4400201C +:10AB700038B585680135044685604068F0F730FDDA +:10AB8000F0F73AFB8542A4BF0023A360A168606888 +:10AB90004900BDE83840042241F00101F0F732BD20 +:10ABA00010B504460C200DF0B8F8034AC0E90024A3 +:10ABB0004FF0FF32826010BDF42006002DE9F0470F +:10ABC000DDF820904A45924605460F4616469846BF +:10ABD00038BFCA460024A24510D02B68B44238BF03 +:10ABE000395D1B6928BF002128469847002808DBEB +:10ABF0004C4538BF08F804000134ECE70020BDE8FC +:10AC0000F0870148FBE700BF0AFCFFFF37B5069D50 +:10AC1000046800956469A047044A0446DDE9070119 +:10AC2000DAF71EFB204603B030BD00BF0D55020011 +:10AC300070B50B4B03600446002500F110068580BB +:10AC400081602A460121304607F0C6FC3046E560A7 +:10AC5000E56284F82850DAF7BFFC204670BD00BFDB +:10AC600014210600F7B504460F46154610301E465F +:10AC700009F0BEFE6580278018200EF0B1FC08ABFD +:10AC8000024693E803006D4685E8030011462B4613 +:10AC900041F80C6B0026D6604E6003CB074B536126 +:10ACA000BDF82830506043F002032046C4E9022674 +:10ACB000C4E908669160A38003B0F0BDF993050074 +:10ACC0002DE9F04390F8283091B00446002B4ED087 +:10ACD0008368284FB3F808C0DA88274BD7F800807C +:10ACE0000025CDE904354FF0100980F828500DEB10 +:10ACF0000906CDF8089096E80300C2F30022C2F1DD +:10AD000005028DE8030092B26146234606A8FFF7CC +:10AD1000A9FFD8F8003006A99B684046984706A8C6 +:10AD200007F0CFFC154B3F68CDF80890CDE904350E +:10AD300096E8030042F210728DE8030023462321B7 +:10AD400006A8FFF78FFF3B6806A99B68384698471F +:10AD500006A807F0B6FC0022002304EB0900C4E9B2 +:10AD60000823E56011B0BDE8F04307F03CBC11B02A +:10AD7000BDE8F083B43800203D94050069940500D7 +:10AD800010B5034B03600446FFF79AFF204610BD41 +:10AD9000142106002DE9F04790F8289088B0044669 +:10ADA0000D46B9F1000F64D180683F4E036803215E +:10ADB0005B6D9847A3683768DA88B3F808803B4B27 +:10ADC000C2F30022C2F1050292B22820CDE9063971 +:10ADD00005920EF005FCC02302930DF1180982467E +:10ADE00099E8030023468DE80300059A4146504642 +:10ADF000FFF738FF3B6851465B683846984728B1F3 +:10AE0000504607F05EFC50460EF0E8FB284B0693D8 +:10AE100028200023376807930EF0E2FBC02302933B +:10AE2000064699E8030023468DE8030042F21072BB +:10AE300023213046FFF716FF3B6831465B683846F2 +:10AE4000984728B1304607F03CFC30460EF0C6FB70 +:10AE5000184E337853B90093232242F2107342F212 +:10AE600010700021DBF794F801233370012384F87C +:10AE70002830A5B1DBF77CF8281841EBE571C4E96F +:10AE800008010023E36004F11000DAF7A5FBE06895 +:10AE9000094B002808BF184608B0BDE8F08700221B +:10AEA0000023C4E90823ECE7B43800203D940500F2 +:10AEB00069940500A645012011FCFFFF38B5044642 +:10AEC0000C4B40F80C3B04F12C05DCF725FF00226D +:10AED0000121284607F080FB0023636201214FF423 +:10AEE00080732846C4E90113E463DAF775FB204652 +:10AEF00038BD00BF28210600024B1868BFF35B8FE6 +:10AF0000704700BFF4200020024B1868BFF35B8F2E +:10AF1000704700BF5043002030B5224A21F0004363 +:10AF2000934287B01CDD204A934205DD02460B4662 +:10AF300002F0A4FF07B030BD02AAD1F761FE00F015 +:10AF40000300012814D0022822D0C0B1DDE9042377 +:10AF5000DDE90201D2F770F801F1004107B030BD20 +:10AF60000024002200230094D2F7AEFD07B030BDCC +:10AF7000DDE90423DDE90201D2F75EF8DAE7012416 +:10AF8000DDE90423DDE902010094D2F79DFDD1E75C +:10AF90000124DDE90423DDE902010094D2F794FDE8 +:10AFA000DAE700BFFB21E93FFFFFEF7F38B520F074 +:10AFB0000044B4F1A14F07EE900A05460DDBB4F151 +:10AFC000FF4F5FDCDFED567A9FED567A0028D4BF45 +:10AFD00017EE100A17EE900A38BD534B9C4262DC04 +:10AFE000B4F1445F53DB4FF0FF3367EEA76ADFED48 +:10AFF0004F4ADFED4F5A9FED4F5A9FED4F4A26EED5 +:10B00000A67AB0EE666AE7EE245A5A1CDFED4B4A88 +:10B01000DFED4B6AA5EE875AE7EE246ADFED495A69 +:10B02000DFED494AE6EE875AA5EE074A9FED475AFB +:10B03000DFED476AA5EE875AE4EE074ADFED455A91 +:10B04000E4EE876AE5EE075A66EE866A25EE877AB1 +:10B0500040D0414A02EB830276EE876A92ED007A95 +:10B060003E4A96EEA77A02EB8303002DD3ED006AE9 +:10B0700077EE677A76EEE77A17EE900AACDA80F030 +:10B08000004038BD77EEA77A17EE900A38BD9FEDE5 +:10B09000347A37EE877AF7EE006AB4EEE67AF1EEAC +:10B0A00010FAA0DD38BD00F0DFF82E4B9C4207EE11 +:10B0B000100A16DCA3F5D0039C4227DCF0EE007AE0 +:10B0C000FFEE006AE7EE276A002337EE277AC6EE26 +:10B0D000877A8AE776EE876AE6EEE77A17EE900AD5 +:10B0E00038BD214B9C420BDCF7EE087AF7EE006A84 +:10B0F000E7EE276A022337EE677AC7EE267A74E70F +:10B10000FFEE006AC6EE877A03236EE7F7EE007A59 +:10B1100077EE676A37EE277A0123C6EE877A64E70F +:10B12000DB0FC93FDB0FC9BFFFFFDF3ED769853C9F +:10B1300059DA4B3D356B883D6E2EBA3D21A215BDC7 +:10B140006BF16EBD95879DBD2549123E388EE3BDDE +:10B15000ABAAAA3ECDCC4CBE582106004821060021 +:10B16000CAF24971FFFF973FFFFF1B40C0F3C7536F +:10B170007F3B162B07EE900A20F000422FDC002BBD +:10B1800016DB1C4A1A41104226D09FED1B7A37EE7F +:10B19000877AB5EEC07AF1EE10FA1DDD002804DDE5 +:10B1A0004FF4000141FA03F3184420EA020070470B +:10B1B0009FED117A37EE877AB5EEC07AF1EE10FA8C +:10B1C0000ADD002813DBB7EE007A002A14BF17EE61 +:10B1D000100A17EE900A704717EE900A7047B2F106 +:10B1E000FF4FF9D377EEA77A17EE900A70474FF02A +:10B1F00000407047FFFF7F00CAF24971194A20F0F2 +:10B20000004393421DDDB3F1FF4F06DB07EE900ACA +:10B2100077EEE77A17EE900A704700B583B069467B +:10B2200001F00CFE00F00302012A019900980BD0F6 +:10B23000022A11D06AB1012202F014FB03B05DF8BA +:10B2400004FB002101F036BF02F00CFB80F000404F +:10B25000F4E701F02FFFF1E701F02CFF80F0004050 +:10B26000ECE700BFD80F493F20F00040704700BF17 +:10B27000C0F3C7537F3B162B07EE900A20F0004225 +:10B2800028DC002B16DB1C4A1A4110421FD09FED10 +:10B290001B7A37EE877AB5EEC07AF1EE10FA16DD3A +:10B2A000002804DA4FF4000141FA03F3184420EABD +:10B2B000020070479FED117A37EE877AB5EEC07ABB +:10B2C000F1EE10FA03DD00280CDB0020704717EECA +:10B2D000900A7047B2F1FF4FF9D377EEA77A17EED5 +:10B2E000900A7047BFEE007A002A14BF17EE100ACA +:10B2F00017EE900A704700BFFFFF7F00CAF2497146 +:10B3000020F0004310B4B3F1FF4F4FF000040C6085 +:10B3100018DABBB110F0FF4F02460BD1DFED0B7A0C +:10B3200007EE100A67EE277A6FF0180417EE902ADE +:10B3300022F00043DB157E3B234422F0FF400B60EC +:10B3400040F07C505DF8044B704700BF0000004C9B +:10B3500038B504460D4602F0F9FB30B107EE904ACD +:10B36000F5EE407AF1EE10FA01D1204638BD2046C4 +:10B37000294600F0ABF8044602F0E8FB30B107EED6 +:10B38000904AF5EE407AF1EE10FAEED102F012FC9E +:10B3900022230360204638BDC0F3C7537F3B162BE2 +:10B3A00070B504460E460ADC002B21DB144A42FA33 +:10B3B00003F3184210D1306000F0004070BD3060DF +:10B3C00002F0CCFBC0B907EE904A77EEA77A17EEF1 +:10B3D000900AC6ED007A70BD20EA030507EE900AD8 +:10B3E00007EE105A77EEC77A0D6017EE900A70BD1F +:10B3F00000F000450D6070BD04F0004070BD00BF5E +:10B40000FFFF7F0000F000B8C0F3C7537F3B162B4F +:10B4100020F000412ADC99B300B5002B83B002462E +:10B420004FEAD07C2DDB2749194108421BD04FEA57 +:10B43000510E10EA510105D04FF4001022EA0E021D +:10B4400018411043204B03EB8C0393ED007A07EE79 +:10B45000900A77EE277ACDED017ADDED017A77EE6D +:10B46000C77A17EE900A03B05DF804FBB1F1FF4F05 +:10B4700006D307EE900A77EEA77A17EE900A704788 +:10B4800070471149C0F316035B4201EB8C0C5B0A59 +:10B49000010D03F4800309050B43DCED006A07EEA0 +:10B4A000903A36EEA77A00F000428DED017ADDED9C +:10B4B000017A77EEE67A17EE900A20F0004010430A +:10B4C000D1E700BFFFFF7F006821060082B0019036 +:10B4D000019830F0004330D0B3F1FF4F25D210F087 +:10B4E000FF4F2DD19DED017ADFED2D7A2D4B67EECB +:10B4F000277A9942CDED017A3ADB0198C0F3C75320 +:10B50000193B0B44FE2B1FDDDFED277ADFED276AA9 +:10B51000019B002BB0EE677AB8BFF0EE667A67EE5B +:10B52000877A17EE900A02B07047DDED017A77EE68 +:10B53000A77A17EE900A02B07047019802B07047E0 +:10B54000DB0D0B44FE2BDFDC002B0BDC13F1160FA5 +:10B5500017DA4CF250339942D6DCDFED157ADFED85 +:10B56000156AD5E720F0FF4040EAC35002B07047AB +:10B57000DFED0F7A9DED017A67EE277A17EE900ADC +:10B58000D9E7193320F0FF4040EAC35007EE100A14 +:10B59000DFED097A67EE277A17EE900ACBE700BF56 +:10B5A0000000004CB03CFFFFCAF24971CAF249F1F9 +:10B5B0006042A20D6042A28D000000331B4A20F0C1 +:10B5C000004393421EDDB3F1FF4F06DB07EE900A06 +:10B5D00077EEE77A17EE900A704700B583B06946B8 +:10B5E00001F02CFC00F00300012801990ED0022884 +:10B5F00015D078B1009801F05DFD80F0004003B0F7 +:10B600005DF804FB0021002202F02CB9009801F043 +:10B6100051FDF4E70098012202F024F9EFE70098C9 +:10B62000012202F01FF980F00040E8E7D80F493FFF +:10B63000114A20F0004393421ADDB3F1FF4F06DBBD +:10B6400007EE900A77EEE77A17EE900A704700B59A +:10B6500083B0694601F0F2FB400000F0020201995C +:10B660000098C2F1010202F04BF903B05DF804FB4F +:10B670000021012202F044B9DA0F493FC0F3C75359 +:10B680007F3B162B024608DC002BB1BF00F00040C8 +:10B690000748184122EA00007047802B00D070470D +:10B6A00007EE900A77EEA77A17EE900A704700BF70 +:10B6B000FFFF7F00D1F74CB9F8B504460D46D1F72E +:10B6C00013FA224606460F462B462046294603F02B +:10B6D00027F898B9002200232046294603F002F8F3 +:10B6E00060B1002200232046294602F0E7FF40B166 +:10B6F00002F060FA084F22230026036030463946E4 +:10B70000F8BD02F057FA034621221A600348BDE84B +:10B71000F84002F015BA00BF0000F0FF70210600EB +:10B72000F8B504460D4600F0BDF9224606460F4620 +:10B730002B462046294602F0F3FF30B92046294621 +:10B740000022002302F0C4FF10B930463946F8BD8C +:10B7500002F030FA00220023212101601046194630 +:10B7600002F06EFE06460F4630463946F8BD00BF71 +:10B7700010B52DED028B08EE100A00F049FAB4EE78 +:10B78000488AF1EE10FA04460CD618EE100AFFF7BC +:10B790006BFD07EE100AF7EE007AB4EEE77AF1EEF1 +:10B7A00010FA03DCBDEC028B204610BD02F002FA59 +:10B7B000BDEC028B03462122BDE8104001481A600F +:10B7C00002F0E6B97021060010B52DED028B08EEEF +:10B7D000100A00F047FBB4EE488AF1EE10FA044676 +:10B7E0000CD618EE100AFFF73FFD07EE100AF7EE31 +:10B7F000007AB4EEE77AF1EE10FA03DCBDEC028BCE +:10B80000204610BD02F0D6F9BDEC028B0346212282 +:10B81000BDE8104001481A6002F0BAB97021060074 +:10B8200000F02CBC10B52DED028B08EE100A00F0D4 +:10B83000D3FC044618EE100A02F088F968B1DFED77 +:10B84000117AB4EEE78AF1EE10FA0ADCDFED0E7A37 +:10B85000B4EEE78AF1EE10FA0DD4BDEC028B20466F +:10B8600010BD02F0A7F9BDEC028B22234FF0FF447C +:10B870000360204610BD02F09DF9222300240360DE +:10B88000EBE700BF8071B142B5F1CFC208B52DED35 +:10B89000028B08EE900A08EE101A00F09BFDF4EE01 +:10B8A000488AF1EE10FA034606D6DFED0B8AB4EEB5 +:10B8B000688AF1EE10FA03D0BDEC028B184608BD81 +:10B8C00002F078F9C8EEA87ABDEC028B2122026062 +:10B8D00017EE903A184608BD0000000008B52DED9F +:10B8E000028B08EE100A00F00BFEB4EE488AF1EE6F +:10B8F00010FA03460ED6B5EEC08AF1EE10FA09DC56 +:10B90000B5EE408AF1EE10FA08D102F053F9222286 +:10B91000084B0260BDEC028B184608BD02F04AF9E4 +:10B92000BDEC028B034621221A600348BDE80840A3 +:10B9300002F02EB9000080FF7021060008B52DED41 +:10B94000028B08EE100A00F0EDFEB4EE488AF1EE2C +:10B9500010FA03460ED6B5EEC08AF1EE10FA09D8F9 +:10B96000B5EE408AF1EE10FA08D102F023F9222256 +:10B97000084B0260BDEC028B184608BD02F01AF9B4 +:10B98000BDEC028B034621221A600348BDE8084043 +:10B9900002F0FEB8000080FF7021060010B52DED0A +:10B9A000028B08EE101A08EE900A00F023FFB4EEA6 +:10B9B000488AF1EE10FA04460BD6F5EE408AF1EE15 +:10B9C00010FA16D1B5EE408AF1EE10FA05D14FF01B +:10B9D0007E54BDEC028B204610BD18EE100A02F01A +:10B9E000B5F80028F5D0B5EEC08AF1EE10FAF0D522 +:10B9F00029E002F0ABF898B107EE904AF5EE407AF4 +:10BA0000F1EE10FAE5D118EE900A02F09FF8002846 +:10BA1000DFD018EE100A02F099F80028D9D012E011 +:10BA200018EE900A02F092F80028E5D018EE100AFD +:10BA300002F08CF80028DFD007EE904AF4EE677A27 +:10BA4000F1EE10FA04D602F0B5F822230360C0E745 +:10BA500002F0B0F821230360BBE700BF08B52DED6D +:10BA6000028B08EE100A01F01DFBB4EE488AF1EEDD +:10BA700010FA06D6DFED0A8AB4EEE88AF1EE10FA83 +:10BA800002D4BDEC028B08BD02F094F8C8EEA87A8F +:10BA9000BDEC028B034621221A6017EE900A08BD06 +:10BAA00000000000594A8A432DE9F04106460F463E +:10BAB00000F0928000290B46044651DD09155DD047 +:10BAC000C3F31303C807A1F2FF3743F4801303D471 +:10BAD0005B0003EBD4736400E20F002602EB430328 +:10BAE00060007F104FF0160E34464FF40012A1187C +:10BAF000994202DC5B1A8C1816445B00BEF1010E01 +:10BB000003EBD0734FEA52024FEA4000EFD1754683 +:10BB10004FF0200C4FF000420AE03FD0C10FBCF1C3 +:10BB2000010C01EB43034FEA40004FEA52023ED0C2 +:10BB3000A34202EB0E01F0DD002901EB020E09DB4E +:10BB4000A0461B1B814288BF03F1FF33401A1544F6 +:10BB50004446E3E7BEF1000FF2DB04F10108F0E731 +:10BB600021F00042024335D000293FD1E20A1539C5 +:10BB700013466405002AF9D0D70241D400205B00A7 +:10BB8000DE02054600F10100F9D51A46234684403D +:10BB9000C0F12000C340491B134391E78142BDD847 +:10BBA000002901EB020ED5DB98460023CEE70343C4 +:10BBB00002D0691C22D001354FEA550C731003F1F5 +:10BBC0007F53F20703F5001348BF4CF0004C03EB22 +:10BBD00007516046BDE8F08102460B4602F006FBC5 +:10BBE00032463B4602F04CF9BDE8F081024602F0D5 +:10BBF00045F902460B4602F023FCEBE70136DDE790 +:10BC0000234620204FF0FF35C4E700BF0000F07F3F +:10BC100008B520F00043B3F17E5F2DED028B15D007 +:10BC200007EE900A09DCB3F17C5F1CDAB3F10C5F1C +:10BC30006DDCBDEC028B7A4808BD77EEE77AC7EE83 +:10BC4000A77A17EE900ABDEC028B08BDBDEC028B03 +:10BC5000DFED747A9FED747A0028D4BF17EE100AD6 +:10BC600017EE900A08BD0028C0F29080F7EE008A17 +:10BC700078EEE77AB6EE008A27EE888A18EE100A88 +:10BC800001F010FA9FED697ADFED697A9FED696A3C +:10BC9000DFED695ADFED696AE8EE077A20F47F6329 +:10BCA00023F00F03E8EE256AA7EE886A9FED647A19 +:10BCB000DFED647ADFED645AA6EE087AE6EE887A64 +:10BCC000E7EE085A9FED616AA7EE886ADFED607AB9 +:10BCD00007EE103AE5EE887AF0EE485AE6EE088A6A +:10BCE00006EE900AE7EE475A27EE888A36EE876A14 +:10BCF000C5EE867A88EE286ABDEC028BE6EE867A7F +:10BD000077EE277A77EEA77A17EE900A08BD67EEEE +:10BD1000A76A9FED467ADFED465A9FED466ADFED52 +:10BD2000464A9FED475AE6EE875ABDEC028BA5EED8 +:10BD3000A66A9FED427ADFED435AA6EEA47AA6EEFC +:10BD4000265AE7EE265ADFED404A9FED407A9FEDF6 +:10BD5000406AE5EE264AA5EEA67AA4EEA66AB7EEFC +:10BD6000005AA7EE265A66EE266ADFED3A5A9FED94 +:10BD70003A7A86EE856AF0EE656AE7EEC66A77EE95 +:10BD8000E67A77EE677A17EE900A08BDB7EE007A8A +:10BD900077EE877AF6EE006A67EEA67A9FED246A60 +:10BDA000DFED226ADFED234ADFED235A9FED245AAF +:10BDB0009FED278AA7EEA66ADFED206AE6EE274A06 +:10BDC000E7EEA56ADFED1F5A9FED1F6AA4EEA75AA2 +:10BDD000E6EEA75ADFED1D6AA5EE276AE5EEA76A33 +:10BDE000A6EE278AA6EEA77A28EE278AF0EE478AE3 +:10BDF00017EE900A01F056F9C8EE285A06EE900A9E +:10BE00009FED167ADFED167AA6EEA57AB0EE006AFF +:10BE100037EE267AE7EE467A17EE900A13E700BF70 +:10BE2000DB0FC93F00000000DB0F494008EF11386D +:10BE3000047F4F3A461124BD2EC69D3D613330BF6D +:10BE4000A80A4E3E2D57014090B0A6BE39D119C068 +:10BE5000ABAA2A3E6821A233DA0FC93F6821A2B3F8 +:10BE6000DA0F494038B520F00044B4F17E5F2DED83 +:10BE7000048B07EE900A00F08A807FDCB4F17C5FCF +:10BE800005460FDAB4F1485F80F2A0809FED6B7A2F +:10BE900037EE877AF7EE006AB4EEE67AF1EE10FA42 +:10BEA00000F3918017EE900AFFF7DEF907EE100A13 +:10BEB000F7EE007A37EEC78AB6EE007A28EE078AE8 +:10BEC000DFED5F6A9FED5F7A9FED5F6A9FED5F5ADE +:10BED000DFED5F5ADFED5F8AE8EE076A9FED5E7A7D +:10BEE000A8EE067A9FED5D6AA6EE885AA7EE086A6C +:10BEF0009FED5B7ADFED5B6AE5EE085AA6EE087A05 +:10BF0000E5EE886AE7EE087AE6EE888A18EE100A0F +:10BF1000B0EE679A01F0C6F8534B9C4268EE888AEF +:10BF200006EE900A40DC20F47F6323F00F0306EE58 +:10BF3000103AA6EE468A76EE867AC8EE894A88EEF0 +:10BF4000274A9FED4A7ADFED4A7AF0EE005AA4EED6 +:10BF5000657A76EEA66AB0EE675AA6EE655A96EE58 +:10BF6000A47A37EE457A37EEC77A002D0ADCBDECAD +:10BF7000048BB1EE477A17EE100A38BD77EEE77AF8 +:10BF800087EEA77ABDEC048B17EE100A38BD9FED43 +:10BF9000377ADFED386A27EE877ABDEC048BA7EE9F +:10BFA000A67A17EE100A38BDC8EE895A9FED327A8C +:10BFB000DFED307AE6EEA56AB0EE006AA6EE867A8C +:10BFC00037EEC77AD1E707EE100ADBE727EEA77A4C +:10BFD000DFED1C6A9FED1A6ADFED1C5A9FED1A5ABD +:10BFE000DFED1B4AA7EE266ABDEC048BE6EE075A8E +:10BFF000DFED196A9FED196AE7EE056AE5EE874AFB +:10C00000A6EE876A9FED175ADFED155ADFED116A2C +:10C01000A4EE875AE6EE075AE5EE076AB7EE006A25 +:10C02000A5EE876A26EE877AC7EE066AE7EEA67A5D +:10C03000B0EE677A17EE100A38BD00BFCAF2497138 +:10C04000047F4F3A08EF11382EC69D3D461124BD9E +:10C05000A80A4E3EABAA2A3E613330BF2D5701409D +:10C0600039D119C090B0A6BE9999793F2EBD3BB386 +:10C07000DB0F493FDB0FC93F2EBD3B3310B582B00C +:10C0800007EE900A0191019B23F00042B2F1FF4FAD +:10C0900032DC20F00041B1F1FF4F84462CDCB3F1DB +:10C0A0007E5F4BD09C1704F0020444EAD07459B36D +:10C0B000B2B3B2F1FF4F48D0B1F1FF4F30D08A1A7E +:10C0C000B2F1F45F4FEAE2513DDA002B49DA3C313C +:10C0D00047DA0020012C5CD0022C4DD094B106EE42 +:10C0E000900ADFED337A9FED337A76EEA77A77EE1A +:10C0F000C77A17EE900A05E09DED017A77EE277A70 +:10C1000017EE900A02B010BD022C15D09FED2A7ACE +:10C11000032C0CBF17EE100A17EE900A02B010BDE8 +:10C12000DFED267A9FED267ABCF1000FB4BF17EE43 +:10C13000100A17EE900AE5E72248E3E702B0BDE8EF +:10C140001040FEF733BF2048C4E7B1F1FF4F04F1C0 +:10C15000FF3421D0022C26D81C4B03EB840420682A +:10C16000D0E79DED017AC7EE877A17EE900AFFF7C8 +:10C170007BF8FEF71BFFADE706EE900ADFED0C7AC9 +:10C180009FED0C7A76EEA77A77EE677A17EE900A33 +:10C19000B8E700F10040B5E7022C06D80C4B03EBE2 +:10C1A00084042068AEE70020ACE70A48AAE700BF95 +:10C1B0002EBDBB33DB0F4940DB0F49C0DB0FC93F4E +:10C1C000DB0FC9BFDB0F4940DB0FC93F0823060067 +:10C1D000FC220600DB0F493F20F00042B2F1FF4F86 +:10C1E00007EE900A034654D84FEAD07100F09780CA +:10C1F0006648834200F38980002BC0F28980644B3B +:10C200009A424BD9634B9A4200F2A080624A634B38 +:10C2100002EB8102D2ED003A03EB8103C1F1010090 +:10C2200077EEE33AD3ED006A401A73EEE67A9FEDBB +:10C230005C7A9FED5C4ADFED5C4ADFED5C5A9FED76 +:10C240005C5A27EEA76AA6EE074AE4EE064AE4EE39 +:10C25000865AA5EE865AF0EE675AE5EE465A002851 +:10C2600042D0B0EE006A27EEA55A76EE655AB7EED8 +:10C27000007AC5EE257A10F17D0F76EEE76A76EE4C +:10C28000E37A37EE677A53DB17EE103A03EBC050D0 +:10C29000704777EEA77A17EE900A7047B2F1505FB9 +:10C2A0000AD29FED447A37EE877AF7EE006AB4EE51 +:10C2B000E67AF1EE10FA63DC27EEA77ADFED386A52 +:10C2C0009FED385ADFED385A9FED386AA7EE265AAF +:10C2D000DFED376AE7EE055AA7EE256AF0EE675AFA +:10C2E000E7EE066AE7EE665AB0EE007A27EEA56A38 +:10C2F00075EEC75AF7EE006A86EE257A77EE677A12 +:10C3000076EEE77A17EE900A7047002001F00ABC3B +:10C31000294B9A427FF673AF002001F0F9BB9FEDE5 +:10C32000277A002914BF17EE100A17EE900A7047FB +:10C3300017EE103A643003EBC05307EE103ADFED0E +:10C34000207A67EE277A17EE900A70471D48DFEDD6 +:10C350001E6ADFED1E5A9FED1E6A00EB810090ED14 +:10C36000007AA7EEA67ABDEEC77AF8EEC76A17EE96 +:10C37000100AE6EEE57A66EE866AF0EE673A54E772 +:10C3800077EEA67A17EE900A704700BF1772B14297 +:10C390001872B13E9115853F1C2306002423060028 +:10C3A0004CBB31330EEADDB555B38A38610B36BB71 +:10C3B000ABAA2A3ECAF24971B5F1CF420000000093 +:10C3C0000000800D142306003BAAB83F8071313F66 +:10C3D000D1F7173730B583B007EE900A0191019D70 +:10C3E00035F0004C42D0034620F00040B0F1FF4F42 +:10C3F0003CDABCF1FF4F39DC604541DB03F000441F +:10C4000041D013F0FF4F5BD1010200296FF07D0294 +:10C4100004DD4900002902F1FF32FADC15F0FF4F7C +:10C420005ED15FEA0C216FF07D0E03D449000EF15E +:10C43000FF3EFBD512F17E0F4CDBC3F3160343F432 +:10C4400000031EF17E0F3EDBC5F3160C4CF4000C0E +:10C45000B2EB0E0204D11CE015D04B00013A18D00B +:10C46000A3EB0C010029F7DA5B00F7E79DED017AF9 +:10C4700067EE877AC7EEA77A17EE900A03B030BD51 +:10C4800017EE900AFAE71D4800EB5470006803B0FD +:10C4900030BDB3EB0C0C58BF63461BB9F3E75B0030 +:10C4A0000EF1FF3EB3F5000FF9DB1EF17E0F1CDB32 +:10C4B000A3F500000EF17F0E204340EACE50DDE7E9 +:10C4C000C2157F3AAAE76FF07D01A1EB0E010CFACD +:10C4D00001FCBDE76FF07D039B1A00FA03F3B0E7A0 +:10C4E0004FEAEC5EAEF17F0EA4E76FF07D00A0EBAB +:10C4F0000E00034143EA0400C0E700BF2C230600FE +:10C5000030F0004207EE100A03462DD0002834DB3D +:10C51000B0F1FF4F43DAB0F5000F37DB4FF0000CFE +:10C520007048C3F31601084400F4000282F07E5202 +:10C530000A43DB1507EE102A7F3B6B4A634401F187 +:10C540000F0CF7EE007A0CEA020237EE677A03EB83 +:10C55000D0534ABBB5EE407AF1EE10FA67D1002B0A +:10C5600040F09F80002070479FED607ADFED607A99 +:10C57000C7EE277A17EE900A704777EE477A9FED5D +:10C580005C7AC7EE877A17EE900A7047DFED597A2A +:10C5900067EE277A6FF0180C17EE903AC0E777EE47 +:10C5A000077A17EE900A7047F0EE007A77EE277A56 +:10C5B00006EE903AC7EE273A4F48C1F557120844A5 +:10C5C00002F522720243002ADFED4C2A9FED4C4A0D +:10C5D0009FED4C5A9FED4C3ADFED4C4ADFED4C7A23 +:10C5E0009FED4C6A63EEA35AB8EEE62A65EEA56AA3 +:10C5F000A6EEA24AE6EE834AA4EE265AA4EEA66A66 +:10C60000E5EE267A67EEA57AE6EE267A2EDDF6EEE0 +:10C61000006A67EE266A66EE876A7BBB77EEA67ACB +:10C62000E7EEE36A77EE667A17EE900A7047F6EE69 +:10C63000006A9FED396AF0EE667AE7EE467A67EEB9 +:10C64000076A66EEA76A002BECD007EE903ADFEDA2 +:10C65000335A9FED336AF8EEE77AE7EEE56A36EE95 +:10C66000C77A97EE867A17EE100A704743BB77EECB +:10C67000677AA7EEE37A17EE100A70479FED276AF4 +:10C68000DFED275A77EEA67A22EE066AA7EEA36AB6 +:10C6900076EEC66A36EEC77A92EE257A17EE100A63 +:10C6A000704707EE903A9FED1D7ADFED1D6AF8EEB8 +:10C6B000E77A27EE877AA7EEA67A17EE100A704778 +:10C6C000DFED166A9FED166A77EE677A66EEC26A4C +:10C6D000E7EEA36A36EEC77A92EE067A17EE100AF4 +:10C6E000704700BF20FB4A00F0FF7F00000000CC35 +:10C6F000000000000000004C305CCFFF9788173E20 +:10C7000025333A3E2549923E4FD01C3E298E633E4A +:10C71000ABAA2A3FCDCCCC3EABAAAA3ED1F7173765 +:10C720008071313F08B530F000432DED028B07EEEC +:10C73000100A2DD0002836DBB0F1FF4F47DAB0F5F4 +:10C74000000F3BDB0022C3157F3B1344DA0F03EBE2 +:10C75000D37307EE903AC2F17F02C0F3160040EAAD +:10C76000C250B8EEE78AFFF7CBFE9FED1C7ADFEDF3 +:10C770001C6A07EE900A27EE877ADFED1A7AA8EE98 +:10C78000267AA8EE277ABDEC028B17EE100A08BDB8 +:10C790009FED157ADFED157AC7EE277ABDEC028B97 +:10C7A00017EE900A08BD77EE477A9FED107AC7EE34 +:10C7B000877ABDEC028B17EE900A08BDDFED0C7A8C +:10C7C00067EE277A6FF0180217EE900ABBE7BDEC10 +:10C7D000028B77EE077A17EE900A08BDD95BDE3E32 +:10C7E000DB27543580209A3E000000CC000000007A +:10C7F0000000004C2DE9F0412DED028B82B001913B +:10C800000090DDE9004535F0004613D184F4800442 +:10C81000640014F5000F40F21781DDED007A9DED04 +:10C82000017A77EE877A17EE900A02B0BDEC028BA0 +:10C83000BDE8F08124F00047B7F1FF4FEDDCB6F121 +:10C84000FF4F00F3F680002CC0F205814FF0000886 +:10C85000B6F1FF4F00F01C81B6F17E5F00F024813D +:10C86000B5F1804F00F00D81B5F17C5F009840F08C +:10C870001F81002C80F25181FEF7F6FCB7F1FF4FCB +:10C8800000F02B81002F00F02581B7F17E5F00F0D2 +:10C890001781E20F013A58EA020300F04581B6F130 +:10C8A0009A4F40F36B81A54B9F4240F36482A44BA7 +:10C8B0009F4200F3718207EE100AF7EE007A77EEDE +:10C8C000677ADFEDA05A9FEDA05AB5EE007AE7EE49 +:10C8D000C75AB6EE006AA5EEE76A67EEA76A9FED53 +:10C8E0009B7ADFED9B5A66EE866A27EE667AA7EEA4 +:10C8F000857AF0EE476AE7EEA56A16EE903A23F4E1 +:10C900007F6323F00F0306EE103AA7EEE56A06EE0A +:10C91000903A77EE467A25F47F6525F00F059DED78 +:10C92000017A06EE105A67EE877A37EE466A07EE0E +:10C93000105AE6EE267A08F1FF3858EA020326EE8E +:10C94000877AB7EE008A77EE876ABFEE006A16EE46 +:10C95000903A08BFB0EE468A002B23F0004240F325 +:10C96000D281B2F1864F00F3358200F02882B2F115 +:10C970007C5F00F3D4810022114623F47F6323F00F +:10C980000F0306EE103ADFED736A9FED735A9FEDC9 +:10C99000732A9FED733ADFED733A9FED734ADFED33 +:10C9A000734A36EE477AF0EE002A77EEC77A26EE23 +:10C9B000267ADFED6F6AA7EEA67AF0EE476AE6EE1A +:10C9C000056A66EEA65AF0EE667AA5EE823AE6EEC3 +:10C9D000457AB0EE636AA3EE256A77EE677AB0EE29 +:10C9E000447AA6EE257AB0EE646AA7EE256AB0EE28 +:10C9F000667AA6EE657AE6EEA77A66EE875A37EE95 +:10CA0000626AB7EE005A85EE867A77EE677A77EE3D +:10CA1000E66A75EE666A16EE903A1344B3F5000FB7 +:10CA2000C0F2B38107EE903A67EE887A17EE900A6B +:10CA3000FBE6B4F17E5F7FF4F0AE85F480056D0017 +:10CA400015F5000F3FF6E9AE4FF07E5002B0BDEC99 +:10CA5000028BBDE8F081B6F1974F0FDAB6F17E5F39 +:10CA600009DBF315C3F1960346FA03F202FA03F366 +:10CA7000B34200F043814FF00008EDE64FF00208AA +:10CA8000E6E6DDED007A67EEA77A17EE900ACCE6CF +:10CA9000B7F17E5FD8D02FDDDFED367A0198002D1B +:10CAA000B8BF17EE900AC0E6002D29DB0098BCE65F +:10CAB000FEF7DAFBB7F1FF4F02D0002F7FF4E5AEAF +:10CAC000002D07DA07EE100AF7EE007AC7EE877A34 +:10CAD00017EE900A002CBFF6A8AEA7F17E5757EAD2 +:10CAE000080340F0048107EE900A77EEE77AC7EE7C +:10CAF000A77A17EE900A98E6002D0ADB002094E64C +:10CB00009DED007AF7EE007AC7EE877A17EE900A6D +:10CB10008BE6019B83F0004087E602B0BDEC028B00 +:10CB2000BDE8F04100F0BEBADDED007A77EEE77ABD +:10CB3000C7EEA77A17EE900A77E600BFF3FF7F3FB4 +:10CB40000700803FABAAAA3E70A5EC363BAAB83FCF +:10CB500000AAB83F8CBEBF350072313F4CBB3133A9 +:10CB60000EEADDB555B38A38610B36BBABAA2A3E57 +:10CB70001872313F000000000000804B14F0FF4F9E +:10CB800040F0F7805FED047A07EE100A67EE277A2F +:10CB90006FF0170317EE907A9648F915C7F316074A +:10CBA0007F398742194447F07E5340F3DA80924838 +:10CBB000874240F3FB809FED914A0131B0EE443A49 +:10CBC000A3F50003F7EE005A002006EE103A76EEC9 +:10CBD000257AB7EE007A87EE270A5B1043F0005300 +:10CBE00003F58023034476EE656A07EE901A66EE3D +:10CBF000803AB8EEE77A13EE901A07EE903A804B3F +:10CC0000DFED800A9FED808A9FED801ADFED802A9C +:10CC1000DFED801A9FED802A77EEE55A194005EE88 +:10CC2000101A36EE656A63EEA35AE5EE676AF0EE17 +:10CC3000607AE5EE887AE5EE466AA7EEA51A66EE1A +:10CC4000806AE1EE252A73EE857AE2EEA51A25EEDA +:10CC5000A58AA1EEA52A67EEA67AF0EE084AB0EE04 +:10CC6000646AE8EE027AA5EE056ADFED6C0A9FEDD4 +:10CC70006C1ADFED6C2A36EE276A16EE101A194090 +:10CC800006EE101A76EE644AE5EE454A77EEE47A4F +:10CC900067EEA37AE6EE867AF0EE675AE5EE065A7C +:10CCA00015EE901A194006EE901AE5EE466A05EE6A +:10CCB000901A77EEE67A67EEA07AE5EE817A77EE63 +:10CCC000837AF0EE676AE5EEA26A76EE846A76EE23 +:10CCD000876A16EE901A194006EE901A36EEC77A59 +:10CCE00037EE447AA5EEE27A77EEC77A13E6B8F12A +:10CCF000010F7FF49AAD80F0004096E502F001024A +:10CD0000C2F10208A8E548498A426BDC7FF42FAEE5 +:10CD100076EEC76AF4EEE76AF1EE10FA62DAD2153F +:10CD20004FF400017E3A41FA02F21A44C2F3C750AE +:10CD30003E4C7F380441C2F3160122EA040206EE9B +:10CD4000902A37EE667A41F40001C0F117000141E4 +:10CD5000002B77EE876AB8BF494216EE903ACA05B3 +:10CD60000BE69FED264AF7EE005AB0EE443A00205B +:10CD70002BE7002310E7002D10DB002002B0BDECF4 +:10CD8000028BBDE8F04100F0C3BE16EE900AFEF73C +:10CD90009DFB07EE900A47E6002DEEDD002002B075 +:10CDA000BDEC028BBDE8F04100F0BCBE9FED204A17 +:10CDB0009FED203AF7EE085A4FF4001005E79FED7B +:10CDC0001E6A76EEC76A37EE866AB4EEE66AF1EE60 +:10CDD00010FAA4DDB5EEC08AF1EE10FA4CBF0120C6 +:10CDE0000020DCE7B5EEC08AF1EE10FA4CBF01205E +:10CDF0000020C3E771C41C00D6B35D000000000032 +:10CE000000F0FFFF55326C3E42F1533E05A38B3ECE +:10CE1000ABAAAA3EB76DDB3E9A99193F4F38763FD1 +:10CE2000A0C39D360038763F00001643FFFF7F0009 +:10CE300000C0153FDCCFD1353CAA383370B58B4AE2 +:10CE400020F00044944286B00D466FDD884A94423B +:10CE5000064622DC0028DFED877A874A07EE100AB3 +:10CE600024F00F0440F3E980944277EE677A09BF1B +:10CE7000DFED826A9FED827A9FED827A77EEE67A25 +:10CE8000012077EEC76A77EEE67AC1ED006A77EEA9 +:10CE9000C77AC1ED017A06B070BD7B4A944255DD78 +:10CEA000B4F1FF4F48DAE215863AA4EBC25307EE1D +:10CEB000903ABDEEE77ADFED756AB8EEC77A77EEA5 +:10CEC000C77A8DED037A67EEA67ABDEEE77AB8EE03 +:10CED000C77A77EEC77A8DED047A67EEA67AF5EE1B +:10CEE000407AF1EE10FACDED057A40F09580B5EE7E +:10CEF000407AF1EE10FA14BF022301236449019134 +:10CF00000221009103A8294600F05CF9002EC2DA44 +:10CF100095ED007AD5ED017AB1EE477AF1EE677AB8 +:10CF200085ED007AC5ED017A4042B4E72860002221 +:10CF300000204A6006B070BD07EE900A77EEE77AEF +:10CF40000020C1ED017AC1ED007AA4E7FEF78CF96B +:10CF5000DFED506ADFED475A07EE100AF6EE007A71 +:10CF6000E7EE267ADFED466AFDEEE77A17EE900AE5 +:10CF7000B8EEE76A1F28F0EE477AE6EE657A26EE0D +:10CF8000267AF1EE465A1EDC434A411E24F0FF0386 +:10CF900052F82120934216D077EEC76AC5ED006A99 +:10CFA00077EEE67A002E77EEC77AC5ED017ABFF606 +:10CFB00072AFF1EE666AF1EE677AC5ED006AC5ED13 +:10CFC000017A404267E777EEC76AE21516EE903ABB +:10CFD000C3F3C753C3EBD454082CDFDD9FED277A8E +:10CFE000DFED286AB0EE675AA5EE875A77EEC57A6C +:10CFF000E5EE877AD6EE267A75EE676AB0EE677A46 +:10D0000016EE903AC3F3C753D21A192A06DCF0EE93 +:10D01000457AC5ED006AC3E703236FE7DFED1F6ABA +:10D02000DFED1F4AF0EE457AE5EEA67A35EE677A37 +:10D03000A5EEA67A96EE247AAEE7944277EE277AAA +:10D0400009BFDFED0E6A9FED0E7A9FED0E7A77EE47 +:10D05000A67A4FF0FF3077EE876A77EEE67AC1ED79 +:10D06000006A77EE877AC1ED017A14E7D80F493F5D +:10D07000E3CB1640800FC93FD00FC93F004435377E +:10D080004344353708A3852E800F49430000804371 +:10D09000B423060084F9223F3423060000A3852E22 +:10D0A00032318D2407EE900AF1EEE77A17EE900AFE +:10D0B000704700BF20F00043B3F1485F06EE100A4E +:10D0C00007EE901A2EDABDEEC67A17EE103A002B54 +:10D0D00064D066EE066A9FED337A9FED334ADFED4A +:10D0E000334A9FED335ADFED335AA6EE874A9FED60 +:10D0F000327AE6EE844AA6EEA45AA6EE857AE6EEE9 +:10D10000875A66EEA55A67EEC67AB6EE006AE6EE74 +:10D11000A57AB7EE007AD6EE867A77EE677A17EEC2 +:10D12000900A704766EE066A9FED1E7A9FED1E4AD2 +:10D13000DFED1E4A9FED1E5ADFED1E5A1F4AA6EE76 +:10D14000874A93429FED1C7AE4EE264AA4EEA65A43 +:10D15000A5EE267AE7EE265A65EEA65AD3DD184AE2 +:10D16000934216DC03F17F4307EE103AB7EE005A04 +:10D1700035EE475A67EEC67AB6EE006A96EE867AC4 +:10D18000E6EEA57A77EE677A75EE677A17EE900A83 +:10D190007047B6EE075AB5EE027AEBE74FF07E50D5 +:10D1A000704700BF4ED747ADF6740F317CF293B491 +:10D1B000010DD037ABAA2A3D610BB6BA9999993EB9 +:10D1C0000000483F2DE9F04F2DED048BDBB01C46ED +:10D1D00003930691A74B6899089253F82150111DAB +:10D1E000824604F1FF38C0F2B882D31E48BF131D37 +:10D1F000DB1002930133DB000793DDE907239B1A61 +:10D200000593029B15EB0801A3EB080216D401312C +:10D210009FED997A699811441EAB002AA4BF50F87B +:10D22000224007EE904A02F10102ACBFF8EEE77A25 +:10D23000F0EE477A8A42E3EC017AEED1002DC0F29B +:10D24000FC82039B1EAA02EB830446AE4FEA830CCA +:10D250004046EF180AEB8301B8F1000FDFED867A44 +:10D2600009DB22465346F3EC016A32ED017A8B4228 +:10D27000E6EE877AF7D10130B842E6EC017A04F1A4 +:10D280000404E9D109AB0AAF03EB850907EB850379 +:10D29000083B9FED7B9ADFED798ADDF814B00493AB +:10D2A0000AEB0C042B4646AE00955AAA02EB830209 +:10D2B000002B52ED146A4FEA830516DD06EB83025C +:10D2C000394666EE897AB0EE667AFDEEE77A32ED9F +:10D2D000016AF8EEE77AB242A7EEE87A77EE866A5C +:10D2E000BDEEC77AA1EC017AEBD116EE900A594651 +:10D2F0000193FEF7EBF808EE100AF4EE007A68EE00 +:10D30000277A17EE900AFDF7B3FF06EE900AF0EECB +:10D31000487AB2EE007AE6EEC77ABBF1000F019BC5 +:10D32000FDEEE79AB8EEE98A37EEC88A75DD03F1BB +:10D33000FF3ECBF1080057F82E1041FA00FC0CFA22 +:10D3400000F0081ACBF1070219EE901A40FA02F227 +:10D350006144002A47F82E0009EE901A65DCB5EE0C +:10D36000408AF1EE10FA40F0C580009903F1FF3CCD +:10D3700061450EDC03F18041013907EB810100209A +:10D3800051F80459494540EA0500F9D1002840F018 +:10D39000FC80009A013A57F82220002A40F0F080E1 +:10D3A000049A012552F8041901350029FAD003F135 +:10D3B000010E1D447146039A1344029A02EB0E0CAF +:10D3C0000CF1804C699A0CF1FF3C02EB8C0C1EAA0C +:10D3D00006EB8E0E02EB8300DCED017A9FED267AE0 +:10D3E000F8EEE77AB8F1000F0CF1040CC0ED007A0A +:10D3F000024600F1040009DB534601E072ED017AB8 +:10D40000F3EC016AA342A6EEA77AF7D10131A94253 +:10D41000AEEC017AE0DD2B4647E740F0A7805A1ECC +:10D4200057F82220D211002A99DD19EE901A002B0C +:10D4300001F1010109EE901A40F3A5813868002836 +:10D4400040F08A80012B27D039464FF0010C51F86B +:10D45000040F002800F084800CF10101C0F58070F9 +:10D460008B4247F82C0016DD57F821003D4407EBAE +:10D4700081010AE008270600000000000000804348 +:10D480000000803B0000C93F0868C0F1FF0041F880 +:10D49000040BA942F8D10120BBF1000F0DDDBBF157 +:10D4A000010F00F05281BBF1020F06D15D1E57F84B +:10D4B000251001F03F0147F82510022A7FF44FAFF5 +:10D4C000F7EE007A37EEC88A00283FF448AF17EE2F +:10D4D000900A594609920193FDF7F8FF07EE900A6A +:10D4E00038EE678A099A019BB5EE408AF1EE10FA90 +:10D4F0003FF43BAFCDE90132DDE9073218EE100A07 +:10D50000991A009DFDF7E2FF5FED246A07EE900A8D +:10D51000F4EEE67AF1EE10FADDE90132C0F25B8159 +:10D520001FED297A059927EE877A0831BDEEC77A73 +:10D530000591B8EEC77A03F1010BE7EE667ABDEE0E +:10D54000C77AFDEEE77A17EE901A47F8231017EE28 +:10D55000103A47F82B302FE001214FF0000C7DE707 +:10D560000CF1010C9C457FF472AF95E7F6EE007A62 +:10D57000B4EEE78AF1EE10FA80F2F4800022EEE6D3 +:10D5800003F1010E7146754615E70599009DA1F15D +:10D59000080057F82C100590E34669B903F1804361 +:10D5A000023B07EB8303014653F804090BF1FF3BF1 +:10D5B00008390028F8D00591059900924FF07E5067 +:10D5C000FDF784FFBBF1000F07EE100A009AC0F2CE +:10D5D00027814FEA8B0E46AB03EB0E060EF1040CCF +:10D5E0005FED596A07EB0C03311D73ED017AF8EE1C +:10D5F000E77ABB4267EE877A27EE267A61ED017AF9 +:10D60000F3D1002D1FED616A4FF0000420DB934839 +:10D61000DFED937AB0EE467A3146002303E09C4278 +:10D6200008DBB0EC017AF1EC016A01339D42E6EED1 +:10D63000877AF4DA5AAB03EB8403A34543ED287AE7 +:10D64000A6F1040604F1010305D0002D1C46DEDA24 +:10D65000DFED837AEEE7689902291CDC002900F3EC +:10D6600094800FD132ABDFED7E7A9C443CED017AA1 +:10D67000634577EE877AF9D10AB1F1EE677A069BB6 +:10D68000C3ED007A19EE903A03F007005BB0BDECF1 +:10D69000048BBDE8F08F689B032BF3D1BBF1000F27 +:10D6A00000F0D3800EF5B4736B4432A913ED287AE1 +:10D6B00001EB8B0373ED017AF0EE476A37EE277AC0 +:10D6C000994277EEC77A83ED007A77EEA67AC3EDBA +:10D6D000017AEFD1BBF1010F40F3B7800BF1804B22 +:10D6E0000EF5B4730BF1FF3B0DEB030E4FEA8B0B02 +:10D6F0000BF104031EED287A0B4433A873ED017A75 +:10D70000F0EE476A37EE277A984277EEC77A83EDD4 +:10D71000007A77EEA67AC3ED017AEFD10BF1080B10 +:10D72000DFED4F7A01EB0B03083133ED017A9942BB +:10D7300077EE877AF9D1002A55D10699329A339B30 +:10D740000A604B60C1ED027A9CE75D1E57F8251018 +:10D7500001F07F0147F82510AFE608230793002367 +:10D7600002934AE519EE902A002B02F1010209EE1C +:10D77000902AC8BF02223FF761AEF7EE007A37EE7B +:10D78000C88A0222EBE5002086E632A9DFED347A72 +:10D7900001EB830333ED017A994277EE877AF9D171 +:10D7A0009DED327A8ABB069BBBF1000FC3ED007A78 +:10D7B00077EE677A0BDD33A90123B1EC017A0133EF +:10D7C0009B4577EE877AF8DA0AB1F1EE677A069B25 +:10D7D000C3ED017A56E7FDEEE77A9B4617EE901A05 +:10D7E00047F82310E8E6DDED326A9DED337A069BBB +:10D7F000F1EE666AB1EE477AF1EE677AC3ED006A40 +:10D8000083ED017AC3ED027A3CE7069BF1EE676A8D +:10D81000BBF1000F77EE677AC3ED006ACBDCD4E78B +:10D82000689B022B0DDC002B14DC7FF42BAFDFEDAB +:10D830000C7A002A3FF423AF1FE7039B4FEA830CC7 +:10D8400020E5689B032B7FF41DAFDFED057A002AEE +:10D85000C9D172E7DFED027AA2E700BFE026060039 +:10D860000000000020F00043B3F1485F07EE900A8B +:10D8700006EE901A04DABDEEE77A17EE103A83B39B +:10D8800027EEA77A9FED176ADFED174A9FED175A2B +:10D89000DFED175AE7EE064A9FED166AA4EE875AA7 +:10D8A00027EE874AE5EE075AA5EE876A42B9DFED13 +:10D8B000126AE7EE066AE6EE847A17EE900A70477F +:10D8C00026EE446AF6EE005AA6EEA56ADFED0B5A84 +:10D8D000D6EE076AE4EE256A77EEE67A17EE900A4E +:10D8E00070477047D3C92E2F342FD7B21BEF38366D +:10D8F000010D50B98988083CABAA2ABEABAA2A3EC2 +:10D9000020F0004CBCF1465F08B507EE900A07EE28 +:10D91000101A034613DAFDEEE76A16EE901A19BBE9 +:10D92000531C53EA0C0300F0A680012A00F0AC80DF +:10D93000BFEE007AC7EE276A16EE900A08BD54497A +:10D940008C4511DBDFED536A9FED536A0028BCBFA5 +:10D95000B1EE477AF1EE677A76EEE77A76EE476ACD +:10D960009FED4E7A76EEA77A27EEA76A9FED4C4A96 +:10D970009FED4C5ADFED4C4ADFED4C5A444966EEC0 +:10D98000066A8C45A6EE845AE6EEA45A9FED484AF4 +:10D99000DFED484AA5EE264AE5EEA64A9FED465A37 +:10D9A000DFED465AA4EE265AE4EEA65A9FED444A0D +:10D9B000DFED444AA5EE264AE5EEA64ADFED425ADF +:10D9C0009FED425AE4EE265AA4EEA65AF0EE656A9E +:10D9D000E5EE066A67EE864AF0EE475AE6EEA45A8E +:10D9E0009FED3B4AA5EE867AA4EE847A77EE876AAD +:10D9F00021DA012A1CD0BFEE006AC6EE265A354B4A +:10DA000016EE902A1A4005EE102A15EE902A75EEB1 +:10DA1000677A134006EE903AB7EE006A37EE677AFF +:10DA2000F0EE467AE5EE267AE7EE267AE7EEA56A8C +:10DA300016EE900A08BD06EE102AB8EEC66A66EE2B +:10DA4000A64A76EE866A9B17C4EEA65A03F0020336 +:10DA5000C3F10103B0EE005A35EEC77A06EE903AF4 +:10DA600077EEC77AF8EEE66AA7EEC56A66EE866AD2 +:10DA700016EE900A08BDFDF7F7FB07EE100AF7EE69 +:10DA8000007AC7EE876AD3E706EE900AD0E700BFB8 +:10DA900040A12C3FDA0F493F6821223300000000EB +:10DAA0005FAE9BB745F4A3388453D9377AC0953815 +:10DAB000C8261A3AB937813916696B3B48DEBE3A37 +:10DAC000A427B33C1F37113C8988083ED10D5D3D2A +:10DAD000ABAAAA3E00F0FFFF10B582B08DED010A9F +:10DAE000044600F067F89DED010A046002B010BD25 +:10DAF00030B1F1EE407A27EE800A2220FFF7ECBF2A +:10DB0000F0EE407A27EE800A2220FFF7E5BF00BF43 +:10DB100008B59FED030AFFF7EBFF10EE100A08BDF2 +:10DB20000000001008B59FED030AFFF7E1FF10EEBB +:10DB3000100A08BD0000007021F00041704700BFCE +:10DB400001490020704700BF0000F87F20F000402E +:10DB5000B0F1FF4FACBF00200120704730F0004013 +:10DB60000ED0A0F50003B3F1FE4F0DD3074B421EBC +:10DB70009A4207D9A0F1FF40B0FA80F040097047FF +:10DB8000022070470320704704207047FEFF7F008B +:10DB9000004870470000C07F10B5054C13462CB1FB +:10DBA0000A4601460220AFF3008010BD2046FCE784 +:10DBB00000000000014B1868704700BFF8200020EB +:10DBC00008B5074B044613B10021AFF30080054BA5 +:10DBD0001868836A03B19847204601F011FB00BF23 +:10DBE000000000001427060070B50D4D0D4C641B9D +:10DBF000A4100026A64209D10B4D0C4C0BF0B6FD2B +:10DC0000641BA4100026A64205D170BD55F8043B44 +:10DC100098470136EEE755F8043B98470136F2E79E +:10DC2000882100208821002088210020AC210020AC +:10DC3000024B014618680BF03BBD00BFF8200020E6 +:10DC400038B5074D00230446084611462B6001F005 +:10DC5000CFFA431C02D12B6803B1236038BD00BF4B +:10DC600054430020012B2DE9F04701D0242B06D985 +:10DC7000FFF7A0FF162303600020BDE8F087DFF860 +:10DC8000E4C00D462E4615F8014B14F80C7017F041 +:10DC90000807F7D12D2C32D12C780127B51C002B89 +:10DCA0005BD0102B09D1302C07D12C7804F0DF0485 +:10DCB000582C4DD16C781023023507F1004808F13B +:10DCC000FF384FF0000CB8FBF3F9664603FB198AE6 +:10DCD000A4F1300EBEF1090F16D87446A34224DD1C +:10DCE000BCF1000F1EDBB1451CD301D1A24519DBED +:10DCF00006FB03464FF0010C15F8014BE8E72B2C0F +:10DD000004BF2C78B51CCAE7A4F1410EBEF1190F6F +:10DD100001D8373CE2E7A4F1610EBEF1190F04D837 +:10DD2000573CDBE74FF0FF3CE6E7BCF1000F05DABC +:10DD300022230360464642B930469EE707B1764249 +:10DD4000002AF9D0BCF1000F00D0691E1160F3E782 +:10DD50003024002BB1D10823AFE7302CA5D00A2303 +:10DD6000ABE700BF0D8D060013460A460146024888 +:10DD70000068FFF777BF00BFF82000202DE9F043CF +:10DD8000364F86460D46284615F8014BE65D16F0DF +:10DD90000806F8D12D2C2FD12C780126851C002BBC +:10DDA00057D0102B09D1302C07D1287800F0DF0094 +:10DDB000582849D16C78102302354FF0FF380027DE +:10DDC000B8FBF3F803FB08F96FEA09093846A4F138 +:10DDD000300CBCF1090F14D86446A34222DD002F99 +:10DDE0001DDB80451BD301D1A14518DB00FB03409F +:10DDF000012715F8014BEAE72B2C04BF2C78851C72 +:10DE0000CDE7A4F1410CBCF1190F01D8373CE4E790 +:10DE1000A4F1610CBCF1190F04D8573CDDE74FF0B9 +:10DE2000FF37E6E7002F07DA2223CEF800304FF065 +:10DE3000FF3032B9BDE8F08306B14042002AF9D084 +:10DE400007B1691E1160F5E73024002BB5D1082316 +:10DE5000B3E7302CA9D00A23AFE700BF0D8D060031 +:10DE600013460A46014602480068FFF787BF00BF15 +:10DE7000F820002081F0004102E000BF83F0004361 +:10DE800030B54FEA41044FEA430594EA050F08BF55 +:10DE900090EA020F1FBF54EA000C55EA020C7FEA19 +:10DEA000645C7FEA655C00F0E2804FEA5454D4EB96 +:10DEB0005555B8BF6D420CDD2C4480EA020281EA60 +:10DEC000030382EA000083EA010180EA020281EA98 +:10DED0000303362D88BF30BD11F0004F4FEA0131EA +:10DEE0004FF4801C4CEA113102D0404261EB4101F9 +:10DEF00013F0004F4FEA03334CEA133302D052427F +:10DF000063EB430394EA050F00F0A780A4F101043A +:10DF1000D5F1200E0DDB02FA0EFC22FA05F2801874 +:10DF200041F1000103FA0EF2801843FA05F359415A +:10DF30000EE0A5F120050EF1200E012A03FA0EFCD9 +:10DF400028BF4CF0020C43FA05F3C01851EBE37103 +:10DF500001F0004507D54FF0000EDCF1000C7EEB20 +:10DF600000006EEB0101B1F5801F1BD3B1F5001F5E +:10DF70000CD349085FEA30004FEA3C0C04F101047D +:10DF80004FEA445212F5800F80F09A80BCF1004FA6 +:10DF900008BF5FEA500C50F1000041EB045141EA28 +:10DFA000050130BD5FEA4C0C404141EB0101013CF1 +:10DFB00028BFB1F5801FE9D291F0000F04BF0146E0 +:10DFC0000020B1FA81F308BF2033A3F10B03B3F1B2 +:10DFD00020020CDA0C3208DD02F1140CC2F10C0242 +:10DFE00001FA0CF021FA02F10CE002F11402D8BFA0 +:10DFF000C2F1200C01FA02F120FA0CFCDCBF41EA6C +:10E000000C019040E41AA2BF01EB0451294330BD3A +:10E010006FEA04041F3C1CDA0C340EDC04F1140417 +:10E02000C4F1200220FA04F001FA02F340EA0300EE +:10E0300021FA04F345EA030130BDC4F10C04C4F134 +:10E04000200220FA02F001FA04F340EA0300294614 +:10E0500030BD21FA04F0294630BD94F0000F83F45E +:10E06000801306BF81F480110134013D4EE77FEA41 +:10E07000645C18BF7FEA655C29D094EA050F08BF8D +:10E0800090EA020F05D054EA000C04BF194610466E +:10E0900030BD91EA030F1EBF0021002030BD5FEAB2 +:10E0A000545C05D14000494128BF41F0004130BDDA +:10E0B00014F580043CBF01F5801130BD01F000452E +:10E0C00045F0FE4141F470014FF0000030BD7FEAA1 +:10E0D000645C1ABF194610467FEA655C1CBF0B469C +:10E0E000024650EA013406BF52EA033591EA030FB3 +:10E0F00041F4002130BD00BF90F0000F04BF0021AB +:10E10000704730B54FF4806404F132044FF00005DD +:10E110004FF0000150E700BF90F0000F04BF002156 +:10E12000704730B54FF4806404F1320410F00045BC +:10E1300048BF40424FF000013EE700BF42004FEAB7 +:10E14000E2014FEA31014FEA02701FBF12F07F4334 +:10E1500093F07F4F81F06051704732F07F4208BFEB +:10E16000704793F07F4F04BF41F40021704730B5F2 +:10E170004FF4607401F0004521F000411CE700BF3E +:10E1800050EA010208BF704730B54FF000050AE0C1 +:10E1900050EA010208BF704730B511F0004502D5C2 +:10E1A000404261EB41014FF4806404F132045FEAC4 +:10E1B000915C3FF4D8AE4FF003025FEADC0C18BF6D +:10E1C00003325FEADC0C18BF033202EBDC02C2F15F +:10E1D000200300FA03FC20FA02F001FA03FE40EAF1 +:10E1E0000E0021FA02F11444BDE600BF70B54FF0F5 +:10E1F000FF0C4CF4E06C1CEA11541DBF1CEA1355D3 +:10E2000094EA0C0F95EA0C0F00F0DEF82C4481EA3A +:10E21000030621EA4C5123EA4C5350EA013518BF5A +:10E2200052EA033541F4801143F4801338D0A0FB47 +:10E2300002CE4FF00005E1FB02E506F00042E0FBF4 +:10E2400003E54FF00006E1FB03569CF0000F18BFFA +:10E250004EF0010EA4F1FF04B6F5007F64F54074A2 +:10E2600004D25FEA4E0E6D4146EB060642EAC62135 +:10E2700041EA55514FEAC52040EA5E504FEACE2EA2 +:10E28000B4F1FD0C88BFBCF5E06F1ED8BEF1004FA5 +:10E2900008BF5FEA500E50F1000041EB045170BD21 +:10E2A00006F0004646EA010140EA020081EA030165 +:10E2B000B4EB5C04C2BFD4EB0C0541EA045170BD61 +:10E2C00041F480114FF0000E013C00F3AB8014F1DB +:10E2D000360FDEBF002001F0004170BDC4F1000424 +:10E2E000203C35DA0C341BDC04F11404C4F12005A5 +:10E2F00000FA05F320FA04F001FA05F240EA020000 +:10E3000001F0004221F0004110EBD37021FA04F635 +:10E3100042EB06015EEA430E08BF20EAD37070BDEF +:10E32000C4F10C04C4F1200500FA04F320FA05F04E +:10E3300001FA04F240EA020001F0004110EBD37050 +:10E3400041F100015EEA430E08BF20EAD37070BDC0 +:10E35000C4F1200500FA05F24EEA020E20FA04F399 +:10E3600001FA05F243EA020321FA04F001F0004148 +:10E3700021FA04F220EA020000EBD3705EEA430EB9 +:10E3800008BF20EAD37070BD94F0000F0FD101F0E8 +:10E390000046400041EB010111F4801F08BF013C21 +:10E3A000F7D041EA060195F0000F18BF704703F05F +:10E3B0000046520043EB030313F4801F08BF013DE6 +:10E3C000F7D043EA0603704794EA0C0F0CEA1355A2 +:10E3D00018BF95EA0C0F0CD050EA410618BF52EA5C +:10E3E0004306D1D181EA030101F000414FF0000062 +:10E3F00070BD50EA410606BF1046194652EA430670 +:10E4000019D094EA0C0F02D150EA013613D195EAE3 +:10E410000C0F05D152EA03361CBF104619460AD12B +:10E4200081EA030101F0004141F0FE4141F4700135 +:10E430004FF0000070BD41F0FE4141F4780170BD25 +:10E4400070B54FF0FF0C4CF4E06C1CEA11541DBF8A +:10E450001CEA135594EA0C0F95EA0C0F00F0A7F88C +:10E46000A4EB050481EA030E52EA03354FEA0131B9 +:10E4700000F088804FEA03334FF0805545EA1313CC +:10E4800043EA12634FEA022245EA111545EA106594 +:10E490004FEA00260EF000419D4208BF964244F12B +:10E4A000FD0404F5407402D25B084FEA3202B61A4A +:10E4B00065EB03055B084FEA32024FF480104FF41E +:10E4C000002CB6EB020E75EB030E22BFB61A754692 +:10E4D00040EA0C005B084FEA3202B6EB020E75EB25 +:10E4E000030E22BFB61A754640EA5C005B084FEA8D +:10E4F0003202B6EB020E75EB030E22BFB61A75465A +:10E5000040EA9C005B084FEA3202B6EB020E75EB64 +:10E51000030E22BFB61A754640EADC0055EA060E25 +:10E5200018D04FEA051545EA16754FEA06164FEA68 +:10E53000C30343EA52734FEAC2025FEA1C1CC0D114 +:10E5400011F4801F0BD141EA00014FF000004FF0A1 +:10E55000004CB6E711F4801F04BF01430020B4F162 +:10E56000FD0C88BFBCF5E06F3FF6AFAEB5EB030C1A +:10E5700004BFB6EB020C5FEA500C50F1000041EB17 +:10E58000045170BD0EF0004E4EEA113114EB5C04E4 +:10E59000C2BFD4EB0C0541EA045170BD41F48011B7 +:10E5A0004FF0000E013C90E645EA060E8DE60CEABF +:10E5B000135594EA0C0F08BF95EA0C0F3FF43BAFDC +:10E5C00094EA0C0F0AD150EA01347FF434AF95EA93 +:10E5D0000C0F7FF425AF104619462CE795EA0C0F77 +:10E5E00006D152EA03353FF4FDAE1046194622E744 +:10E5F00050EA410618BF52EA43067FF4C5AE50EA1E +:10E6000041047FF40DAF52EA43057FF4EBAE12E70D +:10E610004FF0FF3C06E000BF4FF0010C02E000BFEE +:10E620004FF0010C4DF804CD4FEA410C7FEA6C5CD1 +:10E630004FEA430C18BF7FEA6C5C1BD001B050EA74 +:10E64000410C0CBF52EA430C91EA030F02BF90EA5F +:10E65000020F0020704710F1000F91EA030F58BF1E +:10E66000994208BF90422CBFD8176FEAE37040F080 +:10E67000010070474FEA410C7FEA6C5C02D150EA1E +:10E68000013C07D14FEA430C7FEA6C5CD6D152EAD9 +:10E69000033CD3D05DF8040B704700BF844610469E +:10E6A00062468C461946634600E000BF01B5FFF79D +:10E6B000B7FF002848BF10F1000F01BD4DF808ED6D +:10E6C000FFF7F4FF0CBF012000205DF808FB00BF3E +:10E6D0004DF808EDFFF7EAFF34BF012000205DF898 +:10E6E00008FB00BF4DF808EDFFF7E0FF94BF0120E5 +:10E6F00000205DF808FB00BF4DF808EDFFF7CEFFE6 +:10E7000094BF012000205DF808FB00BF4DF808ED24 +:10E71000FFF7C4FF34BF012000205DF808FB00BFF5 +:10E720004FEA410C7FEA6C5C02D150EA013C0AD10D +:10E730004FEA430C7FEA6C5C02D152EA033C02D1FF +:10E740004FF0000070474FF0010070474FEA410260 +:10E7500012F5001215D211D56FF47873B3EB625233 +:10E7600012D94FEAC12343F0004343EA505311F05A +:10E77000004F23FA02F018BF404270474FF00000EC +:10E78000704750EA013005D111F0004008BF6FF02A +:10E79000004070474FF00000704700BF4A0011D2A0 +:10E7A00012F5001211D20DD56FF47873B3EB6252EB +:10E7B0000ED44FEAC12343F0004343EA505323FAF7 +:10E7C00002F070474FF00000704750EA013002D16C +:10E7D0004FF0FF3070474FF0000070474FEA4102A2 +:10E7E000B2F1E04324BFB3F5001CDCF1FE5C0DD9AF +:10E7F00001F0004C4FEAC0024CEA5070B2F1004FF9 +:10E8000040EB830008BF20F00100704711F0804FFB +:10E8100021D113F13872BCBF01F00040704741F4C0 +:10E8200080114FEA5252C2F11802C2F1200C10FAC4 +:10E830000CF320FA02F018BF40F001004FEAC123A8 +:10E840004FEAD32303FA0CFC40EA0C0023FA02F34C +:10E850004FEA4303CCE77FEA625307D150EA013322 +:10E860001EBF4FF0FE4040F44000704701F00040F2 +:10E8700040F0FE4040F40000704700BF80F00040D0 +:10E8800002E000BF81F0004142001FBF5FEA410388 +:10E8900092EA030F7FEA226C7FEA236C6AD04FEA88 +:10E8A0001262D2EB1363C1BFD218414048404140CD +:10E8B000B8BF5B42192B88BF704710F0004F40F47F +:10E8C000000020F07F4018BF404211F0004F41F49B +:10E8D000000121F07F4118BF494292EA030F3FD067 +:10E8E000A2F1010241FA03FC10EB0C00C3F120037A +:10E8F00001FA03F100F0004302D5494260EB400009 +:10E90000B0F5000F13D3B0F1807F06D340084FEA73 +:10E91000310102F10102FE2A51D2B1F1004F40EB68 +:10E92000C25008BF20F0010040EA030070474900D0 +:10E9300040EB0000013A28BFB0F5000FEDD2B0FA6D +:10E9400080FCACF1080CB2EB0C0200FA0CF0AABF90 +:10E9500000EBC25052421843BCBFD040184370472E +:10E9600092F0000F81F4000106BF80F40000013234 +:10E97000013BB5E74FEA41037FEA226C18BF7FEA0B +:10E98000236C21D092EA030F04D092F0000F08BF4D +:10E990000846704790EA010F1CBF0020704712F034 +:10E9A0007F4F04D1400028BF40F00040704712F173 +:10E9B00000723CBF00F50000704700F0004343F0D8 +:10E9C000FE4040F4000070477FEA226216BF08460E +:10E9D0007FEA23630146420206BF5FEA412390EAD1 +:10E9E000010F40F4800070474FF0000304E000BFC7 +:10E9F00010F0004348BF40425FEA000C08BF704778 +:10EA000043F0964301464FF000001CE050EA01023B +:10EA100008BF70474FF000030AE000BF50EA010250 +:10EA200008BF704711F0004302D5404261EB41013D +:10EA30005FEA010C02BF84460146002043F0B64362 +:10EA400008BFA3F18053A3F50003BCFA8CF2083A87 +:10EA5000A3EBC25310DB01FA02FC634400FA02FC90 +:10EA6000C2F12002BCF1004F20FA02F243EB020097 +:10EA700008BF20F00100704702F1200201FA02FCF9 +:10EA8000C2F1200250EA4C0021FA02F243EB0200EC +:10EA900008BF20EADC7070474FF0FF0C1CEAD05230 +:10EAA0001EBF1CEAD15392EA0C0F93EA0C0F6FD0F1 +:10EAB0001A4480EA010C400218BF5FEA41211ED0CF +:10EAC0004FF0006343EA501043EA5111A0FB0131BB +:10EAD0000CF00040B1F5000F3EBF490041EAD37190 +:10EAE0005B0040EA010062F17F02FD2A1DD8B3F10C +:10EAF000004F40EBC25008BF20F00100704790F07B +:10EB0000000F0CF0004C08BF49024CEA502040EACC +:10EB100051207F3AC2BFD2F1FF0340EAC250704792 +:10EB200040F400004FF00003013A5DDC12F1190FD0 +:10EB3000DCBF00F000407047C2F10002410021FA42 +:10EB400002F1C2F1200200FA02FC5FEA310040F15A +:10EB5000000053EA4C0308BF20EADC70704792F0D3 +:10EB6000000F00F0004C02BF400010F4000F013A0B +:10EB7000F9D040EA0C0093F0000F01F0004C02BF06 +:10EB8000490011F4000F013BF9D041EA0C018FE775 +:10EB90000CEAD15392EA0C0F18BF93EA0C0F0AD07B +:10EBA00030F0004C18BF31F0004CD8D180EA0100A1 +:10EBB00000F00040704790F0000F17BF90F0004F3A +:10EBC000084691F0000F91F0004F14D092EA0C0F1C +:10EBD00001D142020FD193EA0C0F03D14B0218BFAF +:10EBE000084608D180EA010000F0004040F0FE40F5 +:10EBF00040F40000704740F0FE4040F44000704791 +:10EC00004FF0FF0C1CEAD0521EBF1CEAD15392EA0F +:10EC10000C0F93EA0C0F69D0A2EB030280EA010CFF +:10EC200049024FEA402037D04FF0805343EA111198 +:10EC300043EA10130CF000408B4238BF5B0042F1F6 +:10EC40007D024FF4000C8B4224BF5B1A40EA0C009B +:10EC5000B3EB510F24BFA3EB510340EA5C00B3EBCD +:10EC6000910F24BFA3EB910340EA9C00B3EBD10FBB +:10EC700024BFA3EBD10340EADC001B0118BF5FEA0D +:10EC80001C1CE0D1FD2A3FF650AF8B4240EBC25036 +:10EC900008BF20F0010070470CF0004C4CEA5020F7 +:10ECA0007F32C2BFD2F1FF0340EAC250704740F446 +:10ECB00000004FF00003013A37E792F0000F00F038 +:10ECC000004C02BF400010F4000F013AF9D040EAB6 +:10ECD0000C0093F0000F01F0004C02BF490011F44A +:10ECE000000F013BF9D041EA0C0195E70CEAD15342 +:10ECF00092EA0C0F08D142027FF47DAF93EA0C0F29 +:10ED00007FF470AF084676E793EA0C0F04D14B020C +:10ED10003FF44CAF08466EE730F0004C18BF31F0BE +:10ED2000004CCAD130F000427FF45CAF31F00043B8 +:10ED30007FF43CAF5FE700BF4FF0FF3C06E000BF51 +:10ED40004FF0010C02E000BF4FF0010C4DF804CD74 +:10ED50004FEA40024FEA41037FEA226C18BF7FEA84 +:10ED6000236C11D001B052EA530C18BF90EA010F86 +:10ED700058BFB2EB030088BFC81738BF6FEAE17015 +:10ED800018BF40F0010070477FEA226C02D15FEAB1 +:10ED9000402C05D17FEA236CE4D15FEA412CE1D01D +:10EDA0005DF8040B704700BF844608466146FFE7E4 +:10EDB0000FB5FFF7C9FF002848BF10F1000F0FBDC6 +:10EDC0004DF808EDFFF7F4FF0CBF012000205DF8BF +:10EDD00008FB00BF4DF808EDFFF7EAFF34BF012044 +:10EDE00000205DF808FB00BF4DF808EDFFF7E0FFDD +:10EDF00094BF012000205DF808FB00BF4DF808ED2E +:10EE0000FFF7D2FF94BF012000205DF808FB00BF90 +:10EE10004DF808EDFFF7C8FF34BF012000205DF872 +:10EE200008FB00BF4FEA40024FEA41037FEA226C31 +:10EE300002D15FEA402C08D17FEA236C02D15FEA5D +:10EE4000412C02D14FF0000070474FF00100704795 +:10EE50004FEA4002B2F1FE4F0FD34FF09E03B3EBE7 +:10EE600012620DD94FEA002343F0004310F0004F27 +:10EE700023FA02F018BF404270474FF0000070477D +:10EE800012F1610F01D1420205D110F0004008BF1C +:10EE90006FF0004070474FF00000704742000ED204 +:10EEA000B2F1FE4F0BD34FF09E03B3EB126209D4C5 +:10EEB0004FEA002343F0004323FA02F070474FF07B +:10EEC0000000704712F1610F01D1420202D14FF0F0 +:10EED000FF3070474FF00000704700BF53B94AB988 +:10EEE000002908BF00281CBF4FF0FF314FF0FF3052 +:10EEF00000F074B9ADF1080C6DE904CE00F006F82D +:10EF0000DDF804E0DDE9022304B070472DE9F047A5 +:10EF1000089D04468E46002B4DD18A42944669D9FD +:10EF2000B2FA82F252B101FA02F3C2F1200120FAE0 +:10EF300001F10CFA02FC41EA030E94404FEA1C482E +:10EF4000210CBEFBF8F61FFA8CF708FB16E341EA2A +:10EF5000034306FB07F199420AD91CEB030306F1B0 +:10EF6000FF3080F01F81994240F21C81023E6344D1 +:10EF70005B1AA4B2B3FBF8F008FB103344EA034475 +:10EF800000FB07F7A7420AD91CEB040400F1FF338A +:10EF900080F00A81A74240F207816444023840EAC7 +:10EFA0000640E41B00261DB1D4400023C5E9004300 +:10EFB0003146BDE8F0878B4209D9002D00F0EF8083 +:10EFC0000026C5E9000130463146BDE8F087B3FAB6 +:10EFD00083F6002E4AD18B4202D3824200F2F9809E +:10EFE000841A61EB030301209E46002DE0D0C5E9A1 +:10EFF000004EDDE702B9FFDEB2FA82F2002A40F0ED +:10F000009280A1EB0C014FEA1C471FFA8CFE0126EF +:10F01000200CB1FBF7F307FB131140EA01410EFB93 +:10F0200003F0884208D91CEB010103F1FF3802D23A +:10F03000884200F2CB804346091AA4B2B1FBF7F034 +:10F0400007FB101144EA01440EFB00FEA64508D957 +:10F050001CEB040400F1FF3102D2A64500F2BB8094 +:10F060000846A4EB0E0440EA03409CE7C6F12007E3 +:10F07000B34022FA07FC4CEA030C20FA07F401FA29 +:10F0800006F31C43F9404FEA1C4900FA06F3B1FBB2 +:10F09000F9F8200C1FFA8CFE09FB181140EA014117 +:10F0A00008FB0EF0884202FA06F20BD91CEB0101B4 +:10F0B00008F1FF3A80F08880884240F28580A8F10C +:10F0C00002086144091AA4B2B1FBF9F009FB10115E +:10F0D00044EA014100FB0EFE8E4508D91CEB0101FC +:10F0E00000F1FF346CD28E456AD90238614440EA9F +:10F0F0000840A0FB0294A1EB0E01A142C846A6461F +:10F1000056D353D05DB1B3EB080261EB0E0101FAA7 +:10F1100007F722FA06F3F1401F43C5E90071002604 +:10F120003146BDE8F087C2F12003D8400CFA02FC5A +:10F1300021FA03F3914001434FEA1C471FFA8CFE6A +:10F14000B3FBF7F007FB10360B0C43EA064300FB5A +:10F150000EF69E4204FA02F408D91CEB030300F1F8 +:10F16000FF382FD29E422DD9023863449B1B89B2AF +:10F17000B3FBF7F607FB163341EA034106FB0EF338 +:10F180008B4208D91CEB010106F1FF3816D28B42E5 +:10F1900014D9023E6144C91A46EA004638E72E46B1 +:10F1A000284605E70646E3E61846F8E64B45A9D2A9 +:10F1B000B9EB020864EB0C0E0138A3E74646EAE718 +:10F1C000204694E74046D1E7D0467BE7023B6144C6 +:10F1D00032E7304609E76444023842E7704700BF2F +:10F1E000024B58221A604FF0FF3070475443002002 +:10F1F000024B58221A604FF0FF30704754430020F2 +:10F20000FEE700BF70477047C16000207047007A7A +:10F21000704784B00DF1100C0CE90F0004B0DFF75B +:10F220007BBC84B00DF1100C0CE90F00BDF802009E +:10F2300004B0DFF79FBE84B00DF1100C0CE90F0095 +:10F24000BDF8020004B0CFF723BE08B55A2000F085 +:10F25000DAF95A2008BD10B50446CFF7E3F9204685 +:10F260000AF0BCF9204610BD2DE9F7430546BDF86C +:10F2700028900E4690461F46FBB10F2902D1B9F1E6 +:10F28000C00F1AD128200AF0ABF93B46B1B2CDF835 +:10F2900000901FFA88F2044603F0FFF92B6821461C +:10F2A0005B682846984740B1204603F00AFA20469A +:10F2B00003B0BDE8F0430AF091B903B0BDE8F083B4 +:10F2C00010B50446CFF7B8F920460AF087F9204672 +:10F2D00010BD10B50446CFF7BBF920460AF07EF901 +:10F2E000204610BD10B50446CFF7C4F920460AF0F9 +:10F2F00075F9204610BD10B50446CFF75BFA2046DD +:10F300000AF06CF9204610BDA0F10400F3E71FB528 +:10F31000012302220F21684605F074FB05B05DF859 +:10F3200004FB08B5FFF7F3FF30BF08BD08B500F0D8 +:10F3300067F9D0F7A5BA08B500200021CFF7E6FAA3 +:10F3400001302128F9D10846CFF7D0FABDE80840AE +:10F350000120CFF7CBBA1FB5019002A8D8F714FC53 +:10F36000019902A805F0DEFA05B05DF804FB10B5BE +:10F370004FF4803003F018FA04464FF4803003F065 +:10F3800013FA40EA044010BD0020704781607047C6 +:10F3900070470120704738B50B6904460D46984701 +:10F3A00005F10C01204605F010FD204638BD07EEA2 +:10F3B000901AF5EE407A0023F1EE10FA10B50446EB +:10F3C000C161836204D1406803689B699847E0612A +:10F3D00010BD704710B504460AF000F9204610BD74 +:10F3E00038B5C36802691C68121B054607D16868F6 +:10F3F0000368DB68984700232B75002038BD8168BF +:10F4000040680C44214605F01EFA001BEFD02B7D0E +:10F41000002BECD1214622180B78803B01F8013BF0 +:10F420008A42F9D1EA68136818441060E5E784B0AD +:10F430000DF1100C0CE90F00BDF8020004B0DFF76D +:10F44000EDBE08B5D6F794FD08BD08B5D6F780FD2A +:10F4500008BD82B07FB5054608A880E80C000868A2 +:10F4600049684A1011F0010F02AB03C30B4618BFE5 +:10F47000AB58044605EB610618BF1C58DDE90A01CC +:10F480008DE8030008AB0CCB3046A04704B0BDE8C4 +:10F49000704002B0704710B50446D0F8E808036821 +:10F4A00001211B6898470121D4F8E80806F0E1FA29 +:10F4B000D4F84818D4F8E00805F019FF012384F8BF +:10F4C000603810BD38B50025044680F86058D0F883 +:10F4D000E808036829461B689847D4F8E8082946D5 +:10F4E000BDE8384006F0C5BA82B038B504A981E855 +:10F4F0000C000446D0F84808BDF81250183004F04B +:10F50000E5FF48B925F00205012D05D02046BDE8EC +:10F51000384002B0FFF7D6BF2046BDE8384002B001 +:10F52000FFF7B9BFFF2908B505D889000830D1F722 +:10F530008FFF002008BD6FF47A70FBE7034680F868 +:10F540006218D0F8DC080A4638B1D3F8681812B14E +:10F55000012206F088B906F0B0B97047034680F87A +:10F560006318D0F8DC080A4638B1D3F8641812B131 +:10F57000002206F078B906F0A0B9704770B590F88F +:10F58000636804460D460021FFF7E8FFC4F864589D +:10F5900031462046BDE87040FFF7E0BF10B5044695 +:10F5A000CFF794FF20460AF019F8204610BDA0F1CD +:10F5B0001800F3E710B50446CFF7A6FF20460AF07F +:10F5C0000DF8204610BD12DF70477047084603F063 +:10F5D000E9B806F035BD084603F0E0B8DAF750BAEE +:10F5E00007B500230DF107008DF80730FFF7EBFF9B +:10F5F0009DF80700431E5842584103B05DF804FBD4 +:10F6000008B5D0F7B5F808B5D0F73AF908B5084607 +:10F61000FFF7F9FF08BD4FF0FF307047A0F13C0045 +:10F62000D0F718BA10B50446D0F714FA204609F0FE +:10F63000D5FF204610BDA0F13C00FFF7F3BF30B569 +:10F640001C22441E21FA02F303F00F052B46092D5C +:10F65000CCBF37333033043A04F8013F131DF1D1E6 +:10F660000023037230BD10B50446C0E90012836068 +:10F670004FF48072042308310C3002F0FBF80022B2 +:10F68000012104F1240002F0A7FF04F19800D8F74B +:10F690009DFB0023C4E91333C4E91533A36323623C +:10F6A00023646363E3636364A4F85C302366C4F893 +:10F6B0009430204610BD036A19B143F00803036279 +:10F6C000704723F00803FAE72DE9F04F85B017469D +:10F6D00098469DF83830009304463E46D8F776FBAE +:10F6E00000254FF05F090FFA88F245454BDA05F126 +:10F6F000020BD84505F1010A25DD31782D2922D1EB +:10F7000071782D291FD1B1783E291CD121684988F3 +:10F7100061B9394603A80192D8F73EFB03A92046F8 +:10F7200005F0ACFC03A805F02FFC019A21682944E0 +:10F7300081F804902168514481F80490216801EB1C +:10F740000B0383F8049016F8013B092B05D00099B0 +:10F75000B9B12C2B01D00A2B13D123685B8863B974 +:10F76000394603A80192D8F717FB03A9204605F0F4 +:10F7700085FC03A805F008FC019A23682B4483F854 +:10F7800004905546B1E7204605B0BDE8F08F2DE95D +:10F79000F047056A15F0010586B0044640F0C280C6 +:10F7A000D0F79EFA0746002800F0BF8003A8D0F7E4 +:10F7B000B1F9636CE66B20689E1B03681B6B98476E +:10F7C000636CB6FBF0F0E66BA0632664A364A84606 +:10F7D00004F10C09636CB3421DD9082303AA314616 +:10F7E000484602F0D8F803AA1146002311F8010B8D +:10F7F000FF2805D10133082BF8D1B8F1000F0AD149 +:10F80000002312F8011B002940F09A800133082BD5 +:10F81000F7D10836DEE700238DF80630D4E912135D +:10F8200099420DD201230DF10602484602F0B3F8C9 +:10F830009DF80630FF2B03D0A36C0133A364EDE7E2 +:10F84000666B2D3601230DF107023146484602F062 +:10F85000A2F89DF807300BB90136F3E737469DF85B +:10F860000730FF2B08D0013701230DF1070239467D +:10F87000484602F090F8F2E7BF1B6765002F4DD0B5 +:10F880004FF0000A2665C4F858A03846D5F708FF9F +:10F890003B46804602463146484602F07CF8626D9F +:10F8A000434642449A420BD019782C2901D00A29A8 +:10F8B00004D1A16D83F800A00131A1650133F1E706 +:10F8C000A06DC000D5F7ECFE00272066A36DAB420B +:10F8D00021D9266E06EBC5063046D8F777FA301DDB +:10F8E000D8F774FA236E4FEAC509994408EB07016B +:10F8F00002A8D8F73BFA02A9484605F0BFFB02A8C8 +:10F9000005F042FB236E53F83530B3F90230013372 +:10F910001F440135DAE74046D5F7E6FE236A43F097 +:10F920000103236206B0BDE8F08701462046D0F708 +:10F93000B3FA0121204606B0BDE8F047D0F7F4B88D +:10F9400026641022002103A8D4F84480FEF788FA28 +:10F950004044A064B8465CE737B500F1240504468E +:10F9600028460191D5F738FE20460199D0F794FA40 +:10F97000284603B0BDE83040D5F75EBE37B500F18C +:10F980002405044628460191D5F726FE2046019914 +:10F99000D0F7F2F9284603B0BDE83040D5F74CBEA9 +:10F9A00009680431D0F74EBB73B50446FFF7EFFE8C +:10F9B000236A9B0702D52046CCF722FC0026A36DC4 +:10F9C000B3420FD9206E00EBC600051D01A8D8F781 +:10F9D000FDF901A9284605F051FB01A805F0D4FA6C +:10F9E0000136ECE7236A002043F00203236202B0F1 +:10F9F00070BD2DE9F041044686B00E461546FFF76E +:10FA0000C6FE236A9B0702D42046FFF7CDFF32686B +:10FA10000127B2F9023000970432214602A8FFF70D +:10FA200053FE2A682146B2F902300097043203A837 +:10FA3000FFF74AFE029B5B881BB102A9304605F026 +:10FA40001DFB039B5B881BB103A9284605F016FB31 +:10FA50000027A36DBB421AD9206E314600EBC700C8 +:10FA60004FEAC70805F019FB78B1206E40442946DB +:10FA7000043005F003FB03A805F086FA02A805F0A0 +:10FA800083FA002006B0BDE8F0810137E1E7314696 +:10FA900004A805F0EBFA294605A805F0E7FA0023CB +:10FAA00005AA04A92046D0F7A3F805A805F06CFA2A +:10FAB00004A805F069FADEE738B500F1240504462C +:10FAC0002846D5F789FD2046CCF79AFB0446284600 +:10FAD000D5F7B2FD204638BD7FB500F124060446B7 +:10FAE000304615460191D5F777FD019902A805F03A +:10FAF000BDFA294603A805F0B9FA03AA02A92046CF +:10FB0000FFF777FF044603A805F03EFA02A805F0C8 +:10FB10003BFA3046D5F790FD204604B070BD37B5AE +:10FB2000154604466846D8F721F9294601A8D8F7B2 +:10FB30001DF901AA69462046FFF7CEFF044601A839 +:10FB400005F022FA684605F01FFA204603B030BDE2 +:10FB500038B500F1240504462846D5F73DFD20467A +:10FB6000FFF722FF04462846D5F766FD204638BD3C +:10FB700030B58DB00446D0F7B3F890B12D220021F6 +:10FB8000684609F08DFD2068616B03686A461D6A4E +:10FB90000B23A8472068E16C03686A461D6A0123AD +:10FBA000A847236A23F0010323620DB030BD38B5A6 +:10FBB00000F1240504462846D5F70EFD2046FFF740 +:10FBC000D7FF2846BDE83840D5F736BDF8B500F177 +:10FBD0002407054638460E46D5F7FEFC2846FFF7B3 +:10FBE000D6FDD5E91134012EA4EB03040BD0022E6F +:10FBF00004D0002E40F62E0418BF00243846D5F756 +:10FC00001BFD2046F8BD04F62E04F7E72DE9F0476A +:10FC10001F46DDE908A30B9E15688946DAF8001037 +:10FC20000E44B54290463A682CBF0024741B94429F +:10FC300028BF144684463CB1D9F80000ABB1691A1C +:10FC40002246194409F004FDD9F800302344C9F8CC +:10FC50000030D8F800302344C8F800303B681B1B44 +:10FC60003B600020CAF800600AE00A9B1D4402467F +:10FC70002346691A0CF10C0001F08DFE0028E3D038 +:10FC8000BDE8F08730B500F1240587B0044628466A +:10FC9000CDE904210393D5F79FFC0B9801900A98B6 +:10FCA00005990090DDE903322046D0F7A3FA044617 +:10FCB0002846D5F7C1FC204607B030BD10B5044634 +:10FCC000983005F061F9204610BD82B07FB5054639 +:10FCD00008A880E80C00086849684A1011F0010F74 +:10FCE00002AB03C30B4618BFAB58044605EB6106D5 +:10FCF00018BF1C58DDE90A018DE8030008AB0CCBE6 +:10FD00003046A04704B0BDE8704002B0704710B55F +:10FD10000446D0F725FB204609F060FC204610BDC4 +:10FD2000036810B55B68C488984784F48074B0FA9F +:10FD300080F0C4F300244009031B5842584110BD11 +:10FD40001FB5C3885B0708D5006A002302680093CB +:10FD5000146AE0210DF10F02A04704B010BD37B5C1 +:10FD600005460C46FFF7ECFF286A226801685388B5 +:10FD7000002400940C6A0432E021A04703B030BD97 +:10FD800030B50446486A85B000F543700D46FFF76C +:10FD9000C7FF00B30C2101220DEB010005F01DF897 +:10FDA0002846FFF7CDFF286A002203680092039AD5 +:10FDB0009D6A04320C23E021A84748B903A92046D4 +:10FDC00005F003F803A805F018F8204605B030BD8B +:10FDD00003A805F012F82046D7F79EFFF5E77FB598 +:10FDE0001C460E4601920546D7F796FF019903A8D7 +:10FDF00004F0EBFF03A93046FFF7B1FF002818BF5E +:10FE0000002403A804F0F9FF54B1314603A8D0F749 +:10FE1000E5FA03A9284604F0F7FF03A804F0EDFF74 +:10FE2000284604B070BD73B51646044601220D463F +:10FE30006846022104F0D1FF2046D7F76DFF009BF2 +:10FE400010225E711A71694601A804F0BEFF01A973 +:10FE50002846FFF784FF064601A804F0CEFF56B9F6 +:10FE6000294601A8D0F7BAFA01A9204604F0CCFF30 +:10FE700001A804F0C2FF684604F0BFFF204602B0AC +:10FE800070BDCB889B0737B505460C4648D46846FD +:10FE9000D7F742FF0122214601A8FFF7C4FF01A9BD +:10FEA000684604F0B1FF01A804F0A7FF009BB3F877 +:10FEB0000730A3810222214601A8FFF7B4FF01A960 +:10FEC000684604F0A1FF01A804F097FF009BB3F877 +:10FED00007302381022B02BFE38843F02003E38035 +:10FEE0000322214601A8FFF79EFF01A9684604F0FE +:10FEF0008BFF01A804F081FF009BA189B3F80730B4 +:10FF0000638149F60412E388914216BF23F004038B +:10FF100043F0060343F00203E380684604F06DFFFC +:10FF2000A068A38928602846AB8003B030BD7FB5A8 +:10FF30000C460421054601220DEB010004F04DFFA3 +:10FF4000019A01261223137174400823537196718C +:10FF5000D47101A90DEB030004F037FF334602AA68 +:10FF6000294603A8FFF73BFF03A804F046FF02A8B9 +:10FF700004F043FF01A804F040FF04B070BD30B5A9 +:10FF8000012185B00446FFF7D2FF00210120D4F7FC +:10FF9000A1FF04210DEB0100012204F01EFF019AD4 +:10FFA0001223137107230125537108239571D3710F +:10FFB00001A90DEB030004F008FF2B4602AA21461D +:10FFC00003A8FFF70CFF03A804F017FF02A804F032 +:10FFD00014FF0A2002F0E2FB606A032100F543707F +:10FFE000D8F7F6FF4FF0804301A8C3F8005504F09E +:10FFF00004FF05B030BDC388DB0713B5044628D421 +:020000025000AC +:10000000406A00F54370FFF78BFE10B36846D7F7E0 +:1000100083FE214601A8FFF7B3FE01A9684604F05C +:10002000F3FE01A804F0E9FE009B5A8872B11A7928 +:10003000112A0BD15A79092A08D19A79012A05D1B6 +:10004000DB79032B02D12046FFF799FF684604F0C5 +:10005000D4FE02B010BDC38819B143F00103C380C0 +:10006000704723F001039BB2F9E708B5D5F7A0FA72 +:10007000003818BF012008BD10B50446D5F768FF49 +:10008000D4E91032C01A61EB0201B0F5FA7F71F1C8 +:10009000000305D3E06B0028CCBF0020012010BD79 +:1000A0000020FCE71FB504460022002302A8CDE98A +:1000B0000223D6F775F801230022CDE9003201466C +:1000C000DDE902232046D0F72BFA04B010BD38B585 +:1000D00004460020D5F774FA2046D0F74FFB20469F +:1000E000FFF7E0FF054604F12C0002F07CFA2846F9 +:1000F00038BD10B504462C3002F075FA0020D5F753 +:100100005FFA2046BDE81040D0F738BB82B08DE8DA +:100110000C00BDF8002040F2FF339A4206D1BDF832 +:100120000230052B02D102B0FFF7E3BF02B07047E7 +:1001300038B50546D5F73CFA044658B90120D5F73D +:100140003FFA2846D0F73EFB21462046BDE838401E +:10015000D4F7C0BE38BD38B500F12C05044628469A +:1001600002F04EFA10B92846D5F736FA2046FFF7C6 +:10017000DFFF2846BDE83840D5F72EBA10B5044653 +:10018000D5F702F820B92046BDE81040FFF78ABF36 +:100190002046BDE81040FFF7DEBF64292DE9F74394 +:1001A00004460F46164649D9D5F7E2FE4FF47A7356 +:1001B000E7FB030188460546D4F7E6FF48B901216D +:1001C000019000912A4643462046D0F7A9F900261F +:1001D00020E0B4F84830013301229BB20092A4F829 +:1001E0004830A28838460021D5F7FEFE30BB2046B5 +:1001F000FFF7B1FFD5F7BCFE10F57A7241F10003AD +:10020000AA4273EB080313D246B1B4F84810A08891 +:10021000D5F700FF304603B0BDE8F083281A68EB3D +:1002200001014FF47A720023FEF758FED5F700F96A +:10023000B4F84810A088D5F7EDFEC8E7E36B0133AA +:10024000E3633846D5F7F4F8E36B013BE363BEE7BD +:1002500010B50446D0F7E8FA204609F0BFF9204669 +:1002600010BD426938B504460AB3C37A032B21D8BE +:10027000D0F718FB90622C2009F0B2F92C22002153 +:10028000054609F00DFA636900225A6223693BB9F9 +:1002900063692361E37A65610133E372002038BD4D +:1002A0001A465B6A002BFBD163695362F2E76FF475 +:1002B0007A70F4E76FF47B70F1E77FB5044600F1E4 +:1002C00018062569E5B1EA78012A07D0022A12D07A +:1002D00001230A21684604F095FB02E0304600F055 +:1002E00015F823699D42ECD12046D0F711FC284631 +:1002F00009F074F9E5E704F1200000F02BF8F0E7CD +:1003000004B070BD00220160426070471FB5044612 +:100310000068D0F7FDFB00234362626842B9606069 +:1003200001231A460921684604F06CFB04B010BD95 +:10033000516A11B101330A46FAE7032B04DD04B018 +:10034000BDE8104009F04AB95062E9E70022416077 +:100350000270704738B505464068D0F7D9FB0123D5 +:100360002B7004460430D7F725FC00232B7024B1F2 +:100370002046BDE8384009F031B938BD4CDF704740 +:1003800010B50446D0F7DAFB204609F027F92046DD +:1003900010BD10B50446D5F7DBFDA368984271F196 +:1003A00000032CBF0120002010BD10B50446D0F77B +:1003B000E9FBB4F91000B4F91230C01A10BDD0F73F +:1003C000E1BB002070470368DB6A1847A0F1080012 +:1003D000FFF7F9BF0020704710B50446D0F70AFCBC +:1003E000204609F0FBF8204610BDA1F13003092B8F +:1003F0000BD921F02003413B192B06D92D2904D01C +:10040000A1F15F03584258417047012070470B46E5 +:1004100010B4114604681A68246A5388A4469B08DD +:100420005DF8044B043260472DE9F04F032B85B093 +:1004300006460D46174619464FF00102B8BF032184 +:1004400003A89A4604F0C9FC4FF014094FF0000BC2 +:1004500068690121FFF7FFFDE8683A680168538881 +:10046000CDF800B00C6A0432E421A047044668B11C +:100470000120D4F7DDFFB9F10109E9D168694946E6 +:10048000FFF7E9FD3046D7F747FC4CE03B681B79A6 +:100490000C2B20D1EB8813F0400F14BF64201420E4 +:1004A000D4F7C6FF2869D0F80C33B0F812835B6824 +:1004B00000F54370984788F48078B0FA80F0C8F36C +:1004C00000284009404508D001340120D4F7B0FF8E +:1004D000142CE7D1CFE70120E2E7002211464FF0CC +:1004E000FF3303A804F0B4FCE868039A016853885A +:1004F000CDF800B08C6A0432E421A04704460028FD +:10050000B9D1039A3968137909798B4212D101461E +:100510006869FFF7A0FD514603A804F029FD03A96F +:10052000304604F052FC03A804F067FC304605B0E6 +:10053000BDE8F08FE888800605D5202B9BD1537944 +:10054000392BC2D097E7002BBFD0202B93D1537902 +:100550009942BAD0002BB8D08DE71FB501220446CE +:10056000114601A804F039FC019B08221A7101A967 +:100570000DEB020004F029FC012302AA214603A886 +:10058000D0F776FB03A804F038FC02A804F035FC91 +:1005900001A804F032FC002004B010BD2DE9FF4199 +:1005A00004460E4617460821012201A81D4604F004 +:1005B00014FC2046D7F7B0FB47F02060DDF804803C +:1005C00001F03FFBAD00C8F80400284601F039FBFC +:1005D00001A9C8F8080002A804F0F7FB05F1080318 +:1005E00002AA314603A8D0F743FB03A9204604F032 +:1005F0000BFC03A804F001FC02A804F0FEFB236836 +:100600005B88082B13D94FF0FF33082120460022C6 +:1006100004F04FFC236859882046083904F0A8FCF0 +:1006200001A804F0EAFB204604B0BDE8F08103A86D +:10063000D7F772FB03A9204604F0E6FB03A804F0F9 +:10064000DCFBEDE7A0F10800D0F754BBA0F10800F7 +:10065000D0F76ABB7FB5CB885B0705460C4601F136 +:10066000180663D46846D7F757FB0122214603A832 +:10067000D0F7C8FB03A9684604F0C6FB03A804F042 +:10068000BCFB009B5B88052B1EDD013B01226946FC +:1006900001A804F0F7FB019B5A882E21995402A867 +:1006A00001A904F092FB02A903A804F0D6FC03A957 +:1006B000304604F0E3FC03A804F066FC02A804F052 +:1006C0009CFB01A804F099FB0222214603A8D0F765 +:1006D00099FB03A9684604F097FB03A804F08DFB7F +:1006E000009BD3F8050001F0ACFAB0F5F83FCABFA3 +:1006F0004FF4F833E061E3610322214603A8D0F709 +:1007000081FB03A9684604F07FFB03A804F075FB96 +:10071000009B5B79003B18BF012384F82030E388FD +:1007200043F00403E380684604F067FB3146284643 +:1007300004F09CFCE3696B6094F820302B7228462F +:1007400004B070BD30B5C3889B0785B004465CD447 +:1007500001A8D7F7E1FA0722214602A8D0F752FBF9 +:1007600002A901A804F050FB02A804F046FB019B7B +:100770005D882DB1B3F8050001F070FA0125A08461 +:100780000622214602A8D0F73DFB02A901A804F0E9 +:100790003BFB02A804F031FB019B5A88002A31D0B0 +:1007A0005B7984F826306DB3A28C61695343B3F54D +:1007B000F83FC8BF4FF4F83302A8C4BFB3FBF2F34D +:1007C00084F82630FFF75DFBBDF80830012BE38885 +:1007D00016BF23F0100343F0180343F02803E3800F +:1007E000BDF80C3003F5CD437B339BB2012B9EBF8C +:1007F000E38843F04003E380E388402243F00203B0 +:10080000A262E38001A804F0F8FA636A00209AB2B9 +:1008100062F30F001B0C63F31F4005B030BD1FB522 +:1008200004460191FFF78EFFA28C019992082046A1 +:1008300004B0BDE81040D0F709BBA0F10800FFF7F5 +:10084000EEBF13B50446FFF77DFFA38C94F8260096 +:10085000584302B010BDA0F10800FFF7F2BF13B576 +:100860000446FFF76FFFA08C02B010BDA0F1080096 +:10087000FFF7F5BF2DE9F04389B005460C46174652 +:100880000C21012202A804F0A8FA0122052103A8E4 +:1008900004F0A3FA0122022104A804F09EFA2846DB +:1008A000FFF750FF62680590002A0EDC6FF47A743F +:1008B00004A804F0A2FA03A804F09FFA02A804F026 +:1008C0009CFA204609B0BDE8F083AB8C95F8261061 +:1008D0004B439A42EADC0026B146B0462268B2F9A0 +:1008E00002105388B14217DD31B22046019104F065 +:1008F00000FC2E28019903D108F101080136EDE72B +:10090000204604F0F6FB01462846FFF76EFD00285E +:1009100008BF4FF00109F1E7053B072BC6D8B8F136 +:10092000000FC3D0B8F1010FC0DCB9F1000FBDD189 +:10093000043909B2204604F0DCFB2E28B6D1029E11 +:1009400020217288301D08F0ABFE0123337121682D +:10095000B1F90220701D043A043108F079FE2368D1 +:100960001A1DB3F90230033BD118D35AA6F80D3043 +:100970008B78F373039B02261E71606801F061F9A6 +:10098000039BC3F80500049B03221A71227A5A7153 +:1009900002A906A804F019FA0C2306AA294607A8FA +:1009A000D0F766F907A804F028FA06A804F025FA9B +:1009B00003A906A804F009FA052306AA294607A8F0 +:1009C000D0F756F907A804F018FA06A804F015FAAB +:1009D00004A906A804F0F9F9334606AA294607A88F +:1009E000D0F746F907A804F008FA06A804F005FABB +:1009F0003FB107A804222946D0F704FA07A804F05B +:100A0000FCF9214605F1180004F038FB6368EB613E +:100A1000237A85F8203000244AE7C3680133C36095 +:100A2000002070470B6881601B6808461847806883 +:100A3000003818BF01207047D0F8140870474B1ECB +:100A4000032B9FBFC0F8141801314910C0F81818C3 +:100A500094BF00206FF47A70704700F50160006861 +:100A6000704710B50446D0F7D5FA204608F0B6FD19 +:100A7000204610BD07EE901AF8EE677A00F60C00DB +:100A8000C0ED007A0020704700F5016307EE901A70 +:100A90004068196038B1D0ED076A86EEA77A80ED1C +:100AA0000A7AC06BF6E77047C0F82018002070473C +:100AB00029DF704728DF704712DF7047002070473A +:100AC0000368DB681847C0687047D0E902305843B4 +:100AD000704710B5044608466468114621449A00E0 +:100AE00008F0B6FD002010BD704710B50446D0F7E1 +:100AF00097FD204608F072FD204610BD38B5C57D33 +:100B000004463DBB817DD0F7F1FDE3699A68AA42B6 +:100B100008DD1B6953F82500036800219B6898478E +:100B20000135F2E70025E369DA68AA4208DD5B696E +:100B300053F82500036800219B6898470135F2E7C8 +:100B4000206A03685B6A9847206A03689B6A984733 +:100B50000123E37538BD103003F0A7BF837D10B5C6 +:100B6000044633B90221D0F7C1FDE38823F0020324 +:100B7000E380A37D012B07D103212046D0F7B6FDEA +:100B8000E38823F00203E380E3889B0702D4192063 +:100B9000D4F74EFCE06A10BD10B5044601F0CAFF60 +:100BA00038B9626A237B53434FF47F42B3FBF2F3BD +:100BB000A36210BD10B50446006804F0C9FA2046CF +:100BC00010BDF8B522EAE274054604F10C001F4698 +:100BD0000E46D4F765FD286004F0D5FA2B681C7228 +:100BE0002868476036B1224631460930BDE8F840F2 +:100BF00008F02EBDF8BD10B5002304460A4619467C +:100C0000FFF7DFFF204610BDC1607047C0680038A5 +:100C100018BF0120704703207047806B07EE900AD1 +:100C2000F8EEE77A17EE900A7047A0F10400D0F7CB +:100C300029BF10B50446D0F725FF204608F0CEFCAA +:100C4000204610BDA0F10400FFF7F3BF036B1BB1FA +:100C5000438943F004034381704743895B0770B5C0 +:100C6000056B044606D50023036300F12C012830F0 +:100C700004F0CAF8A26A236B111DE3B15033508807 +:100C80002363084483421ED3D2ED037A2163F5EE39 +:100C9000C07AF1EE10FA10DB0026003D266304F165 +:100CA0002C0104F1280018BF012504F0ADF8C4E9B7 +:100CB0001566284670BD0B46E1E704F1100001F00F +:100CC0009FFC0028E8DC236B20469968D0F754FF8E +:100CD00007EE900A1A68E26400255A686065B8EE6B +:100CE000E77A2265A56504F160016C34DA699D61DB +:100CF000012AB8BF012207EE902AF8EEE77ADA61FE +:100D0000C7EE276A1433E1EC016A8C42EED100256C +:100D1000CFE738B50D460446CEF788FB2B685B88D5 +:100D20004F2B18D904F11000D4F756FC294604F1D2 +:100D3000280004F069F82046FFF78FFF638913F05D +:100D4000010506D1E06843F00103638103681B6875 +:100D50009847002001E06FF47A7038BD7FB50C46EB +:100D600001F124063146054604F02FF8636B33B1D8 +:100D700068462146D0F71AFF684604F03EF8002383 +:100D8000636304F12001304604F03EF821466846D2 +:100D9000D0F70CFF684604F030F8E06803681B6881 +:100DA0009847A36C002B08DD013BA3642BB9218974 +:100DB00001230222684603F025FE284604B070BDD8 +:100DC000438919B143F002034381704723F00203C2 +:100DD0009BB2F9E70160704770470022F0B54FF40D +:100DE0007A7C05460A26104664278A4219DAAB5CEB +:100DF000303B092B13D88C1A013C032C05D8DFE8B3 +:100E000004F00C0906020CFB03000132EDE707FBBE +:100E10000300FAE706FB0300F7E71844F5E74FF095 +:100E2000FF30F0BD0068FFF711BF38B5041E0D4656 +:100E30000BDB002909DB48000130D3F795FF641B69 +:100E400020440028B8BF404238BD4FF0FF30FBE7D8 +:100E50002DE9F743064668460C4604F007F9694653 +:100E600001A8D1F755F901A9204604F007F901A816 +:100E700004F08AF8684604F087F82468B4F9022080 +:100E80004FF04908551CB5FBF8F508FB05F3013B8D +:100E90009A422DD1502101226943684603F09DFFFB +:100EA000009A043404320027AF4212D008FB07F343 +:100EB000002B03DD14F8013C2C2B16D121463046C3 +:100EC00002F15009D0F7A2FF493470B101374A4608 +:100ED000EAE73468694601A803F077FF01A92046D4 +:100EE000FFF717FF01A803F088FF684603F085FFAE +:100EF00003B0BDE8F0836FF47D7070476FF47D70D0 +:100F0000704710B5036804465B6C98472368204619 +:100F10005B68BDE8104018476FF47D7070476FF450 +:100F20007D7070476FF47D707047C08800F00500D9 +:100F3000003818BF01207047C08800F00A00003850 +:100F400018BF01207047C08810F0030018BF0120AF +:100F50007047C08800F00C00003818BF01207047AF +:100F6000C088C0F3802070476FF47D7070476FF4C5 +:100F70007D70704703684FF47A729B6B514318473A +:100F80006FF47D7070476FF47D70704708B503682B +:100F9000DB6B98474FF47A73B0FBF3F008BD6FF446 +:100FA0007D7070476FF47D7070470161002070475D +:100FB0006FF47D7070476FF47D7070470A717047F1 +:100FC00070477047406B704703684FF47A729B6BB1 +:100FD00051431847006B704708B50368DB6B9847AF +:100FE0004FF47A73B0FBF3F008BD01207047806ABC +:100FF000003818BF01207047A0F12000FFF7F7BFAD +:1010000010B5044608F0EAFA204610BDC38B9907D4 +:1010100010B504460FD5036D6BB9D4F799FF236C57 +:10102000C01A61F10001652871F1000322BFE38B52 +:1010300023F00203E383E38B9A0705D4226D002A91 +:10104000C4BF43F00203E38310BDA0F11800FFF713 +:10105000DDBF01207047B1F5806F08B50CD8B1F540 +:10106000007FC8BFC1F580618029A8BF802141638E +:10107000D1F798FA002008BD6FF47A70FBE71622CA +:1010800008B5B1FBF2F353439A1807EE103A07EE96 +:10109000901A06EE902AF8EE677AF8EE666AB8EED5 +:1010A000477A37EEC77A77EEE67AB0EEC77AF0EE97 +:1010B000E77AB4EEE77AF1EE10FA58BF134603630D +:1010C000D1F770FA002008BD73B50C460546D6F777 +:1010D00023FEE38B9B0716D504F12C0631462846E8 +:1010E00003F092FE01212046D1F706FA01224FF4C7 +:1010F000007101A803F071FE01A9304603F084FEDF +:1011000001A803F07AFEE36A0433A364D4F720FF56 +:101110006064A06A03681B689847284602B070BDE7 +:10112000A1F12001FFF7D0BF7047036B91ED036A77 +:10113000D3ED007AD1ED026A91ED017A36EE676A5D +:10114000F8EEE66AB8EEC77AC6EE265AE7EE257ADA +:10115000C0ED137A7047F0B52DED028B044683B0D5 +:1011600048680D46FCF7D8FFF9F7D6FE0B46216B11 +:10117000D5ED037A91ED008A77EEC87A024617EE34 +:10118000900ACDE90023FCF7D9FFDDE90023FDF744 +:101190002DF8064618EE100A0F46FCF7CFFF024660 +:1011A0000B4630463946FCF76BFEFDF717FBE06453 +:1011B00003B0BDEC028BF0BD2DE9F041CE684D6867 +:1011C000D6F8048095FBF8F707EE907AF8EEE77A08 +:1011D000036B2DED028B17EE901A04464FF0804002 +:1011E00093ED008AFAF7DAFB336807EE900A08FB02 +:1011F000175503EB850528EE278AD5ED007A67EEB3 +:10120000887ABDEC028BC4ED137ABDE8F0812DE93C +:10121000F041036BD1E902462DED028B93ED008A7C +:101220004B68D6F80480013CE41A94FBF8F707EE0B +:10123000907AF8EEE77A054617EE901A4FF0804064 +:10124000FAF7ACFB336807EE900A08FB174403EB90 +:10125000840428EE278AD4ED007A67EE887ABDEC04 +:10126000028BC5ED137ABDE8F0814B6873B1DB07E3 +:1012700090ED137AD1ED037A04D4C7EE276AC0ED5E +:10128000136A704767EE877AC0ED137A70474B6830 +:1012900073B1DB0790ED147AD1ED037A04D4C7EE75 +:1012A000276AC0ED146A704767EE877AC0ED147A3A +:1012B0007047036B91ED036AD3ED017AD1ED026AB9 +:1012C00091ED017A36EE676AF8EEE66AB8EEC77A13 +:1012D000C6EE265AE7EE257AC0ED147A704772DF23 +:1012E000704773DF704774DF704776DF704777DFD2 +:1012F000704778DF70477ADF70478FDF704769DFAC +:1013000070471321FFF7F1BF10B50446416019B1D2 +:10131000084608F00EFA81B2218010BD10B50446CF +:10132000103003F0ABFE0123E36010BD10B590F860 +:1013300020300446002B32D1C3689B072FD40429E8 +:1013400006D8DFE801F00309151219000223C36073 +:10135000E068C0F3400010BD0A23C360C38843F0B7 +:101360000403C38000F068FCF2E78369002BEFD030 +:10137000D4F7EEFDA061EBE78369002BE8D0D4F74A +:10138000E7FDA369C01A61F10001B0F5FA6F71F1D0 +:101390000003DDD301212046FFF7C8FFD8E7012075 +:1013A000D9E71FB50446012302224FF47A7168463B +:1013B00003F028FB94F8213043B1D9F765FB28B935 +:1013C000204604B0BDE81040D1F76ABA04B010BDA1 +:1013D0002DE9F84F4FF0805308460D46D3F864804E +:1013E000FFF7B9FB042705264FF001091035B8FBBC +:1013F000F6F34FF0000A06FB13830FFA87FBB3FBEB +:10140000F9F306EB8606A8EB030809EB89095C1CD7 +:1014100054450ADDCAF10402FF2312B25946284698 +:1014200003F04AFB0AF1010AF2E7013FDFD2BDE80F +:10143000F88F90F82000704744F20103984211D0D1 +:1014400009D8012810D041F20103984214BF4A2064 +:101450004720FEF7D8B844F20203984214BF4A204E +:101460004820F6E74920F4E74620F2E701207047DC +:101470000A2303FB01007030704782B07FB5054638 +:1014800008A880E80C00086849684A1011F0010FAC +:1014900002AB03C30B4618BFAB58044605EB61060D +:1014A00018BF1C58DDE90A018DE8030008AB0CCB1E +:1014B0003046A04704B0BDE8704002B0704737B571 +:1014C0000568CDE900322D690446A8470546204647 +:1014D00000F06EFDDDE900320146284603B0BDE8AC +:1014E000304000F047BC30B5CA78037C934285B0E9 +:1014F00004461BD015D99B1A072B15DD4AF601238C +:10150000ADF800306A46022300212046FFF7D7FFDE +:10151000637C0433DBB263742374002384F8543097 +:1015200002E0D31AF82BE9DD05B030BD01330374B6 +:1015300000F1140390F854000A1D03EB001301F1AD +:10154000140052F8045B43F8045B8242F9D194F82A +:101550005430012B09D0032B11D0EBB9B1F8013075 +:101560005BBA9BB2A3650123D8E78B784A781B044A +:1015700043EA0263A26D1343A3650223CEE701236E +:101580001A462921684603F03DFA002384F85430B6 +:10159000637C04336374C7E70133BFE710B5ADF56F +:1015A000627D01A800F063FB4FF46072002102A885 +:1015B00008F076F80223039300220123582103A8A0 +:1015C0000A93D8F7E9FF00220290C3219AA8D8F71E +:1015D000E3FF00239990D3F8FC2F013208BF4FF0AE +:1015E00010234FF0805214BFD3F8FC3F9B6914695D +:1015F0001C444FF4607202A9204608F019F848B163 +:10160000214601A8D3F796F9E02302AA214601A8B2 +:10161000D3F7C4F9002302A9D3F8FC2F01320ABF83 +:101620004FF01023D3F8FC4F9C694FF460722046B2 +:1016300007F0FEFF48B1214601A8D3F77BF9E0236C +:1016400002AA214601A8D3F7A9F90DF5627D10BDC4 +:101650000023D3F8FC2F01320ABF4FF01023D3F838 +:10166000FC2F9A694FF080531B69134493F8A13201 +:101670000BB1FFF793BF704770470846D3F7D8BE4A +:1016800082B07FB5054608A880E80C000868496864 +:101690004A1011F0010F02AB03C30B4618BFAB5841 +:1016A000044605EB610618BF1C58DDE90A018DE808 +:1016B000030008AB0CCB3046A04704B0BDE8704037 +:1016C00002B0704782B08DE80C00002100F638109F +:1016D00002B0FDF743BF82B010B502A981E80C004B +:1016E000BDF80A300D2B04460CD8022B10D9033B51 +:1016F0000A2B0DD8DFE803F0100C2A220C0C0C0C7E +:101700000C0C2A00152B26D040F6B93293422CD06F +:10171000BDE8104002B07047002100F6540002F00E +:10172000DCF904F67800002102F0D7F904F69C00F9 +:10173000BDE81040012102B002F0E6BCD0F820095B +:1017400003689B6ABDE8104002B01847D0F81C0936 +:1017500003681B6BF6E700F580540121D4F8900173 +:10176000BDE8104002B002F0C4BE00F580544FF056 +:10177000FF31D4F89001BDE8104002B002F0D4BEB1 +:1017800010B500F5E1642046FEF76FFC18B9BDE81E +:10179000104004F053BC2046FEF76EFC0028F6D043 +:1017A0002046FEF794FC0028F1D110BDA0F1040002 +:1017B000D1F7CABE7047A0F10400D2F7E5B810B562 +:1017C0000446D2F713FA204607F008FF204610BD62 +:1017D00038B5044606291AD8DFE801F0111B283570 +:1017E0003538040081680022914210DD638A980533 +:1017F00044BF23F40073638201321834F4E7D2F754 +:1018000075FB0122002311462046D2F7EFFB002092 +:1018100038BDD0F84033826813441B79DD0701D40A +:10182000D2F764FB012300221946EDE7D0F84033DC +:10183000826813441B79D80702D42046D2F756FB9E +:1018400001231A46F0E7D2F79DFBE0E77AB1806802 +:101850000023123418259842D9DD05FB03F101332A +:10186000615A890542BF116801311160F3E76FF4D5 +:101870007A70CDE713B5C0E902230C225A4304461F +:10188000016010460192D3F70BFF019A60600021BE +:1018900007F006FF00232046238202B010BD70B57A +:1018A000044600250C26E2686068AA4207DD06FBB4 +:1018B0000500806808B1D3F717FF0135F3E77243DD +:1018C000002107F0EDFE0023238270BDF0B5C6684D +:1018D00000230C279E4211DD456807FB03F42A19FB +:1018E0002C598C4208D1946834B1038A01339BB2DD +:1018F000038293801046F0BD0133EBE70022F9E745 +:1019000038B50546FFF7E2FF044648B1AA6880688B +:10191000FF2107F0C5FE2B8A01339BB22B82A380E7 +:10192000002038BDF8B50546FFF7D0FF0F46044646 +:1019300000282ED16C68D5F80CC02B8A2646844529 +:101940000FDDB26862B1F288D20706D4A288B188EE +:101950009A1A591A9142C8BF344601300C36EEE744 +:10196000344601339BB200222760E2802B82A380A1 +:10197000A368AE681BB93046D3F792FEA060286812 +:10198000A1680268331EB8BF033315699B103A463D +:10199000A8472046F8BD2DE9F047054600681F46D8 +:1019A00003681B68884691469847404523D82868B5 +:1019B00003685B68984707EB080484421BD2002445 +:1019C000BC421CDAA86804EB0806B6FBF0F1414300 +:1019D000761AA7EB040A801B8245A8BF82462846D8 +:1019E000FFF7A0FF8168524609EB0400314407F07D +:1019F0002FFE5444E4E76FF47A70BDE8F0870020CE +:101A0000FBE7704710B50446D2F7FAFB204607F013 +:101A1000E5FD204610BD10B5044607F0DFFD204669 +:101A200010BD10B50446D2F7B1FC204607F0D6FD34 +:101A3000204610BD82B07FB5054608A880E80C009E +:101A4000086849684A1011F0010F02AB03C30B4646 +:101A500018BFAB58044605EB610618BF1C58DDE9FA +:101A60000A018DE8030008AB0CCB3046A04704B058 +:101A7000BDE8704002B0704703680A689B1A07EE21 +:101A8000903A4A6843689B1AF8EEE76A07EE903A84 +:101A9000F8EEE77A83688A6867EEA77A9B1AE6EE23 +:101AA000A67A07EE103AB8EEC77AE7EE077A17EE95 +:101AB000900A70472DE9F0412DED028B05460E4648 +:101AC0001746FFF7D9FF08EE100A08EE900A012426 +:101AD0004FF00C08BC4216DA08FB04612846FFF7F9 +:101AE000CBFF07EE900AB4EE678AF1EE10FAF4EE3F +:101AF000678AC8BFB0EE678AF1EE10FA48BFF0EE11 +:101B0000678A0134E6E778EEC87ABDEC028B17EEFF +:101B1000900ABDE8F0812DE9F04F2DED028B0023F6 +:101B200004460F461546084689B01A4619469C4693 +:101B3000AC4500F10C000BDA50F80C6C314450F855 +:101B4000086C324450F8046C0CF1010C3344EFE79C +:101B500091FBF5F192FBF5F22160626039462A466D +:101B6000204693FBF5F3A360FFF7A4FF002608EEE1 +:101B7000100AB34633466FF0C7086FF0C7096FF01D +:101B8000C70A94E80700039305AB83E8070008EB56 +:101B90000003079A0093059309EB01030193069351 +:101BA00039460AEB020305A82A4602930793FFF77A +:101BB00081FF07EE900AF4EEC87AF1EE10FA0AF10E +:101BC000C80A48BFDDE901B6039B44BF009BB0EEE5 +:101BD000678ABAF5C87FD4D109F1C809B9F5C87FB9 +:101BE000CDD108F1C808B8F5C87FC6D122689A429D +:101BF00005D162685A4502D1A268B24203D0C4E955 +:101C0000003BA660B7E7204609B0BDEC028BBDE8FB +:101C1000F08FF0B587B003AD04460E461746284650 +:101C2000FFF779FFCDE90067204695E80E00D2F76F +:101C30005FFC204607B0F0BDC38843F48043C380F7 +:101C4000704784B003AA0190032301A8195C02F82D +:101C5000011B013BFAD2039804B0704740BA82B02E +:101C600080B202B0704729DF704728DF70477047A5 +:101C70002DE9F04186B004460B4602AD01F1100695 +:101C8000186859682A4603C20833B3421546F7D18B +:101C90009DF80870032F3AD84FF08053BDF80A50D2 +:101CA0001B69039E5D439DF80930022B28D10498DF +:101CB00000210B5C13B101316429FAD10022D8F75D +:101CC0006BFC0023009001937B1E5FFA83FE0EEBFA +:101CD0008E036A4603CA9B0003F1100C04EB0C0848 +:101CE00044F80C002344142000FB0E44C8F80410F0 +:101CF0009D6035441F710020E56006B0BDE8F081AD +:101D000006AA12E903006B4683E80300DCE76FF4E0 +:101D10007A70F2E70346002210B503F8042B04465C +:101D200000F140011A70DA601A61C3E9012214332C +:101D30008B42F7D12046D2F76BFE204610BDACDFB8 +:101D40007047AEDF70470022028102604260704738 +:101D500013B50446ADF800300192002308466A46E8 +:101D60002188ADF80230FFF7EAFFB0FA80F04009B1 +:101D700002B010BD2DE9F04186B00546ADF8063041 +:101D80004FF6FF7399420E4617461CD0048914F093 +:101D900001041DD00388ADF8083001238DF80A3006 +:101DA0004FF000080DF1060302A93046CDE90432D8 +:101DB000ADF80C80FFF7C5FF30B1049B1A88BDF861 +:101DC00006309A4204D10024204606B0BDE8F081D6 +:101DD000BDF806303A4631462846FFF7B9FFF2E72C +:101DE000A8DF7047B0DF704762DF70470B88502B69 +:101DF00070B5044627D005D8102B0AD0112B0CD073 +:101E0000012070BD512B1BD0532BF9D103681B6BE4 +:101E100001E003689B699847F2E70368DB6998472C +:101E200000252E4623682046DB689847A842E7DD58 +:101E3000236829461B692046984701350681F1E74A +:101E400003685B6AE7E703681B6AE4E770470368B7 +:101E500006319B6818478A79012A02D0022A03D0EA +:101E6000704703689B6A18470368DB6AFBE730B575 +:101E700085B06C46034601F11002204612F8015D60 +:101E800004F8015B8A42F9D1191DFFF7ADFF05B0D7 +:101E900030BD07B5821D0379ADF80410012001A9FA +:101EA0008DF80630FFF79CFF03B05DF804FB2DE9C9 +:101EB000F04788B00546BDF840A0BDF84460BDF8C5 +:101EC00048400F469146002120226846984607F078 +:101ED000E7FBADF80460B6EB0A062B798DF802300B +:101EE00018BF0126E00748BF9DF80D308DF80C6043 +:101EF00044BF43F002038DF80D30A10748BF9DF8A1 +:101F00000D30ADF8009044BF43F004038DF80D3060 +:101F1000620748BF9DF80D30ADF806A044BF43F0FE +:101F200008038DF80D30230748BF9DF80D30CDF81C +:101F3000088044BF43F010038DF80D30E60642BF21 +:101F40009DF80D3043F020038DF80D30A00642BF00 +:101F50009DF80D3043F040038DF80D30610642BF0F +:101F60009DF80D3043F001038DF80D30E20544BFBC +:101F700001238DF80F30A30544BF01238DF81030E5 +:101F800002238DF8113040F20223ADF81230012304 +:101F90008DF814302B68EC881B6939462846984721 +:101FA00069460246204604F02AFD08B0BDE8F087E5 +:101FB00000B58DB001A8D8F783FD019B23B1BDF812 +:101FC00008000DB05DF804FB4FF6FF70F9E708B5A7 +:101FD000D8F75AFD003818BF012008BD03682DE965 +:101FE000F041DB6807460E461446984700258046B8 +:101FF00045451DDA3B6829461B69384698470288E3 +:10200000B24204D1012323702846BDE8F081428802 +:10201000B24201D10223F6E78288B24201D1032302 +:10202000F1E7C388B34201D10423ECE70135DFE7D0 +:10203000002323704FF0FF35E6E737B50D460DF16D +:102040000702C9880446FFF7C9FF011E11DB9DF88E +:102050000730032B08D12B8A022B05D12368204699 +:102060001B6998476B8A03812368A91D1B6820465A +:10207000984703B030BD30B58BB00C460DF1070268 +:1020800009890546FFF7AAFF002819DB01238DF80F +:1020900008309DF80730E289012B13D09DF80E100F +:1020A000ADF81020002363F30001ADF80C308DF87B +:1020B0000E10ADF81230A088059302A9FFF792FE2A +:1020C0000BB030BD2389ADF8183040F20113ADF8E4 +:1020D0001C3000230893ADF824302B68ADF81A208B +:1020E0005B6806A9284698479DF81C309DF81D207E +:1020F000002B14BF00234FF48173ADF80C309DF812 +:102100000E3062F300038DF80E30BDF81A30ADF8D2 +:102110001030BDF82430ADF81230089BCBE707B57E +:1021200009890DF10702FFF759FF03B05DF804FBC1 +:1021300038B50368132B04460D4602DD1420CDF795 +:102140009FFB236804EB830201335560236038BD95 +:10215000F8B504460F46061D00252368AB4208DD8E +:1021600056F8040B036839465B69984708B1013596 +:10217000F3E7F8BD07B50190D2F7D2FC019903B09F +:102180005DF804EBFFF7E4BF012070470A2303FB6F +:1021900001002830704782B07FB5054608A880E866 +:1021A0000C00086849684A1011F0010F02AB03C324 +:1021B0000B4618BFAB58044605EB610618BF1C5808 +:1021C000DDE90A018DE8030008AB0CCB3046A047DF +:1021D00004B0BDE8704002B0704710B51422002171 +:1021E000044607F05DFA14220021A01807F058FAFF +:1021F000002384F8283084F8293084F82A3010BD70 +:10220000F0B503680E881B6987B00C4600210546AF +:1022100098470388B34209D16389013B9BB2122BD3 +:1022200004D86F6B27B197F82B3053B107B0F0BDCE +:102230002C2007F0D5F90646FFF7CFFF86F82B7064 +:102240006E63686B6289CDE90002FFF7C6FF019AF1 +:10225000009804F10C0107F0FBF9012300222D2165 +:1022600002A802F0CFFBE1E710B5436B93F82820FA +:1022700004468AB999780069FDF7A8FC636B1A785F +:1022800093F82A10C3F815000A441A75042283F83B +:102290002920012283F82820616B91F8292020460B +:1022A0000132BDE810401431D2F748BC2DE9F743A4 +:1022B000456B0446012604274FF00208AB68002B4B +:1022C00042D0616B91F82820C2B9132BA8BF132309 +:1022D0009946EB680193AB7800936A6820694B4696 +:1022E0001531FDF7CFFC626B20B31378C2F81500EF +:1022F0000F3382F8297082F828801375616B91F88A +:102300002920204601321431D2F718FCE8B9636B5A +:1023100093F82820022A17D083F82800626B6B6894 +:1023200092F829100B446B6092F82920AB689B1A35 +:10233000AB60C3E7137892F82A1082F829900B4417 +:10234000137582F82860D9E7002003B0BDE8F08358 +:1023500030B5436B85B005464BB393F82B2032BBA9 +:102360005C78A4B10122944283F82B2006D0022C81 +:102370001AD0686BFFF731FF002404E0FFF774FF09 +:1023800004460028F5D06B6B002283F82B206B6B82 +:102390003BB15B782BB1012300222D21684602F06E +:1023A00031FB204605B030BDFFF780FFE8E7002491 +:1023B000EDE782B08DE80C00BDF800302D2B05D183 +:1023C000BDF8023013B902B0FFF7C2BF02B07047C8 +:1023D0000021D2F73BBCD2F70DBC10B5044660B16A +:1023E00007F0A7F9431E23449C4209D222781978AA +:1023F00004F8011B03F80129F6E76FF47A7010BDA9 +:102400000020FCE7F8B509B380EAE074C4EBE0749F +:102410004D1E00230A2694FBF6F206FB1244002C04 +:10242000B8BF6442303405F8014F1F4614460133EB +:10243000002AF0D10028BEBF2D22CA54BB1C0022A6 +:10244000CA540846FFF7C9FF2046F8BD6FF47A74F6 +:10245000FAE7022908B505D839B10368DB6801211C +:10246000984702E00339012901D9002008BD03681B +:102470000021DB68F4E72DE9F7430546BDF8289015 +:102480000E4690461F46FBB10F2902D1B9F1C00F8D +:102490001AD1282007F0A4F83B46B1B2CDF800903D +:1024A0001FFA88F2044600F0F8F82B6821465B68B2 +:1024B0002846984740B1204600F003F9204603B073 +:1024C000BDE8F04307F08AB803B0BDE8F0830846E2 +:1024D000D2F7AEBF2DE9F7430546BDF828900E466A +:1024E00090461F46FBB10F2902D1B9F1C00F1AD196 +:1024F000282007F075F83B46B1B2CDF800901FFADE +:1025000088F2044600F0C9F82B6821465B6828462B +:10251000984740B1204600F0D4F8204603B0BDE80B +:10252000F04307F05BB803B0BDE8F08338B50D4663 +:102530000446D7F79DFA2B68656133B9C4E90633C1 +:102540002C60BDE83840D7F785BA1A469B69002B46 +:10255000FBD19461C4E90632F3E7436910B5044640 +:10256000A3B1D7F785FAD4E9063262B19361A369C2 +:102570000BB1E269DA610023C4E906336361BDE8A7 +:102580001040D7F767BA62691360F0E710BD10B565 +:10259000D2F702FE044608B9D2F7C2FE204610BDAB +:1025A00010B50C468047A047BDE81040D2F760BF89 +:1025B00013B5034610460C46019298470198A04770 +:1025C000019802B0BDE81040D2F7A0BF08B5D2F71D +:1025D00087FED2F7A5FEFAE710B50024C0E9001186 +:1025E000C460027210BD10B50446E3681BB12046FA +:1025F000D3F722F8F9E7237A0BB96368236010BD9B +:1026000000680028B4BF404200207047F8B5830737 +:102610000F464FEA90050DD140B3D7F729FAD7E915 +:1026200000406E1CA0421ED92268002A04DB04EB85 +:102630008204F7E70135F0E722F0004304EB820261 +:10264000116800290ADA904208D921F000410B44B0 +:1026500043F00042226004EB8302F1E7B34206D26A +:1026600004EB8304DEE7D7F7F5F90020F8BD023567 +:102670009D4203D204EB8505A84207D8236823F0C6 +:1026800000432360D7F7E6F9201DEFE79B1B43F0DB +:10269000004345F8043C2660F4E7F8B504461030E2 +:1026A00016461D460F4602F0A3F90023BDF8182078 +:1026B0002780C4E908336680A560E360A2802046D5 +:1026C000F8BD83889B0710B5044603D5806808B120 +:1026D00006F084FF204610BD82B070B5056A86B052 +:1026E0000AA981E80C000646BDB90FC902AC84E80E +:1026F0000F00182006F074FF06AB054613E903002F +:102700008DE80300284694E80C0002F099F9356240 +:1027100006B0BDE8704002B0704701232A6912B1CB +:1027200001331546FAE7092BF2DC0AAB0FCB02ACFA +:1027300084E80F00182006F053FF06AB064613E9A5 +:1027400003008DE80300304694E80C0002F078F9AD +:102750002E61DDE7D0E9002010B500F1005001380E +:1027600002EBC00003469A4205D81C688C4202D393 +:102770001846083BF7E710BD08B5FFF7EBFF4068C8 +:1027800008BD08B5FFF7E6FF006808BD10B5FFF704 +:10279000E1FF0068431A5842584110BD00F041BFA4 +:1027A000D3F7AEBCD2F7DABAD2F7DEBA03460022CC +:1027B00000891A81704738B5036801810446DB6AD5 +:1027C0009847236805461B6A20469847208128467B +:1027D00038BD0089704738B5036881720446DB6AEA +:1027E0009847236805469B6A20469847A07228466A +:1027F00038BD807A7047D0E903324069524303FB09 +:10280000032300FB0030704730B585B00446FFF766 +:10281000F2FFB0F5800F054633D9238F3BB9012372 +:102820000C220D21684602F0EDF801232387B5F54F +:10283000100F09D9638F3BB9012308220D21684687 +:1028400002F0E0F801236387B5F1107F09D9A38F67 +:102850003BB9012309220D21684602F0D3F8012378 +:10286000A387B5F1806F09D9E38F3BB901230A2211 +:102870000D21684602F0C6F80123E387002384F89F +:10288000313094F83130042B93BF01330023C4E975 +:102890000E3384F831302046D2F798FF0B280246D9 +:1028A00006D1628601230D21684602F0ABF811E0E3 +:1028B000A38E834210D194F83030042B02D8013318 +:1028C00084F83030A28E638E934203D094F8303077 +:1028D000042BE6D805B030BDA0860023F0E730B564 +:1028E0008BB0036A009302AD0446D0E90623416A27 +:1028F000284602F068F895E8070004F10C0383E825 +:102900000700E38823F00203E3802046FFF77CFF03 +:102910000123A1881A4606A802F074F800200BB023 +:1029200030BD38B50B680C4605461B6B08460C34A9 +:10293000984794E8070085E80700284638BD10B599 +:10294000036804461B6B9847E06810BD10B5036828 +:1029500004461B6B9847206910BD036810B50446F8 +:102960001B6B9847E3889B0702D42046C9F7C0FE3B +:10297000A06A10BD036810B504461B6B9847E38836 +:102980009B0702D42046C9F7B3FEE06A10BD408E13 +:10299000704738B5036801810446DB6998472368AE +:1029A00005465B6A204698472081284638BD008945 +:1029B0007047436BC2689B1A826953439B1230B5C0 +:1029C00002694363836B9B1AC26953439B1242693A +:1029D0008363C36B9B1A026A8BB053439B12C3631E +:1029E00002AD0093D0E90D230446016C284601F0A6 +:1029F000EAFF95E8070004F1280383E807000123B4 +:102A0000A1881A4606A801F0FDFF00200BB030BDDA +:102A100084B070B505AC84E80E00064600F10C05E4 +:102A20000FCC0FC594E80700F38843F0020385E854 +:102A30000700F380BDE8704004B07047C08800F024 +:102A40000200704700234FF48062C0E90333C0E9FD +:102A500008234361C38823F00203C0E90622C38030 +:102A600070474164704773B50B680C4605469B6A16 +:102A7000084616469847E36B00932846D4E90D2391 +:102A8000216C019601F061FF284602B070BD38B597 +:102A90000B680C4605469B6A08462834984794E81C +:102AA000070085E80700284638BD2DE9F04387B0C8 +:102AB000014603A8FFF7EBFF0398FBF72DFB024647 +:102AC0000B460498CDE90023FBF726FB80460598CA +:102AD0008946FBF721FBDDE9002306460F46104639 +:102AE0001946FBF783FB424604460D464B464046DB +:102AF0004946FBF77BFB02460B4620462946FBF77F +:102B0000BFF9324604460D463B4630463946FBF790 +:102B10006DFB02460B4620462946FBF7B1F9F8F754 +:102B2000FFFDFBF713FE07B0BDE8F0830089704797 +:102B300040897047FF299ABF017300206FF47A70B3 +:102B40007047007B7047704713B54B8901930B8921 +:102B5000009300231A461031044602F0F3F8204691 +:102B600002B010BD10B50446D2F76AFF204606F049 +:102B700035FD204610BD6FF47D7070476FF47D7099 +:102B800070476FF47D7070476FF47D7070471FB5AC +:102B900003688DF80F20002200921C6A0DF10F02CD +:102BA0000123A04704B010BD1FB58DF80C208DF88F +:102BB0000D300022036800921C6A03AA0223A0477A +:102BC00004B010BD2DE9F04104469DF818500F46A1 +:102BD0001E46904622B3002B22DD03689B6898476F +:102BE000236847F001011B69C9B2204698470027B6 +:102BF000013E2368BE425B6906DD002120469847FE +:102C000008F807000137F4E701212046984708F843 +:102C100006001DB923682046DB689847002001E0C4 +:102C20006FF47A70BDE8F081F0B585B01E469DF86E +:102C30002C308DF80F20044602680D4683B1012325 +:102C40000093176A0DF10F02B84738B92368009056 +:102C50009F6A0A9B324629462046B84705B0F0BD18 +:102C6000D3699DF80F209847EFE71FB5012304684B +:102C7000CDE900330DF10F03E46AA04708B99DF8D0 +:102C80000F0004B010BD2DE9F04104469DF8186016 +:102C900088461F461546D2B1002B18DD03689B6895 +:102CA000984723685FFA88F11B69204698472F44AC +:102CB000236815F8011B1B6920469847BD42F7D1D0 +:102CC0001EB923682046DB689847002001E06FF4B6 +:102CD0007A70BDE8F0816FF47D707047407970477D +:102CE0004171704770B5064614460D4681B10868BB +:102CF00090420BD010B103681B6E98472CB123682B +:102D00000022DB6D3146204698472C60002001E010 +:102D10006FF47A7070BD0EB42DE9F04787B00FAA3A +:102D2000044652F8043B0092197800297CD02529EA +:102D300076D1009A111D009159781568642903F124 +:102D4000020620D014D8582937D06329236815D01B +:102D5000252967D023683F219B692046984723682F +:102D60003F219B692046984723683F219B6907E0E4 +:102D700073291AD07829EDD101271FE09B69E9B2A8 +:102D80002046984737E01422002101A806F088FC6D +:102D9000284601A9FFF736FB01AD15F8011B51B319 +:102DA000236820469B699847F7E715F8011B11B384 +:102DB000236820469B699847F7E700274FF00009F2 +:102DC000CA466FF0030808FB09F11C3125FA01F12E +:102DD00001F00F0101F13003392B10DD6FB15731D4 +:102DE000236820469B6998474FF0010A09F10109C1 +:102DF000B9F1080FE7D1334696E73731F0E7302BCA +:102E0000D9B2EDD1BAF1000F04D1C9F10803DBB298 +:102E1000012BEBD1236830219B6920469847E5E7D9 +:102E20005E1C23689B69ABE707B0BDE8F04703B0C1 +:102E300070471FB5C389DB06044609D58189012384 +:102E40000422684601F0DEFDE38923F01003E381EC +:102E500004B010BDA0F10800FFF7EBBF2DE9FF4162 +:102E6000C3895B0704460D463BD50746002657F845 +:102E7000183FB3F9028046450DDA31B2384602F008 +:102E800038F9A84205D10123A1891A46684601F004 +:102E9000B9FD0136EFE7E38C94F824209BB20133AF +:102EA000B3FBF2F102FB1133228D9BB29A421BD08D +:102EB000E28C216A92B28D54E269E384002A0CDB31 +:102EC000E38C9BB29A4208D14FF0FF33E361A189B2 +:102ED00001230222684601F095FDE38943F01003C7 +:102EE000E38104B0BDE8F081A18901230322684693 +:102EF00001F088FDF5E730B5C3891B0785B00446AE +:102F000020D5838EC16A02689BB29269C95C9047E2 +:102F1000A58E94F83030ADB20135B5FBF3F203FB6A +:102F20001255638EADB2AB420BD1012340F2FF319B +:102F30000222684601F066FD236801219B68204655 +:102F40009847A58605B030BDC3895B0770B50446B8 +:102F500006D5036800219B689847206AD2F7C4FB16 +:102F6000E58994F8240025F00405ADB2E581D2F797 +:102F700097FB206260B12368002645F004055B687A +:102F8000E6842685E581314620469847304670BD67 +:102F90006FF47B70FBE738B5C3891B07044606D581 +:102FA000036801219B689847E06AD2F79DFBE58999 +:102FB00094F8300025F00805ADB2E581D2F770FB3A +:102FC000E06230B1002045F008056086A086E5810A +:102FD00038BD6FF47B70FBE730B5BDF80C00BDF871 +:102FE0001050013BA84209D00C5C03F8014F01309E +:102FF000B0FBF2F402FB140080B2F3E730BD38B549 +:103000000D1E044605DB0368DB68984700B9A5631D +:1030100038BD6FF47A70FBE7012A70B505460E469D +:10302000144615D0022A03D180891146D2F7B4F88C +:10303000EB8C16FA83F195F8243091FBF3F2022C15 +:1030400003FB1211E96101D1D2F76AF9002001E016 +:103050006FF47A7070BD012A38B5044615460AD05F +:10306000183002F00BF8022D03D1A0890121FFF7DF +:103070008EFA002001E06FF47A7038BD2DE9F04F30 +:1030800087B09B46CB89DD0702AF80460C4692464F +:1030900002D5D4F79BFE09E058070CD40846FFF789 +:1030A00053FF014638B1404601F08CFF40461437CB +:1030B000BD46BDE8F08FE389B4F8289043F00103E2 +:1030C000E3814E464FF0FF35E38C9BB2B34217D0FD +:1030D000691C6ED1236A9A5D0023DAF800103A6009 +:1030E000B1F9021099422BDD19B250467B6002F013 +:1030F00000F83A687B68904208BF35460133ECE738 +:10310000BBF1010F2CD16A1C53D1E38C9BB2B342AB +:10311000FBD0236A9B5D4FF0000BDAF800207B6048 +:10312000B2F902205A4513DD0FFA8BF1504601F037 +:10313000E0FF7B680BF1010B984208BF3546ECE7D6 +:1031400094F82430013696FBF3F203FB1266BBE7DA +:1031500094F82430013696FBF3F203FB1266D2E7B3 +:10316000BBF1020F25D16B1C23D1514607F10C0096 +:1031700001F07CFF5A4607F10C012046FFF76BFF78 +:1031800007F10C0001F000FFE38C9BB25D1E13B948 +:1031900094F82450013D07F10C00D4F717FE07F115 +:1031A0000C0104F1180001F069FF07F10C0001F0B7 +:1031B000EBFE002D35DB4D45BDBF94F82460A6EB3A +:1031C00009067619A5EB090606F1080323F00703A3 +:1031D000EA46ADEB030D0DF1080B721C00215846B9 +:1031E000ADB206F05DFA94F82420CDE900955B4677 +:1031F000216A2046FFF7F0FE238D94F82420013346 +:10320000334493FBF2F102FB11332385E38923F06E +:103210000103E38132B259464046D4F7BDFDD5469D +:1032200044E7E38923F00103E381404631E7C389A2 +:103230005B0710B5044606D5E08C83B2208DC01A1A +:1032400018BF012010BDFFF77FFE0028F4D0F9E77A +:10325000838E408E9BB2013BC01A18BF012070477D +:10326000828E438E92B29A4281BF828E90F8300055 +:1032700092B21B188FBF981A808E80B2181A7047AE +:103280002DE9F8430446884691461E4600274F45DF +:103290002ADA658E94F830300135B5FBF3F203FB82 +:1032A0001255A38EADB29BB2AB420BD12368012164 +:1032B0005B6820469847022E0CD1314640F2FF3021 +:1032C000FFF765F9638EE26A18F80710D1540137E9 +:1032D0006586DCE7012E05D12046FFF7C1FF0028F7 +:1032E000FADCEFE7002EEDD1236801215B68204670 +:1032F00098473846BDE8F88308B5C06803681B6B7B +:103300009847002008BD08B5C06803689B6A9847C5 +:10331000002008BD2DE9F341054614461F46D6F7A7 +:10332000A7FBEE68697C33680191D3F83C809B6C05 +:10333000304698470A2C77F10003224638BF0A220C +:10334000024401993046C04702B0BDE8F041D6F7CB +:1033500081BB30B5446B014600221825944206DD3E +:10336000CB6A05FB0230038A13B10132F6E7002075 +:1033700030BD026B00238A420B8208BF0363704793 +:1033800010B50446D6F774FBE06803689B6C984759 +:10339000D4E9082163686060C31AD21841F10001C2 +:1033A000C4E90821A2681344A360A268B2F57A7F39 +:1033B0000AD3D4E90631013341F10001A2F57A7252 +:1033C000C4E90631A260F0E7BDE81040D6F742BB81 +:1033D0002DE9F041054616469846FFF7BAFF9DF8DD +:1033E0002070044678B32846FFF7CAFFD5E90832B3 +:1033F000F31848EB02021FBB3846C4E90232BDF89D +:1034000018302382BDF81C306382099B6361C4E9D4 +:103410000070D6F72DFB2B6B3BB1D4E90212D3E938 +:103420000203814272EB030305D22C63324643460A +:103430002846FFF76FFFD6F70DFB0020BDE8F081AF +:1034400037464046D9E76FF47B70F7E71FB5089918 +:10345000039100210291BDF81C100191BDF81810D4 +:103460000091FFF7B5FF05B05DF804FB70B44FF4B1 +:103470007A71BDF80C50BDF81060A2FB0124CDE9B3 +:10348000035601FB034370BCFFF7E0BF1FB508996B +:10349000039101210291BDF81C100191BDF8181093 +:1034A0000091FFF795FF05B05DF804FB70B44FF491 +:1034B0007A71BDF80C50BDF81060A2FB0124CDE973 +:1034C000035601FB034370BCFFF7E0BFF0B40023D9 +:1034D000C26A446B03639C42016B0EDD158A4DB1D9 +:1034E00039B1D2E90265D1E90271BE4275EB010141 +:1034F00000D2026318320133EDE749B1036A8A68EA +:10350000D21A0A2AB8BF0A22F0BCD317FFF702BFAB +:10351000F0BC7047F8B505460C461646D6F7A8FA33 +:103520002B6B2BB11A8AA24202D15A8AB24210D016 +:103530006A6B00201821824216DDEB6A01FB003322 +:103540001F8AA7420ED15F8AB7420BD100241C828A +:1035500004E000241C822846FFF7B8FFD6F77AFA69 +:103560002046F8BD0130E6E76FF47A74F6E770B5EF +:10357000C36A426B182101FB02320020934211D230 +:10358000198A59B15969C90708D548B1D3E9026404 +:10359000D0E90251AE4274EB010101D31833EDE7DB +:1035A0001846FBE770BD70B504460E46D6F760FAC4 +:1035B000E06803689B6C9847D4E908216368606001 +:1035C000C31AD21841F10001C4E90821A2681344CA +:1035D0000546A360A268B2F57A7F0AD3D4E9063122 +:1035E000013341F10001A2F57A72C4E90631A2600B +:1035F000F0E7E06803681B6B9847D6F72BFA0023C7 +:1036000035607360D4E9080170BD10B50C46FFF752 +:10361000AEFF20B1D0E90223C4E90023012010BD90 +:1036200070474FF47A735843D2F76ABD10B5044619 +:10363000D2F7C0FD204605F0D1FF204610BD1FB5D2 +:10364000012381881A46684601F0DCF901231A46F5 +:1036500040F2FE31684601F0D5F905B05DF804FB93 +:103660002DE9F041044680680121103001F041FB52 +:1036700094F92230042B1CDD94F82250A068013507 +:103680006DB284F822500368DB69984701308542A7 +:1036900046D1E169B4F92030002284F82220B1F942 +:1036A000021099423ADC22752046BDE8F041FFF74E +:1036B000C6BFE369B4F92010B3F902308B42DBDDF9 +:1036C00004F11C0001F015FD04F10C060146304622 +:1036D00001F028F9054620B92021304601F022F9F1 +:1036E000054694F92270A068C7F1040301279F40A2 +:1036F0000368DB6998470138FFB200265FFA80F85B +:10370000AB5D1F4206D0A068FF2332B241461030A5 +:1037100001F0D2F90136052EF2D1ADE70133238451 +:10372000BDE8F08138B5436AB0F92810B3F902302A +:1037300085688B42044605F1100516DD243001F042 +:10374000D8FC014600231A46284601F08EFA626A28 +:10375000B4F92830B2F902209A4208DA002323751E +:103760002046BDE83840FFF76ABF2021EAE7013371 +:10377000238538BD37B504468068103001F095F9CF +:10378000A068B4F93020002500952B4604F12C01E7 +:10379000103001F0F0F910B994F8333053B994F9BE +:1037A00032203AB1238E1A440123228684F8333022 +:1037B00003B030BD2046257503B0BDE83040FFF7AB +:1037C0003EBF37B5B0F93050044680680368DB6906 +:1037D0009847E36A94F932105B88CB1A1844854203 +:1037E00011DC94F8333073B1237D062B03D1A0682C +:1037F000103001F05AF900232046237503B0BDE8CC +:103800003040FFF71CBFB4F93030002B04DDA06856 +:103810004942103001F06DFAA068B4F9302000235D +:10382000009304F12C01103001F0A5F994F9323025 +:103830001BB923752046FFF702FF0123228E84F86F +:10384000333094F932301344238603B030BD037D06 +:1038500010B5044663B3038BC28A04339BB29A4209 +:10386000038325D800230383037D022B01D1FFF7B7 +:10387000F7FE237D032B02D12046FFF753FF237D64 +:10388000042B02D12046FFF775FF237D052B02D0C4 +:10389000237D062B02D12046FFF793FF237D072BC4 +:1038A00006D1002323752046BDE81040FFF7C7BEB0 +:1038B00010BDFFF7CCBF1FB5037D044673B10023D5 +:1038C0000375012381881A46684601F09BF801239D +:1038D0001A4640F2FF31684601F094F8A0681030B3 +:1038E00004B0BDE8104001F0E0B810B50446237DF7 +:1038F00043B1237D012B05D0012140F2FF30FEF7BB +:1039000046FEF4E710BDC16938B50446C86804F145 +:103910000C05A84218D010B103681B689847E069ED +:10392000A27EC38894F82010C560012A16BF23F434 +:10393000807343F480739BB2C38003685B6C9847C9 +:10394000E38843F40053E380E08800F0010038BDD1 +:1039500038B5044600F10C0501212846FFF7C0F9EF +:10396000E06903685B689847A37E1B1A5C425C4170 +:1039700028460021FFF7B4F9204638BD10B50446AB +:10398000D2F754FD204605F029FE204610BDC2881E +:1039900022F4005208B5C2800022CA60027C12B133 +:1039A00003689B699847002008BDA0F10C00FFF751 +:1039B000EEBF30B5C388DD048BB004465FD5036825 +:1039C0005B6A9847237E00285BD00B2B01D801331C +:1039D0002376237E082B11D9E388D90734D443F00A +:1039E0000103E38001231A46A18806A801F00AF822 +:1039F000238901332381D2F7ABFA6061237E012B47 +:103A000022D8E388DA071FD523F00303E380A188D7 +:103A10000123022202A800F0F5FF637E012B13D1DF +:103A20000193D2F795FA6269801A61F10001B0F54D +:103A30007A7F71F1000328BF0422A188019B38BF5F +:103A4000032206A800F0DEFFE58805F00305012D3E +:103A500015D1D2F77DFA6369C01A40F2DC5361F1E7 +:103A60000001984271F1000309D3E388A18843F073 +:103A70000203E38005222B4606A800F0C3FF0BB02B +:103A800030BD002BBDD0013BA2E71FB5044649B1B4 +:103A9000C38823F00303C38000230381037600203F +:103AA00004B010BDC369DB889B05F8D503685B6A69 +:103AB00098470028F3D003232376E388A18843F0B6 +:103AC0000103E38001231A46684600F09BFF0123AF +:103AD0002381D2F73DFA6061E1E741767047836860 +:103AE00010B5044623B94FF48070D1F7D9FDA0601A +:103AF000A0684FF48072BDE81040002105F0D0BDF1 +:103B000082B06B4683E80600826803CB1060516088 +:103B100002B07047F8B50023171E836005460B6896 +:103B200041600C460FDA5B680846984723680646F2 +:103B30009B682046984707FB106028602846D2F70C +:103B4000A9FC2846F8BD1B68084698472368064626 +:103B50009B682046984707FB0060EEE72DE9F04799 +:103B600007468946D2F796FC054630B330203E68BA +:103B700005F036FD30220021044605F091FD08369F +:103B80004FF00008A84510DA786803682146D3F89A +:103B900010A032460C23D0472146484605F0BFFD11 +:103BA00040B1303608F10108ECE703D1204605F0BA +:103BB00015FD00242046BDE8F0870446FAE784B0EE +:103BC00010B503AC84E80E0002AA836852F8341FD3 +:103BD00003EB810354F8041B43F8041B9442F9D10E +:103BE000BDE8104004B0704703681B6B184710B560 +:103BF0000446D2F787FE204605F0F0FC204610BDB3 +:103C000008B50246C38859B1D90507D523F48243C4 +:103C100043F40073C3800368DB6A9847002008BD43 +:103C20009905FBD523F4007343F48043D380F5E773 +:103C300008B503680F221B6BC9B29847A0F1330384 +:103C40005842584108BD03689B6A184710B504469E +:103C5000D2F706FF204605F0C1FC204610BD08B58E +:103C60000246C38859B1D90507D523F4824343F4EA +:103C70000073C3800368DB699847002008BD99057D +:103C8000FBD523F4007343F48043D380F5E7002091 +:103C900070478069002903DD10B1406A0139F9E7F6 +:103CA000704782B07FB5054608A880E80C00086818 +:103CB00049684A1011F0010F02AB03C30B4618BF4D +:103CC000AB58044605EB610618BF1C58DDE90A0134 +:103CD0008DE8030008AB0CCB3046A04704B0BDE82C +:103CE000704002B070478388F7B55F0704460ED571 +:103CF0009E060AD4DD060AD5D0E90601D4E90423DC +:103D00008DE803002046FEF7E7FC03B0F0BD43F06A +:103D10000403A38004F1100504F11807A388A66822 +:103D2000980719D597E803008DE80300304695E819 +:103D30000C0001F02BFAA388DA0619D5266ABEB169 +:103D400096E80F0085E80F0033692362304605F0DE +:103D500045FCD1F7E5FAE1E7D90705D5E36800931B +:103D600095E80F00B047E6E795E80F00B047E2E7B7 +:103D700023F00403A380C8E738B50446D5F778FEDE +:103D8000E56935B12B69E36103B92362E38C013B3B +:103D9000E384D5F75FFE284638BD2DE9F0410025C4 +:103DA000846980462E46C4B1B4F90420A388676AAA +:103DB000002A0DDA5B070BD46EB9C8F818702046DC +:103DC000676AFEF77EFC204605F008FC01353446A4 +:103DD00026463C46E7E77762F1E72846BDE8F081F2 +:103DE000F0B5012287B0076A04460D46D2F70EFFF0 +:103DF00050BBE38C092B27D895E80F0002AE86E86C +:103E00000F00182005F0ECFB06AB054613E9030094 +:103E10008DE80300284696E80C0000F011FED5F767 +:103E200027FE6FB9E3692B61E5612B6903B9256250 +:103E3000E38C0133E38407B0BDE8F040D5F70ABE58 +:103E40003B692B613D61F0E707B0F0BD82B008B57A +:103E500002A981E80C00FFF7C3FFBDE8084000207D +:103E600002B0704782B038B504A981E80C0005465D +:103E7000FFF793FF2846FFF77FFF044658B101463E +:103E800000222846D2F7C2FE204605F0A7FBD1F754 +:103E90001FFA0028EED1BDE8384002B07047A0F10B +:103EA0000C00D2F72FBF10B50446D2F72BFF2046E7 +:103EB00005F094FB204610BDA0F10C00FFF7F3BF06 +:103EC000C08800F00300C31E58425841704782B0BA +:103ED0007FB5054608A880E80C00086849684A10C4 +:103EE00011F0010F02AB03C30B4618BFAB580446D9 +:103EF00005EB610618BF1C58DDE90A018DE80300D7 +:103F000008AB0CCB3046A04704B0BDE8704002B00F +:103F1000704710B50446D2F76BFF204605F05EFBF4 +:103F2000204610BD43898B4203D1C08800F00100B8 +:103F3000704783898B4206BFC08800F002000020D2 +:103F4000704743898B4203D1C08800F0040070475A +:103F500083898B4206BFC08800F0080000207047AC +:103F600043898B4203D1C08800F0100070478389D9 +:103F70008B4206BFC08800F02000002070474389B4 +:103F80008B4204D1C3885AB143F00103C3808389B3 +:103F90008B4204D1C38832B143F00203C38070471F +:103FA00023F00103F2E723F00203F7E743898B4292 +:103FB00004D1C3885AB143F00403C38083898B4280 +:103FC00004D1C38832B143F00803C380704723F0A3 +:103FD0000403F2E723F00803F7E743898B4204D197 +:103FE000C3885AB143F01003C38083898B4204D144 +:103FF000C38832B143F02003C380704723F010031D +:10400000F2E723F02003F7E782B0F0B58BB010A9F8 +:1040100081E80C004589BDF84070BDF84260AF42B0 +:1040200008BF8589022E044628D0052E16D0012E01 +:104030000FD139463246FFF7A2FF2946FFF772FF3C +:1040400038B13346A18806A800F0DCFC238901338F +:1040500023810BB0BDE8F04002B070473946012221 +:10406000FFF7A4FF2946FFF76CFF0028F1D01346A5 +:10407000A188324606A800F0C5FCEAE72946FFF70A +:1040800051FF58B3A1880123324602A800F0BAFCC0 +:1040900039462046FFF755FFA688E0B1294620465D +:1040A000FFF74FFFB8B101230422314606A800F004 +:1040B000A9FC012229462046FFF78FFF002239463E +:1040C0002046FFF75CFFFFF771FF0BB0BDE8F04043 +:1040D00002B0FFF782BF01230322E6E739462046FC +:1040E000FFF73EFF0028E9D1A37B012BE6D1204654 +:1040F0000193FFF726FF019B20B1042206A800F0E0 +:1041000081FCDBE70322F9E781737047C3889A06D5 +:1041100010B5044608D4406A03682146DB69984715 +:10412000E38843F02003E380E388DB0606D4D4E988 +:104130000A309842B4BF0020012010BD0020FCE7E7 +:1041400010B50446D2F7F2FE204605F047FA2046A5 +:1041500010BD00234FF4FA72C0E90A32C38843F05D +:104160001003C380704738B5044600F10C050121E7 +:104170002846FEF7B5FDE06903685B6898470021B3 +:1041800004462846FEF7ACFD204638BD70B504460F +:1041900000F10C060D4630460121FEF7A1FDE06955 +:1041A000036829461B68984730460021BDE87040E7 +:1041B000FEF796BD30B5C488E5064FEA41024FF0E0 +:1041C000640392FBF3F21CD5836A03B98162836AAC +:1041D0009942B8BF194662235943642591FBF5F112 +:1041E0001144C26A8162013AC2624AB901EB810399 +:1041F000023124F0100493FBF5F319448162C4806A +:1042000030BD6224614391FBF3F11144C162F7E7D1 +:1042100010B50446FFF7BBFB606A036821461B6AC2 +:104220009847E38823F02003E380002010BDA0F12D +:104230000C00FFF7EDBF426B30B5002300F108041E +:104240009A420FDD54F8045B8D4209D1911C023370 +:1042500050F8211040F82310013A4263002030BD8D +:104260000133EDE76FF47A70F9E782B07FB5054668 +:1042700008A880E80C00086849684A1011F0010F8E +:1042800002AB03C30B4618BFAB58044605EB6106EF +:1042900018BF1C58DDE90A018DE8030008AB0CCB00 +:1042A0003046A04704B0BDE8704002B07047426B92 +:1042B0000A2A38B5034614D000F1080400208242CF +:1042C00005DD54F8045B8D420ED00130F7E7901CF9 +:1042D000013243F820105A630846FFF744FF0020DC +:1042E00038BD6FF47B70FBE76FF47A70F8E782B04B +:1042F0002DE9F04708A981E80C0000F108090446FF +:104300004E4600250127636BAB420ADD3368D8694E +:1043100003689B6C984756F8043B013583F830706E +:10432000F1E70120FEF73AFA206B036801211B68D0 +:1043300098470025AA4600264F46B046636BB34215 +:1043400018DD57F8040B90F830308BB1FFF70BFFF6 +:10435000012804D057F8043C9B6AAB4206DC57F8AE +:10436000040C294680F830A0FFF724FF08F101086B +:104370000136E3E71D44B8F1000F02D0B5F57A7FAE +:10438000D9DD206BBDE8F047036800211B6802B04F +:10439000184710B50446D2F73FFE204605F01EF937 +:1043A000204610BD704770470020704700207047BE +:1043B00000207047036AC1611A68011D52681846DF +:1043C0001047C069003818BF01207047006A0368B1 +:1043D0001B6918470023C361704782B010B502A95A +:1043E00081E80C00002304468361C06918B10368AA +:1043F0001B689847A061BDE8104002B07047006A92 +:1044000010B103689B69184700207047006A10B11B +:104410000368DB6918470020704710B50446D3F7DE +:104420007BFC204610BD82B07FB5054608A880E819 +:104430000C00086849684A1011F0010F02AB03C371 +:104440000B4618BFAB58044605EB610618BF1C5855 +:10445000DDE90A018DE8030008AB0CCB3046A0472C +:1044600004B0BDE8704002B0704730B54B69012B15 +:1044700085B005460C4606D94A89012340F2FF3132 +:10448000684600F0BFFA00236361637C3BB1216A98 +:104490000B6828461B689847284605B030BD237432 +:1044A00004F10C01284600F090FCF5E7A0F10400AF +:1044B000D2F7EABD438910B504461BB921B9D2F73A +:1044C000EBFB6081608910BD4181FBE740690328F7 +:1044D0008CBF002001207047A0F10800D2F78CBEED +:1044E00010B50446D2F7ECFF204605F077F82046D9 +:1044F00010BD10B5044680F82C1061B1C068036887 +:104500009B68984738B9E068036804F108015B6864 +:10451000BDE81040184710BD4B1E012B9ABF016328 +:1045200000206FF47A70704738B50446C06803689D +:104530009B680D46984728B9E068036804F10801B4 +:104540005B68984794F85030012B03D804F154006D +:10455000D1F742F8D1F7FCFC2A46C4E91201E1691F +:104560002046BDE83840D3F781B80078704790F90D +:104570000000704700887047B0F90000704700687D +:10458000000A7047006800127047006870470068B2 +:1045900070470170704701807047018070470B12AF +:1045A00001700914437081707047016070470160A9 +:1045B0007047836810B5044623B9006A03681B6915 +:1045C0009847A060A06810BDA0F10400FFF7F1BFFC +:1045D00008299ABF816000206FF47A707047A0F1BB +:1045E0000400FFF7F5BF006A03689B691847A0F154 +:1045F0000400FFF7F8BF006A0368DB691847A0F101 +:104600000400FFF7F8BF00207047A1F10401D3F7C1 +:1046100061B8017070470020704701610020704749 +:104620002430D2F731BD7047A0F10400D3F74EB962 +:10463000C069003818BF012070478368586A036852 +:104640001B6918478368586A03685B69184710B587 +:1046500000F12802002352F8044B8C420DD10A339A +:10466000002240F82320C369013BC36119B10B68E4 +:1046700008465B6A9847012003E001330A2BEAD120 +:10468000002010BD10B500F1280200F1500352F8CF +:10469000040B10B1C4698C4202D09A42F7D10020B9 +:1046A00010BD10B5044604F099FF204610BD1FB59B +:1046B000C1618168012309891A46684600F0A2F9A0 +:1046C00005B05DF804FB1FB581680023C36109894B +:1046D00001230222684600F095F905B05DF804FB5D +:1046E000F7B501F10C06044601A80D46D3F714FBFB +:1046F00001A9304600F097FB074601A800F07DFBBA +:104700005FB1696A0B6801A81B68984701A9304628 +:1047100000F07AFB01A800F070FB3146204600F063 +:1047200054FB204603B0F0BDD0ED037AF5EE407A9D +:10473000F1EE10FA04D18368586A03689B69184740 +:1047400017EE900A704710B583682DED028B044672 +:10475000C160586A03689B6908EE101A984707EE13 +:10476000900AF4EEC87AF1EE10FA16D5A368586AEA +:10477000036818EE101ADB69984707EE900AB4EE4A +:10478000E78AF1EE10FA08DDA368BDEC028B586AE7 +:104790000368BDE810409B69184718EE100ABDEC8D +:1047A000028B10BDA0F10400D3F700B910B5044688 +:1047B000D3F7FCF8204604F011FF204610BDA0F10D +:1047C0000400FFF7F3BF70B58B69002601332DEDB0 +:1047D000028B0C468B614E6189680B6884B05B6804 +:1047E000054602A8984794ED038AB5EE408AF1EE9B +:1047F00010FA0BD102A9284600F0E7FA02A800F04F +:10480000FCFA284604B0BDEC028B70BDA368586A60 +:1048100003689B69984707EE900AB4EEE78AF1EEC9 +:1048200010FAE7DA02A903A800F0CFFA4FF0FF333D +:1048300000932846334603AA2146D3F7CFF803A8AE +:1048400000F0DBFADAE770B500232DED028B43614F +:1048500083690C468168013383610B6886B0054625 +:104860005B6803A81646984795ED038AB5EE408A23 +:10487000F1EE10FA18D1039B5B880022B342A8BF67 +:1048800033462146009203A800F04EFB039B5B8851 +:10489000B342D4BFE418A41903A800F0AEFA20462E +:1048A00006B0BDEC028B70BDAB68586A03689B69AB +:1048B000984707EE900AB4EEE78AF1EE10FADADADA +:1048C00003A905A800F081FA2346294605AA04A8F1 +:1048D0000096D3F783F805A800F08FFA049B598857 +:1048E00004A80C4400F089FAD6E7B1F5007FA5BF13 +:1048F000C1F57F7003304800400080B2704788B235 +:10490000704741F6EF63002818BF034611FB03F11F +:10491000C1F309007047B1F5007F40F2FF30A8BF36 +:1049200000207047A1F120035E2B9FBF0068052384 +:104930006FF09F0213FB012194BF401800207047C5 +:1049400010B501704270436010BD82B030B50D46A5 +:1049500003A981E80C00044607C99DF8183084E8D3 +:104960000700DBB1687818B1494252426160A26029 +:104970006A68022A17D0032A1BD0012A04D12268B0 +:104980006168216052426260012B18D0022B05D170 +:1049900063685B426360A3685B42A3602046BDE836 +:1049A000304002B070472268524222606268524230 +:1049B000E9E7D4E900125242C4E90021E4E7D4E96E +:1049C00000322260E6E782B013B50DF1100C8CE8DE +:1049D0000C000B780193069B0093DCE9002304464E +:1049E000FFF7B3FF204602B0BDE8104002B07047A9 +:1049F00010B5002303600446D1F7BAFAC4E90201F6 +:104A0000204610BD38B50180428004461D46D1F7CE +:104A1000AFFAC4E9020115B12046D3F7CBF820461E +:104A200038BDD0B5DDE904679DF818300180C0E9D4 +:104A30000267044642800BB1D3F7BCF82046D0BDD4 +:104A400082B010B502A9044681E80C00FFF7D0FF40 +:104A500002AB0FCB84E80F00002320462361BDE8A2 +:104A6000104002B0704710B50446006800F070FBBB +:104A7000204610BD0A46002104F012BE10B50446BF +:104A80000868206000F053FB204610BD38B50B6865 +:104A90000446006898420D4605D000F059FB28688E +:104AA000206000F044FB204638BD006843888188C0 +:104AB00006305943FFF7DEBF006830B54488A14295 +:104AC0000CDA8588AA4209DA002907DB002A05DB0F +:104AD000014404FB02108371002030BD6FF47A7032 +:104AE000FBE703685888814210B50BDA9C88A24224 +:104AF00008DA002906DB002A04DB194400FB021354 +:104B0000987910BD6FF47A70FBE72DE9F0470E1E1F +:104B100007461D461CDDDBB10468B4F80290B4F80A +:104B200004A0B145A8BFB1469245A8BF924606343D +:104B30004FF00008D0450FDA294620464A4604F0D7 +:104B400087FD3B685B8835441C4408F10108F1E7A8 +:104B50006FF47A70BDE8F0870020FBE710B5002302 +:104B60000446D3F74DF8204610BD10B50446D3F7E0 +:104B700047F8204610BD2DE9F04706460F46346839 +:104B80009DF82000B4F802C062456CDAB4F80480E5 +:104B9000434568DA0D68698802EB0109B9F1000F35 +:104BA00061DDB5F804E003EB0E0ABAF1000F5ADD3F +:104BB000002A2DDAE145A8BFE146002B2EDAD045C8 +:104BC000A8BFD046002AB4BFC2F1000E4FF0000EBD +:104BD000002BBABF594349420021002B22EAE2725E +:104BE000CCBF0CFB03F30023063571440634134499 +:104BF0000D44234400B300210846414523DA002236 +:104C00004A4511DAAC5C0CB19C5401300132F7E733 +:104C1000ACEB02098945A8BF8946CEE7A8EB03089B +:104C2000F045A8BFF046CDE73A685288154432688F +:104C3000528801311344E0E70446444505DB28EA85 +:104C4000E87009FB00F0BDE8F0874A46294618469F +:104C500004F0FEFC3A6852881544326852880346D4 +:104C600013440134E9E70020EDE72DE9F743064658 +:104C70006846174698460C46D2F786FF33685A882E +:104C8000974233DA9B88984530DA1F2C2ED9019B46 +:104C90009C422BDC21466846FFF744FE00244FF07F +:104CA000100E08EB0403002531684A8807EB050C59 +:104CB000624511DDB1F8049099450DDD614410F8AD +:104CC00004C003FB02114EFA05F21CEA020F14BFE6 +:104CD0004FF0FF3200228A710135052DE4D10134F5 +:104CE000052CDED1002003B0BDE8F0836FF47A70AC +:104CF000F9E703682DE9F0419D1D5B880029064610 +:104D00000C46A3EB010819DD994203DBFFF7CDFE4A +:104D1000002015E0002733689B889F42F8DA2919A4 +:104D20004246284604F094FC05EB08002146FFF7B4 +:104D3000A1FE33685B8801371D44ECE76FF47A709D +:104D4000BDE8F0812DE9F04F83B000AFD1F800A0AD +:104D50003C6BBAF802101E4614447B6B8C428146B1 +:104D6000334426DA002CD8BF0C46BAF80450AB42C4 +:104D700002DA002BC8BF1D4604FB05F3073323F0FE +:104D80000703ADEB030D0AF1060801FB06226B4693 +:104D90009044EB46AE420EDA2246414658467B60CE +:104DA00004F056FCBAF802207B689044AB4401360C +:104DB000F0E70C46D9E748462AB221B2D2F720FFE5 +:104DC00048460C37BD46BDE8F08F10B5044608686C +:104DD000206000F0ACF9204610BD10B51346044623 +:104DE0000A460021D2F79EFF204610BD10B50023D1 +:104DF0000446D2F797FF204610BD10B50446006860 +:104E000000F0A6F9204610BD38B50B6804460068CE +:104E100098420D4605D000F09BF92868206000F00C +:104E200086F9204638BD00680968884208B50BD06D +:104E300043884A889A4209D10431043004F0F8FBCF +:104E4000B0FA80F0400908BD0120FCE70020FAE735 +:104E500038B5141E13DB00684288A5B295420ED8FF +:104E600033EA230328BF1346121B9A4200F10400C1 +:104E7000A8BF1A46204404F013FC002038BD6FF48C +:104E80007A70FBE770B50D686C88A242A8BF224615 +:104E9000114633EA230228BF2246641AA24205F1D2 +:104EA00004050646A8BF22462944FFF79FFF304667 +:104EB00070BD002BBEBF03685B889B1A002A70B5CB +:104EC0000D4630DB01684E889C18B4422BDC9442BE +:104ED00029DB43B335F0004425D05C42AC4201DA13 +:104EE000AB4204DCBDE870400021FFF7B1BF0431E4 +:104EF000002D01EB02060CDA5A1931466C42701B88 +:104F000004F0B4FB224600213046BDE8704004F0B6 +:104F1000C7BB5C1B22467119304604F0A7FB2A462A +:104F200000213019F1E770BD70B505460846111E25 +:104F30009DF8104019DB002B17DB2D686E88CA180E +:104F4000B24212DC043554B1154401382C462A1BF8 +:104F50009A4208DA14F8012D00F8012FF7E71A46F3 +:104F6000294404F075FB002001E06FF47A7070BDF5 +:104F7000002906DB03685A888A4202DB5980002038 +:104F800070476FF47A70704710B50446006800F0FF +:104F9000DFF8204610BD37B50546501D1446019177 +:104FA000D0F77EFB286000F0EEF828680199448075 +:104FB0002246043004F04CFB2A682244002313717B +:104FC00003B030BD1FB50446084601A9FDF71AFA23 +:104FD00001A804F0AEFB01A902462046FFF7DBFF63 +:104FE000204604B010BD13B500238DF80410012233 +:104FF00001A904468DF80530FFF7CDFF204602B029 +:1050000010BDF8B50B68B3F902501368B3F902305C +:105010001D440446681D0E461746D0F741FB20602C +:1050200000F0B1F8206831684580B1F90220043001 +:10503000043104F00DFB336820683968B3F902309D +:10504000B1F9022004300431184404F001FB236854 +:105050002B4400221A712046F8BD10B50968044699 +:105060004A880431FFF797FF204610BD10B504466B +:105070000868206000F05BF8204610BD38B50B686A +:105080000446006898420D4605D000F061F8286893 +:10509000206000F04CF8204638BD0068096808B56B +:1050A0004A8843889A4207D10431043004F037FB20 +:1050B000B0FA80F0400908BD0020FCE708B5FFF712 +:1050C000ECFF80F00100C0B208BD136870B55E88C7 +:1050D0000D6804462EB90560284600F028F82046E1 +:1050E00070BD6D8815B903601846F6E7FFF789FFB4 +:1050F000F5E7002907DB0368B3F902208A4202DDE5 +:105100001944087970470020704708B503884FF6A6 +:10511000FF729BB2934208D0012B01D0DB0702D46F +:105120001E20FAF770FA002000E0012008BD10B53B +:105130000446FFF7EAFF50B9BFF35B8FD4E85F3F47 +:105140000233C4E8523F002AF8D1BFF35B8F10BD91 +:1051500010B50446FFF7D9FF90B9BFF35B8FD4E8D1 +:105160005F3F9A1EC4E8512F0029F8D1BFF35B8F2F +:105170009BB2032B04D12046BDE8104000F001B8DB +:1051800010BDD0F7B1BA03230380704782B037B5A2 +:1051900006A981E80C000446DDE908018DE803005A +:1051A00006AB0CCB65692068211DA84703B0BDE89C +:1051B000304002B0704708B502680B689A4208D1C7 +:1051C00010220431043004F033FAB0FA80F04009C0 +:1051D00008BD0020FCE704207047837C43F02003D7 +:1051E00083747047807CC0F34010704710B508315D +:1051F0000446FFF7EAFD204610BDC37C828A1B01EE +:1052000052BA03F1804342F4805203F5E04392B274 +:10521000C3F818257047072908B507D8032A05D809 +:1052200001754275FFF7E9FF002008BD6FF47A7041 +:10523000FBE710B5898A04460022FFF7CEFD4FF048 +:10524000FF33002288212046FFF702FE204610BDD2 +:1052500038B50D460446D2F75FFDD4F709FCE97D69 +:105260007F3105EB81012046FFF7CEFDD4F7F2FB3D +:10527000204638BD73B5847C14F01004054627D051 +:10528000416801A8FFF7E4FF6868E97C847DD2F7F4 +:105290000DFF01990A1D02EB400332F8100048F699 +:1052A0008806B0420CD049880A4461009A4203D96A +:1052B0000B441888B042F9D15B1AB3F90030AB81C6 +:1052C000AC8924B224EAE47401A8A4B2FFF795FDE6 +:1052D000204602B070BD38B504460D46D2F7FCFE3C +:1052E000256110B12046D2F711FF002038BD70B5FE +:1052F00006460D4671B18B7C13F0100408D1D2F72D +:10530000EBFEAB7C43F01003AB743046D2F7FEFEED +:10531000002001E06FF47A7070BD70B50022044681 +:105320000E46D2F7AFFF054630B131462046D2F7E0 +:10533000CDFFAB7CDB06FCD4237B1BB1236820466E +:105340009B699847002070BDA0F10800FFF7E5BFFA +:105350002DE9F04F85B004460E980090A07CC00661 +:105360006BD50D686E88B2EB560F4FEA660064DAB3 +:10537000043505EB400005EB420980460238A0EBFE +:1053800009056D1095FBF3F203FB1255002DF4D1C6 +:10539000B0F90020A281A27C92064ED5012B0DD13E +:1053A00004F10800FFF730FDA3685B88E38104F196 +:1053B000180005B0BDE8F04FD1F766BEB4F90E6035 +:1053C000A2680436164452884FEA430A2F4604F175 +:1053D000080BC14531D2B4F90E10914211D101220E +:1053E000B4F9101003A8FFF7F8FC03A95846FFF71B +:1053F0000BFD03A8FFF701FD0022E281A268161D44 +:105400005288009BB9F9001001359D420F44D144E8 +:1054100008D197FBF5F326F8023BE3890025023318 +:10542000E3812F46B4F90E109142D2D104F1180055 +:105430000192D1F729FE019ACBE705B0BDE8F08FC4 +:105440000023435082B043580193019B02B0704740 +:10545000704710B5044604F0C1F8204610BDC3687B +:105460008B4210B5044602D003698B4205D12368F4 +:105470000022DB6B11462046984723791BB1236835 +:1054800020469B6B9847002010BDF0B585B01E46A6 +:105490008DF80F2003689DF82C2000921F6A0DF1F3 +:1054A0000F02012304460D46B84738B9236800901F +:1054B0009F6A0A9B324629462046B84705B0F0BD90 +:1054C000C36870B50446B3B10069A0B10368012197 +:1054D0001B689847E068036801211B68984704200F +:1054E000FDF75EF90025E068036802219B68984794 +:1054F000014608B195B970BD206903681B689847DB +:105500000420FDF74DF92069036801211B689847C5 +:1055100001350420FDF744F9092DE4D1E068036862 +:1055200000211B6898470420FDF73AF9E0680368FA +:10553000BDE870401B680121184738B50446154680 +:105540000A4600F10C01FDF7CDFB2A4604F11001DB +:105550002046FDF7C7FB63690025C3F80055E368E3 +:10556000F3B12369E3B101212046FDF7B9FB062120 +:10557000E068D3F711FD06212069D3F70DFD204621 +:10558000FFF79EFFE068036802219B689847206947 +:10559000036802219B68984729462046FDF7A0FB37 +:1055A0000A20FDF7FDF8D4E904239AB1117DE268E1 +:1055B0009AB1127DC3F80815C3F80C254FF0CC72D0 +:1055C000C3F824250622C3F800250A20FDF7E8F8D1 +:1055D000002038BD4FF0FF31E9E74FF0FF32E9E737 +:1055E00070B5044640699DF81060C1F34701C0F8EA +:1055F00088154FF482711D46FFF722FF60694FF452 +:105600009271FFF71DFF60694FF4B071FFF718FF4B +:1056100060694FF4AE71FFF713FF60694FF4A87132 +:10562000FFF70EFF60694FF4A671FFF709FF60698D +:10563000C0F84425C0F84855CEB14FF48073C0F887 +:10564000003201238360D0F8482122B103624FF475 +:10565000A471FFF7F5FE002E204618BF4FF4A47189 +:10566000BDE8704008BF4FF48271D2F747BF4FF4D6 +:105670000073E4E770B5044640699DF81060C1F31B +:105680004701C0F888154FF482711D46FFF7D8FE18 +:1056900060694FF49271FFF7D3FE60694FF4B07107 +:1056A000FFF7CEFE60694FF4AE71FFF7C9FE606987 +:1056B0004FF4A871FFF7C4FE60694FF4A671FFF7BD +:1056C000BFFE6069C0F83425C0F838551EB94FF4E4 +:1056D0008053C0F8003201230360D0F8482122B182 +:1056E00003624FF4A471FFF7ABFE36B94FF4827139 +:1056F0002046BDE87040D2F701BF4FF4AE7120469E +:10570000D2F7FCFE28B963690122DA614FF4A47173 +:10571000EEE770BD70B54469097D00234FF0FF3599 +:1057200004EB83020133D2F860658E4208BFC2F8F1 +:105730006055042BF4D1037C13B103689B6998472F +:10574000002070BDA0F10C00FFF7E4BF10B50446C7 +:10575000D2F740FF204603F041FF204610BD4369C9 +:10576000D3F808057047406A704743690020C3F8C2 +:105770001015704743698176C27649B10122C3F89A +:1057800014250422C3F800223022C3F804237047F2 +:105790003022C3F81415C3F80012C3F80823704769 +:1057A00038B5C369817E01330446C36199B1637E14 +:1057B000E3B9012594F8281065762046D3F710F850 +:1057C00094F828302B442B4084F8283083B963693F +:1057D00001229A600AE0D3F703F808B9E37E13B117 +:1057E000636901229A60A37E002BE0D1002038BDBE +:1057F000E36963B129462046D2F7F2FF94F82830D6 +:10580000013303F0010384F82830002BDFD000239C +:105810006376EBE7A0F10800FFF7C2BF38B5436934 +:10582000D3F8103104464BB1012380F82830002111 +:10583000D2F7D6FF63690022C3F810216369D3F859 +:1058400014314BB1002584F8285001212046D2F7AD +:10585000C7FF6369C3F8145138BD4269002303765A +:10586000C2F800357047032A70B506460C4621DCA5 +:10587000436902F5AC7553F825200B7D9A4217D089 +:105880000B6808461B6E9847236800211B6820465A +:1058900098477369227D43F8252023680022DB6D39 +:1058A00006F10C0120469847E38843F00803E380A3 +:1058B000002001E06FF47A7070BD03681B6A18471E +:1058C000C3688B4270B504460D46164605D013B129 +:1058D00003681B6E98472E71E56070BD10B50368B4 +:1058E00004465B6C9847236820465B68BDE810401F +:1058F0001847C08800F00500003818BF0120704725 +:10590000C08810F0030018BF01207047C08800F065 +:105910000C00003818BF0120704703684FF47A72FA +:105920009B6B5143184708B50368DB6B98474FF4EE +:105930007A73B0FBF3F008BDD0F8103521EA03010B +:10594000C0F818157047D0F810351940C0F8181570 +:10595000704738B5036804465B680D469847E3888E +:105960005B0604D4236803215B6D20469847E068FA +:105970002946BDE83840F5F70DBAC188C1F3C0210A +:10598000D3F7CEB9C188C1F3C021D3F725BA1FB56B +:1059900004460A46002301896846FFF733F8E268A7 +:1059A0004AB10299D36AD162CB1A029368460023A6 +:1059B0000393D2F7FFF804B010BD1FB5C388590692 +:1059C000044602D50521FFF7E2FFE3889A0605D5D4 +:1059D0002189012302226846FFF714F8E3881B0699 +:1059E00006D5236923B1012004B0BDE81040184753 +:1059F00004B010BD1FB5C3885906044602D5042162 +:105A0000FFF7C5FFE3889A0605D521890123032204 +:105A10006846FEF7F7FFE3881B0606D5236923B126 +:105A2000002004B0BDE81040184704B010BDC28883 +:105A300002F0F00208B512B103681B6E984700200F +:105A400008BD032910B50C4606DC00290ADC0DD080 +:105A50006FF47A74204610BD0429F9D10368DB6A1B +:105A6000984701E0D3F736FA0024F3E7FFF7DFFFAA +:105A7000F0E7002914BF03210021D3F78DBA0023DA +:105A8000082A8376417614BF6FF47A7018467047FF +:105A9000704710B5044603F0A1FD204610BD7FB548 +:105AA000036AD3F81821A2B10022C3F81821D3F851 +:105AB00018310193019B436A2BB14262806A07B09F +:105AC0005DF804EB184701230322182102A8FEF712 +:105AD00099FF07B05DF804FB70B5044616460A4608 +:105AE00000F108011D46FDF7FDF8324604F10C01F6 +:105AF0002046FDF7F7F82A4604F11001002520465C +:105B0000FDF7F0F82046A576D3F7A4FB284670BD34 +:105B1000837E0BB9D3F79EBB70472DE9F347174639 +:105B2000DDE90AA4064689469846FFF7F1FFB7F576 +:105B3000803F2AD2BAF5803F27D2356A0023C5F8C4 +:105B40004495C5F84875C5F83485C5F838A5C5F835 +:105B50001831D5F818210192019AC5F85035C5F8C9 +:105B6000403574B903211820CFF716FB336A0122A0 +:105B70001A614022C3F804230CB9CFF7D1FB0020EF +:105B800005E00C9B7462B362F0E76FF47A7002B0C8 +:105B9000BDE8F087F0B585B0B2F5803FDDF828C0EC +:105BA00005460E4614461F4602D2BCF5803F0AD376 +:105BB0003B46224631462846CDF828C005B0BDE810 +:105BC000F040F4F7FBBF0024CDE90144CDF800C05C +:105BD000FFF7A3FF05B0F0BD2DE9F041DDE906CEEA +:105BE000DDF8208005460E4614461F46BEF1000F24 +:105BF00015D0B2F5803F06D2BCF5803F03D2BDE898 +:105C0000F041FFF78ABFCDE907E8CDF818C03B4661 +:105C1000224631462846BDE8F041F4F7F7BF6FF45D +:105C20007A70BDE8F0810023435082B0435801935D +:105C3000019B02B0704721B9436E4FF40472C3F860 +:105C400008230020704770B504460E4615462046CE +:105C5000FDF706FB0028FADC94F83C3003F0FF0067 +:105C6000002BF4D1636E317D2A7DC3F80C15C3F887 +:105C7000142570BD0021CFF767BFA0F10800D3F74E +:105C800039BC30B5044685B00D46D9B9C3895A0729 +:105C900012D5636E04F14402C3F834252022C3F800 +:105CA0003825002222644FF40472C3F80423012231 +:105CB0001A60002005B030BDFDF746F9E3895B07A7 +:105CC000F7D5E6E70129F4D190F83C30002BF0D16C +:105CD000FDF7C6FA0028ECD0A38EA28E94F83010FF +:105CE00092B20132B2FBF1F001FB102292B29BB2F0 +:105CF000A286E16A2268C95C926920469047A38E19 +:105D0000628E9BB29A42D4D12B46022240F2FF31DE +:105D10006846FEF777FECCE7A0F10800D3F73ABC5F +:105D200010B50446D3F736FC204603F057FC204656 +:105D300010BDA0F10800FFF7F3BF026C0346511C31 +:105D40001344016493F84410FDF788B838B504464D +:105D5000406ED0F83C55236CAB4203DA4FF48471AB +:105D6000FFF761FF236CAB4203DA2046FFF7E5FF44 +:105D7000F8E70023236438BD436E20224430C3F883 +:105D80003405C3F83825704738B5446E0546D4F855 +:105D900008315BB12B6C1F2B08DC20464FF484715B +:105DA000FFF741FF2846FFF7C8FFF0E7D4F81031AE +:105DB0003BB120464FF48871FFF735FF2846FFF7C7 +:105DC000C5FFD4F84C313BB120464FF4A671FFF724 +:105DD0002AFF2846FFF7D0FFD4F8243143B14FF40F +:105DE00092712046FFF71FFFD4F88034C4F8803446 +:105DF000D4F8443123B14FF4A2712046FFF713FFCA +:105E0000D4F820317BB14FF490712046FFF70BFF9F +:105E1000002385F83C302846FDF722FA00280EDDE5 +:105E20002846FDF768F8D4F858313BB14FF4AC710F +:105E30002046FFF7F8FE002385F83C3038BD0123EB +:105E4000E360F0E710B50446D3F77AFC204603F090 +:105E5000C5FB204610BD38B50D460446FEF727FAAF +:105E600000212846FEF792F9636B012B03D1A06B4A +:105E700003685B6B9847002038BD10B50368044683 +:105E80001B6B9847636901225A6000201A6110BD9C +:105E9000012902D0022900D011B94369C3F80415C1 +:105EA00000207047437A013B9942DFBF406901F50A +:105EB000A87340F823204FF48033DDBF03FA01F1CB +:105EC000C0F8041300206FF47A70704710B5437A5D +:105ED000013B99420FDC406900EB8104D4F8403566 +:105EE0001A444FF4803303FA01F1C4F84025C0F896 +:105EF0000413002010BD6FF47A70FBE7437A013B76 +:105F00009942DFBF42694FF4803303FA01F1002068 +:105F1000D4BFC2F808136FF47A707047032907D80A +:105F2000DFE801F002090C0F43690122C3F80825DC +:105F300001720020704743690022F7E7436902229B +:105F4000F4E743690322F1E738B5044690F91000FD +:105F5000D3F7A0FC236805461B6B2046984763696E +:105F60000122DA60DA68002AFCD11DB123682046DC +:105F70009B6A9847002038BD70B5044690F9100020 +:105F8000D3F788FC236805461B6B20469847636956 +:105F90000122DA64D3F84C651DB1236820469B6A60 +:105FA0009847304670BDB1F57A5F30B510D8002300 +:105FB0004FF47A5424FA03F5A942DAB203D201333A +:105FC000092BF7D11A4643690020C3F8102530BDCC +:105FD0006FF47A70FBE710B5044671B190F91000C8 +:105FE000D3F758FC38B1E38843F00103E38023681A +:105FF0001B6B20469847002010BDC388DA07FAD5EE +:1060000023F00103E38023689B6AF3E710B504469D +:10601000D3F7A6FC204603F0E1FA204610BD00208D +:10602000D3F7AABC0120D3F7A7BC0220D3F7A4BCA6 +:106030000320D3F7A1BC0420D3F79EBC20BF704738 +:106040004FF08053596E186E704770474020CFF75D +:1060500027BB8163704741637047C1637047C06B62 +:106060007047EFF308807047406B7047C0E900123B +:106070008360704741617047012070472DE9F84304 +:106080000C464968E568064664358D424FF00102CA +:10609000B8BF0D46FEF7A1FE306843880433011DEA +:1060A0004FF4004C184448F20C0E48F205088142A7 +:1060B00023691ED2312B03DDE26832329A4205DABF +:1060C000A1F800C0013302312361F0E7A3F13202ED +:1060D000A7684FEAE209D24317F8097002F00702F5 +:1060E00047FA02F212F0010F14BF724642460A80CC +:1060F000E8E7AB4206DB237E5BB104F11C00CFF77F +:106100009BFA06E0606903681B6898472369AB4205 +:10611000F1DA3046BDE8F88310B50446406990B125 +:10612000002A10DDD20023760368E26000221B689B +:10613000A16022619847237E2BB104F11C00BDE8C9 +:106140001040CFF749BA10BD0123FFF7E5BF4FF06C +:106150008052D2F83031591C09BF4FF07042D2F84A +:106160003401D2F8E80F92F8E03F08BFC0F3031003 +:106170000D2B04D101288CBF002001207047002086 +:10618000704710B5D0E90243D1E90202A04272EB98 +:1061900003032CBF0120002010BD3AB103685A61EF +:1061A0004A1E514251411961002070470720704733 +:1061B00038B5037F04460D4683B98261D3F79EFF4D +:1061C0002369281841F10001C4E9020103B12561E6 +:1061D00021460020BDE83840D3F7ACBF002038BDD1 +:1061E0000023014603770120D3F7A4BF435882B0B0 +:1061F0003BB10023435043580193019B012002B05F +:1062000070471846FBE7036801221A60704703686D +:1062100001225A60704773B501F15005AD00006866 +:10622000ADB24FF480348C400026C0F80843C0F86B +:106230004843465101F5A8714559019522F07F4226 +:10624000019D40F82120C0F844430BB1C0F804433D +:1062500002B070BD03680222C3F8442309B1C3F839 +:106260000423704700684FF48271FFF7BFBF4FF4FB +:10627000803303FA01F10368C3F84813C3F8081325 +:10628000704750318900006889B2FFF7AFBF0368DB +:10629000D3F80405704710B561B1B2FBF3F403FB0A +:1062A0001424A4B244B9C0E9001484608281C3817B +:1062B000204610BD0E20FCE70920FAE782B050E826 +:1062C000022FC188B2EB324F4FF0000317BF92B2DA +:1062D00041EA014142EA014104E04268B2EB324F37 +:1062E00008BF012340E80212002AE8D18DF80730E8 +:1062F0009DF80730002B0CBF1120002002B0704722 +:1063000037B550E8013F9DB2C48925448489A54230 +:1063100028BF2D1B0489A54202BFBFF32F8F002287 +:1063200007E0C5EA030540E80154002CE9D14FF02D +:1063300001028DF803200193019A0A609DF8031071 +:1063400001F0FF0321B1006810FA82F003B030BD04 +:106350001846FBE70A884B889A4209D150E8012F7A +:10636000C2EA024240E80123002BF7D10120704726 +:106370000020704737B550E8023F1FFAA3F5C488E4 +:10638000A54202BFBFF32F8F00220DE0C489254430 +:106390008489A54228BF2D1BC3EA054540E8025465 +:1063A000002CE8D14FF001028DF803200193019AEF +:1063B0000A609DF8031001F0FF0321B1006800EBB3 +:1063C000124003B030BD1846FBE70A884B889A425A +:1063D00009D150E8022FC2EA224240E80223002BF2 +:1063E000F7D1012070470020704733DF70470B68FA +:1063F0004A684360934208BF0023016008BF4360BE +:106400007047436843B10268916852680B449342F5 +:10641000436004BF00234360704770B5446806467C +:106420000D46206818B1B3682946984718B9236803 +:106430002B60256070BD2468F3E74368186808B1D5 +:1064400002681A60704743681868704743681868A4 +:1064500000B97047884203D102681A600120704772 +:1064600003460068F4E76DDF704779DF70477DDF32 +:10647000704764DF70472DE9F04F85B000250E9C12 +:10648000BDF83CB0B4F800A00191074690461E4606 +:10649000A9463A884A450DDC45B12388013BA3EB68 +:1064A0000A039BB2FF2B3AD806F80A30002005B049 +:1064B000BDE8F08F7A6852F82900039000220DF1B0 +:1064C0000B0103A8FFF7D5FF0028F0D19DF80B20A2 +:1064D000424521D12288002D14BF0020022002EB6A +:1064E0000801014459451ADC3DB9013292B2019BC1 +:1064F0002280B35422880132228022880DF10B01C0 +:10650000324403A8FFF7B5FF0028D0D121889DF8B9 +:106510000B200A442280012509F10109B9E70C206A +:10652000C5E72DE9F341089FBDF824801546CDE964 +:106530000078022204461E46FFF79DFF50B93346FD +:10654000102229462046CDE9087802B0BDE8F04186 +:10655000FFF791BF02B0BDE8F0812DE9F04F0023B5 +:106560001788138090F82D3085B006460D461446E6 +:106570005BB3082F01D80C2028E102A8FFF773FFB6 +:10658000002840F023812388DDF809100822EA540E +:10659000238801339BB21B222380EA5423880133D2 +:1065A0009BB2EA182380E950BDF80D309380238810 +:1065B0009DF8082006339BB212F0FE0218BF01229C +:1065C0002380EA54238801332380B378FBB12388E6 +:1065D0000433BB42CFD802A8FFF747FF002840F0A2 +:1065E000F58023880322EA54238801339BB21922C1 +:1065F0002380EA542388BDF8082001339BB2E918B0 +:106600002380EA54120A4A70238802332380F278E6 +:106610009AB12388D91CB942ADD80221E954238804 +:1066200001339BB201212380E95423880B449BB2A0 +:106630002380EA5423880B4423807268AAB12388FC +:10664000D91CB94297D8022192F90020E954238835 +:1066500001339BB20A212380E954238801339BB282 +:106660002380EA542388013323803389002B40F0B0 +:10667000A180338A5BB1CDE900472B460722032175 +:1066800006F11000FFF74DFF002840F09F80338B8C +:106690005BB1CDE900472B461522142106F1180005 +:1066A000FFF73FFF002840F09180326A002A40F057 +:1066B0009080D6F82480B8F1000F30D0B8F80430BC +:1066C0002188981C8A1C0244BA423FF654AFFE2827 +:1066D0003FF651AF03336B54238801339BB2FF2243 +:1066E0002380EA54238801339BB22380B8F800202A +:1066F000EA54E918120A4A702088023080B22080D9 +:10670000B8F804205AB1D8F8081000296BD02844F2 +:1067100002F09EFF2388B8F804201344238096F8E3 +:106720002C30002B40F09880307800284ED03388F1 +:10673000012B58D0228802F1020CBC453FF61BAF5A +:10674000012805D17378023313449F42FFF413AF3D +:10675000023FBF1ABFB202A905EB0C00ADF80870EA +:10676000FFF785FE90BB3178BDF80830022900F0B4 +:10677000B98072789A4202D39F4280F0B180012999 +:1067800040F0B280974293B2C0F0AE80ADF80830CE +:106790000821BDF80830FE2B3FF6EDAE228801330C +:1067A000AB542288013292B22280A9542288134429 +:1067B00023800BE0CDE900472B460622022106F19B +:1067C0000800FFF7AEFE00283FF453AF05B0BDE868 +:1067D000F08FB4F800C00CF10603BB423FF6CBAE1D +:1067E0001188052901D80720F0E76FF4486E01EB06 +:1067F0000E039BB24FF27D3E7345F4D95388052BAF +:10680000F1D96FF44860181880B27045EBD94FF693 +:10681000FF70814201D09942E5D8052305F80C307C +:10682000238801339BB212212380E954238801334A +:106830009BB223801188E954E818090A4170238823 +:1068400002339BB223805288EA54E918120A4A7034 +:106850002388023323802CE7B36A002BC3D04FF088 +:1068600000084FF00C0A4FF0160BB16A5FFA88F27D +:106870000AFB02F201EB0209B9F80430981CFE2869 +:106880003FF679AE208803332B54238801339BB223 +:10689000238005F803B0238801339BB223808A5AF2 +:1068A000EA54E918120A4A702088023080B2208027 +:1068B000B9F804205AB1D9F80810002993D0284417 +:1068C00002F0C6FE2388B9F804201344238096F80A +:1068D0002C2008F101085FFA88F39A42C5D823E713 +:1068E000092156E79F42FBD2ADF8087050E775DFEB +:1068F000704776DF70477ADF70477BDF70474B88E1 +:1069000002889A4212D842889A420FD380888B8894 +:1069100040F2F311884294BF021A421A9A4205D8F3 +:106920000844984234BF002001207047002070477F +:10693000F7B5174601900E4691B1019C6CB1002548 +:106940002C46294601A800F0F2FD18B13946A8B23C +:10695000B04701340135142DF3D1204603B0F0BD0A +:106960000C46FAE70AB100F0C1BD00F0D6BD73B520 +:106970000191019C06466CB100252C46294601A8D0 +:1069800000F0D5FD18B106EB440301349D800135BC +:10699000142DF3D13046346002B070BD37B50024F9 +:1069A00001902546214601A800F0C1FD00B1013546 +:1069B0000134142CF6D1284603B030BDD4F70CB8FE +:1069C000AADF7047002301380B70042806D8DFE8DF +:1069D00000F00306080A0C0011230B7070472123F6 +:1069E000FBE73123F9E71223F7E72223F5E70088D5 +:1069F00000F0010070470088C0F340007047F0B518 +:106A00008B7891B00C46012B38BF012300278DF8FD +:106A10000E3005460B88607CADF80C306946ADF849 +:106A200000708DF80270FFF7CDFFA07C0DF1010121 +:106A3000FFF7C8FF1646237BE27B217D43EAC203B2 +:106A4000227C43EA02139DF80220B94222F0190287 +:106A500003F0190314BF02210121134361F3420320 +:106A60001C22394609A88DF8023002F019FE637B1A +:106A700013F0300F14D00DF10901E07CADF808706F +:106A80008DF80A70FFF79EFF11238DF808309DF8EE +:106A90000A30012102AA61F342038DF80A300E92F6 +:106AA000637B8DF82430A37B8DF825300023CDE95E +:106AB0000633089303AB0493A388ADF81C30A36896 +:106AC000CDF814D01BB1E288ADF818200893A36963 +:106AD00073B301A90022ADF804208A701A88ADF8BA +:106AE0002C205A88ADF82E205A680D91187B0A92F6 +:106AF000FFF768FFA3690DF10501587BFFF762FFFF +:106B0000A3699A7A197A41EAC201DA7A9B7B41EA4F +:106B100002119DF80620002B01F0190122F0190244 +:106B200014BF02230123114363F342018DF80610C1 +:106B3000E36903B10C93334604AA09A92846FFF779 +:106B40003FFF11B0F0BD90DF7047A5DF7047B5DFA4 +:106B500070471FB50023ADF80810ADF80A106A465B +:106B600002A9ADF80C30ADF80E300093ADF804304A +:106B7000FFF7E9FF05B05DF804FB78B14FF017139C +:106B800003601B2303711723C380038141F61B326B +:106B90000023016143818281184670470E207047AF +:106BA00013B5034680880C46A0B91A88242A77D0EA +:106BB00012D8112A51D0232A00F08280102A2ED018 +:106BC000A37A3BB1E1880020FFF7BFFF10B94FF473 +:106BD0008073638102B010BD3A2A46D0552AEFD1A6 +:106BE000DB88C988A072172B38BF17238B4228BFB8 +:106BF0000B462381FFF7ABFFE27A002AE0D123693D +:106C0000002BDDD040F67721ADF802202289ADF8C7 +:106C10000010ADF80420694620469847D0E7DB7B9A +:106C20000A790A73012B04BF0B88CB80C98823899A +:106C30008B4205D20020FFF788FF48B90123E37299 +:106C4000217B637B8B42BBD20020FFF782FFB7E73B +:106C5000112804BF0123A372F2E71723CB800B8115 +:106C600041F61B3348818B81AAE75B89CA8893422E +:106C700028BF1346172B0A6938BF17230B8162B14F +:106C8000C97A51B140F67721ADF80010ADF8020095 +:106C9000ADF80430694620469047002363818FE7B2 +:106CA0001A7A0B694A73002B8AD04DF67A218DF837 +:106CB0000500ADF80010ADF802008DF80420AAE739 +:106CC000197A237B994228BF1946BEE7012804D0D0 +:106CD000043805288CBF0020012070474FF6FF7351 +:106CE0004380D4F707B907B50023A1F58041A0F58B +:106CF0008040CDE9003389B26B4680B200F0C6FB1C +:106D0000002818BF052003B05DF804FBF0B5FF288C +:106D100087B004460E4615461F462BD80846FFF797 +:106D2000D5FF38B303AA2046FFF7DDFF18B10524CD +:106D3000204607B0F0BD01A903A8D6F737FD0446E9 +:106D40000028F4D1019BAE705E8802992E8027B98D +:106D5000696003A8D6F750FDEAE73F686868B600A7 +:106D6000B74228BF37463A4602F072FCBE42F0D91D +:106D70000C24DDE70724DBE730B5FF2887B00346A6 +:106D80000C4615463BD889780846FFF79FFF002838 +:106D900035D0A3F58042ADF80020A1F58042ADF8D2 +:106DA00002206268019222880292184603AAFFF725 +:106DB0009AFF0528694603A80CD100F05BFB48F256 +:106DC0000663984204461CD007D888B103242046A5 +:106DD00007B030BD00F052FBF1E748F2076398427C +:106DE00011D048F20D63984214BF03241124EEE73A +:106DF000002DECD0294603A800F06FFBE7E707243D +:106E0000E5E78624E3E71124E1E74FF6FF70D4F7C6 +:106E100087B9FF2808B505D8D4F788F9D3F7C4FE99 +:106E2000002008BD0720FCE7D4F7A8B9D4F7B0B913 +:106E3000D4F7B8B9D4F7D0B9D4F7D4B937B500235B +:106E40000D460446019301A9D3F7C6FF38B18378F4 +:106E5000AB4206D1837A9B0703D143680BB903B0D9 +:106E600030BD019B0133019301A92046ECE710B529 +:106E70000446D4F7D5FB2046D5F754F92046D7F77A +:106E800007FA2046BDE81040D7F74CB80023FFF7BB +:106E90003DBF08B5FFF7D2FF18B1D3F7B1FF00200F +:106EA00008BD0520FCE713B500230446019301A9A2 +:106EB000D3F792FF30B92046FFF7ABFF50B1072858 +:106EC00007D107E081782046FFF7E3FF20B10528CE +:106ED00002D0032002B010BD019B0133019301A930 +:106EE0002046E5E7CB1F012B70B506460C4615463C +:106EF00001D9072070BD1046FFF796FF0028F8D093 +:106F000021463046FFF79AFF28B184700580BDE81E +:106F10007040D3F795BF0520ECE710B54FF6FF732F +:106F200004469C4208460AD14FF4807100F008FBE9 +:106F300084B2B4F5807F09D14FF6FF7406E0FF2CD0 +:106F4000FAD8214600F0DBFA0028F5D1204610BD22 +:106F50004FF6FF73984270B518BF441C0E4614BF1D +:106F6000A4B20024A5B2FF2D02D94FF6FF7506E0AA +:106F70002146304600F0DBFA01340028F2D02846E2 +:106F800070BD08B1D4F740B97047D4F73DB9D4F714 +:106F90003BB9D4F739B909B100F018BA704707B551 +:106FA00050230A460193072101ABD4F79BFA03B0A3 +:106FB0005DF804FB76DF704713B5044669B901A993 +:106FC000D4F7C2F943F20202904202D008B100F0B5 +:106FD0002BFA9DF804309B071AD400212046D4F7E1 +:106FE00089F9A8B1112813D00D2806D11321204604 +:106FF00002B0BDE81040FFF7DDBF0B2808D043F218 +:107000000202904204D002B0BDE8104000F00CBA79 +:1070100002B010BD017811B94088FFF7CDBF072934 +:1070200003D1806808B100F0FFB970477FB5142222 +:10703000002101A802F034FB062301A88DF80430DA +:10704000D4F7FCFB07B05DF804FB70B5DDE9045430 +:1070500068B161B15BB104FB05F6964207D835B162 +:107060002CB1C0E90013C0E90254002070BD072014 +:10707000FCE738B50D46044608B9002038BD036862 +:10708000002BFAD040680028F7D0FF29F5D0BFF3D5 +:107090005F8F00F04CFA0028EFD0E068236800FB17 +:1070A0000530EBE738B50D46044690B1036883B16F +:1070B000406870B1FF290CD0BFF35F8F00F037FA42 +:1070C00038B16068BFF35F8F2946BDE8384000F0F3 +:1070D00024BA38BD2DE9F0418846064618B9FF2488 +:1070E0002046BDE8F0810368002BF8D04368002BF0 +:1070F000F5D00027FF24B368FDB29D42EFD270683F +:10710000294600F0FCF9BFF35F8F40B9FF2C08BFA0 +:107110002C462D1B01354545E2D00137EBE7FF2C0E +:1071200007D1FF24F9E721463046FFF7BBFF0134C2 +:10713000E4B2AC42F7D3F4E77EDF70477FDF7047FD +:1071400086DF704710B50378182B044602D1D3F7B9 +:10715000CBFC207010BD10B504464088D7F7E6F888 +:10716000A0802046BDE81040D4F79EBF10B586B081 +:1071700004461422002101A802F092FA04230DEB28 +:1071800003008DF80430ADF80640FFF7E4FF06B0C9 +:1071900010BD30B587B005460C461422002101A869 +:1071A00002F07EFA072301A88DF80430ADF80650EE +:1071B0000394FFF7D0FF07B030BD7FB502238DF8F1 +:1071C00004300388ADF8063043798DF80D1013F0C4 +:1071D000040F14BF0123022301A88DF80C30FFF720 +:1071E000BAFF07B05DF804FB38B505460C46FFF75B +:1071F000E5FB012808D154B121462846FFF79CFF42 +:10720000042808BF112038BD43F20200FBE72046E6 +:10721000F9E758B3027802F08203802B25D0C2F33D +:107220000213042B21D802F0F203322B1DD0417837 +:107230008378994219D8062917D9102B15D8C17807 +:1072400011F0040311D1007943070ED4084301075C +:107250000BD4D30700F0030003D4B0FA80F0400948 +:107260007047003818BF012070470020704770B584 +:1072700015460E4614220021044602F011FA284653 +:10728000D7F754F82670A0806580204670BDFFF7C0 +:1072900078BE10B50378182B044602D1D3F724FC2E +:1072A000207010BD30B531F0080387B00C4615468C +:1072B0001BD0112919D00D2902461AD1032101A88A +:1072C000FFF7D5FF9DB12B7803F00103C3F1020353 +:1072D000DBB28DF80C3000238DF8103041F2011331 +:1072E000ADF80E3001A8FFF7D2FF07B030BD022382 +:1072F000EFE7072101A8FFF7BAFF0394F2E70021A7 +:10730000D4F7FCBDF7B507460C46002945D0D3F7A6 +:107310006DFB0546002842D03846D7F707F80646E9 +:107320004FF6FF70301AA5F1020318BF01205D422D +:107330005D41237845EAC00523F009031D4325700C +:107340003846D3F765FB237860F341032370384652 +:10735000D3F770FB237860F3820323703846D3F7AA +:107360007BFB0546B8B93846D3F752FB50B16A46A5 +:1073700007213046FFF78AFD58B9019B93F8440076 +:1073800000F00100237860F304132370002003B0A1 +:10739000F0BD2846F6E70120F4E70E20F7E743F2B8 +:1073A0000200F4E713B5E0230C4601A98DF8043080 +:1073B000FFF7A8FF9DF80420237828B993430CBF5A +:1073C0000120002002B010BD0020FBE7D4F78EBBE7 +:1073D00000230A461946D4F7D3BD10DF704711DFEA +:1073E0007047D5F729B860DF704769DF704761DF04 +:1073F00070474BDF704700207047A8DF7047ADDF54 +:107400007047AEDF7047B0DF704762DF70473CDF28 +:1074100070473DDF70477047B2DF70474FF0020C96 +:1074200000DF7047A8DF70471FB50021039001AA55 +:1074300044F20100CDE90111F9F7FEFF05B05DF856 +:1074400004FB4388033300EB830399420BD3828808 +:107450004FF6FF739A4208D0038833B18068431C0B +:1074600058425841704702207047012070474068D9 +:10747000D5F7A8BD02230022D5F7F4BF18B1032326 +:107480000022D5F7EFBF48F20460704707B5ADF8AA +:107490000600ADF804100DF1060001A9D5F740FD76 +:1074A00003B05DF804FB07B51346ADF806000A46C5 +:1074B00000200DF10601D5F733FD03B05DF804FBA4 +:1074C00007B51346ADF806000A460DF10600002187 +:1074D000D5F726FD03B05DF804FB20B119B10368B0 +:1074E0000B600020704748F20460704701F01F02F3 +:1074F0004B090121914000EB830000F065B84B0976 +:1075000010B501F01F040121A14000EB830000F041 +:107510004FF8E04000F0010010BD01F01F03012210 +:107520009A404B0900EB8300D14300F059B84B0956 +:1075300001F01F0150F82300C84000F0010070471F +:107540002DE9F0474F1E7F0980460E460137002582 +:1075500058F8254008EB8509E44394FAA4F4B4FAFA +:1075600084F44FEA451A202C06D10135AF42EFD8FA +:1075700034462046BDE8F0875444A642F5D921465A +:107580004046FFF7BCFF0028F3D0D9F80040E443A1 +:1075900094FAA4F4B4FA84F4E5E710B5034653E88A +:1075A000000F0A4643E8002494F0000FF7D110BD05 +:1075B00010B5034653E8000F40EA010243E80024F7 +:1075C00094F0000FF6D110BD10B5034653E8002F1C +:1075D00042EA010043E8000494F0000FF6D110BD28 +:1075E00010B5034653E8002F02EA010043E8000407 +:1075F00094F0000FF6D110BD10B5034653E8000F0C +:1076000000EB010243E8002494F0000FF6D110BD16 +:1076100010B5034653E8002F02EB010043E80004D5 +:1076200094F0000FF6D110BD10B5034653E8002FBB +:10763000A2EB010043E8000494F0000FF6D110BD66 +:107640000121FFF7B5BF0B4610B4114628B123B195 +:1076500003605DF8044B1B6818470E205DF8044B6F +:1076600070472DE9F04308B302B3D0F800E0BEF153 +:10767000000F1ED0FBB14568D5F80490B3FBF9F5B7 +:1076800009FB1535BDB942EA010C1CF0030F14D1FA +:10769000C568A94211D34D1EEC180569AC420CD83F +:1076A000DEF80C40A446BDE8F04360470E20BDE87C +:1076B000F0830820FBE70920F9E71020F7E7F0B591 +:1076C000D8B1D0F800C0BCF1000F18D0CAB14568DD +:1076D000D5F800E00EF1FF350D4214D1C568A9427E +:1076E00011D34D1E0EFB02540569AC420BD8DCF8D9 +:1076F0001040A446BDE8F04060470E20F0BD0820D1 +:10770000FCE70920FAE71020F8E729DF704728DFB7 +:10771000704770B503689E6886B004460D466EB12A +:1077200014220021684601F0BBFFA368059323796A +:1077300001952BB1012B0DD06846B04706B070BD46 +:1077400001238DF8003023690293E3680393636992 +:107750000493F1E702238DF80030E3681B030293E2 +:10776000F5E7084670470020704708B510461A46EE +:1077700001F06EFF002008BD831E012B01D8D6F753 +:1077800099B9704713DF70470023D3F8F80F421CF4 +:1077900004D14FF010235869431C01D0FFF7F2BF0A +:1077A00004207047A0DF7047A1DF7047ADDF70474E +:1077B000B3DF7047B4DF704710B504464088D6F792 +:1077C000B5FDA0802046BDE81040FFF7DEBB30B518 +:1077D00087B005460C461422002101A801F060FF85 +:1077E000072301A88DF80430ADF806500394FFF785 +:1077F000E3FF07B030BDD6F721BAAFDF7047B1DF86 +:107800007047B2DF7047B3DF704710B50446808819 +:10781000D6F7BAFD60802046BDE81040FFF7B7BB41 +:107820002DE9F7438046D6F781FD4FF6FF73984266 +:10783000064637D001274FF003093A466B46082128 +:107840003046D3F703FC0137BFB2054628BB019988 +:107850000A46032342F8049B06314046FFF7D1FF56 +:10786000044648B9324608213046FFF73BFB044640 +:10787000204603B0BDE8F0830C280CD0052800D1C9 +:107880002C4608213046FFF704FB002818BF0324CC +:10789000002DD2D1ECE70125F3E7072814BF0446F9 +:1078A0000C24E5E743F20204E2E72DE9F341074641 +:1078B000D6F73CFD4FF6FF73984218D100240325FC +:1078C00026464FF001082B46224631463846FFF740 +:1078D00096FF042821D0082825D00B281ED115F0AA +:1078E00002030FD196B9ACB902B0BDE8F0816A4687 +:1078F0000821FFF7CBFA0028E0D1019B9C881D6886 +:107900009E1DDEE701254FF00008DCE703251C463D +:107910001E46F8E703253446F5E71120B8F1000FBD +:1079200008BF0B20E0E70020F8E71FB50DF10703C3 +:107930000393D6F7FBFC02AA0121FFF7A7FA20B9AF +:10794000039B187805B05DF804FB0020FAE76EDFB2 +:1079500070476FDF704746DF70472DE9F04F9BB0EF +:107960001D465023259F01908A4603931646BAB1BF +:10797000C5B100232B604FF00108249A00239AB16F +:10798000AFB13B604FF001090DF1180B0493CDF836 +:1079900014B0002454450CD100201BB0BDE8F08F7A +:1079A0009046EAE7A846E8E7DDF89090ECE7B946AC +:1079B000EAE750220021584601F072FE019803AB1D +:1079C00030F8140004AA0721FFF7A0F920F0020004 +:1079D0000528E2D09DF82930032B26D8B8F1000FF6 +:1079E0000ED0C4EBC402B318DDF82910B150BDF8B5 +:1079F0002D209A809DF82F209A712B6801332B60DF +:107A0000B9F1000F0FD0249A0DF1190302EB041203 +:107A10000DF1290153F8040B42F8040B8B42F9D104 +:107A20003B6801333B600134B4E743F20220B4E722 +:107A3000421E00F10F0312F8010F10B99A42FAD159 +:107A400070470120704708B570B171B103780A78AA +:107A5000534013F0FE0F08D106220131013001F02E +:107A6000E7FDB0FA80F0400908BD0020FCE72DE9F1 +:107A7000F04700F101084F1C06460D4600F11109C0 +:107A800001F1110A10223946404601F0D1FD0446A9 +:107A9000D0B94046FFF7CCFF18B13846FFF7C8FF12 +:107AA000044651464846FFF7CEFF737C03F0FC03C3 +:107AB000042B05D06B7C03F0FC03042B18BF044699 +:107AC00004F00100BDE8F0870024EAE77FB5054631 +:107AD0000E46D3F74BF902AA0DF106010720D3F7A2 +:107AE0004DF910B94FF6FF7409E0BDF80640B442F5 +:107AF000F1D003992846FFF7BAFF0028EBD02046C3 +:107B000004B070BD038843B9821C0A3012F8013BEF +:107B10001BB98242FAD1184670470120704710B550 +:107B20000446FFF7EFFF58B122880B889A4208D12C +:107B300008220231A01C01F07BFDB0FA80F0400960 +:107B400010BD0020FCE730B585B00446D3F70EF930 +:107B500002AA0DF106010720D3F710F910B94FF66C +:107B6000FF700FE0039D204605F14601FFF7D7FFA8 +:107B700030B905F12A012046FFF7D1FF0028E7D0F0 +:107B8000BDF8060005B030BD2DE9F0410829CEB0A2 +:107B900006460C464ED800B139B9002211461046AF +:107BA0004EB0BDE8F041FFF7D4BE5023B82200210B +:107BB0000CAF20A80193039701F072FD04A920AA3D +:107BC000002388460133082B41F8042B02F11702E9 +:107BD000F8D1002550220021384601F061FD36F829 +:107BE000150001AB02AA0721FFF790F820F0020070 +:107BF00005281CD07B7C032B1ED820A9172303FB50 +:107C000005130DF131020DF1450152F8040B43F853 +:107C1000040B8A42F9D111881980013592789A7043 +:107C2000AC42D7D1E2B200214046FFF792FE4EB0FF +:107C3000BDE8F0810720FAE743F20220F7E770B5CC +:107C40008CB014466A460D4600F11003164613F830 +:107C5000011D02F8011B9842F9D10D22002104A850 +:107C600001F01EFD2B788DF81F306B788DF81E30DB +:107C70003046AB788DF81D30FFF76DFE9DF82F3044 +:107C800023709DF82E3063709DF82D30A3700CB0DA +:107C900070BD1FB5034608461A7802F0FE02042A9A +:107CA0001BD1DA78B3F801108DF806209A88ADF868 +:107CB00004109B79ADF80C2003A902AA8DF80E30B0 +:107CC000FFF7BDFF032202A901A801F0B1FCB0FA41 +:107CD00080F0400905B05DF804FB0020FAE738B5F4 +:107CE000044638B1F7F7ADFB0546F7F7AAFB431B8F +:107CF000A342FAD338BD38B5044638B1F7F7A5FB2F +:107D00000546F7F7A2FB431BA34200D338BD012071 +:107D1000D6F7BEFCF7F705FBF3E710B500210446E4 +:107D2000DAF73AFB18B914B12046E2F7F3FB10BDBD +:107D30000021DAF731BBFFF7F0BF10B501220C4686 +:107D4000DAF758FC18B914B12046E2F7E3FB10BD8E +:107D5000DAF750BCDAF7E6BB10B5044601618800DB +:107D6000FFF7DBFF606110BD10B5044611B1C068BC +:107D7000FFF7F0FF6069BDE81040FFF7EBBF012996 +:107D800038B504460D460BDC0269406992004FF09D +:107D9000FF3101F085FC002325706370636038BDFE +:107DA0004068FFF7BAFF6368E060A360F3E702464C +:107DB000407810B548B913785468022B08BFD368CF +:107DC000214408BF1819516010BD0020FCE70023B2 +:107DD00043700378012B9EBF4369426843F821201A +:107DE000704742684B1E1344494219404160704736 +:107DF00038B50C461546FFF7DAFF10B10444A0422F +:107E000000D138BD00F8015B2D0AF8E74368184738 +:107E100070B504460D46E3F72AF9837B00EB830334 +:107E2000294620461B69BDE870400422184770B5FA +:107E300004460D461646E3F71AF9837B00EB8303ED +:107E40003246294620461B69BDE87040184770B588 +:107E500004460D46E3F70BF9837B00EB83032946C9 +:107E600020461B69BDE870400022184770B50D46DA +:107E70000446E3F7FCF8037B00EB83002A46036922 +:107E800021462420BDE870401847002810DD002955 +:107E900008DD6FF0404393FBF1F18142ACBF00205D +:107EA000012070474FF0404393FBF0F0884206E01A +:107EB000002908DD4FF0404393FBF1F18142D4BF2C +:107EC0000020012070470028FCD06FF04043EBE712 +:107ED00090FBF1F303FB1100002802DA002903DC18 +:107EE000704702D0002900DA08447047002806DBFA +:107EF000002901DACB43184490FBF1F070470029C8 +:107F0000FADBC1F10103F6E7023981420B4603D3E4 +:107F10001A880239002AF8D00233181A4010704724 +:107F2000B2EB131F70B505464FEA131614D9901B18 +:107F300003F00F0401EB460102460E46012A31F818 +:107F4000023B18BF3368E3409BB2013A25F8023B7D +:107F5000F3D103B9013870BD0020FCE7F0B5059FEF +:107F60000024D21B2646A74210D100EB470C01EBA0 +:107F700047010024A24214D10CEB42031EB101219F +:107F80002CF812100233181A4010F0BD31F81450BA +:107F900033F814C06544354420F814502E0C0134D5 +:107FA000E1E731F8145035442CF814502E0C01340C +:107FB000E0E7F0B4049F0025D21B2C46AF420AD163 +:107FC00000EB470601EB470500239A420ED106EB72 +:107FD0004201F0BC98E731F81560344433F815607D +:107FE000A41B20F8154024140135E7E735F81310D9 +:107FF0000C4426F8134024140133E6E738B502296F +:108000000446806838BF02210D4618B12368B1EBE1 +:10801000930F07D96900FFF790FE2368A06065F30E +:108020009F03236038BD38B504460C20FFF775FE6A +:1080300023682278054602F00102C3F39D0023F075 +:10804000030313432B6063686B604000FFF765FE1A +:10805000A8602268A168C2F39D02520001F0F8FAFC +:10806000284638BD994210B511D313D800EB410012 +:1080700002EB410209B9084610BD30F8023D32F862 +:10808000024D1B1B002B02DB04D10139F2E74FF03C +:10809000FF30F1E70120EFE710B5044638B1806802 +:1080A000FFF758FE2046BDE81040FFF753BE10BD55 +:1080B00038B505460C460221FFF7A0FF002C2B78AF +:1080C000B4BF0122002262F300032B70AB68B4BF7F +:1080D00061422146023B012223F8021F090C10468F +:1080E00002F10102F8D1686038BD0023C0E9003315 +:1080F0008360704728B103789B0702D48068FFF73C +:1081000029BE704738B505460C464968FFF776FF2B +:1081100022782B78A86862F300032B7063686B6089 +:108120006268A1685200BDE8384001F091BA0A4681 +:1081300029B90178426062F3000101707047B7E726 +:1081400008B5FFF7D2FFBDE80840FFF7F0BF920087 +:1081500042F0020210B402600022C0E9012110BC0A +:108160001946FFF7E4BFF8B59DF8187014461D4690 +:1081700004210646FFF742FF22462B4627B1002D79 +:108180000CDA624265EB4503317867F30001317028 +:108190000021716052EA030102D1F8BD0027F3E724 +:1081A000D6E901104C1C746020F81120120C42EA30 +:1081B00003421B0CEEE70378CA0F62F300032DE9BC +:1081C000F0410370C1F30F4313F4FF43074607D197 +:1081D0003B786FF300033B7000237B60BDE8F081C8 +:1081E000B3F5FF4FF4D0C1F3C753A3F17F05002DC2 +:1081F000EEDB03D1BDE8F041012159E7B3F16F088F +:1082000048BFA3F16008C1F31601162D4FEA2818E4 +:1082100041F4000421DCC5F11705EC4000252E4691 +:1082200041463846FFF7EAFEC7F8048026B1B86831 +:108230007200002101F034FA45B1BB6804FA05F27E +:1082400023F81620C5F11005EC400136B045C5D025 +:10825000BB6823F81640240CF7E7B3F1960605F146 +:10826000090548BFA3F1870605F00F053611D7E7CA +:108270002DE9F84304468F18C2F35B020D46511CEA +:108280009846089EFFF7BAFE237868F30003237030 +:108290000023636029461FFA86FCB942084602D3D0 +:1082A000401BBDE8F8830278A2F13003092B01F1ED +:1082B000010105D9A2F14103192B14D8A2F137030A +:1082C000B342EDD2D4E901E0F0468146B8F1000FA7 +:1082D00010D100EB4E0213B120F81E300232121AF8 +:1082E00052106260D9E7A2F16103192BD8D8A2F12C +:1082F0005703E5E7B9F8002002FB0C3329F8023BED +:1083000008F1FF381B0CE1E7F8B5044615461E4698 +:10831000C1B1531E1E444FF0FF37E9000F31090968 +:108320002046FFF76BFE237800216FF300032370D4 +:1083300061604DB9D4E9011000EB4101FFF7E4FDA4 +:108340006060F8BD0127E8E700230F2908DC3278D8 +:108350008A401343013D9BB201F108013E44F4D130 +:108360006268501C6060A068103920F81230E0E7A5 +:1083700038B50B780578044603F0010305F00100D9 +:10838000181A08D1D1E90132D4E90110FFF76AFEC9 +:10839000EB0748BF404238BD884210B5044601D0C3 +:1083A000FFF7B0FE23786FF30003237010BD8842FF +:1083B00010B5044601D0FFF7A5FE63683BB12378F2 +:1083C000C3F30002C2F1010262F30003237010BD87 +:1083D00088421FB5044601D0FFF794FE626862B977 +:1083E00001212046FFF70AFEA26801231380636083 +:1083F000237843F00103237010E02378D9070FD5C9 +:10840000A1686FF3000323700123ADF80E300093D1 +:1084100008460DF10E03FFF7CCFD606004B010BDFF +:10842000511C2046FFF7EAFDD4E901210123ADF8F4 +:108430000E30009308460DF10E03FFF78FFD6060CC +:10844000D6E72DE9F8434B6805460E46144603B1BE +:108450002AB931462846BDE8F843FFF753BE02F17A +:108460000F014FEA111803EB1111FFF7C7FDD6E911 +:10847000013108EB0307A86807F1004214F00F046C +:1084800002F1FF3208BF102400EB420001EB430E63 +:10849000814619464FF0000CC4F11004E9B96FF0A1 +:1084A000010253432CFA04F4C218C452C8F1010368 +:1084B00002EB430308F1FF321846520001F0F0F8D6 +:1084C000831E17B133F817209AB16F6032782B787A +:1084D00062F300032B70BDE8F8833EF8022D42EAF8 +:1084E0000C0C2CFA04F229F802294FEA0C4C013941 +:1084F000D4E7013FE5E7F0B50E46496885B005468B +:10850000144601B132B93146284605B0BDE8F04005 +:10851000FFF7F8BDFFF772FDD6E901212346A868F1 +:10852000FFF7FEFC686031782B7861F300032B7055 +:10853000DB0702462DD500237068ADF80E30210907 +:10854000984201D08B420FD1884222D9B36804F0FF +:108550000F0433F81110012303FA04F4013C214203 +:1085600013D0ADF80E3008E0B76837F8137057B184 +:1085700001238842ADF80E30E8D8A968012352B92A +:108580000B806B6005E00133DAE7BDF80E30002B9D +:10859000F3D105B0F0BD009308460DF10E03FFF7CF +:1085A000DDFC6860F5E773B50C4616460546D2E972 +:1085B0000132D1E90110FFF755FD0028BEBF234667 +:1085C00034461E462378327861685340DB071BD45B +:1085D00001312846FFF712FD73680093D4E90121A9 +:1085E000B368A868FFF7BAFC686023786A68C3F3C9 +:1085F0000003002A0CBF002303F001032A7863F371 +:1086000000022A7002B070BD2846FFF7F7FC7368BD +:108610000093D4E90121B368A868FFF7CAFCE3E737 +:10862000F7B50D4616460446D2E90132D1E90110EC +:10863000FFF718FD0028BEBF2B4635461E462B7897 +:108640003278696883EA0203B4BF01270027DB0799 +:1086500014D501312046FFF7D1FC73680093D5E9AA +:108660000121B368A068FFF779FC60606268237835 +:1086700082B962F30003237003B0F0BD2046FFF718 +:10868000BDFC73680093D5E90121B368A068FFF7CA +:1086900090FCEAE72A7802F00102002FE9D0C2F14B +:1086A0000102E6E72DE9F04F16464A6873689A42E0 +:1086B0000C463EBF34460B461E4623786168DA07F7 +:1086C00056BF3378012303F0010385B019440546F2 +:1086D000FFF794FCD4E901E1B36824787268367836 +:1086E000009384EA0607FB0754BF04F0010B4FF028 +:1086F000000B04F00104CBF100081FFA88F3C4F169 +:10870000000806F00106A86801931FFA88F3029397 +:10871000C6F10008A2EB0E03A1F102092746B446F8 +:108720001FFA88F871468246039399B900EB4E010F +:10873000BBF1000F03D0012320F81E300231FFF7F8 +:10874000E3FB2B786860344064F300032B7005B0C2 +:10875000BDE8F08F39F8022F029B5A40039B013984 +:1087600017445A18914221BF009B33F8022B009303 +:1087700082EA080238BF42469444019B07EA0C0291 +:108780005A401BFA82F22AF8022B4FEA1C4C3F0C8B +:108790004FEA124BC9E72DE9F04F16464A68736855 +:1087A0009A420C463EBF34460B461E46237861680B +:1087B000DB0756BF3378012303F0010385B019446A +:1087C0000546FFF71BFCD4E901172478A868D6E911 +:1087D00001B3367814F0010F0CBF06F0010201223C +:1087E000C2F1000804F001041FFA88F806F001063F +:1087F000CDF80480C4F10008023F1FFA88F8C6F1E2 +:108800000009ABEB010B0097A446B646CDF80880F3 +:108810001FFA89F90F468246CDF80CB067B900EB14 +:108820004101FFF771FB2B786860344364F3000368 +:108830002B7005B0BDE8F08FDDF8008038F802BF7E +:10884000CDF80080DDF808808BEA080BDDF80C809D +:10885000013FDC4408EB070B5F4528BF33F802BB40 +:10886000DDF804802CBF8BEA090BCB46DE444CEAD2 +:108870000E0B8BEA080B12FA8BF22AF8022B4FEA46 +:108880001E4E4FEA1C4C120CC8E72DE9F74F154657 +:108890004A686B689A420C463EBF2C460B461D4602 +:1088A00023786168DB0756BF2B78012303F00103AF +:1088B00019440646FFF7A2FBA168D4F80480237888 +:1088C0002A78B068AF68A1F1020A696883EA020CED +:1088D000A1EB0801DB43D2430CF0010C03F00103D0 +:1088E00002F00102C64681464FF6FF7B0191BEF1C0 +:1088F000000F19D100EB4801BCF1000F03D0012398 +:1089000020F818300231FFF7FFFA706023782A78D8 +:10891000C3F30003C2F300025340327863F3000252 +:10892000327003B0BDE8F08F3AF8021F59440B448F +:1089300001990EF1FF3E71448E452ABF37F8021BA4 +:108940004FF6FF7159440A4483EA02011CFA81FC84 +:1089500029F802CB120C1B0C4FEA1C4CC7E72DE97F +:10896000F04F4B6885B004460E4615460BB1536870 +:1089700043B923786FF3000323700023636005B0CD +:10898000BDE8F08F81422DD1FFF74DFBA542064691 +:10899000074600D105466B68716820461944FFF709 +:1089A0002DFB2268A068C2F39D025200002100F056 +:1089B00077FEB368D4F808E0D6F804900193AB686A +:1089C000029300226B6803930EEB4908F4461146AC +:1089D000039B93422FD0019B0093ACF102004946C8 +:1089E000002318E0824204D1FFF71DFB054607462D +:1089F000D1E70027CFE730F802AF53449B46009BF6 +:108A000033F802AB0093029B33F8123003FB0AB336 +:108A1000038001391B0C0029EDD14146881C13B19C +:108A2000A8F800300146A1EB0E0149100CF1020C30 +:108A300001328046CCE761602A783378534022784F +:108A4000384663F30002227005B0BDE8F04FFFF72F +:108A500023BB4B6870B50546144613B11378DA078B +:108A600006D52B786FF300032B7000236B6070BD6D +:108A7000636823B9BDE870400121FFF719BB0846C0 +:108A8000FFF7D1FA06462046FFF7CDFA012104464A +:108A90002846FFF70DFB636883B1A3681B88DB07DB +:108AA00004D5324629462846FFF759FFD4E901216B +:108AB00001230846FFF734FA606038B93046FFF703 +:108AC000EBFA2046BDE87040FFF7E6BA3246314681 +:108AD0003046FFF744FFDEE72DE9F04F0C465168C2 +:108AE0008FB09046013105460293FFF787FAD8F818 +:108AF0000420A86801325200002100F0D1FD2B783B +:108B000000266FF300032B706E60D8F80410204627 +:108B10000131FFF773FA41462046FFF7F3FA029B53 +:108B2000A768D4F80490D3E9013A0193AB680393A2 +:108B30005246019B49463846FFF794FA002832D145 +:108B4000039A6060012313806B6023786168C3F32C +:108B5000000200290CBF002202F0010262F30003B0 +:108B6000029A237098F8003012785340DB0717D52B +:108B70006B682A78003B18BF012363F300022A7058 +:108B800071B14FF0FF310BA8FFF7DAFA0BAA2946B3 +:108B90002846FFF708FD029A21462046FFF703FD0D +:108BA0000FB0BDE8F08F01DA6E60CEE7019B03F1F4 +:108BB0000042013A4FEA420E3AF81230180406F128 +:108BC000010150D509F10103002127F8191005937F +:108BD0006360B3B207EB490BC3F110000BF102095C +:108BE000BC460490CC4542D33AF812209A400492F5 +:108BF000019A012A09D90AEB0E02C3F1100132F8D9 +:108C0000022CCA40049911430491019A0599881ACB +:108C10006860039A00F10040013802EB40020692BE +:108C20000EF102020992AAF1020A62680592059900 +:108C3000019A8A4227D301F1004B0BF1FF3B07EB6E +:108C40004B0B0020C3F110065F4571D96FF0004156 +:108C50006B682BB103985A1830F81220002A71D093 +:108C60006FF0004173E05B009BB20E46A6E7BCF8D4 +:108C7000006006FA03F001432CF8021B049926FA5F +:108C800001F189B2AEE7BBF800103BF8022C42EAD2 +:108C900001420499B2FBF1F20999ABEB0101CDE974 +:108CA000071A00200E468646B3450DD8BBF80010C3 +:108CB0000844C0BB069921F80229059A0691013A99 +:108CC000ABF1020B6260B0E7DDF820C0B6F80090AF +:108CD0003CF8021FCDF820C0994041EA1E4E1FFA11 +:108CE0008EF1514319FA80F91FFA81FC090CA9EBA6 +:108CF0000C0CC1EB204126F802CB01EB2C40D3E752 +:108D000039F802CF0CFA03FC4CEA1E4EB6F800C04C +:108D100011FA8EF1614426F8021B090CB345EFD815 +:108D20000844013AC5E70021079ED1468E46F5E783 +:108D3000BBF8002042FA03F10143B2402BF80219BC +:108D400090B281E7013B6B6082E7013B636063683F +:108D5000002B3FF4FAAE5A1837F81220002AF4D04C +:108D6000F3E6F0B51F464B6885B004460D4616463F +:108D70004BB11378DA0706D47B68012B0BD1BB68A3 +:108D80001B88012B07D123786FF300032370002386 +:108D9000636005B0F0BD01212046FFF789F97368D3 +:108DA000002BF6D02846FFF73EF905463046FFF780 +:108DB0003AF9064601A8FFF798F97368B3B1B368AA +:108DC0001B88DB070AD52A4621462046FFF7C7FD48 +:108DD0003B462246214601A8FFF77EFED6E9012147 +:108DE00001230846FFF79CF8706048B901A8FFF717 +:108DF00081F92846FFF750F93046FFF74DF9C8E7EB +:108E00002A4629462846FFF7AAFD3B462A46294618 +:108E100001A8FFF761FED0E710B5D0E901210346B4 +:108E200001EB42020020914204D31B78DB0748BFCC +:108E3000404210BD32F8024D44EA0040F3E730B53D +:108E4000D0E90124002304EB4202944206D30278C5 +:108E5000D20748BF5B420B60012030BDB3F5004F25 +:108E600004D232F8025D45EA0343EEE70020F4E75E +:108E7000037813F0010310B510D1D0E9012404EBFD +:108E80004202944202D30B60012010BDB3F5803F33 +:108E900004D232F8020D40EA0343F2E70020F4E77F +:108EA0002DE9F0470546D1B19818D5E9018400268F +:108EB000A4F1020E4FF0010C374603EB0209B8F1A2 +:108EC000000F0ED1B9B3C21A18462B7813F0010F58 +:108ED000BDE8F04714BFFF21002100F0E1BB1846B8 +:108EE000E3E73EF8024F103744EA064695F800A043 +:108EF000072F0AF0010A02DC08F1FF38DFE7B4B2FD +:108F0000BAF1000F06D0E4435CFA84FC1FFA8CF43B +:108F1000CCF3072CE4B249B100F1FF3A00F8014C60 +:108F200053450BD0083F360A5046DFE782460AF821 +:108F3000014BCA45F5E713441A1AC6E7BDE8F087A6 +:108F40002DE9F041D0E90157044607EB4505002023 +:108F50004FF08F48AF4206D32378DB0748BF00F1BC +:108F60000040BDE8F0814146F5F796FD064635F82C +:108F7000020DF5F73DFD3146F5F786FCEAE72DE9F0 +:108F8000F84F44689DF828A00B9E804689461546F8 +:108F90009B469CB982B1551E334615F8011F1846F1 +:108FA00039B930230370002300F8013F801BBDE86E +:108FB000F88F03F8011BF0E73046F2E76400204623 +:108FC000FEF7ABFED8F808100746224600F040FB3B +:108FD000ABF13A0B314632463819A0F1020C0023AE +:108FE0006745644639D93033392B144688BF5B4412 +:108FF00004F8013B3B4698429C4638D8BAF1000F32 +:109000000AD00123A4EB010CBCF1030F02BF941C96 +:1090100082F801A02146F3B13846FEF79BFE5DB110 +:10902000284600F086FB2A18611E1346AB4229D859 +:10903000954288BF0020044498F80030DB0744BF05 +:109040002D2304F8013B3346621E9A421FD80023A9 +:109050002370A01BABE72246BFE7248844EA034302 +:10906000B3FBF9F42CF8024909FB1433B8E7BCF858 +:1090700000C00233BCF1000FBDD0BAF1000FEAD03E +:109080000023BFE713F8017D01F8017FCEE71978CF +:10909000107803F8010B02F80119D6E7012910B581 +:1090A000146828D934F01001037815D1302B1ED163 +:1090B000417841F02001782900F1020303D1102109 +:1090C0001160181A10BDCCB96F2901D10821F7E73A +:1090D000622911D10221F3E7082C11D1302B0DD1D7 +:1090E000437843F020036F2B08D1831CE9E7082C59 +:1090F00004D0022C02D00CB90A2313600346E0E727 +:10910000022CFBD1302BF9D1437843F02003622BA2 +:10911000EAE701F00F0108290DD8DFE801F0110599 +:109120000A0C0C0C0C0C0E00002814BF1E200E2084 +:109130007047E4F7AFBEE4F7C8BEC00040F00200DD +:10914000704738B5034615460C4609B92C460BE066 +:1091500052B111462046984758B1636833B96560EB +:1091600044F00103A560EB60204638BDA368DD60D4 +:10917000F6E76B68E3606C60002BE7D145F0010314 +:10918000AC60E360E2E7F8B5064631B1002511F0C6 +:10919000010304D00023EB6029460846F8BDCC68E3 +:1091A000CB6014F0010307D1E768E3602246304644 +:1091B000FFF7C7FF3C4601460A4630462946FFF7FF +:1091C000C0FF21460546E2E78A422DE9F041844688 +:1091D0000E4606D1002351685360BDE8F041FFF709 +:1091E000D2BFD2F80C80B8F1000F12D01446E46858 +:1091F000E307FCD524F0010451686368934208F04A +:10920000010716D1002339B99F4208BF414661606A +:10921000D3603046BDE8F0815360D3606046FFF70D +:10922000B2FF05466060C5F80C80002FF1D0A56044 +:10923000EFE71D46DB689342FBD100225A60DA60FB +:109240006046FFF7A0FF0028EDD0E8600546EAE79A +:1092500037B50446A068E0F791FE019068B16568F3 +:10926000062D05D001AB002201212846E0F7A0FC25 +:10927000E2F70AF90028EDD0019803B030BD38B507 +:109280000446084611464FF004121D46E1F7F8FB6C +:1092900021460C20E1F7E5FE2B68436004460021DF +:1092A0006868E0F7F1FDA060204638BD034680689D +:1092B00040B1411E996049005868042241F0010103 +:1092C000E2F7A0B9704737B51D4604460846114677 +:1092D0004FF00212E1F7D4FB28686A4640F27B1196 +:1092E000E0F7F0FA009B43B100216A460846E0F738 +:1092F000C4FC0446204603B030BD21460C20E1F7F3 +:10930000B0FE044628686060E2F76AF9E1F774FF8E +:10931000A060EFE708B500221146007AC5F70EFC01 +:10932000002814BF1E200E2008BD07B5002101AA89 +:10933000007AC5F703FC0198400040F0010003B03B +:109340005DF804FB07B5002201A9007AC5F7F6FB1A +:10935000019B002B14BF1E200E2003B05DF804FB00 +:10936000007A704708B5C5F78FFCBDE80840E4F700 +:1093700091BD1FB501A8C5F775FC0398E4F78AFDF8 +:1093800005B05DF804FB1FB501A8C5F76BFC02989A +:10939000E4F780FD05B05DF804FB1FB501A8C5F733 +:1093A00061FC0198E4F776FD05B05DF804FB08B5B3 +:1093B000C5F748FC062008BD08B5C5F74BFC0620DC +:1093C00008BD08B5C5F736FC002814BF1E200E20C6 +:1093D00008BD08B5C5F760FCBDE80840E4F75ABD14 +:1093E00008B50120C5F748FD062008BD08B50020D6 +:1093F000C5F742FD062008BD82B07FB5054608A826 +:1094000080E80C00086849684A1011F0010F02ABAF +:1094100003C30B4618BFAB58044605EB610618BFE3 +:109420001C58DDE90A018DE8030008AB0CCB30467F +:10943000A04704B0BDE8704002B0704782B007B5E5 +:1094400004A981E80C0000220023C0E90823069B40 +:10945000C36010300190F9F7C6F8019803B05DF8C9 +:1094600004EB02B0CCF7B8B882B013B504A981E818 +:109470000C00D0E908231343044618D0CCF778FD3C +:10948000D4E9082382428B4111D200220023C4E98F +:109490000823002304F11000E3600190F9F7A3F81A +:1094A000019802B0BDE8104002B0CCF795B802B008 +:1094B000BDE8104002B0704710B50446F1F700FC5B +:1094C00023791BB1236820469B689847002010BD74 +:1094D00010B50446F1F754FC204600F07FF8204612 +:1094E00010BD41627047406A003818BF01207047C4 +:1094F00040687047416000207047F7B58B68CD69C0 +:109500009D42A8BF1D460C46012201F10C070646EC +:10951000294601A8FBF761FC01A93846FBF774FC5A +:1095200001A8FBF76AFCE06861692A46043000F094 +:109530008FF8E36962695B1B2A44E36162615BB98E +:10954000236A002BC4BF03F1FF332362236A63B194 +:10955000A369E36123696361E369002B03DD606A4A +:1095600003681B689847E36943B9236A33B994F8E1 +:1095700028301BB104F12C00CCF75EF83946304698 +:10958000FBF723FC304603B0F0BD38B50446406A13 +:109590009DF81050A8B1002A13DD93B1236203682F +:1095A00084F828501B68C4E90411C4E906229847CE +:1095B00094F828302BB104F12C00BDE83840CCF7EA +:1095C0000BB838BD13B500240094FFF7DEFF02B0DE +:1095D00010BD0B4601461846F4F7DEBACCF784B846 +:1095E000012838BF012010B504462046CCF758F8B2 +:1095F00030B9F1F789FC08B900F00FF88047F4E7BB +:1096000010BD08B500F004F808B5804700F005F873 +:1096100008B5F1F771FCFFF7F7FF08B50620F4F77E +:1096200007FB0120F5F7ECFD0A220021F4F79CBBB3 +:1096300010B501390244904201D1002005E00378C1 +:1096400011F8014FA34201D0181B10BD0130F2E701 +:109650000A44914200F1FF3300D1704710B511F870 +:10966000014B03F8014F9142F9D110BD884210B56A +:1096700001EB020402D98442234607D8431EA142CB +:1096800008D011F8012B03F8012FF8E70244014636 +:109690008A4200D110BD13F8014D02F8014DF7E7E1 +:1096A00002440346934200D1704703F8011BF9E7D7 +:1096B0001F2938B504460D4604D9162303604FF020 +:1096C000FF3038BD426C12B152F821304BB9204600 +:1096D00000F016F82A4601462046BDE83840F4F767 +:1096E000AFBA012B0AD0591C03D116230360012005 +:1096F000E7E7002442F82540284698470020E0E7A5 +:10970000F5F76EBDC9B2034610F8012B1AB18A42B3 +:10971000F9D118467047002918BF0023F9E710F85F +:10972000012B11F8013B012A28BF9A42F7D0D01A29 +:109730007047034613F8012B002AFBD1181A013891 +:10974000704710B57AB103460139841813F8010B3C +:1097500011F8012F904201D1A34201D1801A10BD0E +:109760000028F3D1FAE71046F9E70000F8B500BF8A +:10977000F8BC08BC9E467047F8B500BFF8BC08BCF2 +:109780009E4670470000000000000000000000003E +:109790000338FDD870470000182D4454FB21E9BF61 +:1097A000D221337F7CD90240D221337F7CD902C0C1 +:1097B0000000000000000080182D4454FB210940E7 +:1097C000182D4454FB2109C000000040FB21F93F43 +:1097D000000000002D44743E000000809846F83CD4 +:1097E0000000006051CC783B00000080831BF03902 +:1097F0000000004020257A38000000802282E336F5 +:10980000000000001DF369354FBB610567ACDD3F0B +:10981000182D4454FB21E93F9BF681D20B73EF3F97 +:10982000182D4454FB21F93FE2652F227F2B7A3C0F +:10983000075C143326A6813CBDCBF07A8807703CC8 +:10984000075C143326A6913C0000000000000000D5 +:1098500015E6010005F2040007F204001DE6010010 +:1098600053240500000000000000000009F204007D +:109870004BF20400039605000396050003960500CD +:109880000396050003960500039605000396050060 +:109890000396050003960500039605000396050050 +:1098A000039605000FF20400000000000000000015 +:1098B0005F54050069840200832B0500832B05009B +:1098C000892B0500892B0500772B05008F2B0500C0 +:1098D000E1550500A92B0500755605008B540500C0 +:1098E0006B2C050025E6010057F204003B550500EE +:1098F000542B0020782B00203826002050260020F2 +:10990000682600208026002098260020B02600200F +:10991000C8260020E0260020F8260020102700207E +:1099200028270020402700205827002070270020EB +:1099300088270020A0270020B8270020D02700205B +:10994000E8270020002800201828002030280020C8 +:109950004828002060280020782800209028002037 +:10996000A8280020C0280020D8280020F0280020A7 +:1099700008290020202900203829002000000000AC +:109980000000000097F304008DF3040089F3040045 +:1099900091F3040093F3040079700200AD430500D5 +:1099A000B14305000000000000000000E1F30400E6 +:1099B000D3F30400D5F30400000000000000000011 +:1099C00015E6010005F2040007F204003DF4010071 +:1099D0005324050009F50100B5F50400000000005E +:1099E00000000000DDF50400CF240500D7F50400D9 +:1099F00069F70100D3F504000DF60400CDF504006D +:109A0000CBF50400000000000000000015E6010096 +:109A100005F2040007F20400C516020053240500F5 +:109A200055FA010025F604002D2B0500312B050009 +:109A3000990B0500432B0500FD0A05003D160200A9 +:109A4000492B0500C4FFFFFF0000000015E60100E0 +:109A5000B338050007F204001DE601005324050099 +:109A60001DF6040037F60400709A05000800000097 +:109A700001000000020000000200000002000000DF +:109A800003000000020000000400000001000000CC +:109A900005000000080000000600000001000000B2 +:109AA00007000000010000000800000001000000A5 +:109AB000000000000000000015E6010005F20400AF +:109AC000A10402001DE60100532405006103020009 +:109AD0000FFD0400000000000000000015E601007A +:109AE00005F20400BB020500890A020053240500A8 +:109AF00029080200510205000000000000000000DB +:109B000015E6010005F20400BF0305001DE6010093 +:109B1000532405003D0B020081030500249B050032 +:109B200008000000010000000C000000020000001E +:109B30000500000003000000020000000400000017 +:109B40000100000005000000010000000600000008 +:109B500002000000070000000300000008000000F1 +:109B600001000000000000000000000015E60100F8 +:109B700005F2040007F204001DE60100532405006D +:109B8000F50B0200D9030500F50C0200290D0200B7 +:109B90001F080500C3030500430805005F08050012 +:109BA000C7030500F8FFFFFF00000000D503050014 +:109BB000570805006D080500CD03050045060500A2 +:109BC0004D0605003B0805000000000000000000F5 +:109BD0001B0A050015100200630A050000000000C2 +:109BE00000000000C1100200250A05002F0A050030 +:109BF000A7430500390A05003F0A05005B0A050076 +:109C0000B14305000000000000000000BD0A05008F +:109C1000C10A0500C70A0500CB0A0500D30A0500E2 +:109C20000115020095150200000000000000000070 +:109C300015E6010005F2040007F20400C516020053 +:109C40005324050021160200EB0A05002D2B050008 +:109C5000312B0500990B0500432B0500FD0A05007B +:109C60003D160200492B0500000000000000000026 +:109C70005D0D0500090C05000D0C0500A74305004E +:109C8000170C0500797002001B0C0500B14305009C +:109C9000851A0200330C0500FCFFFFFF00000000E6 +:109CA00015E6010005F2040007F204001DE60100BC +:109CB000532405002B0C0500450C05000000000096 +:109CC00000000000F70E0500FD0E0500030F050063 +:109CD000190F05001F0F0500250F05002B0F0500AC +:109CE000390F0500470F0500530F0500610F0500F0 +:109CF000690F05006F0F0500750F0500810F050046 +:109D0000870F05008D0F05009F0F0500A50F0500AB +:109D1000AB0F0500B10F0500B70F05004524020089 +:109D2000BD0F0500C10F0500C30F050001100500A0 +:109D30000000000000000000F70E0500FD0E050009 +:109D4000030F0500571005001F0F0500C50F050084 +:109D50002B0F0500390F0500470F0500530F0500B5 +:109D6000610F0500690F05006F0F0500C90F0500A1 +:109D70007F100500D50F0500D90F05009F0F0500C6 +:109D8000A50F0500AB0F0500B10F0500B70F0500CB +:109D900045240200BD0F0500C10F0500CDF40100F0 +:109DA0009DF504000D100500C9100500EB0F05001E +:109DB000EF0F0500E8FFFFFF0000000015E60100BF +:109DC00005F204004B1005001DE6010053240500B8 +:109DD00001F50100AFF50400E0FFFFFF0000000007 +:109DE00021110500A5430500F90F0500A743050053 +:109DF0005310050079700200AD430500B143050022 +:109E0000289E05000C000000589E0500060000007A +:109E1000709E050004000000809E05000700000001 +:109E20009C9E0500070000000000803F6D56853FA6 +:109E30000000903F9A99993F0000A03F93A9AA3F44 +:109E4000A301B43F0000C03FCDCCCC3F6D56D53F01 +:109E50006666E63F0000F03F0000803F0000903F54 +:109E60000000A03FA301B43FCDCCCC3F6666E63FE7 +:109E70000000803F9A99993FA301B43F6D56D53FAA +:109E80000000803F0000903F0000A03F93A9AA3F40 +:109E90000000C03F6D56D53F0000F03F0000803FFE +:109EA0000000903F9A99993F93A9AA3F0000C03FB4 +:109EB000CDCCCC3F6666E63F00000000000000000D +:109EC00015E6010005F20400C9260200B1280200CF +:109ED0005324050051E60100D3F204000000000005 +:109EE00000000000F93202004D1E05004D1E050065 +:109EF0006D14050071140500ED1D05004D1E0500D3 +:109F00004D1E05003B200500571E0500772005006B +:109F10001F2105004F1E0500FFFFFFFF000000008E +:109F200000000000DDF504007B160500D7F50400F5 +:109F300069F70100D3F504000DF60400CDF5040027 +:109F4000811705008939020079160500493502009C +:109F5000B5E70100F7F20400FCFFFFFF000000007E +:109F6000B7170500AD170500B51705001DE6010080 +:109F700053240500D9E8010009F3040000000000A3 +:109F80000000000015E6010005F2040007F20400DD +:109F90001DE60100D1170500ED3B0200BF170500CB +:109FA000000000000000000015E6010005F20400BA +:109FB00007F204001DE601005324050001420200DF +:109FC000051A0500B7270500D3270500D727050088 +:109FD000F3270500B1410200D9410200DF28050046 +:109FE000000000000000000015E6010005F204007A +:109FF00007F204001DE60100532405008D43020012 +:10A00000231A05003D43020093290500AF290500EE +:10A0100065430200B32905000000000000000000B5 +:10A020004D1E05004D1E05004D1E05000396050042 +:10A0300003960500ED1D05004D1E05004D1E050093 +:10A040003B200500571E0500772005001F21050055 +:10A050004F1E050000000000000000000122050066 +:10A060004D1E05004D1E0500892105008D210500AE +:10A07000ED1D0500D7230500D12305003B20050079 +:10A08000571E0500772005001F2105004F1E050003 +:10A09000000000000000000015E6010005F20400C9 +:10A0A00007F204001DE601005324050039E6010013 +:10A0B000C1F20400000000000000000015E60100ED +:10A0C00005F2040007F204001DE601005324050018 +:10A0D00000000000000000000396050000000000E2 +:10A0E0000000000015E6010005F2040007F204007C +:10A0F0001DE60100532405000000000000000000E0 +:10A10000B7270500D3270500D7270500F32705004B +:10A110000396050003960500DF28050000000000F7 +:10A120000000000015E6010005F2040007F204003B +:10A130001DE601005324050000000000000000009F +:10A140000396050093290500AF2905000396050035 +:10A15000B3290500000000000000000015E6010022 +:10A1600005F2040007F204001DE601005324050077 +:10A17000415A0200652B05002D2B0500312B0500EF +:10A18000352B0500432B0500472B0500472B050009 +:10A19000492B05000000000000000000D72C05003E +:10A1A0007D2B0500832B0500832B0500892B0500E3 +:10A1B000892B0500772B05008F2B0500872C0500C8 +:10A1C000A92B0500C52B0500292C05006B2C0500CB +:10A1D0000000000000000000D72C05000000000077 +:10A1E00000000000D72C050003960500039605002B +:10A1F0000396050003960500332E0500039605001F +:10A2000003960500172D05007D30050000000000B5 +:10A2100000000000F8FFFFFF0000000015E601004D +:10A2200005F20400552E05001DE60100532405002B +:10A23000000000000000000000000000000000001E +:10A2400007330500F932050000000000000000009F +:10A2500015E60100B338050007F204001DE6010011 +:10A2600053240500B56102002D36050000000000F2 +:10A270000000000015E60100B339050007F20400F4 +:10A280008B3A0500532405002D6402007D3905003A +:10A29000073905008F39050051390500F4FFFFFF2C +:10A2A00000000000AB390500B8A205000400000062 +:10A2B000D8A2050009000000020000000000000014 +:10A2C0000400000010000000080000002000000052 +:10A2D0001000000030000000690200008000000053 +:10A2E000E802000090000000C409000070000000B7 +:10A2F00088130000600000001027000050000000DC +:10A30000204E000040000000409C00003000000093 +:10A31000A08601002000000040420F001000000055 +:10A32000000000000000000015E6010005F2040036 +:10A33000E93B0500013C05005324050005690200C6 +:10A34000EF3B0500B7270500D3270500D7270500F9 +:10A35000F32705006968020091670200DF28050005 +:10A3600068A3050004000000102700000C00000096 +:10A37000204E00000800000050C300000400000050 +:10A38000A0860100000000000000000000000000A6 +:10A3900015E6010005F20400473C05005F3C05009E +:10A3A00053240500616A02004D3C0500FD6902006E +:10A3B00093290500AF2905004D690200B329050066 +:10A3C0000000000000000000A56A0200B56A02005B +:10A3D000BD6A02008F3C0500000000000000000084 +:10A3E0004D3E0500456B0200C56A0200933C050026 +:10A3F000056D0200A73E0500F4FFFFFF000000000E +:10A4000015E6010005F2040007F204001DE6010054 +:10A41000532405009F3E0500B93E050000000000E2 +:10A420000000000015E6010005F2040007F2040038 +:10A430001DE6010053240500F16D0200133F0500E5 +:10A44000C13E0500000000000000000015E601000C +:10A45000B339050007F204008B3A050053240500C8 +:10A460002D6F02004141050007390500114205002A +:10A470000D410500F4FFFFFF000000002F42050022 +:10A48000000000000000000015E6010005F20400D5 +:10A4900007F204001DE601005324050019700200B4 +:10A4A00093430500AF42050037420500EF42050027 +:10A4B00000000000000000001B440500A54305004B +:10A4C00089F30400A7430500A94305007970020041 +:10A4D000AD430500B143050000000000000000008E +:10A4E0006B440500B5430500C3430500D543050093 +:10A4F000CD43050079700200FF4305000D440500BF +:10A5000089700200FCFFFFFF00000000AD44050061 +:10A510000000000000000000817002000000000048 +:10A520000000000015E6010005F2040007F2040037 +:10A530001DE6010053240500C1740200E14405003A +:10A54000F9710200F8FFFFFF00000000D944050088 +:10A55000000000000000000021460500D576020042 +:10A56000B3450500D1450500E7450500F745050061 +:10A5700007460500FCFFFFFF000000000B4605003A +:10A58000A543050017460500A7430500C94505007A +:10A59000DF450500EF450500FF4505000000000010 +:10A5A00000000000E5780200E14605006579020040 +:10A5B0004F46050085460500AD790200AD47050010 +:10A5C000FCFFFFFF0000000015E6010005F204009B +:10A5D00007F204001DE6010053240500A54705000D +:10A5E000BF4705000000000000000000C74705004D +:10A5F000AF46050031460500C74605003B4605004D +:10A600004546050029470500474705002746050040 +:10A61000A3460500CD780200FCFFFFFF000000000C +:10A6200029460500FFFF010000000000FFFF0000B9 +:10A63000FFFF00003CA6050008000000020000002B +:10A640000100000003000000020000000400000000 +:10A650000300000005000000040000001C000000D2 +:10A66000050000001D000000060000001E000000A4 +:10A67000070000001F0000000800000000000000AC +:10A6800000000000ED510500DB510500E55105001B +:10A69000A7430500D7510500057E0200157E020084 +:10A6A00051820200000000000000000015E60100D9 +:10A6B00005F2040007F20400218302005324050080 +:10A6C00075E60100E5F204001B530500F8FFFFFFEB +:10A6D00000000000495305000000000000000000D9 +:10A6E0005F54050069840200832B0500832B05005D +:10A6F000892B0500892B0500772B05008F2B050082 +:10A70000E1550500A92B0500755605008B54050081 +:10A710006B2C050051540500535405003B550500B2 +:10A72000000000000000000015E6010005F2040032 +:10A7300007F204001DE6010053240500D585020040 +:10A740004D570500A157050015570500F8FFFFFFFD +:10A750000000000015580500F4FFFFFF0000000096 +:10A76000455705000000000000000000818A02003B +:10A770002D8B0200DD58050061900200C1880200A7 +:10A78000B98B0200F3580500158902000159050034 +:10A790000D590500610F05007B5905004D91020020 +:10A7A0001B590500158C0200A18C020027590500D9 +:10A7B00049890200A50F0500AB0F0500535905009C +:10A7C000435A050085890200C1580500F589020039 +:10A7D000031A0500171A0500000000000000000021 +:10A7E000D72C0500D95A0500B59102007F5A050003 +:10A7F000D9930200955B0500D95B0500915A0500CD +:10A80000935A05000000000000000000D72C05004E +:10A81000835C0500375C050005940200475C050079 +:10A82000332E050075940200755C0500172D050098 +:10A830007D30050095950200215D0500F59402002C +:10A84000F8FFFFFF0000000015E6010005F204001C +:10A85000552E05007B5C050053240500195D05009D +:10A86000335D0500000000000000000015E6010057 +:10A8700005F2040007F204001DE601005324050060 +:10A8800041970200455E0500575E05007198020081 +:10A89000EF420500000000000000000015E6010086 +:10A8A00005F2040007F20400D75F050053240500F9 +:10A8B000619902000D60050009F20400B9980200D8 +:10A8C000E5980200119902007B5E050035990200AF +:10A8D000495F0500915E0500A55E0500CD5E05009F +:10A8E000FD5E0500795F0500A75F05001D5F05009F +:10A8F0000FF2040000300040030000000F000000D1 +:10A9000000400040040000000F0000000030024042 +:10A91000230000000C0000000020004002000000A6 +:10A920001000000000F002402F00000004000000B2 +:10A93000008002402800000010000000000000001D +:10A94000000000007D6005007560050089F30400CB +:10A95000A74305007960050079700200AD4305004A +:10A96000B143050000000000F839002083610500B4 +:10A970006C8E0600708E06000400000001000600C8 +:10A98000F83C0020888E0600988E06000800000023 +:10A99000788E0600888E060008000000708E060083 +:10A9A000788E060008000000148E06004C8E06000B +:10A9B000080000004C8E06006C8E060008000000A7 +:10A9C0000000FFFFDEC0ADDEFE011EF1DEC0ADDE29 +:10A9D000FF011EF100100000040000000100000053 +:10A9E000DDD90200BDD902006B770500E5DB02006E +:10A9F00095DB0200637705006777050099D90200AF +:10AA000000000000010000000100010018AA05007C +:10AA1000010001001CAA0500010000000000000068 +:10AA20000CE20500FFFF030039EB0200010000000B +:10AA3000670300000C0200009202000008030000FF +:10AA400034020000330200003A020000BD000000A2 +:10AA5000BE000000BF00000026030000BC00000094 +:10AA600064AA050088E9050000001D01000000003F +:10AA700000000000000000017CAA050074DC050055 +:10AA8000570000000A0000008CAA05001A130000FD +:10AA900024AB0500221300001CAB05002A130000A4 +:10AAA00014AB0500121300000CAB0500FA120000F5 +:10AAB00004AB05002A0F0000FCAA0500E213000009 +:10AAC000F4AA0500D21B0000ECAA0500CA1200007F +:10AAD000E4AA0500F2180000DCAA05003CE205002B +:10AAE000B9ED020054E2050019EF02003CE2050056 +:10AAF000A9EE02003CE20500E1EE020054E205008E +:10AB0000FDEE020054E20500F5ED020054E20500FE +:10AB100023EE020054E2050051EE020054E205006B +:10AB200065EE020054E2050079EE020018E9050026 +:10AB300008000000B4AC0500ACAC0500A4AC0500F6 +:10AB40009CAC050094AC05008CAC050084AC050001 +:10AB50007CAC050018E905000C00000014AD0500F0 +:10AB60000CAD050004AD0500FCAC0500F4AC05001F +:10AB7000ECAC0500E4AC0500DCAC0500D4AC050091 +:10AB8000CCAC0500C4AC0500BCAC05006CFA0500FB +:10AB9000097391356CFA050001632B076CFA050007 +:10ABA00001EE93626CFA050001AE7EE76CFA0500D7 +:10ABB000014308A76CFA0500018410476CFA0500F0 +:10ABC00009BFFE5F6CFA050009E413156CFA050075 +:10ABD00009FB93BF6CFA050001C07D056CFA050006 +:10ABE00001C47DA76CFA050001E678076CFA050040 +:10ABF0000118FFAF6CFA050001FB3BE76CFA05009A +:10AC000001C46D476CFA0500097E9DE76CFA0500EA +:10AC100009C411F76CFA050001B57E426CFA050013 +:10AC2000095ECABD6CFA05000184D1736CFA050097 +:10AC3000018490736CFA050001317E476CFA0500BF +:10AC400001A5BCF56CFA050001C029076CFA0500E6 +:10AC5000093FC6F86CFA0500018028026CFA05006D +:10AC6000014445456CFA050001AAAAAA6CFA050040 +:10AC7000096194F46CFA05000180A80F6CFA0500D4 +:10AC8000096714046CFA050001447C416CFA050064 +:10AC9000011095716CFA0500018454476CFA0500A7 +:10ACA000094150CC6CFA050001047D446CFA0500A2 +:10ACB000011C53116CFA050001C455426CFA0500E1 +:10ACC000014210006CFA0500016010006CFA0500EA +:10ACD00001001C006CFA0500010090016CFA0500EF +:10ACE000010010216CFA0500010010426CFA050009 +:10ACF000010010846CFA05000100100C6CFA0500CC +:10AD0000010070006CFA0500010013006CFA0500E8 +:10AD1000010811006CFA0500018410006CFA0500AE +:10AD2000095111156CFA05000100A2226CFA050008 +:10AD3000010A20226CFA0500017F03E56CFA050088 +:10AD400009117CCA6CFA0500010A10456CFA05006D +:10AD5000016003076CFA05000951815F6CFA050078 +:10AD6000094001556CFA0500094001176CFA05000D +:10AD7000010080E86CFA0500014081E86CFA0500EA +:10AD8000014039026CFA050001EA7F4718AF05005F +:10AD900020AF050010AF0500AF0103010000000067 +:10ADA00077030102010000000D020301060000000C +:10ADB000F7020200841E0000BCAD050088E9050012 +:10ADC000000025010000000000000000000000015C +:10ADD000D4AD050074DC0500770000000E00000013 +:10ADE000E4AD050002190000C4AE05001219000010 +:10ADF000BCAE0500A2190000B4AE0500220F000091 +:10AE0000ACAE0500DA130000A4AE0500CA1B0000BA +:10AE10009CAE0500BA12000094AE05000A180000AE +:10AE200088AE0500121800007CAE05000214000078 +:10AE300074AE0500F21900006CAE0500420A000075 +:10AE400064AE05004A0A00005CAE05003A0A000044 +:10AE500054AE0500A4E105000000803FA4E1050018 +:10AE6000CDCC4C3EA4E10500C1CAA13D54E2050091 +:10AE7000C5EF020054E20500CFEF02000CE205002E +:10AE8000FFFF030053F102000CE20500FFFF030087 +:10AE9000ADF1020054E2050015F002003CE20500AD +:10AEA00061F002003CE2050095F0020054E205006A +:10AEB000B5F0020054E20500D1F0020024E20500E2 +:10AEC000E3F002003CE2050019F1020088E9050008 +:10AED0000000290100010000000000000000000245 +:10AEE00059F20200E8AE050074DC05001F00000006 +:10AEF00003000000F8AE0500AA08000020AF05001E +:10AF0000EA09000018AF0500CA06000010AF0500EE +:10AF1000CCAE0500D4010000CCAE0500EC02000070 +:10AF2000CCAE05009702000088E90500000008018A +:10AF300000000000000000000001000268AF0500F2 +:10AF400088AF050088E905000000640100000000EA +:10AF5000000000000001000278AF050088AF050086 +:10AF600054E2050019F402008DF7020001F7020017 +:10AF700000000000000000008DF7020001F7020051 +:10AF8000000000000100000074DC05004F0000001C +:10AF90000900000098AF05003A0200000CB005005F +:10AFA000DA15000014B0050062000000E4DA0500C4 +:10AFB0006A000000F8AF0500021C0000E0AF0500C9 +:10AFC000EA030000DCEA0500F2030000B0EA050035 +:10AFD000FA030000A4EA050022050000C4EA050007 +:10AFE00054E205008DF202006CE20500D5F3020088 +:10AFF0006CE2050045F302000CE2050008000800C1 +:10B00000C7F2020054E2050061F3020054E20500B9 +:10B01000BDF2020054E2050091F4020088E9050047 +:10B020000000CE000100000203000400050000063D +:10B0300065000300E9F902009FFF020039FA0200EF +:10B04000F9F9020078B005003503030100000000A3 +:10B050007703010001000000CB0203001C01060081 +:10B0600006030300060000000D02030006000000B6 +:10B07000F7020200841E000074DC05001F000000BF +:10B080000300000088B00500F2120000A8B005001F +:10B09000FA180000A0B00500F20E0000B0B00500E4 +:10B0A0003CE2050015FA020054E205000BFA02002A +:10B0B0003CE20500B5FA0200D0E40500C0B005008E +:10B0C00074DC05004F00000009000000D0B005004E +:10B0D000BA000000D20C0000B204000034B1050038 +:10B0E0002217000028B10500F213000020B105006E +:10B0F000A219000018B10500720600001CB005007E +:10B100007A06000074F9050082060000D8F90500EF +:10B11000DA0A0000500206006CE205008DFA020017 +:10B120006CE205009BFE02000CE20500FFFF01003F +:10B1300059FE02006CE2050009FB02004E03020208 +:10B1400000000000AD01020200000000B90203018E +:10B1500000000000CB0203001C0106007703010081 +:10B160000100000096020100000000003E02020102 +:10B17000000000000D020200FFFFFFFFCB020300F2 +:10B180001C010600770301000100000061080000B7 +:10B19000180E8E0C00008F0A6809E108E907EE0E10 +:10B1A0004D0DDA0B2F0BF709D0E40500B0B1050007 +:10B1B00074DC0500EF0000001D000000C0B10500B8 +:10B1C000BA000000CA1500008A000000A8B20500FD +:10B1D0002A180000E8B205000A190000B0B2050004 +:10B1E00002130000E0B2050022170000C8B20500FB +:10B1F00012170000BCB20500B2040000D4B2050072 +:10B2000042070000A8BB0500DA07000058BB050094 +:10B21000C209000050BA050092090000D0B905002B +:10B220008209000020B80500120A0000E4B70500FA +:10B230001208000094B70500A2060000CCB6050075 +:10B240009A06000060B605006A0B000010B6050003 +:10B250000A080000DCB50500DA090000B0B50500F9 +:10B26000E20900006CB405008A06000044B4050041 +:10B27000BA0600009CB30500920600008CB30500DE +:10B28000620B000068B30500A20800004CB3050083 +:10B290009A08000030B30500BA09000010B3050099 +:10B2A000B2090000F0B205006CE205005501030090 +:10B2B0000CE20500FFFF01001D0103000CE2050088 +:10B2C000FFFF01006D0203000CE20500FFFF01001B +:10B2D000C50103000CE2050002000000F5020300B6 +:10B2E0006CE20500F10003006CE20500D5000300EC +:10B2F00018E90500060000007A1200003A0F00006D +:10B30000AA0D00006A120000220D00003A0E000093 +:10B3100018E905000600000062120000220E00007D +:10B32000721000008A120000A210000092120000A9 +:10B3300018E90500050000007A1200002A1100003B +:10B3400072100000320F0000AA0D000018E905007D +:10B35000050000002A0E0000320F000072100000ED +:10B360002A1100003212000018E905000700000051 +:10B370007A1000007A170000520F00007A170000C0 +:10B38000A20F00007A170000DA0D000018E905008E +:10B39000020000001A0D00009A10000018E90500D4 +:10B3A000280000002A0C0000E20C0000220E000021 +:10B3B000FA0C0000420C00006A1700003A0C000072 +:10B3C000E20C0000220E0000FA0C0000420C00000B +:10B3D0006A170000420C0000921000003A0F0000B3 +:10B3E000721000002A110000721000003A0F0000D5 +:10B3F00072100000020D0000220E0000320F00004B +:10B40000AA0D00000A0D00006A170000220D0000BE +:10B41000220E0000320F0000AA0D00000A0D0000ED +:10B420006A1700002A0D0000921000003A0F000079 +:10B43000721000002A110000721000003A0F000084 +:10B440007210000018E9050008000000F20D00006D +:10B450006A170000920F00003A0F00006A17000000 +:10B46000AA0D00006A1700005A11000018E9050033 +:10B470004F0000007A0F0000FA0C00006A1700006D +:10B48000E20C0000E20C0000020C0000E20C0000E4 +:10B49000721200006A170000320F0000320F000025 +:10B4A0006A170000FA0C0000220E00006A17000064 +:10B4B000AA0D0000AA0D00006A170000320F00005C +:10B4C000C21000004A0E0000220C00006A170000A3 +:10B4D000FA0B0000FA0B00003A120000FA0B000011 +:10B4E0003A1100006A17000072100000721000008C +:10B4F0006A170000AA0D0000FA0C00006A1700008D +:10B50000E20C0000E20C00006A170000220E0000AE +:10B51000AA0F00008A0F0000FA0C00006A17000052 +:10B52000E20C0000E20C0000020C0000E20C000043 +:10B53000120D00006A1700003212000032120000E3 +:10B540006A170000320F0000B20D00006A170000F9 +:10B55000FA0B0000FA0B00006A170000FA0B00005B +:10B56000520C000082120000521100003A0C000040 +:10B57000FA0B00003A120000FA0B0000AA100000BB +:10B580003A0C0000FA0B00003A120000FA0B00001F +:10B59000320F00006A170000B20D0000320F0000E9 +:10B5A0006A170000B20D0000920F00008A17000019 +:10B5B00018E9050009000000120E000052120000F8 +:10B5C00032110000321200004A1200003212000054 +:10B5D0006A170000E20C0000020E000018E90500E6 +:10B5E0000B000000FA0D00005A0E00004A0E000089 +:10B5F000620E0000520F00008A0F00009A0F000038 +:10B600004A0E00005A0E0000EA0C0000FA0D00007D +:10B6100018E90500120000001A0E00007A1100005F +:10B620006A1100008A110000620E000092120000F0 +:10B63000A21000008A110000620E00007A110000C2 +:10B640003A0C0000420E0000320C00006A110000AB +:10B6500082110000B21000006A1100009A1200006E +:10B6600018E9050019000000120E00004A0E000043 +:10B67000A20F0000620E00002A110000D21000008C +:10B680005A0E00004A0E0000A20F0000620E0000D9 +:10B69000321200008A1100005A0E00004A0E00000B +:10B6A000420E0000220C00002A110000721000005F +:10B6B000320F0000120C00000A0C00004A0C0000BF +:10B6C0002A110000321200008A11000018E905005A +:10B6D00030000000E20D0000721000003212000085 +:10B6E000FA0B0000020C0000FA0B000032120000FE +:10B6F00072100000E20D0000721000003212000013 +:10B70000FA0B0000020C0000FA0B000032120000DD +:10B71000721000002A110000FA0B0000EA0D000070 +:10B72000320F00003A0F0000320F0000AA0D000097 +:10B730001A0C0000E20D000072100000321200002E +:10B74000FA0B0000020C0000FA0B0000321200009D +:10B750007210000032120000E20C00005A0F0000CC +:10B760002A11000062110000FA0B0000EA0D00002F +:10B770003A0F0000E20D00007210000032120000CB +:10B7800072100000321200002A1100007210000036 +:10B79000320F000018E9050012000000E20D000061 +:10B7A000AA0D00003A0F00004A0E000072110000BE +:10B7B0004A0E000072110000321100003212000027 +:10B7C000AA0D0000AA0D0000321200004A0E00006F +:10B7D000521100004A0E0000521100002A11000010 +:10B7E0003A0F000018E905000D0000000A0E0000E5 +:10B7F000320F0000AA100000321200008A0F000071 +:10B800007210000072110000FA0B0000A21000007C +:10B810002A1100008A120000E20C0000420E000013 +:10B8200018E905006A000000421100003A12000009 +:10B83000D20D00004A0F0000020D00007A0F000038 +:10B84000B20D00000A0D0000E20C0000BA0D00006D +:10B85000320F00008A0F0000B20D0000020D000040 +:10B86000C20D00003A0F0000321100003A12000031 +:10B870003A0F000032110000B20D0000320F00003C +:10B88000FA0C0000BA0D0000FA0C0000420F000094 +:10B8900032110000421200003A0F00003211000085 +:10B8A000B20D00003A0F0000FA0C0000720F000009 +:10B8B0003A0F0000320F0000B20D0000FA0C000039 +:10B8C000BA0D0000920F0000020D0000BA0D00003A +:10B8D0003A0F000032110000B20D0000320F0000DC +:10B8E000B20D0000FA0C0000CA0D0000FA0C0000B6 +:10B8F000BA0D0000FA0C00004A1100003A120000D4 +:10B900002A0D00004A1100003A120000E20C00006B +:10B91000BA0D00003A0F0000FA0C0000921000006F +:10B920003A0F000072100000321100000A0D0000F2 +:10B93000E20C00004A1100003A120000E20C000084 +:10B9400032110000921000003A0F0000B20D00000A +:10B95000FA0C0000321100003A0F000072100000D3 +:10B96000321100002A0D00004A1100003A120000B6 +:10B970002A0D00004A1100003A120000E20C0000FB +:10B98000E20C0000BA0D00003A0F0000FA0C0000B3 +:10B99000321100003A120000321100002A0D00009E +:10B9A000220D0000020C0000E20C00003211000029 +:10B9B0003A120000E20C0000921000003A0F000062 +:10B9C00072100000321100000A0D0000BA0D0000D4 +:10B9D00018E905001E00000082100000721000002F +:10B9E0002A11000032120000321200002A11000059 +:10B9F00072100000320F0000AA0D0000AA0D000016 +:10BA0000320F000072100000CA100000920F0000F8 +:10BA1000BA0F0000BA100000721000002A110000D6 +:10BA200032120000321200002A11000072100000D1 +:10BA3000320F0000AA0D0000AA0D0000320F000016 +:10BA400072100000B20F0000520E00006A0E0000DB +:10BA500018E90500400000000A0E00007210000006 +:10BA600032120000220E0000721000005A12000074 +:10BA7000220E000072100000020E00007210000082 +:10BA800032120000220E0000721000005A12000054 +:10BA9000220E000072100000020E0000320F0000A3 +:10BAA00032120000720F00002A1100005A1200002A +:10BAB000720F00002A110000020E0000320F000079 +:10BAC00032120000720F00002A1100005A1200000A +:10BAD000720F00002A110000F20C0000620F00003B +:10BAE00032120000720F00002A1100005A120000EA +:10BAF000720F00002A110000F20C0000620F00001B +:10BB000032120000720F00002A1100005A120000C9 +:10BB1000720F00002A110000020E000072100000D7 +:10BB200032120000220E0000721000005A120000B3 +:10BB3000220E000072100000020E000072100000C1 +:10BB400032120000220E0000721000005A12000093 +:10BB5000220E00007210000018E90500120000001B +:10BB60006A0F00003A0F000072100000320E000051 +:10BB70008A100000320E00008A1000003A0E000009 +:10BB80004A0E0000320F00003A0F00007210000051 +:10BB9000AA0D0000320F0000AA100000020D0000E4 +:10BBA000820F0000620E000018E905000A00000084 +:10BBB0007217000032120000321200003212000030 +:10BBC000DA100000821700002A1100002A1100007C +:10BBD0002A110000BA0F0000E20202024000000039 +:10BBE0003803020248000000B20202028000000096 +:10BBF0004D03020280000000FB0101020000000072 +:10BC0000AC02020201000000740302020400000002 +:10BC1000CB0203021C0106000001020408102040B0 +:10BC200080C0E0F0F8FCFEFFD0E4050030BC050069 +:10BC300074DC05002F0000000500000040BC05007A +:10BC4000BA000000BA1900006A18000080BC0500A4 +:10BC50007219000068BC05003A17000074BC0500AA +:10BC6000D21A00008CBC05000CE20500FFFF0300A7 +:10BC7000770703000CE20500FFFF03005F070300E6 +:10BC80000CE20500FFFF03003D07030054E205003E +:10BC90001905030047433A20746F74616C3A2025FC +:10BCA000752C20757365643A2025752C20667265A5 +:10BCB000653A2025750000000A204E6F2E206F6621 +:10BCC00020312D626C6F636B733A2025752C203206 +:10BCD0002D626C6F636B733A2025752C206D617833 +:10BCE00020626C6B20737A3A2025752C206D617868 +:10BCF000206672656520737A3A2025750A00000077 +:10BD00004743206D656D6F7279206C61796F757432 +:10BD10003B2066726F6D2025703A00000A202020BB +:10BD200020202020282575206C696E657320616CA9 +:10BD30006C206672656529000A253038783A200043 +:10BD4000256300002CCE0500B90000800A00000029 +:10BD5000CD0200005DCB050090C80500825B0600A7 +:10BD6000865B06008A5B0600925B0600955B060018 +:10BD7000985B06009B5B06009E5B0600A65B0600C8 +:10BD8000AF5B0600BA5B0600C55B0600CB5B060036 +:10BD9000D35B0600DB5B0600E45B0600ED5B0600A0 +:10BDA000F55B0600FE5B0600075C06000F5C060004 +:10BDB000165C0600AE400600215C06002C5C060006 +:10BDC000325C06003A5C0600435C0600495C0600F3 +:10BDD000535C06005E5C0600645C06006F5C060057 +:10BDE000745C06007B5C0600835C06008B5C0600CE +:10BDF000935C06009A5C0600A15C0600A85C060045 +:10BE0000AF5C0600B65C0600BD5C0600C45C0600C4 +:10BE1000CB5C0600D45C0600D85C0600E25C060041 +:10BE2000E75C0600EF5C0600FD5C0600025D0600B4 +:10BE3000095D0600105D0600195D06001F5D060025 +:10BE4000265D0600325D0600395D06003D5D060098 +:10BE5000445D06004B5D0600525D0600595D06001C +:10BE6000605D0600695D0600755D0600805D060088 +:10BE7000865D0600905D0600955D06009E5D0600ED +:10BE8000A65D0600AB5D0600B35D0600BE5D060064 +:10BE9000C95D0600D35D0600DA5D0600E15D0600BF +:10BEA000E75D0600EE5D0600F65D0600FC5D06003F +:10BEB000025E06000E5E0600145E06001A5E0600B4 +:10BEC0000A5F0600205E06002A5E0600325E06005B +:10BED000375E06003B5E0600485E0600505E0600C8 +:10BEE0005F5E06006C5E06007A5E0600855E0600F8 +:10BEF0009B5E0600B45E0600C35E0600D35E0600CD +:10BF0000E65E0600F65E0600025F0600105F0600B1 +:10BF1000235F06002F5F06003D5F0600515F0600AD +:10BF2000645F0600745F0600895F06009A5F060082 +:10BF3000A75F0600AA5F0600B25F0600B75F0600B3 +:10BF4000BB5F0600BF5F0600CB5F0600D25F060046 +:10BF5000DC5F0600E75F0600F05F0600F85F0600A2 +:10BF6000026006000A600600146006001B600600FE +:10BF70002160060028600600336006003E6006006F +:10BF800048600600516006005D60060061600600C2 +:10BF9000405E06006A6006007B6006008B6006005B +:10BFA0009E600600AA600600B7600600C160060039 +:10BFB000C7600600CD600600D3600600D9600600A9 +:10BFC000DF600600E7600600BC610600EE60060068 +:10BFD000FB6006000761060011610600176106009C +:10BFE000375F0600455F0600595F060027610600BF +:10BFF0003A61060041610600CC6106004A61060014 +:10C00000586106005F610600676106006E61060008 +:10C01000776106008461060093610600A561060051 +:10C02000B3610600C3610600D5610600DF6106004A +:10C03000E7610600EC610600F1610600F5610600AB +:10C04000006206000A620600146206001E62060014 +:10C050002862060038620600416206004C62060053 +:10C060005562060064620600716206007F62060087 +:10C070008C620600906306009562060098620600D6 +:10C080009D620600A2620600A5620600A862060084 +:10C09000AD620600B2620600B6620600BA62060031 +:10C0A000BE620600C2620600D0620600316E060063 +:10C0B000D5620600DA620600E2620600E862060067 +:10C0C000ED620600F9620600EA710600FE620600F3 +:10C0D000036306000D630600116306001663060085 +:10C0E0001C63060022630600607B06002A630600CC +:10C0F0002F63060032630600356306003A630600CC +:10C100003F63060042630600476306004B63060078 +:10C110004F6306005863060061630600D46706009B +:10C1200065630600686306006D6306007A630600B7 +:10C130007E630600826306000B85060089630600A5 +:10C14000926306009B6306009E6306004F7D060017 +:10C15000A8630600AB630600AF630600B563060084 +:10C16000BB630600C0630600C5630600CA63060021 +:10C17000CD630600D2630600D7630600DA630600CB +:10C18000DF630600E4630600E9630600EC63060073 +:10C19000F1630600F6630600FB6306000064060018 +:10C1A00004640600086406000C64060010640600BF +:10C1B000146406001D64060027640600306406004F +:10C1C000356406003D6406004464060049640600C8 +:10C1D0005B64060063640600D96E060067640600AF +:10C1E0006F6406007B640600836406008B640600AF +:10C1F000926406009B640600D1620600A4640600F7 +:10C20000AA640600B0640600B5640600C3640600B4 +:10C2100057880600D3640600D6640600DC64060076 +:10C22000E1640600E6640600E9640600EC640600CA +:10C23000F1640600F4640600F9640600FE6406007A +:10C2400002650600066506000A6506000E65060022 +:10C2500012650600166506001A6506001F650600D1 +:10C26000DE2B0600296506002F65060036650600F0 +:10C2700078730600416506004965060051650600B1 +:10C28000576506005E65060066650600D96D060006 +:10C29000EE6D060070650600786506008465060090 +:10C2A0008C650600946506005366060098650600D6 +:10C2B00034730600A1650600A6650600A9650600A0 +:10C2C000AE650600B1650600B6650600BA650600F3 +:10C2D000BE650600C2650600C6650600CA650600A2 +:10C2E000CE650600D2650600D7650600DE6506004D +:10C2F000E9650600F0650600F765060001660600C0 +:10C3000007660600116606000D690600C86906008A +:10C3100016660600196606001D66060023660600FE +:10C32000286606002D6606003266060035660600A1 +:10C33000396606003D660600416606004566060051 +:10C34000496606004E6606005866060060660600EE +:10C3500065660600907A06006C6606007266060046 +:10C360007766060080660600856606008E66060013 +:10C3700099660600A3660600A9660600AF66060079 +:10C38000B866060005810600C2660600CB66060098 +:10C39000935B0600CE660600D1660600D6660600F0 +:10C3A000DB660600E0660600E3660600E866060057 +:10C3B000ED660600F0660600F5660600F966060002 +:10C3C000FD660600016706000567060008670600AF +:10C3D00012670600316706003C6706004F670600DB +:10C3E0005C670600656706006F6706007B670600EE +:10C3F000846706008D6706009A670600A46706003A +:10C40000B0670600BB670600C1670600C767060085 +:10C41000CD670600D9670600E0670600816D06005B +:10C42000E6670600EE670600F86706000468060087 +:10C430000B680600106806001468060018680600FD +:10C4400021680600266806002C6806003B68060086 +:10C4500065410600406806004D68060061680600F8 +:10C4600068680600766806007F6806008A6806002D +:10C47000906806009B680600A6680600B368060080 +:10C48000BE680600C9680600D3680600DC680600BE +:10C49000E2680600E8680600F1680600E478060035 +:10C4A000F2780600FC680600056906000B690600C4 +:10C4B0000D6F060011690600166906001C6906006A +:10C4C0002D6D06002169060019680600636B0600E1 +:10C4D000FA750600286906002D6906003269060013 +:10C4E000366906008D6206003A6906003F6906005B +:10C4F00043690600646906006C69060070690600FD +:10C50000766906007C690600816906008B69060071 +:10C51000946906009D690600A8690600B1690600D5 +:10C52000BC690600C069060000410600C569060036 +:10C53000CA690600D1690600D9690600E3690600E8 +:10C54000E8690600126F0600EE690600F36906004E +:10C55000F8690600176F0600F4650600FE6906001C +:10C56000557D0600136A0600046A06000F6A06007D +:10C57000186A06001C6A0600206A0600426F060060 +:10C58000246A0600D26206000F7906002E6A0600B1 +:10C59000386A06003E6A0600456A06004A6A0600D6 +:10C5A0008A6D0600EF6B0600556A06005A6A06009F +:10C5B0005F6A0600656A06006B6A0600716A06001B +:10C5C000776A06007D6A0600836A0600896A0600AB +:10C5D0008F6A0600946A06009A6A06009F6A06003F +:10C5E000A46A0600A96A0600AE6A0600B36A0600DD +:10C5F000B86A0600BD6A0600C66A0600D26A06006E +:10C60000BD540600D76A0600F15E0600BD7B060039 +:10C61000E06A0600F06A0600FA6A0600036B06008C +:10C62000086B0600126B0600186B0600587D0600AA +:10C630001E6B0600236B0600276B06002B6B0600A3 +:10C640002F6B0600376B06003D6B0600456B06003E +:10C650004C6B060024650600566B06005B6B0600FB +:10C66000676B0600746B0600856B06008A6B06001C +:10C67000926B0600A06B0600B36B0600C06B060051 +:10C68000C76B0600D36B0600DB6B0600E26B06008F +:10C69000E86B0600F36B0600386D0600FC6B0600C5 +:10C6A000066C0600136C060077810600166C060007 +:10C6B0001A6C0600206C0600256C06002E6C060025 +:10C6C000326C0600376C06003E6C0600426C0600B9 +:10C6D000476C06004C6C0600576C0600696C06003F +:10C6E000886C0600936C0600A16C0600AB6C06001B +:10C6F000B46C0600BE6C0600C76C0600D76C060062 +:10C70000E16C0600EF6C0600FE6C0600096D060089 +:10C71000106D0600166D06001C6D0600276D0600E4 +:10C72000326D06003E6D0600476D0600FF62060092 +:10C730004C6D0600186406003B650600516D06004E +:10C740005A6D0600636D0600696D0600756D060082 +:10C75000CA6A06007C6D0600836D0600896D0600BE +:10C76000336F06008D6D0600976D0600A06D060004 +:10C77000A56D0600B46D0600B96D0600BF6D06001C +:10C78000C46D0600CB6D0600CF6D0600E46D06009B +:10C79000D46E0600006E060012630600086E0600E6 +:10C7A000146E0600196E0600E56C06001E6E06008B +:10C7B000256E06002B6E0600356E06003F6E0600E5 +:10C7C0004A6E0600536E06000E6C06005C6E060094 +:10C7D0006A6E0600D06B0600746E06007A6E060064 +:10C7E000806E06008A6E0600906E0600936E06004C +:10C7F000986E06009D6E0600A26E0600A86E0600EA +:10C80000B06E0600B66E06000D790600C06E06001A +:10C81000CC6E06005D660600D36E0600D86E06007C +:10C82000DD6E0600EA6E0600F76E0600FF6E06007B +:10C830000C6F0600116F0600166F06001B6F0600D6 +:10C84000206F0600286F0600026D0600326F06009A +:10C85000386F0600077506003D6F0600456F06003D +:10C860004F6F06005B6F0600676F0600736F060070 +:10C870007C6F0600806F0600866F06008F6F0600D3 +:10C880009C6F0600AA6F0600B96F0600C66F06000F +:10C890000303070202020207080A0A05070708083D +:10C8A00007080807060A0E0A05070805090A050A07 +:10C8B0000406070707060606060606060608030915 +:10C8C00004070D0406060805060B06030606060601 +:10C8D00006080B0A050904080704070A0A090606E0 +:10C8E00005060705050B05050505090704030C07E3 +:10C8F0000E0C0D0A15180E0F120F0B0D120B0D1347 +:10C90000120F14100C02070403030B06090A080790 +:10C910000907090605060A0A09080B030807100F8C +:10C92000120B0C0905050505050706060C0B090584 +:10C930000F050B0A120608080D060706080C0E1153 +:10C940000D0F1109070404030A090909090F080A50 +:10C95000080E0C0D0C080102040402020404030377 +:10C9600003030D0403040705040B04050409030471 +:10C970000505070104020204040204030308080376 +:10C980000402040C03030606080802090102030559 +:10C99000050404040204040204040402040404045C +:10C9A000030303030308090804070604110703032C +:10C9B000070B0707060808030505040D0F0102050C +:10C9C0000404020204020404030303030303030434 +:10C9D000090405060A070707050607090A11070BD8 +:10C9E000070703040801040204020403030303030A +:10C9F000030304060A0606090509040301020305E8 +:10CA000004040402030303030304090704060505E1 +:10CA1000040804080A0905050809040802010204BB +:10CA2000040402040402040303030302091E0A129D +:10CA30000C08090B08080C090B0A0505050B06056F +:10CA40000107090B060403030804050E04050C1373 +:10CA5000060D080A050A0A0C0A0A09080505080A4B +:10CA60000808080505030405040406070304040474 +:10CA700003030704032007030505040908080A083F +:10CA80000A03040404060709040503040405030259 +:10CA90000501040A08030303020902040905060448 +:10CAA0000A0203040405050505050505050405043A +:10CAB000040404040404080B04050804050F090811 +:10CAC0000409050501040303030705070609040417 +:10CAD0000B0C1004070D120C060B0706050A0805BF +:10CAE000090C0201030504080304060304040A11E7 +:10CAF0001E0A0D090809080F090D0E0A0605050A88 +:10CB00000A0B0804030404050808050B06070605BC +:10CB100003040908040E0405040603141B03070399 +:10CB20000B040409060509090A0808040D09020591 +:10CB30000509050204040405070509060B0602049D +:10CB4000040C0C070C04040404070906050404077C +:10CB5000090B0B0B080305080C0D0E0C056C7B81F3 +:10CB60001031945AE352F1C026E6EDC8DAF0B5A7C9 +:10CB7000F40BAE5E7C9F9DFCC8569259519BDC6CB9 +:10CB80006D6EDFDED9D8DBDAD5D4A65EFC6AA16192 +:10CB90003C37204661539A5C86A5B65EA40179486D +:10CBA000ACEAFFDD3042D3EE8691CBC1C5C2827DB7 +:10CBB000150FCF0756A162AAFDF7050B58AB5F6CA6 +:10CBC000E15B071610CD5AB887864AA3144FDB06DF +:10CBD0005232041E3D6A6BF0553397013AADBAEB01 +:10CBE000B1B9EBDB5835C72793F22619E3EAA2481F +:10CBF000F1C648329B978AB48484E98898BDC6B14F +:10CC0000CAECB4C8EB8F45431EC922D74498280705 +:10CC10006417E2840A4CC44E8303427F38C8016122 +:10CC20004F66BFC4672C2E7670BBB90F0C0A0B1E63 +:10CC30001B44B673A891F1C77C5043651FCD536365 +:10CC4000C7DE9493D8DB92D90C0F2CF5E049CBF6D4 +:10CC500097DA74E5F3EDEEDF61C6A570BBB86E67D9 +:10CC6000FCB57C7BB2F9FBFCB3787B7A7D0D0E0FB3 +:10CC700008044D024C06262EDB4974503B9BE055C0 +:10CC8000C54F56337AE8E90BBFD4C1C2FF0A0BD2B5 +:10CC9000D51ED41F1C0A09080F0E0D0315A86AD44F +:10CCA000A941CE02DB509C6E2D729C91040F1F2D6A +:10CCB000377BC0BAF43FF53F0B08090E0F0C02E0BA +:10CCC000049143AB71C11085C8C30135FD4B484287 +:10CCD00011080B0A0D01933621CA25357DE5B6E50D +:10CCE00035BAA11C4C37EDD6275BC221EAE8FA36EB +:10CCF0007D7E37FC090A0B0161967A53F418AFA4C4 +:10CD0000FD490E698F1FF43435366690BACD2DADCE +:10CD100056FA94705D714742171F732806B7232C8B +:10CD2000076104E66D04F79AA63E9EB9FC2547F616 +:10CD300043405F5DE257DE59982139F755B6A86048 +:10CD400035B173D42007411852CBD169C0E3AF9DF0 +:10CD50002625BFECE21D6EF165665289BB04CBA2AD +:10CD60001E62B4FD8A648779BC1FD04288F31CF22E +:10CD70000203535251505756555A013001060704C9 +:10CD8000050A0B863641833A21DA1C94C2BBB09463 +:10CD900099D7CB1C1F1E87D4AFBEA347E862925F12 +:10CDA000BF4E886B02280BECF21027A1E5EEC8CF2E +:10CDB000D6AE7D1AE0F9722853CD92BF08EE0D0170 +:10CDC000B0DD679A359B0F21700431CA48A1BADFE4 +:10CDD00086B1B620EA0B13B52FB89E6D62CF2197AE +:10CDE000C4D70F32AD381221CE60BC9BFEE998A3A8 +:10CDF000F231439D1AB1425AF0896B9E80AA435B7F +:10CE000089778BE3B701F604070E79A0C9AD470710 +:10CE1000BF6EC9E79FFF60EF6DF7C68EC3B3D8F949 +:10CE2000DB369D23F72DFD894A58000000000000E5 +:10CE3000000000000A000000B9000000E1D1050078 +:10CE400028D105009941060099410600CC6F0600E3 +:10CE50004F570600658206003876060013800600EC +:10CE6000D46F060075740600DD6F0600E66F0600DD +:10CE7000F06F0600FC6F0600067006000F700600DB +:10CE80001B7006002770060030700600397006001F +:10CE9000417006004A700600527006005B70060082 +:10CEA000667006006F7006007770060080700600DE +:10CEB0008D70060096700600A2700600AA7006002B +:10CEC000BA700600C9700600AA780600D87006007D +:10CED000E1700600AE780600997C0600EA70060054 +:10CEE000F670060007710600127106001B7106003D +:10CEF0002D71060039710600457106004F7106005C +:10CF0000587106006C71060074710600827106008B +:10CF1000D27806008F7106009B710600A67106008C +:10CF2000B0710600BB7106004A6606007C6606000A +:10CF3000CD710600D17106003D760600D87106005D +:10CF4000DD710600E6710600F0710600516C060006 +:10CF50008E780600F9710600FD7106000972060060 +:10CF60000F720600157206001B7206006979060032 +:10CF7000207206001D68060025720600246F060058 +:10CF80002C720600357206003A7206003F720600E7 +:10CF900044730600467206004D720600C175060015 +:10CFA0005872060060720600687206007072060011 +:10CFB000BD6E06000955060075720600416B06003D +:10CFC0007C720600847206008C720600977206005E +:10CFD0009F720600A7720600B2720600FA7B060076 +:10CFE000BA720600BF7206008B7D0600057C060043 +:10CFF000C4720600C8720600CD720600D472060024 +:10D0000099720600DB720600E2720600E772060003 +:10D01000EB720600F7720600FC720600037306004E +:10D02000C36B0600087306000C7306001473060039 +:10D0300018730600B86C0600A1870600B06F0600E2 +:10D040001E730600277306002E7306003673060053 +:10D050003B730600437306004973060050730600D5 +:10D06000567306005D730600B3760600647306000F +:10D0700069730600ED6806006D730600757306009F +:10D080008073060085730600577306002C6F060038 +:10D090008C730600977306005B880600A473060075 +:10D0A000396F0600DC720600A9730600AD73060036 +:10D0B0004F6A0600B3730600096A0600F47C060096 +:10D0C000F96D0600B4720600BC730600C273060058 +:10D0D0000F7C0600C06F0600C8730600CC73060004 +:10D0E000D7730600E1730600EA730600F5730600C5 +:10D0F000FF73060007740600107406001C74060017 +:10D1000029740600307406003A7406004174060063 +:10D1100048740600517406005A74060061740600D3 +:10D12000687406006F740600000007010101010821 +:10D130000108090B09080B0B0808070807080A086B +:10D1400007080C080B070F0E0E0D0808090D0B1031 +:10D150000A08110B0B090813070D0C0D0B0A090A1D +:10D16000110303030604040809080508030B050559 +:10D17000050405040306030804040604060A03075D +:10D180000707040205060307070A07070A0705043D +:10D1900004030403040606050604030B0406040343 +:10D1A0000307030505040808060704070506050626 +:10D1B0000604040303070A040605050A0C04040315 +:10D1C00005030505080504060505050605030A0906 +:10D1D000080A0907080B0C060906060808060606D1 +:10D1E0000700057AAF858F8ABDFAA72BFD6D4540F4 +:10D1F00026F75F16CFE28EFFE279026B1032D02D58 +:10D2000097210791F0F216205C83EAAFFFDCBA1792 +:10D21000C6A18161EA94202596B69544136BC2EBB2 +:10D22000F776225C0DDCB47C33C0E0A63FFAB80A86 +:10D230001B9B1E6301263533C09D8CB7287B1216BD +:10D24000EBA8B6FC5BB5DDE38FA732016227893B13 +:10D25000C6E5CEB90B4290D11C2ABF2D541AB74B4C +:10D26000F96349D025D2E9E7A53B79B92327D46CE6 +:10D27000BF5EB7857462579D50292EC4B3D8FD9DFB +:10D28000B427B74E7D98E6CC3480D454C42BC5C6A1 +:10D290007135A7B66D08CC5D0E210000202020203E +:10D2A000202020202020202020202020003030306E +:10D2B00030303030303030303030303030000000FE +:10D2C0000000000049300300D8740600DE74060038 +:10D2D000E3740600E8740600F2740600F6740600B3 +:10D2E000F974060000750600067506000C75060048 +:10D2F000AC720600127506001B7506001F7506004D +:10D3000023750600287506002D7506003475060085 +:10D310003C750600C76E0600CB7506002575060035 +:10D3200040750600975F06001B6E060047750600F5 +:10D330004E750600577506003D750600CE5E060068 +:10D340005B75060061750600687506006C75060061 +:10D350003072060072750600535455565758595C82 +:10D36000325A3133363C4934373D4A404D45523EBE +:10D370004B3F4C5E3B4839464350424F44513A473D +:10D38000414E5D350E000000060000001E0000004A +:10D39000613262A833223322212121222122222438 +:10D3A000222223222625272424326262A4A431319A +:10D3B0002231223131313131316262236223232320 +:10D3C0002323223362223362A52200626213126297 +:10D3D0002124321322623313632223223313622265 +:10D3E0002261126218136232621212231D156262E8 +:10D3F00012126213633212226262333131316219C6 +:10D400001332241263246232236331626212646233 +:10D410001224121219222221121215121312326230 +:10D420001C1262121262331312122262223312622F +:10D43000122233633313222262132212A5231222F3 +:10D44000000102040C0E101214151617191A1C1ED6 +:10D45000222426292B31363D414546484A4E525416 +:10D4600056585A5C5E60626466686A6C6F71747765 +:10D470007A7D80828486888A8C91009395979A9C85 +:10D480009E9FA3A4A7A9ABADB0B3B5B8BABCBFC1AA +:10D49000C3C5C6C8CAD2D5D7D8DADCDEE1EEF3F50B +:10D4A000F7F9FBFD00030406080A0C0E101214160F +:10D4B0001F222327292C30323336393B3D3F41454B +:10D4C00047494D4F515A5C5E5F6163686A6D6F708A +:10D4D000727E80828486888A8D8F91939597999B9E +:10D4E0009D9FA1A3A6A8ABADAFB1B4B6B8BDC0C255 +:10D4F00001303E20422043201910071053104630BF +:10D50000541045305A107D2054205C1006205530B0 +:10D510005A2059101A109D202A10161018102C107D +:10D52000363039202B105E3023106B202010612004 +:10D530002310632021106D2027106D2013108020F0 +:10D540006E301410702022101A205A107D20713075 +:10D5500079302E101A205A107D2079301F109D200E +:10D56000241036205A107D2079302D105A107D203D +:10D5700073202F107A205A107D20522080207F3077 +:10D580001E20813026104C305A10802026104C303E +:10D590005A1082201F202910832011102810832068 +:10D5A00023208420401023202420391025203A10E5 +:10D5B00026203B1027208820282089208B208A20A5 +:10D5C0008C208B208D208F30151090208E30902055 +:10D5D0008E30531091305410551092305610571011 +:10D5E0009F3058105310A43054105510332056104B +:10D5F0005B10071098205910802035305A10993050 +:10D600008020591080203B3017100710A3305A108B +:10D610007D203010AE305A1080205D108020041024 +:10D6200053206F2004105220362040300410411047 +:10D630006C20303004104120382003204420141086 +:10D6400003205E10802047205910482049204A209E +:10D6500007103B303C3040104B30451007103B303A +:10D6600007103B304D2059104E204F2050200710FE +:10D670003C30401051304510071007106F205320E8 +:10D6800004200410072008205D20602010201120B5 +:10D69000122005205B20562057205C20592058205E +:10D6A0005D10592039200620222080205A10802029 +:10D6B00058304B104C104D104E1050105110481057 +:10D6C0004610471049104A1052104F1009200A20E6 +:10D6D0000B200D200C2080205F30201080200E2099 +:10D6E0000F206C20622065206C30401064206A207E +:10D6F00053106A20541066205B100C10071069301C +:10D700006C206930121007106720591068205910DA +:10D7100007105B1007105910591080201420152095 +:10D720001620172018200320382002201320032061 +:10D730001820162072201B101A205A107D207420E9 +:10D7400078207720793078301D1076305A107D207F +:10D750008020693075201E105A107D201C105A1030 +:10D760007D207B20591080207C30121023207E20C9 +:10D7700053200410051019200610311080201C20A1 +:10D780001B2022101E201C1080201D201E20202067 +:10D790002120331034103510361037103810241073 +:10D7A00085208620281024102510873028103C1052 +:10D7B0003D103E103F1040104110431044104210E5 +:10D7C00029202A203E103F1032102B202C20972099 +:10D7D00045108B200710081009100A100B100C10B0 +:10D7E0000E100F100D102D202E202F2039209220EA +:10D7F0009320943022201A20AC2095205910963086 +:10D8000093205910302031203220352034209A20A6 +:10D810009B205A10803080209C305A1080309E20EF +:10D820005910222023203720A030AC20A1205910ED +:10D83000A230372059105310A4305410A52059108D +:10D84000A620A720A82040108020451080208020FE +:10D85000A930AC203C20AA2031108020AC20AD2083 +:10D860001F109D2024101E20AB3022108220AB30D0 +:10D87000AF203620201080206F5903006F5903001D +:10D88000DD5C0300C94E03006F590300D56103003E +:10D8900041590300BB4A03006F5903004D4E03007A +:10D8A0004D4E03004D6E030043580300116E0300FC +:10D8B000C94A0300DF4E0300856E0300856E030036 +:10D8C000F56E03008D6C030077570300F5560300D7 +:10D8D000156503003F6A03000B6803006F590300DE +:10D8E000255B0300BD640300294C0300294C0300A1 +:10D8F0009D6303009D63030087630300F3630300DC +:10D90000E94D0300996103009961030099610300E7 +:10D910005D6103005D6103005D6103005F630300FF +:10D92000AB59030029610300CD5F03000B5A0300CC +:10D93000395A0300215F0300D55C0300DF56030062 +:10D940001F4B03004159030067560300675603004D +:10D950004159030051560300BD5C0300F15503001B +:10D960002B4B0300317A0300097A03007F7A03000E +:10D97000FD7903005B7A0300F37903000072300045 +:10D9800001723100027232000372330004723400FB +:10D9900005723500067236000772370008723800CB +:10D9A000097239000A7231300B7231310C72313226 +:10D9B0000D7231330E7231340F7231350A736C00CF +:10D9C0000B6670000D7370000E6C72000F706300B8 +:10D9D0003061646434737562206D756C806469763F +:10D9E000006571016E65026373036363046D69050D +:10D9F000706C067673077663086869096C730A674A +:10DA0000650B6C740C67740D6C65054950535200BE +:10DA100000000011424153455052490004656F72A5 +:10DA2000086C736C0C6C73721061737214616463B4 +:10DA3000187362631C726F7220747374246E65674E +:10DA400028636D702C636D6E306F7272346D756CFF +:10DA5000386269633C6D766E00688E0200788F02D2 +:10DA6000008891020060970000703F03008041032E +:10DA7000B7800300B3800300E182030085800300C8 +:10DA80004583030088E905002000440200000100EE +:10DA90000000000000000000D1A80300D0E4050051 +:10DAA0002C4100200000000088E30500DCE80500B0 +:10DAB00088E305000000000088E3050030E605006B +:10DAC00088E305000000000088E30500DCE80500AD +:10DAD00088E305000000000088E30500A8DB0500DE +:10DAE00088E3050054E2050061B0030088E9050001 +:10DAF00080008A0200000000000000010000000019 +:10DB000075B7030088E905000800A70201000003BB +:10DB1000040005020600000009BD0300B7B60300BB +:10DB200095B603007DBB03009DB70300DDB603007F +:10DB300088E9050008004000010200040500060312 +:10DB400007000008CDBA030021B90300B7B60300EF +:10DB500095B603007DBB03009DB70300DDB603004F +:10DB6000DCE6050088E905000000940101020004DC +:10DB700005000603070000084DBB030021B90300A0 +:10DB8000B7B6030095B603007DBB03009DB7030045 +:10DB9000DDB60300CCE605003CE20500A5B80300B5 +:10DBA0003CE20500B1B9030088E9050008003E0029 +:10DBB000010200030400000000000000F9BD0300A2 +:10DBC000E5BD0300CDBD0300BDBD030088E9050030 +:10DBD0000000AC0100000102030000000000000092 +:10DBE000C1BE03003FBE03001DBE030088E905005F +:10DBF0002000D6010000010000000000000000002D +:10DC0000F1BE030088E905000C00DC0101020003FD +:10DC1000040500000000000017C10300B1BF0300AD +:10DC200085C003003DC4030049C0030088E9050026 +:10DC300080008A02000000000000000100000000D7 +:10DC400079C5030088E90500000004020001000214 +:10DC50000300000400000000AFC503003BC5030043 +:10DC600069CA030049C40300F57B0600007C060076 +:10DC70000A7C060088E9050000004B000102000351 +:10DC80000400050600000007A3C8030081C60300C6 +:10DC900013C503006FC90300BBCA030065C40300BA +:10DCA000E8DC050088E905000000330101020003FB +:10DCB0000400050600000708A3C8030081C603008E +:10DCC00013C503006FC90300BBCA030065C403008A +:10DCD00074DC0500E8DC050074DC050006000000CB +:10DCE000000000000000000074DC05007700000068 +:10DCF0000E000000F8DC050032020000D4DD050053 +:10DD00004A020000CCDD05000A120000B8DD050063 +:10DD1000B2020000ACDD05003203000078DD050032 +:10DD20005203000070DD0500C2030000A0DD050005 +:10DD3000CA0300008CDD05007204000094DD0500BC +:10DD4000FA04000080DD05001A05000068DD05000A +:10DD50007A00000058EA0500E200000050EA0500E1 +:10DD60005A00000048EA050054E205008DC4030093 +:10DD700054E205003DC7030054E2050025C7030037 +:10DD80000CE20500FFFF03007DC7030054E205001D +:10DD900021C603000CE2050006000400F5C40300E0 +:10DDA0000CE2050006000400F9C403000CE20500C3 +:10DDB00006000400FDC4030018EA0500C0DD0500EC +:10DDC0000CE2050006000400F9C8030054E2050057 +:10DDD0003FC9030054E2050001C5030088E90500BE +:10DDE00000003000010200000003000000000400F9 +:10DDF000EDCA0300B9CB030031CD030014E10500E7 +:10DE000088E9050000002100010200000003000075 +:10DE100000000000EDCA0300B9CB030031CD0300C0 +:10DE200088E905000000660101020000000300000F +:10DE300000000400EDCA0300B9CB030031CD03009C +:10DE400044DE050088E905000000370001020000FB +:10DE50000003000000000400EDCA0300B9CB03007A +:10DE600031CD030014E1050088E90500000036000B +:10DE7000010200000003000000000400EDCA0300DE +:10DE8000B9CB030031CD030014E1050088E905009A +:10DE90000000270001020000000300000000040051 +:10DEA000EDCA0300B9CB030031CD0300B0DE05009D +:10DEB00088E90500000034000102000000030000B2 +:10DEC00000000400EDCA0300B9CB030031CD03000C +:10DED00014E1050088E9050000002F0001020000A0 +:10DEE0000003000000000400EDCA0300B9CB0300EA +:10DEF00031CD0300F8DE050088E90500000032009E +:10DF0000010200000003000000000400EDCA03004D +:10DF1000B9CB030031CD030014E1050088E9050009 +:10DF200000002D00010200000003000000000400BA +:10DF3000EDCA0300B9CB030031CD030014E10500A5 +:10DF400088E9050000002C00010200000003000029 +:10DF500000000400EDCA0300B9CB030031CD03007B +:10DF600014E1050088E90500000029000102000015 +:10DF70000003000000000400EDCA0300B9CB030059 +:10DF800031CD0300ACDF050088E905000000280062 +:10DF9000010200000003000000000400EDCA0300BD +:10DFA000B9CB030031CD0300ACDF050088E90500E3 +:10DFB00000002B000102000000030000000004002C +:10DFC000EDCA0300B9CB030031CD030014E1050015 +:10DFD00088E905000000260001020000000300009F +:10DFE00000000400EDCA0300B9CB030031CD0300EB +:10DFF00014E1050088E9050000002200010200008C +:10E000000003000000000400EDCA0300B9CB0300C8 +:10E0100031CD030014E1050088E90500000020006F +:10E02000010200000003000000000400EDCA03002C +:10E03000B9CB030031CD030014E1050088E90500E8 +:10E0400000001F00010200000003000000000400A7 +:10E05000EDCA0300B9CB030031CD030014E1050084 +:10E0600088E90500000038000102000000030000FC +:10E0700000000400EDCA0300B9CB030031CD03005A +:10E08000A8E0050088E90500000031000102000059 +:10E090000003000000000400EDCA0300B9CB030038 +:10E0A00031CD0300A8E0050088E9050000001E004E +:10E0B000010200000003000000000400EDCA03009C +:10E0C000B9CB030031CD030014E1050088E9050058 +:10E0D0000000330001020000000300000000040003 +:10E0E000EDCA0300B9CB030031CD030014E10500F4 +:10E0F00088E9050000005D01010200000003000046 +:10E1000000000400EDCA0300B9CB030031CD0300C9 +:10E1100014E1050088E90500000024000102000068 +:10E120000003000000000400EDCA0300B9CB0300A7 +:10E1300031CD030000DE050088E905000000250060 +:10E14000010200000003000000000400EDCA03000B +:10E15000B9CB030031CD030000DE050088E90500DE +:10E1600000002A000102000000030000000004007B +:10E17000EDCA0300B9CB030031CD030000DE05007A +:10E1800088E90500000035000102000000030000DE +:10E1900000000400EDCA0300B9CB030031CD030039 +:10E1A00000DE050088E905000C00370201020003CB +:10E1B00004000000000000009DD0030071CF0300A8 +:10E1C000F9D0030049D30300A4E10500DB0F494067 +:10E1D000A4E1050054F82D4088E905002000440220 +:10E1E0000001020000000000000000007BD60300D8 +:10E1F000E1D3030088E9050020004402000001008B +:10E200000000000000000000B1D5030088E905000F +:10E210006000440200000100000000000000000057 +:10E220006DD5030088E9050060004402000001008C +:10E230000000000000000000C1D3030088E90500D1 +:10E240006000440200000100000000000000000027 +:10E25000A3D3030088E90500600044020000010028 +:10E26000000000000000000087D3030088E90500DB +:10E2700060004402000001000000000000000000F7 +:10E2800071D3030088E905008000550200010000F9 +:10E29000000000020000000381D70300CFD8030074 +:10E2A000B4E2050038E105000000000000000000B5 +:10E2B00010E9050074DC05002700000004000000E0 +:10E2C000C4E205003A020000ECE20500520400003E +:10E2D00000E30500DA040000F4E205004A1600003D +:10E2E000E4E205003CE2050069D7030054E20500C2 +:10E2F000D7D803000CE2050008000400ADD80300E5 +:10E300003CE20500C9D8030088E905002000550259 +:10E31000000001000000000000000000F9D603002A +:10E3200088E9050080008A0200000000000000016A +:10E330000000000021D903000001010202020203D3 +:10E34000030303030303030474DC05001700000048 +:10E350000200000058E30500AA02000074E3050073 +:10E36000E204000068E305000CE205000800060076 +:10E3700091D9030018EA05007CE305000CE20500D2 +:10E380000800060007DA030088E9050000005E00C7 +:10E39000010200030400000000000005D5DA0300BC +:10E3A000A5DC030007DE030049DF030048E30500A6 +:10E3B00088E305000A00000002000000C0E3050039 +:10E3C000FFFFFF7F690003020600000083000102D7 +:10E3D0000000000088E9050000006C000102000355 +:10E3E0000400050600000007B1E60300C7E30300D0 +:10E3F000C5E10300E7E503002DE70300E7E10300C3 +:10E4000004E4050074DC05005F0000000B00000060 +:10E4100014E40500E2010000C8E405003202000037 +:10E42000B8E405004A020000B0E405005202000012 +:10E43000A8E4050092020000C0E40500E20200002A +:10E440009CE40500EA02000094E40500C203000019 +:10E4500088E405000204000080E405001A040000BE +:10E4600078E405007A0400006CE405000CE2050085 +:10E47000FFFF0300D9E4030054E2050001E20300BA +:10E480003CE20500D7E203000CE2050004000200B4 +:10E490004BE2030024E205007DE303000CE20500EB +:10E4A00008000400C5E203003CE20500BDE30300F0 +:10E4B00054E20500FDE6030054E20500F7E2030024 +:10E4C0003CE2050029E503003CE2050019E30300F6 +:10E4D00088E905000000AE02000100000002000013 +:10E4E000000000003DE90300C5E80300370000001C +:10E4F0000600000004E5050097000000120000007F +:10E5000034E50500A20C0000F4EA0500D20E00007C +:10E5100070EF05000A1100003CF40500AA17000086 +:10E5200004F80500121A0000ACF20500A21A00005F +:10E53000ACF80500920C00008C030600D20C000021 +:10E54000B8B00500FA0100002CEB0500A212000093 +:10E55000A0EF0500AA140000CC030600C2140000BE +:10E560008C040600DA140000C4040600E214000063 +:10E5700034F0050042150000E80506009A0300008B +:10E58000F8F10500CA150000A8B105001A16000030 +:10E59000DC0706002A170000080906009A17000089 +:10E5A00058090600BA19000028BC0500321A0000FC +:10E5B00024F305005A1A00003C0A0600AA000000D5 +:10E5C0009CDA050088E905000000750001000000E4 +:10E5D000000000000000000295EA0300E0E50500ED +:10E5E00074DC05001700000002000000F0E50500E3 +:10E5F0008A00000010E60500C200000000E60500E9 +:10E60000E0E9050008E6050054E2050065EA0300BC +:10E6100054E2050061EA030088E9050080008A02EF +:10E620000000000000000001000000000D7E050059 +:10E6300088E9050000002E00000100000000000035 +:10E6400000000000B1EA030050E6050023000000CE +:10E6500088E9050000000100000100000000000042 +:10E6600000000000BDEA030088E905000000330354 +:10E67000000200010000000000000000C9EA0300E1 +:10E68000CDEA030088E90500000042000102000015 +:10E690000300040506000007EDF70300CDF10300B9 +:10E6A00055FB030069F803003DEC0300D1F00300C3 +:10E6B000ECE6050084E60500000000000000000014 +:10E6C0009941060020090A0D0B0C000074DC0500BE +:10E6D00017000000020000000CE7050074DC0500D4 +:10E6E000CF000000190000000CE7050074DC0500F5 +:10E6F000BF000000170000001CE7050074DC0500E7 +:10E70000BF0000001700000024E70500E201000040 +:10E71000A0DB05009202000098DB0500E20F00007C +:10E72000E8E705009A020000B0E8050022040000B6 +:10E73000A4E80500E202000098E805002A040000B1 +:10E740008CE8050042030000D4E805008A040000BC +:10E75000C8E805003A040000BCE805009A0400007F +:10E7600080E805007A02000074E80500C204000099 +:10E7700068E80500820300005CE805004204000030 +:10E7800050E80500A202000044E805000A04000069 +:10E7900038E80500520200002CE805007A0300006A +:10E7A00024E80500020500001CE805001A0300002B +:10E7B00014E80500FA0200000CE80500020300005E +:10E7C00004E805002A030000FCE70500120300002E +:10E7D000F4E70500F2100000DCE705000CE205009C +:10E7E0000600020009F803000CE205000600020022 +:10E7F00071F6030054E2050095F0030054E20500B1 +:10E8000089F0030054E205007DF0030054E20500A6 +:10E8100071F0030054E2050065F0030054E20500C6 +:10E8200071ED030054E2050067ED03000CE2050002 +:10E8300008000400FDEE03000CE2050008000600DD +:10E8400061F303000CE20500FFFF0300A5090400CB +:10E850000CE20500040002000DFA03000CE20500C2 +:10E860000400020005FA03000CE2050004000200A7 +:10E87000FDF903000CE20500060004009503040006 +:10E880000CE2050006000400210304000CE2050070 +:10E890000800040059F303000CE20500080004001E +:10E8A00053F303000CE20500080004004BF30300DF +:10E8B0000CE205000800040045F303000CE205002B +:10E8C00006000200150204000CE20500060002002A +:10E8D000D50004003CE20500D5ED030088E9050001 +:10E8E000000097000102000304000506070000086D +:10E8F0008DF50300AD0A0400670A040055FB030010 +:10E90000910C0400050A0400D1F00300FCE60500A8 +:10E9100018E905000000000088E9050000009D00DE +:10E92000010200030400050600000007A90E040010 +:10E930009D0D0400190E0400250F04001910040099 +:10E94000650D040048E9050074DC050017000000AF +:10E950000200000058E905005202000074E90500B9 +:10E96000E202000068E905000CE20500080004006E +:10E97000FD0D04003CE205000D0E04000CE2050054 +:10E98000FEFF0300F110040088E9050000009E006E +:10E99000010203000004000000000000B91C040094 +:10E9A0001B13040049170400BF170400B6B2AFB52B +:10E9B000B1B70000000000000000B3B40000000088 +:10E9C00000000000000000ABB800000000000000E4 +:10E9D000AE00000000AC14100012B0AD000000004A +:10E9E00088E905000000940001000000000000001C +:10E9F000000000002913040088E9050000009A00C7 +:10EA000001020000000300000000000049130400A0 +:10EA1000091704001112040088E9050000004500F0 +:10EA200001000000000000000000000029130400A5 +:10EA30003CE205001D1E04003CE20500F91D040037 +:10EA40003CE205006D7E05003CE205004F7E0500BE +:10EA500024E205002F7E05003CE20500117E050042 +:10EA60000CE2050006000400AB21040054E205009E +:10EA7000BB20040054E205009D2404000CE20500C4 +:10EA800006000400572404000CE2050008000800FA +:10EA9000B520040054E205009120040054E2050072 +:10EAA0007D2104000CE2050004000200DF200400C8 +:10EAB0000CE2050006000400E12304003CE205002E +:10EAC000792504000CE20500080004001925040063 +:10EAD0000CE2050004000200DD2304000CE2050046 +:10EAE00004000200D92304000CE205000A00020021 +:10EAF000A52D0400D0E40500FCEA050074DC050047 +:10EB000017000000020000000CEB0500BA00000036 +:10EB1000A20C0000A20C000064DB05008B000302C5 +:10EB2000220000004E0003021A000000D0E405009D +:10EB300034EB050074DC0500FF0200005F000000FC +:10EB400044EB0500BA000000FA010000B20B00001F +:10EB500064EF0500C20B0000E8EA0500D20B0000DC +:10EB6000ACEE0500F2010000A8DB05001202000077 +:10EB700084E605000202000030DB0500E20E000022 +:10EB800004DC05005A02000074DC050002110000DC +:10EB900034170600B211000050170600BA11000029 +:10EBA000A4E105001212000098180600F20200000D +:10EBB00088E3050062030000D4E30500920300002F +:10EBC0006C1706003A15000004DB0500AA030000DC +:10EBD000C4E5050042170000A8170600E203000084 +:10EBE000241806003A1800005018060062040000BD +:10EBF0006C1806009A19000068E60500BA040000C7 +:10EC0000DCE80500D2040000F8E90500EA04000091 +:10EC100018E90500F204000088E905002A05000053 +:10EC2000501A06002A02000018EA0500A20400009B +:10EC3000E0E905001A01000048E60500CA010000ED +:10EC40005CEF0500D201000054EF0500DA0100007E +:10EC50004CEF0500420D000044EF05001A020000D1 +:10EC60003CEF05002202000034EF05000210000016 +:10EC700064EE05006202000028EF05006A02000051 +:10EC800020EF050082020000781A06008A020000C8 +:10EC90006C1A0600BA02000074EE05006A04000057 +:10ECA0006CEE0500C202000054EE0500CA0200002E +:10ECB0005CEE0500D202000018EF050072130000A0 +:10ECC000841A06007A13000010EF0500DA02000033 +:10ECD00044EE0500B213000004EF05000A03000033 +:10ECE00030EA05002203000038EA05003A0300007C +:10ECF000FCEE05005A0300003CEE05007203000024 +:10ED00004CEE0500EA140000F0EE0500521500007C +:10ED1000E4EE0500A2030000DCEE0500FA15000099 +:10ED2000D4EE0500BA030000CCEE0500D2030000CB +:10ED3000C0EE0500DA030000B4EE05001204000086 +:10ED4000A4EE05003204000098EE050082040000E5 +:10ED500080EE0500CA0400008CEE05000A010000E8 +:10ED600000DE0500F2000000A8E00500FA00000047 +:10ED70003CE005000201000018E00500120100005F +:10ED8000F4DF05002201000014E105002A01000063 +:10ED900038E1050032010000D0DF05003A01000033 +:10EDA0008CDE05004201000088DF050052010000F2 +:10EDB0005CE105004A01000064DF05005A01000023 +:10EDC000ACDF05006201000040DF05006A010000C1 +:10EDD0001CDF05007A010000D4DE0500820100007E +:10EDE000DCDD05008A01000084E0050092010000DE +:10EDF000F8DE0500EA0A0000F0E005009A010000D4 +:10EE0000CCE00500A2010000B0DE0500AA01000070 +:10EE100080E10500B201000068DE0500320B000051 +:10EE200020DE0500BA01000044DE0500C20100003A +:10EE300060E00500B203000020AA050054E20500CE +:10EE4000E1B5030054E2050025B403006CE20500BF +:10EE5000B52F04006CE20500A92F04003CE2050078 +:10EE6000353404003CE20500B134040024E205001E +:10EE7000973404000CE20500060004005934040035 +:10EE80000CE20500FFFF0300013404000CE2050062 +:10EE9000040002000F3104000CE20500040002002F +:10EEA0009133040054E205006D33040054E2050080 +:10EEB000CD3404000CE20500FFFF0100ED32040038 +:10EEC0000CE2050006000400CD32040054E2050007 +:10EED0006932040054E205000331040054E20500E5 +:10EEE000B53404000CE20500FFFF030065320400A6 +:10EEF0000CE20500FFFF03006132040054E205004C +:10EF00003D3004000CE20500020000004331040023 +:10EF100054E20500F730040054E2050035300400E7 +:10EF20003CE20500ED3004000CE2050002000000A8 +:10EF3000F134040054E20500B530040054E2050049 +:10EF4000A530040054E205008B30040054E20500B3 +:10EF50006730040054E205004330040054E2050029 +:10EF60002D3004000CE20500FEFF0500C12F040057 +:10EF7000D0E4050078EF050074DC05001F000000F8 +:10EF80000300000088EF0500BA000000D20E000068 +:10EF9000E2150000041806009A090000A4DC050030 +:10EFA000D0E40500A8EF050074DC05004700000070 +:10EFB00008000000B8EF0500BA000000A21200002F +:10EFC000CA0E00002CF005003A10000024F00500E5 +:10EFD000E21000001CF005001A14000014F00500F7 +:10EFE0002A1500000CF005002215000004F00500B1 +:10EFF000621A0000F8EF05000CE2050002000000B4 +:10F00000CF3504006CE20500B73504006CE2050062 +:10F010009F3504006CE20500813504006CE20500B8 +:10F02000713504006CE20500613504006CE20500F6 +:10F0300095350400D0E405003CF0050074DC0500C3 +:10F04000E70000001C0000004CF00500BA000000C2 +:10F05000E214000072100000D0E10500521600001A +:10F06000C8E10500D2190000F0F10500D20300004C +:10F07000E8F1050022110000E0F10500AA140000EB +:10F080004CF10500020F0000D8F105006A190000DC +:10F09000D0F10500421A0000C8F10500620C000022 +:10F0A000C0F10500AA0C0000B8F10500C20C000078 +:10F0B000B0F10500CA0C0000A8F105008A0E00009E +:10F0C000A0F10500FA0E000098F105009211000071 +:10F0D00090F10500C211000088F10500CA1100007E +:10F0E00080F10500FA11000044F105006A140000E7 +:10F0F00058F105006A1500003CF1050022140000DB +:10F1000078F105002A14000070F1050032140000A7 +:10F1100068F10500DA1A000060F10500921700009E +:10F1200034F10500FA0F00002CF1050054E205004F +:10F130007D36040054E205009536040054E20500D3 +:10F14000BF36040054E205000B3704000CE2050052 +:10F1500004000200113804003CE20500EB36040014 +:10F1600054E20500AD36040054E205000F360400F9 +:10F1700054E205005136040054E20500253604002F +:10F180003CE20500C537040054E20500E537040001 +:10F1900054E20500ED3804003CE20500CD370400E0 +:10F1A00054E20500FF3704003CE20500D5370400B7 +:10F1B00054E20500F538040054E20500FD3804006F +:10F1C00054E205000539040054E205000D3904003D +:10F1D00054E205001539040054E205001D3904000D +:10F1E00054E20500253904003CE20500DD37040047 +:10F1F00054E205002D390400D0E4050000F20500BA +:10F2000074DC0500570000000A00000010F2050041 +:10F21000BA0000009A03000042020000E4DA050090 +:10F2200012160000A0F205003215000094F205004D +:10F230005217000088F20500DA19000080F205007C +:10F240005A13000078F205006213000070F2050006 +:10F250005A14000068F205008218000060F20500F0 +:10F260003CE20500E539040054E205007939040068 +:10F270006CE20500873904006CE205009D3904004A +:10F280006CE20500353904000CE2050002000000C4 +:10F29000A73904000CE20500020000004339040015 +:10F2A0000CE2050002000000013A0400D0E4050071 +:10F2B000B4F2050074DC0500370000000600000011 +:10F2C000C4F20500BA000000121A0000720E00001D +:10F2D00018F305002216000000F305002A160000AE +:10F2E000F4F20500221B00000CF305002A1B0000AD +:10F2F0000CF305000CE20500FEFF0700F13C0400E2 +:10F300000CE20500FEFF0300AF3C04000CE2050028 +:10F3100006000400F93A040054E20500DF3A040054 +:10F32000C8020000D0E405002CF3050074DC0500E1 +:10F330005F0000000B0000003CF30500BA00000075 +:10F34000321A00009A0C00005C410020621B000091 +:10F350001CF405006A1B000008F40500A21300005D +:10F36000BCF305001A170000ACF30500A20D000065 +:10F370006A030000FA140000B0E305001A1100004F +:10F38000A0F305007A1500001C4100203217000090 +:10F3900094F305000CE2050004000200613D040046 +:10F3A0000CE2050002000000453D0400DCE8050019 +:10F3B0000000000008000000A8690600E41606002E +:10F3C000030000009A030000F0F30500E0F30500DD +:10F3D000D4F30500BB0200006C0300007E010000B6 +:10F3E000DCE80500000000001E0000009F41060050 +:10F3F00018E9050004000000030000002F000000D1 +:10F40000010000000A00000018E9050003000000E8 +:10F41000070000000900000001000000DCE8050012 +:10F4200000000000280000001881060074DC0500C0 +:10F430008E00000011000000ECF40500D0E405008F +:10F4400044F4050074DC05009F0000001300000078 +:10F4500054F40500BA0000000A1100001211000067 +:10F460002CF40500EA07000003000000BA070000C2 +:10F4700005000000A20700000B000000820700004A +:10F48000130000007207000017000000C207000010 +:10F49000190000006A0700001B0000008A07000036 +:10F4A00023000000B207000027000000AA070000A8 +:10F4B0002B0000009A0700002D000000CA07000082 +:10F4C00039000000E2070000BF000000D207000082 +:10F4D000D7000000F2070000DD0000007A070000FE +:10F4E000E500000092070000E700000003000000B4 +:10F4F000EA07000005000000BA0700000B0000004A +:10F50000A20700001300000082070000170000009F +:10F510007207000019000000C20700001B00000075 +:10F520006A070000230000008A070000270000008F +:10F53000B20700002B000000AA0700002D00000009 +:10F540009A07000039000000CA070000BF00000051 +:10F55000E2070000D7000000D2070000DD00000035 +:10F56000F2070000E50000007A070000E700000055 +:10F5700092070000FF6C6F63616C207661726961B5 +:10F58000626C65207265666572656E636564206293 +:10F5900065666F7265A500006F70636F646500003B +:10F5A000FFCF6163746976652065786365707469FF +:10F5B0006F6E90726572616973650000D0F5050029 +:10F5C0006E656F706978656C2E70790000000000C0 +:10F5D000F8F50500DCF5050038F60500E0F5050056 +:10F5E00018E905000400000003000000010000000D +:10F5F00005000000070000008A0307008403A8023A +:10F6000086031100CB02BA028803AE011C008703F7 +:10F610000F003502A40014004600A70017001600D2 +:10F620001A002C03890040005C008B039D007C00C5 +:10F6300089036B000500000000000200A5F705002B +:10F6400044F6050048F605000000020070F70500CA +:10F6500054F6050050F7050023F70500CCF6050029 +:10F66000B0F605009FF6050097F6050070F6050058 +:10F6700031041016121DB01309340180424A57C1DB +:10F6800080B01309B15681E5585AD743315959B062 +:10F69000140E360059516309040F16B0130763198D +:10F6A000040E161202B01306B01309340259516346 +:10F6B0003A060D161CB0130780424857C2B1B0B2CB +:10F6C0005681E5585AD74333595951630000020017 +:10F6D000FEF60500D8F60500DCF60500DB40081153 +:10F6E0001E1E1E53B253534B13C32500130925018D +:10F6F0002500130BB355F2556759422B51633286DF +:10F70000010C16180002B125001308F42702121A82 +:10F71000B0B2200002121B2500130834015E340130 +:10F720003401635B080A161819B1B01308F4C3B0AA +:10F73000130880425257C4B2B455B01309B3B01382 +:10F740000BB455F25681E5585AD74329595951639C +:10F75000B0050A0516060708B1B01806B2B01807BA +:10F76000B3B018081217B2B3F43401B018095163DA +:10F7700008020411121613100416142300160B832A +:10F780002A0153330016053201160A3202160C32D2 +:10F7900003160D3204160E3205160F32061610111E +:10F7A0000E161551631002018010022A011B031C62 +:10F7B0000216025954320010043402160451630038 +:10F7C00044BD05008603008006000000060000001E +:10F7D000F6F70500F0F70500818106008A81060032 +:10F7E00090810600948106009A8106003672060018 +:10F7F000080503050B03694BC7D8AEFE00000000E7 +:10F8000000000000D0E405000CF8050074DC0500E1 +:10F810004F000000090000001CF80500BA000000BD +:10F82000AA1700008A00000064F8050032130000E7 +:10F83000A4F80500B218000098F80500B2170000FF +:10F840008CF80500A217000084F805009A0E00004D +:10F850007CF80500AA17000074F805000A1B0000D8 +:10F860006CF805006CE20500215804003CE205003C +:10F87000AB5604006CE205003D58040054E205005C +:10F88000ED5704003CE20500ED5604000CE20500D3 +:10F8900006000200195704000CE2050002000000F7 +:10F8A0008757040054E20500B5570400D0E4050072 +:10F8B000B4F8050074DC05004F00000009000000EA +:10F8C000C4F80500BA000000A21A00008219000066 +:10F8D00044F905008A1900003CF90500921900005E +:10F8E00034F90500921A00002CF905009A1A00005C +:10F8F00024F90500821A00001CF905007A1A00009C +:10F900000CF905008A1A000014F905003CE2050014 +:10F91000355904003CE20500A95804006CE20500DA +:10F920005D5804006CE205001D5904006CE20500FE +:10F930000559040054E20500F358040054E20500A0 +:10F94000E158040054E20500C35804006CFA0500B5 +:10F95000010000003C030002010000001F02000241 +:10F96000FFFFFFFF0D02030100000000F70203008C +:10F97000093D000088E905000000CF0001000000FB +:10F980000000000002000003F36204007163040041 +:10F9900094F9050074DC0500270000000400000055 +:10F9A000A4F90500F21200004CFA0500FA18000054 +:10F9B00044FA05004A020000D0F90500CA1A000006 +:10F9C000C4F905000CE20500FFFF03000D6204000E +:10F9D00054E20500A562040088E905000000D0009B +:10F9E0000100000203000400050000063965040060 +:10F9F00061630400A56404001164040071630400E1 +:10FA000014FA0500AF01030100000000F702030033 +:10FA1000093D000074DC05001F0000000300000029 +:10FA200024FA0500F21200004CFA0500FA18000052 +:10FA300044FA0500F20E00003CFA05003CE2050025 +:10FA40008B6304003CE20500B163040054E205004E +:10FA50008163040088E9050080008A02000000003C +:10FA600000000001000000002569040088E905008D +:10FA70000000240101020000030000000000000457 +:10FA8000A96B0400ED670400316E0400E0FA050084 +:10FA900088E9050080008A020000000000000001E3 +:10FAA00000000000C569040088E905000000590154 +:10FAB0000000000000000001000000008569040053 +:10FAC00088E90500000007010000000100000203B2 +:10FAD00000000000E16A0400AF6A0400A3650400AE +:10FAE00074DC05007F0200004F000000F0FA050002 +:10FAF000FA1B0000D4FD05006A130000CCFD0500D0 +:10FB0000DA120000C4FD0500E2180000B8FD05008F +:10FB10004A19000090FD05005219000088FD0500FB +:10FB20005A19000080FD05004219000078FD05000B +:10FB30004A02000070FD05001A0F000098FD050044 +:10FB4000CA13000068FD0500AA110000B0FD050001 +:10FB50005A0D0000A4FD05006A08000084AD0500F0 +:10FB6000720800007CAD05006208000074AD05005D +:10FB7000820A00006CAD0500220A000064AD050099 +:10FB8000320700005CAD05002206000054AD050000 +:10FB90006A0600004CAD0500BA0A000044AD05003D +:10FBA0006A0A00003CAD05000208000034AD050003 +:10FBB000B20800002CAD0500820B000024AD05004A +:10FBC000720900001CAD0500EA06000014AD050036 +:10FBD000D20600000CAD0500F206000004AD0500E1 +:10FBE000FA060000FCAC050002070000F4AC0500BA +:10FBF0000A070000ECAC050012070000E4AC0500A9 +:10FC00001A070000DCAC050022070000D4AC050098 +:10FC10002A070000CCAC0500DA060000C4AC0500E1 +:10FC2000E2060000BCAC050032060000B4AC0500E2 +:10FC30003A060000ACAC05002A060000A4AC0500A2 +:10FC4000520600009CAC05004A06000094AC05007A +:10FC50005A0600008CAC05006206000084AC05006A +:10FC6000420600007CAC0500020B000074AC0500ED +:10FC70000A0B00006CAC0500C206000064AC050075 +:10FC8000520700005CAC05005A07000054AC0500A8 +:10FC9000A20A00004CAC0500AA0A000044AC050012 +:10FCA000F20900003CAC05003A07000034AC050046 +:10FCB000CA0800002CAC0500D208000024AC0500E6 +:10FCC000DA0800001CAC0500AA09000014AC05000D +:10FCD000720B00000CAC0500A209000004AC05008A +:10FCE000F20A0000FCAB05001A06000054AB050048 +:10FCF000120600002CAB0500120B0000F4AB05004F +:10FD00001A0A0000ECAB050062070000E4AB050036 +:10FD10008A080000DCAB0500FA0A0000D4AB05003D +:10FD2000AA060000CCAB0500B20A0000C4AB050077 +:10FD30004A080000BCAB0500C20A0000B4AB0500D5 +:10FD40005A080000ACAB0500720A0000A4AB050025 +:10FD50002A0B00009CAB05008A0A000094AB05004A +:10FD60002A0A00008CAB050054E20500E967040094 +:10FD700054E20500E56704003CE20500796B0400ED +:10FD80003CE20500616B04003CE20500496B0400A5 +:10FD90003CE20500316B04000CE205000A000A0099 +:10FDA000D96504000CE2050010000C00396704005E +:10FDB0003CE205000D6704000CE2050008000800A5 +:10FDC0009D66040024E205003166040054E205004B +:10FDD000CB65040054E20500BD65040088E9050018 +:10FDE00000002C01000000000000000000000001E5 +:10FDF0007CFE050088E9050000001E0100000000EF +:10FE0000000000000000000124FF050088E9050053 +:10FE100000002101000000000000000000000001BF +:10FE20009CFF050088E9050000002B010000000090 +:10FE300000000000000000013CFE050074DC05002D +:10FE400037000000060000004CFE05000A14000008 +:10FE500024000600E21B00001C0006000A1300003C +:10FE6000140006001A1900000C0006000A0A00001F +:10FE700001000000B20600000300000074DC050071 +:10FE80009F000000130000008CFE0500121C000003 +:10FE90006C000600D2170000640006000A1C000077 +:10FEA0004C000600CA17000044000600C2180000FB +:10FEB0003C000600CA18000034000600B212000020 +:10FEC0002C0006000A14000024000600E21B0000BB +:10FED0001C0006000A13000014000600EA120000CD +:10FEE00054000600EA1800005C000600D212000070 +:10FEF000740006001A1900000C000600D209000068 +:10FF000001000000CA090000030000007A09000097 +:10FF1000050000000A0A000001000000B20600000F +:10FF20000300000074DC05006F0000000D000000FD +:10FF300034FF0500121C00006C000600D217000000 +:10FF4000640006000A1C00004C000600CA170000EE +:10FF500044000600C21800003C000600CA18000059 +:10FF600034000600B21200002C000600EA12000065 +:10FF700054000600EA1800005C000600D2120000DF +:10FF800074000600D209000001000000CA09000048 +:10FF9000030000007A0900000500000074DC050081 +:10FFA000670000000C000000ACFF0500121C000000 +:10FFB0006C000600D2170000640006000A1C000056 +:10FFC0004C000600C21800003C000600CA180000E1 +:10FFD00034000600B21200002C000600EA120000F5 +:10FFE00054000600EA1800005C000600D21200006F +:10FFF00074000600D209000001000000CA090000D8 +:0200000260009C +:10000000030000007A090000050000003CE2050042 +:100010008371040054E205006B71040054E2050092 +:100020005171040054E205003D71040054E20500E2 +:10003000F97004003CE20500D57004003CE20500C4 +:10004000AD70040054E20500917004003CE205002C +:100050002570040054E20500F96F04003CE205003D +:10006000D56F040054E20500B96F04003CE20500BE +:10007000856F040054E20500756F04000CFE050056 +:100080001F14010024FE05001E1301000CFE0500D4 +:10009000141209000CFE0500131109000CFE0500E6 +:1000A000101001000CFE05000F0F01000CFE0500F2 +:1000B0000E0E01000CFE05000D0D01000CFE0500EA +:1000C0000C0C01000CFE05000B0B0500F4FD0500F7 +:1000D0000A0A04000CFE0500090901000CFE0500D7 +:1000E000080801000CFE0500070704000CFE0500CF +:1000F000060604000CFE050005050500F4FD0500DC +:1001000004040400F4FD050003030400DCFD050005 +:1001100002020100DCFD050001010100DCFD05001B +:100120000000010000000000000000006603000065 +:1001300081720400FA020000817204008203000050 +:10014000817204000A020000A1720400B0010000E4 +:10015000A1720400B9020000C17204009A010000FB +:10016000C172040058030000817204007002000094 +:10017000A172040039030000A17204008103000091 +:100180008372040088E905000000270100010000D7 +:10019000000000000000000275730400A0010600CA +:1001A00074DC0500570000000A000000B0010600E2 +:1001B00052080000480206006208000040020600E3 +:1001C0007A08000038020600E2080000300206004B +:1001D000220A0000280206007A0A00002002060017 +:1001E000920A0000180206009A0A00001002060097 +:1001F0001A0B0000080206007A0B0000000206003D +:10020000840106008F3A0600840106003E3A06008B +:1002100084010600A5390600840106000B3906009A +:10022000840106007338060084010600DD370600ED +:100230008401060040370600840106005F36060090 +:10024000840106007E350600840106000A3406009B +:1002500088E90500000028010102000000030000F9 +:1002600000000004297604002D7504008974040040 +:10027000F40206003D0205043C0212040D020904CA +:100280007303010472031A047D0300014502220274 +:1002900027030D0200020302000000028403BC02D7 +:1002A0000301050104010601690168016B016A018E +:1002B000670100003D020200F40100003C02020060 +:1002C000C40900000D020200F401000073030200E3 +:1002D000FF00000072030200000000007D03020026 +:1002E0000300000045020200000000002703020096 +:1002F0001200000074DC0500770000000E00000012 +:1003000004030600EA0B00007C0306004A0200001A +:10031000740306004A0B000001000000420B0000BD +:10032000030000005A0B000005000000520B000003 +:10033000070000003A0B0000090000005A0A000004 +:1003400003000000520A000005000000620A0000DD +:10035000250000001A08000001000000220800002B +:10036000050000002A080000030000003208000019 +:100370000700000054E20500B9730400E0E905003D +:100380008403060054E20500DD730400D0E4050098 +:100390009403060074DC0500170000000200000052 +:1003A000A4030600BA000000920C00008A000000BE +:1003B000B40306006CE20500ED7604004302010080 +:1003C000000000005603030215000000D0E4050001 +:1003D000D403060074DC05005F0000000B00000081 +:1003E000E4030600BA000000AA1400008A0000001E +:1003F00068040600D21800005C040600DA18000049 +:100400005404060012100000480406006A0C0000A4 +:100410003C040600BA08000003000000320A000095 +:1004200015000000C2080000B104000082080000AE +:10043000411901004A070000015E1A000CE20500A4 +:10044000FFFF0100497804000CE20500FFFF0100F6 +:10045000AD77040054E20500D17704000CE20500FA +:10046000FFFF0100DF7704006CE205008D770400D8 +:1004700000000000398EE33D398E633E398EE33E45 +:10048000ABAA2A3F721C473F0000803FD0E4050022 +:100490009404060074DC05001F0000000300000047 +:1004A000A4040600BA000000C21400008A00000084 +:1004B000BC040600320D0000BC0406006CE205001E +:1004C0000D790400D0E40500CC04060074DC0500BE +:1004D000570000000A000000DC040600BA0000001B +:1004E000DA1400001A1B0000440506002A18000058 +:1004F000B4070600DA1100003C05060042100000B7 +:1005000034050600EA1000002C0506001A1500004C +:100510005C0506000A1500005405060012150000CF +:100520004C050600AA1A0000441C060054E205000F +:10053000257A04006CE20500917904006CE2050064 +:10054000897904006CE20500337A04006405060032 +:1005500004000000640506000200000064050600B7 +:100560000100000088E905000000A0020001000071 +:100570000000020000000000177A0400C1790400A6 +:10058000A200030106000000400203010600000073 +:100590005703030106000000D0010300060000001D +:1005A000FA010202000000006902020200000000DD +:1005B000AA020202000000000C0302020000000078 +:1005C000B80202020000000088E9050000000903EB +:1005D000000001000000000000000000017C040099 +:1005E00054E20500657C0400D0E40500F005060037 +:1005F00074DC05006F0100002D00000000060600FD +:10060000BA00000042150000920800006CFA0500D4 +:10061000D20A000084010600E20A0000CCAE050008 +:1006200052100000D02000208A0D00005C1C060043 +:10063000920D0000501C06005A0C000060AA050034 +:10064000DA0E0000C01C0600B21900003C1F0600B4 +:100650004A150000B8AD0500D20C0000B8B0050086 +:1006600082130000D8200020EA1A00006020060053 +:10067000CA190000E42000202A180000B407060070 +:1006800082190000AC07060052180000A4070600FB +:1006900032160000980706004A1A0000900706006C +:1006A0002219000088070600221C000080070600AF +:1006B0004A18000074070600721800006807060058 +:1006C000621600001C0106006A16000014010600F4 +:1006D000B21600000C010600C2160000040106005C +:1006E000CA160000FC000600D2160000F400060046 +:1006F000DA160000EC000600E2160000E400060036 +:10070000EA160000DC000600F2160000D400060025 +:1007100072160000CC0006007A160000C400060025 +:1007200082160000BC0006008A160000B400060015 +:1007300092160000AC0006009A160000A400060005 +:10074000A21600009C000600AA16000094000600F5 +:10075000BA1600008C000600FA160000840006009D +:10076000021700007C0006000CE20500FFFF0100FC +:10077000AD7A04000CE20500FFFF0100757B040068 +:100780003CE205002D7C040054E20500537C04008B +:100790006CE205009F7A04000CE2050002000000F4 +:1007A000C17C04006CE20500917A040054E205006B +:1007B000577A04006CE20500517A0400E416060042 +:1007C000050000007C0806006C0806005C080600B6 +:1007D0004C0806003C0806008C080600D0E4050022 +:1007E000E407060074DC05003F000000070000007D +:1007F000F4070600BA0000001A160000021B0000F1 +:1008000034080600A2140000E8AF05008A130000B7 +:10081000F0AF05000204000004B00500EA19000072 +:1008200060AF05007A1900002C08060054E20500AC +:10083000E17C04006CE20500D97C0400DCE80500E2 +:100840000000000017000000EC840600DCE8050052 +:100850000000000049000000A0080600DCE80500D8 +:100860000000000005000000EA080600DCE80500C2 +:100870000000000008000000A8690600DCE8050090 +:100880000000000008000000A869060047030000FF +:10089000BD020000030300006C0300009B02000087 +:1008A0006D6963726F3A6269742076322E312E312F +:1008B0002B36353865373930206F6E203230323480 +:1008C0002D30382D32313B204D6963726F50797471 +:1008D000686F6E2061363163343436206F6E20329B +:1008E0003032342D30382D323100322E312E31005D +:1008F000B8020300060000007803030006000000B1 +:100900000903010001000000D0E405001009060001 +:1009100074DC05001F000000030000002009060031 +:10092000BA0000002A170000021600004409060061 +:10093000EA0F0000380906000CE20500FFFF010085 +:10094000F17C04006CE20500497E04000100010016 +:10095000E2ECF0F4F8FC0004D0E4050060090600C5 +:1009600074DC0500770000000E000000700906002E +:10097000BA0000009A1700008A000000340A06003E +:100980002A1800002C0A0600EA0E0000200A0600C1 +:100990000A160000180A060002160000100A0600D7 +:1009A000BA180000080A0600F2170000000A060044 +:1009B00052040000F8090600EA170000F0090600DA +:1009C000FA170000E809060002180000E009060016 +:1009D000FA09000001000000020A00000300000004 +:1009E0006CE20500A77F040054E205006D7F04005F +:1009F0006CE20500257F040054E20500017F04003D +:100A00006CE20500DF7E040054E20500BD7E0400B8 +:100A10006CE20500997E04006CE20500897E04000A +:100A20000CE20500FFFF0100058004006CE20500F8 +:100A3000557E04006CE20500757E0400D0E40500DC +:100A4000440A060074DC05001F00000003000000DB +:100A5000540A0600BA0000005A1A00008A0000007A +:100A6000740A0600DA0C00006C0A06006CE205004D +:100A7000E18104006CE20500C5810400A2000000D1 +:100A8000A7000000A70000007F0000008000000019 +:100A9000E20000003C0000003C00000000000000FC +:100AA00000000000E10000003C0000003B000000EE +:100AB0000000000000000000C8000000000000006E +:100AC000000000003600000037000000C7000000F2 +:100AD00000000000000000003600000036000000AA +:100AE000181A17171738846B19C66318867398C6B7 +:100AF000B11CCA318CC73188C23098463118C6350E +:100B00000CCA310CC62110246912C23114C47108F8 +:100B10004A2249AB6AA8AC495132D55288936C94A9 +:100B2000221554D22596D450A5462108856B18C4A9 +:100B30006310CE6B188C71198C63350CC63399CC4D +:100B40006CB54EA29946212882952EE3309CC53083 +:100B50009CA2B19C67318866592C5318846750CA8F +:100B6000E30AACAB30AC62308C63109462B18C821F +:100B700028963398D6B54C6229A54AB59CC631143F +:100B8000D6389C4BB4866518AE671CA663199623AD +:100B900019841308A652ACCA22896EAB198C623430 +:100BA000C46219866318C42358D6A35042544AAD70 +:100BB0004A25116B64894A63398A23312AEAA2A93A +:100BC00044C512CD42348C62188C63114866319D45 +:100BD00044331D46319CC6B10CCD3288C47318868F +:100BE0007308D663580781E0F03C0787903C7C0F80 +:100BF000C7C0C0F07C1E078080001C7870F1C71F42 +:100C0000C00CFE1C1F1F0E0A7AC071F2838F030FE7 +:100C10000F0C0079F861E0430F83E718F9C113DA8C +:100C2000E9638F0F838387C31F3C70F0E1E1E387A3 +:100C3000B8710E20E38D48781C938730E1C1C1E480 +:100C400078218383C3870639E5C387070E1C1C7090 +:100C5000F4719C603632C31E3CF38F0E3C70E3C7C8 +:100C60008F0F0F0E3C78F0E38706F0E307C19987FA +:100C70000F18787070FCF310B18C8C317C70E186A9 +:100C80003C646CB0E1E30F238F0F1E3E383C387B91 +:100C90008F070E3CF4171E3C78F29E7249E325360E +:100CA000385839E2DE3C7878E1C761E1E1B0F0F034 +:100CB000C3C70E38C0F0CE73731834B0E1C78E1CB2 +:100CC0003CF838F0E1C18B868F1C7870F078ACB1BD +:100CD0008F3931DB3861C30E0E387873171E391E19 +:100CE0003864E1F1C14E0F40A202C58F81A1FC1210 +:100CF0000864E03C22E045078E0C3290F01F20494A +:100D0000E0F80C60F0171A41AAA4D08D12821E1EC2 +:100D100003F83E030C73807044260324E13E044E26 +:100D2000041CC109CC9E902107904364C00FC6905B +:100D30009CC15B03E21D81E05E1D0384B82C0F8023 +:100D4000B183E030411E43898350FC242E1383F18C +:100D50007C4C2CC90D83B0B582E4E8069C07A099B1 +:100D60001D073E828F70307440CA10E4E80F921461 +:100D70003F06F8848843810A343941C6E31C47039F +:100D8000B0B8130AC264F818F960B3C0652060A651 +:100D90008CC3812030261E1C38D301B02640F40BB2 +:100DA000C3421F8532266040C9CB01EC112840FAAE +:100DB0000434E0704C8C1D07690316C80423E8C690 +:100DC0009A0B1A03E0760605CF1EBC5831716600F7 +:100DD000F83F04FC0C74278A8071C23A2606C01FB3 +:100DE000050F9840AE017FC007FF000EFE0003DF35 +:100DF0008003EF801BF1C200E7E018FCE021FC80DB +:100E00003CFC400E7E003F3E000FFE001FFF003EF8 +:100E1000F007FC007E103FFF003F380E7C01870C7E +:100E2000FCC7003E040F3E1F0F0F1F0F028387CF2A +:100E300003870F3FC0079E603FC003FE003FE0777F +:100E4000E1C0FEE0C3E001DFF80307007E70007C34 +:100E50003818FE0C1E781C7C3E0E1F1E1E3E007FA6 +:100E60008307DB878307C7071071FF003FE201E0BC +:100E7000C1C3E1007FC005F020F8F070FE7879F87A +:100E8000023F0C8F030F9FE0C1C78703C3C3B0E1CC +:100E9000E1C1E3E071F000FC707C0C3E380E1C7088 +:100EA000C3C70381C1C7E7000FC7871909EFC43360 +:100EB000E0C1FCF870F078F8F061C7001FF8017C21 +:100EC000F8F078703C7CCE0E2183CF08078F08C1E4 +:100ED000878F80C7E30007F8E0EF0039F7800EF84E +:100EE000E1E3F8219FC0FF03F807C01FF8C404FC2A +:100EF000C4C1BC87F00FC07F05E025ECC03E84472D +:100F0000F08E03F803FBC019F8079C0C17F807E0F4 +:100F10001FA1FC0FFC01F03F00FE03F01F00FD00CD +:100F2000FF880DF901FF007007C03E42F30DC47F3A +:100F300080FC07F05EC03F00783F81FF01F801C3ED +:100F4000E80CE4648FE40FF007F0C21F007FC06F6D +:100F5000807E03F807F03FC0780F8207FE2277708B +:100F6000027603FE00FE67007CC7F18EC63BE03FC1 +:100F700084F319D80399FC09B80FF8009D2461F98E +:100F80000D00FD03F01F903F01F81FD00FF837014F +:100F9000F807F00FC03F00FE03F80FC03F00FA0350 +:100FA000F00F80FF01B807F001FC01BC80131E00A8 +:100FB0007FE1407FA07FB0003FC01FC0380FF01F0F +:100FC00080FF01FC03F17E01FE01F0FF007FC01DE8 +:100FD00007F00FC07E06E007E00FF806C1FE01FC37 +:100FE00003E00F00FC0001020202030304040506F3 +:100FF00008090B0D0F0000000000000000000000B9 +:1010000000000000000000000101020203030404CC +:10101000050506060707000102030405060708097F +:101020000A0B0C0D0E0F000103040607090A0C0D34 +:101030000F101213151600020406080A0C0E1012E7 +:101040001416181A1C1E000205070A0C0F1114169C +:10105000191B1E202325000306090C0F1215181B4F +:101060001E2124272A2D0003070A0E1115181C1F04 +:1010700023262A2D313400FCF8F4F0ECE8E4E0DC1F +:10108000D8D4D0CCC8C400FCF9F5F2EEEBE7E4E02C +:10109000DDD9D6D2CFCB00FDFAF7F4F1EEEBE8E5DF +:1010A000E2DFDCD9D6D300FDFBF8F6F3F1EEECE994 +:1010B000E7E4E2DFDDDA00FEFCFAF8F6F4F2F0EE47 +:1010C000ECEAE8E6E4E200FEFDFBFAF8F7F5F4F2FC +:1010D000F1EFEEECEBE900FFFEFDFCFBFAF9F8F7AF +:1010E000F6F5F4F3F2F100FFFFFEFEFDFDFCFCFB64 +:1010F000FBFAFAF9F9F80000001010101010102097 +:1011000020202020203030303030303040404040EF +:1011100040404050505050505050506060606060AF +:10112000606060606060607070707070707070702F +:1011300070707070707070707070707070707070AF +:10114000707070707070606060606060606060603F +:1011500060605050505050505050404040404040CF +:10116000403030303030303020202020202010100F +:10117000101010100000000000F0F0F0F0F0F0E0AF +:10118000E0E0E0E0E0D0D0D0D0D0D0D0C0C0C0C04F +:10119000C0C0C0B0B0B0B0B0B0B0B0A0A0A0A0A06F +:1011A000A0A0A0A0A0A0A0909090909090909090CF +:1011B000909090909090909090909090909090902F +:1011C000909090909090A0A0A0A0A0A0A0A0A0A07F +:1011D000A0A0B0B0B0B0B0B0B0B0C0C0C0C0C0C0CF +:1011E000C0D0D0D0D0D0D0D0E0E0E0E0E0E0F0F06F +:1011F000F0F0F0F00000909090909090909090908F +:1012000090909090909090909090909090909090DE +:1012100090909090909090909090909090909090CE +:1012200090909090909090909090909090909090BE +:1012300090909090909090909090909090909090AE +:10124000909090909090909090909090909090909E +:10125000909090909090909090909090909090908E +:10126000909090909090909090909090909090907E +:1012700090909090909070707070707070707070AE +:10128000707070707070707070707070707070705E +:10129000707070707070707070707070707070704E +:1012A000707070707070707070707070707070703E +:1012B000707070707070707070707070707070702E +:1012C000707070707070707070707070707070701E +:1012D000707070707070707070707070707070700E +:1012E00070707070707070707070707070707070FE +:1012F0007070707070700000000000010101010149 +:1013000001010101010101010101010101010101CD +:1013100001010101000000000000000000000000C9 +:1013200000000000000001010101010000000000B8 +:1013300000000000000000000000000000000000AD +:101340000000000000000000000000000000000A93 +:101350000E13181B171510140E120E1212100D0F6B +:101360000B120E0B0906060600000000000000002C +:1013700000000000000000000000131B151B120DF0 +:101380000000131313130A0E12181A161410140E59 +:10139000120E1212100C0E0A120E0A08060606068B +:1013A00011060606060E10090A080A0606060506B4 +:1013B00000121A141A120C0606060606060606067F +:1013C000060606060606060606060A0A0606062C8F +:1013D0001300000000005449433F282C1F252D49CD +:1013E00031241E33251D4518321E18532E36560043 +:1013F00000000000000000000000000000000000ED +:101400000048271F2B1E22000043434343544842F9 +:101410003E282C1E242C4830241E32241C44183212 +:101420001E18522E36563643494F1A42492533422A +:10143000282F4F4F424F6E0048261E2A1E221A1A8E +:101440001A4242426E6E6E5454541A1A1A42424262 +:101450006D566D5454547F7F0000E0E6ECF3F900C4 +:10146000060C06005B5B5B5B6E5D5B585957585220 +:10147000595D3E52583E6E505D5A3C6E5A6E5179DF +:1014800065795B636A51795D525D674C5D6565792D +:101490006579005A58585858525151517979797094 +:1014A0006E6E5E5E5E5151517979796565705E5EF2 +:1014B0005E080100000000000D0D0E0F0F0F0F0F52 +:1014C0000C0D0C0F0F0D0D0D0E0D0C0D0D0D0C094F +:1014D0000900000000000000000B0B0B0B000001D6 +:1014E0000B00020E0F0F0F0F0D020400020400018B +:1014F0000400010400000000000000000C000000D7 +:10150000000F0F00000000000A0B0D0E0D0C0C0B5D +:10151000090B0B0C0C0C08080C080A08080A030934 +:1015200006000000000000000003050304000000A6 +:10153000050A020E0D0C0D0C080001000001000050 +:101540000100000100000000000000000A00000A85 +:101550000000000000000000080708080101000169 +:101560000007050100060100070005010008000052 +:101570000300000000000000000001000000000067 +:10158000010E010901000100000000000000000040 +:10159000000000000000000000000000070000053F +:1015A0000013100000000000000000000000000018 +:1015B000000000000000000000000000000000002B +:1015C000000000F1E2D3BB7C95010203030072002E +:1015D0000200000000000000000000000000000009 +:1015E0000000000000001B000019000000000000C7 +:1015F000000000001F1F1F1F02020202020202025F +:10160000020505020A020805050B0A090808A008D8 +:1016100008171F121212121E1E1414141417171A70 +:101620001A1D1D0202020202021A1D1B1A1D1B1A9C +:101630001D1B1A1D1B171D17171D17171D17171D0B +:10164000171717000202020204040404040404042D +:10165000040404040403020404020202020201015D +:101660000101010101010101010202020100010069 +:101670000100050505050504040200010200010240 +:101680000001020001020002020001030002030047 +:1016900002A0A000020202020404040404040404E0 +:1016A0000404040404030304040303030303010206 +:1016B0000302010303030301010303030202030204 +:1016C00003000005050505040402000202000302F0 +:1016D00000040200030200020200020300030300F0 +:1016E00003B0A00088E9050000009D000001000291 +:1016F00003040506000000009D950400190E040077 +:10170000250F04000D95040019100400650D040058 +:1017100088E9050000000100000000000000000052 +:101720000000000089020301000000009200020096 +:101730000000000088E90500800020020100000090 +:1017400000000002000000001D960400F595040052 +:1017500088E9050080003602010000000000000258 +:10176000000000007F9205005192050088E9050005 +:101770008000720001000000000000020000000074 +:10178000A39604005996040001000300060000001F +:101790000100030006000000010003000600000035 +:1017A0000B0203000600000088E905000000E802C3 +:1017B0000100000000000000000000024597040046 +:1017C000C417060074DC05001F00000003000000C1 +:1017D000D41706003A130000FC1706002A1900006F +:1017E000F41706001A100000EC1706003CE2050092 +:1017F000F19604003CE205000D9704003CE2050070 +:10180000299704003CE20500C998040088E9050016 +:1018100080008A02000000000000000100000000BB +:101820007199040088E9050000007C0001030004B0 +:101830000002050600000000319A0400919A04009D +:10184000F59904009D990400B79A0400D799040003 +:1018500088E9050080000703010000000000000285 +:1018600000000000C7920500AD92050088E9050060 +:1018700000008C00010200030400000500000006C7 +:10188000499F04004F9D0400FD9D04004FA00400EB +:101890006D9B04001C19060088E90500080042023F +:1018A000010200030400000500000006499F040037 +:1018B0004F9D0400FD9D04004FA004006D9B04009B +:1018C000C418060074DC05004F0000000900000089 +:1018D000D41806004A020000381A06002A10000038 +:1018E000241A0600BA130000101A06001214000091 +:1018F000001A06003A140000F8190600421400000D +:10190000F0190600221A0000D0190600121B000070 +:10191000BC1906007205000040EA050074DC0500F1 +:1019200097000000120000002C1906006A0C00004D +:10193000481A060032020000401A06004A0200005F +:10194000381A06004A100000301A06002A1000005B +:10195000241A060032100000181A0600BA130000FC +:10196000101A0600C2130000081A06001214000024 +:10197000001A06003A140000F8190600421400008C +:10198000F0190600C2030000E81906000204000076 +:10199000E0190600221A0000D01906002A1A0000D9 +:1019A000D8190600121B0000BC190600FA0400003A +:1019B000C41906007205000040EA05003CE205007B +:1019C0006D9C04000CE20500FEFF0300CB9B0400AD +:1019D0003CE20500819C04003CE20500E99B040018 +:1019E0003CE20500959C040054E20500259D04009E +:1019F0003CE2050041A004003CE205004BA00400CD +:101A00003CE20500119C04003CE20500399F040003 +:101A10003CE205003D9F04000CE20500FEFF0300D0 +:101A2000159D04000CE20500FEFF0300219D04004B +:101A30003CE20500979B040054E20500439C04002F +:101A400054E20500B59C04003CE20500899B0400BB +:101A500088E905008000A5000100000000000002E8 +:101A600000000000A1A1040059A104000CE205003F +:101A70000600020061A204000CE20500060002005C +:101A80005DA204000CE20500020000008BA204002D +:101A900057656C636F6D6520746F204D6963726F5D +:101AA000507974686F6E210A0A466F72206F6E6CEF +:101AB000696E6520646F637320706C656173652067 +:101AC000766973697420687474703A2F2F646F6339 +:101AD000732E6D6963726F707974686F6E2E6F729A +:101AE000672F0A0A436F6E74726F6C20636F6D6D9F +:101AF000616E64733A0A20204354524C2D412020D9 +:101B00002020202020202D2D206F6E206120626C4F +:101B1000616E6B206C696E652C20656E7465722039 +:101B2000726177205245504C206D6F64650A202009 +:101B30004354524C2D4220202020202020202D2DA7 +:101B4000206F6E206120626C616E6B206C696E6527 +:101B50002C20656E746572206E6F726D616C205200 +:101B600045504C206D6F64650A20204354524C2D23 +:101B70004320202020202020202D2D20696E7465F8 +:101B8000727275707420612072756E6E696E672056 +:101B900070726F6772616D0A20204354524C2D445D +:101BA00020202020202020202D2D206F6E2061203D +:101BB000626C616E6B206C696E652C20657869744F +:101BC000206F7220646F206120736F6674207265CD +:101BD0007365740A20204354524C2D452020202048 +:101BE000202020202D2D206F6E206120626C616EE0 +:101BF0006B206C696E652C20656E74657220706157 +:101C0000737465206D6F64650A0A466F722066758D +:101C100072746865722068656C70206F6E20612038 +:101C20007370656369666963206F626A6563742CAB +:101C300020747970652068656C70286F626A290A63 +:101C4000000000000CE205000600040075A404007A +:101C5000681C0600C400060001000000681C0600A5 +:101C6000F40006000000000088E9050000001F01E4 +:101C7000000000000000000000000001801C0600C1 +:101C800074DC05001F00000003000000901C06002B +:101C9000FA130000B81C0600DA1B0000A81C06009E +:101CA000E2120000B01C060054E205004593050056 +:101CB00054E205002B93050054E20500159305003E +:101CC000C41C060088E90500000020010000000097 +:101CD0000000000000000001DC1C060074DC0500B0 +:101CE0004700000008000000EC1C06005213000032 +:101CF0004C1D0600D2130000641D06007A0E000081 +:101D00005C1D0600AA0E0000541D06001A130000F8 +:101D1000441D0600221300003C1D06002A1300008B +:101D2000341D0600C21200002C1D060054E20500FE +:101D30006593050054E205007393050054E2050025 +:101D40008793050054E205009B93050054E20500CB +:101D5000D393050054E20500AF93050054E205005B +:101D6000B993050054E20500C39305007302030113 +:101D70000000000001020200900100004600010284 +:101D8000000000007703010201000000960201023A +:101D9000000000004A0303010000000001020200ED +:101DA000960000007703010201000000B00201026A +:101DB00000000000960201020000000088E9050012 +:101DC00000002201000000000000000000000001EF +:101DD000D41D060074DC05004F000000090000005F +:101DE000E41D0600DA1200002C1E0600E2180000B6 +:101DF000341E060062190000741E06009A180000C6 +:101E0000681E060032020000401E06000A1600008E +:101E1000601E060002160000581E0600EA130000AD +:101E2000501E0600DA170000481E060024E20500D6 +:101E300069A704000CE20500080008001DA70400C3 +:101E400054E20500E3A6040054E20500D5A6040010 +:101E500054E20500D9A4040054E2050091A6040050 +:101E600054E2050039A604000CE20500FFFF030060 +:101E7000C5A504000CE20500FFFF0300E5A4040073 +:101E80003B020200A08601001403030006000000CC +:101E900011030300060000008E0102010000000093 +:101EA000BA0202010000000004030100000000006B +:101EB0008E01020100000000AE01030100000000DD +:101EC000040301000000000088E905000000230170 +:101ED000000000000000000000000001E01E0600FD +:101EE00074DC05002700000004000000F01E06005E +:101EF000AA130000301F06007A180000281F0600F1 +:101F0000EA0300001C1F060022050000101F060047 +:101F10000CE20500FFFF030085A804000CE20500A9 +:101F2000FFFF03003BA8040054E2050009A80400D9 +:101F30000CE20500FFFF030091A70400401F06000C +:101F400088E9050000002A010000000000000000F0 +:101F500000000001581F060074DC05001700000097 +:101F600002000000681F060002160000801F060025 +:101F70000A160000781F060054E20500E1930500F0 +:101F800054E20500ED930500A701020040420F0056 +:101F9000A901020008000000AC02020000000000DD +:101FA0001203030206000000B10203020600000053 +:101FB000AB0203020600000088E9050000002601CC +:101FC000000000000000000000000001D01F06001B +:101FD00074DC05002700000004000000E01F06007C +:101FE000AA1300001C200600220500001420060091 +:101FF000EA030000082006001A1C0000002006006A +:1020000024E20500B7A904000CE205000600040064 +:10201000F9A904003CE2050095A904000CE20500C2 +:10202000FFFF0300CDA80400A701020080250000E7 +:10203000A901020008000000C7020300060000001A +:102040009600020001000000E10203020600000009 +:102050005C030302060000000B03030206000000FD +:102060006420060088E9050000002D010000000042 +:102070000000000000010002802006009020060001 +:102080000BAB0400FBAA04000000000000000000ED +:1020900074DC05004700000008000000A0200600D6 +:1020A000AA130000E8200600DA010000E020060084 +:1020B000EA030000DCEA0500FA030000A4EA0500D8 +:1020C000F2030000B0EA050022050000C4EA0500A2 +:1020D0008A09000003000000FA0700000100000068 +:1020E00054E20500E9AA04000CE20500FFFF03002A +:1020F00051AA040088E9050080008A02000000005F +:10210000000000010000000071AB040000000000AE +:1021100000000000B994050081AD0400D1940500D1 +:102120000000000000000000FB940500E39405009F +:10213000E7940500A7430500F1940500F594050018 +:10214000AD430500B14305003863ED3EDA0F493F6A +:102150005E987B3FDA0FC93F6937AC316821223383 +:10216000B40F14336821A2330000004B000000CBF1 +:1021700000000000FB21F93FFB2109407CD91240FF +:10218000FB2119407A6A1F407CD92240BBFD2540C3 +:10219000FB2129403A462C407A6A2F405C47314067 +:1021A0007CD932409C6B3440BBFD3540DB8F3740DF +:1021B000FB2139401BB43A403A463C405AD83D4096 +:1021C0007A6A3F404C7E40405C4741406C10424040 +:1021D0007CD942408CA243409C6B4440AC34454087 +:1021E000BBFD4540CBC64640DB8F4740EB584840DF +:1021F000FB21494083F9A200444E6E00FC291500E2 +:10220000D1572700DD34F50062DBC0003C99950012 +:10221000419043006351FE00BBDEAB00B761C500D7 +:102220003A6E2400D24D42004906E00009EA2E0031 +:102230001C92D100EB1DFE0029B11C00E83EA70056 +:10224000F535820044BB2E009CE98400B426700062 +:10225000417E5F00D6913900538339009CF43900E8 +:102260008B5F840028F9BD00F81F3B00DEFF97005C +:102270000F980500112FEF000A5A8B006D1F6D009B +:10228000CF7E360009CB2700464FB7009E663F0041 +:102290002DEA5F00BA277500E5EBC7003D7BF10032 +:1022A000F739070092528A00FB6BEA001FB15F000A +:1022B000085D8D00300356007BFC4600F0AB6B00E0 +:1022C00020BCCF0036F49A00E3A91D005E619100A6 +:1022D000081BE60085996500A0145F008D4068002A +:1022E00080D8FF0027734D0006063100CA5615003E +:1022F000C9A873007BE260006B8CC000DB0F49BF94 +:10230000E4CB1640E4CB16C000000080DB0F494050 +:10231000DB0F49C00000003F000000BF8071313F6B +:10232000807131BFD1F71737D1F717B70000000020 +:1023300000000080000FC93F000F494000CB9640CD +:10234000000FC9400053FB4000CB164100ED2F4168 +:10235000000F49410031624100537B41003A8A41FC +:1023600000CB9641005CA34100EDAF41007EBC4133 +:10237000000FC94100A0D5410031E24100C2EE4149 +:102380000053FB4100F20342003A0A42008310422C +:1023900000CB164200141D42005C234200A52942D6 +:1023A00000ED2F4200363642007E3C4200C74242DA +:1023B000000F4942A2000000F90000008300000065 +:1023C0006E0000004E0000004400000015000000F8 +:1023D00029000000FC00000027000000570000005A +:1023E000D1000000F500000034000000DD00000016 +:1023F000C0000000DB00000062000000950000004B +:10240000990000003C000000430000009000000024 +:1024100041000000FE0000005100000063000000C9 +:10242000AB000000DE000000BB000000C5000000A3 +:1024300061000000B7000000240000006E000000F2 +:102440003A000000420000004D000000D2000000F1 +:10245000E000000006000000490000002E0000001F +:10246000EA00000009000000D10000009200000016 +:102470001C000000FE0000001D000000EB0000003A +:102480001C000000B100000029000000A7000000AF +:102490003E000000E800000082000000350000005F +:1024A000F50000002E000000BB000000440000000A +:1024B00084000000E90000009C00000070000000A3 +:1024C00026000000B40000005F0000007E00000055 +:1024D000410000003900000091000000D60000001B +:1024E00039000000830000005300000039000000A4 +:1024F000F40000009C000000840000005F00000069 +:102500008B000000BD000000F90000002800000062 +:102510003B0000001F000000F800000097000000D2 +:10252000FF000000DE000000050000009800000031 +:102530000F000000EF0000002F000000110000005D +:102540008B0000005A0000000A0000006D0000002F +:102550001F0000006D000000360000007E0000003B +:10256000CF00000027000000CB00000009000000A1 +:10257000B70000004F000000460000003F000000D0 +:10258000660000009E0000005F000000EA000000FE +:102590002D0000007500000027000000BA000000B8 +:1025A000C7000000EB000000E5000000F1000000A3 +:1025B0007B0000003D000000070000003900000023 +:1025C000F70000008A0000005200000092000000A6 +:1025D000EA0000006B000000FB0000005F0000004C +:1025E000B10000001F0000008D0000005D00000031 +:1025F000080000005600000003000000300000004A +:1026000046000000FC0000007B0000006B000000A2 +:10261000AB000000F0000000CF000000BC00000094 +:10262000200000009A000000F400000036000000C6 +:102630001D000000A9000000E30000009100000060 +:10264000610000005E000000E60000001B000000CA +:1026500008000000650000009900000085000000EF +:102660005F00000014000000A000000068000000EF +:10267000400000008D000000FF000000D8000000B6 +:10268000800000004D0000007300000027000000E3 +:1026900031000000060000000600000015000000E8 +:1026A00056000000CA00000073000000A8000000EF +:1026B000C900000060000000E20000007B00000094 +:1026C000C00000008C0000006B0000000200000051 +:1026D0000300000004000000060000000000C93FE5 +:1026E0000000F0390000DA370000A2330000842E29 +:1026F0000000502B0000C2270000D0220000C41FA1 +:102700000000C61B00004417040000000700000082 +:1027100009000000FC200020000000000000000074 +:1027200000000000000000000000000000000100A8 +:10273000010001000100020002000200030003008A +:102740000300040004000500050006000600070061 +:10275000070008000800090009000A000B000B0030 +:102760000C000D000D000E000F00100010001100F5 +:1027700012001300140015001600160017001800B0 +:1027800019001A001B001C001D001E002000210063 +:1027900022002300240025002600280029002A000A +:1027A0002B002D002E002F003100320033003500A9 +:1027B0003600380039003A003C003D003F00400040 +:1027C000420044004500470048004A004C004D00CC +:1027D0004F005100520054005600570059005B0052 +:1027E0005D005F00600062006400660068006A00CF +:1027F0006C006E00700072007400760078007A0041 +:102800007C007E00800082008400860088008A00B0 +:102810008D008F0091009300950098009A009C0015 +:102820009E00A100A300A500A700AA00AC00AF0075 +:10283000B100B300B600B800BB00BD00BF00C200CD +:10284000C400C700C900CC00CE00D100D300D60020 +:10285000D800DB00DE00E000E300E500E800EB006C +:10286000ED00F000F300F500F800FB00FD000001B2 +:102870000301060108010B010E01110113011601EC +:1028800019011C011F012101240127012A012D0129 +:1028900030013301350138013B013E014101440162 +:1028A00047014A014D0150015301560159015C0194 +:1028B0005F016201650168016B016E0171017401C4 +:1028C00077017A017D0180018301860189018C01F4 +:1028D0008F019201950198019B019E01A101A40124 +:1028E000A801AB01AE01B101B401B701BA01BD014C +:1028F000C001C401C701CA01CD01D001D301D60175 +:10290000D901DD01E001E301E601E901EC01EF019C +:10291000F201F601F901FC01FF01020205020802C1 +:102920000C020F021202150218021B021E022102E3 +:10293000250228022B022E023102340237023A020B +:102940003E024102440247024A024D025002530233 +:1029500056025A025D0260026302660269026C025C +:102960006F027202750278027B027E02810284028B +:1029700087028A028D0290029302960299029C02BB +:102980009F02A202A502A802AB02AE02B102B402EB +:10299000B702BA02BD02C002C302C602C902CB021C +:1029A000CE02D102D402D702DA02DD02DF02E20255 +:1029B000E502E802EB02ED02F002F302F602F80291 +:1029C000FB02FE0201030303060309030B030E03CC +:1029D00011031303160319031B031E032003230310 +:1029E000260328032B032D0330033203350337035B +:1029F0003A033C033F0341034303460348034B03AD +:102A00004D034F0352035403570359035B035D0304 +:102A1000600362036403660369036B036D036F0362 +:102A200071037403760378037A037C037E038003C7 +:102A300082038403860388038A038C038E03900336 +:102A400092039403960398039A039C039E039F03A7 +:102A5000A103A303A503A703A803AA03AC03AD0323 +:102A6000AF03B103B203B403B603B703B903BA03A8 +:102A7000BC03BE03BF03C103C203C403C503C60333 +:102A8000C803C903CB03CC03CD03CF03D003D103C9 +:102A9000D303D403D503D603D803D903DA03DB0366 +:102AA000DC03DD03DE03E003E103E203E303E4030D +:102AB000E503E603E703E803E803E903EA03EB03BE +:102AC000EC03ED03EE03EE03EF03F003F103F10378 +:102AD000F203F303F303F403F503F503F603F6033C +:102AE000F703F703F803F803F903F903FA03FA030A +:102AF000FB03FB03FB03FC03FC03FC03FD03FD03DF +:102B0000FD03FD03FE03FE03FE03FE03FE03FE03BF +:102B1000FE03FE03FE03FE03FF03FE0301000600A7 +:102B20000100FFFF000002000400060008000A0088 +:102B30000C00110017001D0025002F003B0049006C +:102B400061007F00A700DF00250185010902B302B3 +:102B50009703C7045B0671089D0CDF124B1C6D2A9E +:102B6000913F575FFF8E7BD60201000001020408EF +:102B700010204080FF302E322E3637007A76677074 +:102B800074756F6965617A76677074756F69656170 +:102B90007A766770741B1B000E1115160F18131C24 +:102BA0000B1F251E4D595F444154412E48544D0082 +:102BB000554249545F4C4F475F46535F565F303034 +:102BC000320A006D696C6C697365636F6E647300C3 +:102BD0006D696E7574657300686F757273006461FA +:102BE00079730054696D6520280046554C002C000F +:102BF00030783030303030303030000030303030ED +:102C000000003C21646F63747970652068746D6C9A +:102C10003E3C6D65746120636861727365743D75D7 +:102C200074662D383E3C7374796C653E2E62627B0F +:102C3000646973706C61793A666C65787D2E626246 +:102C40003E2A2B2A7B6D617267696E2D6C656674F6 +:102C50003A313070787D626F64797B666F6E742D67 +:102C600066616D696C793A73616E732D7365726913 +:102C7000663B6D617267696E3A31656D7D74616244 +:102C80006C657B626F726465722D636F6C6C6170D2 +:102C900073653A636F6C6C617073653B6D617267ED +:102CA000696E2D746F703A31656D3B746578742D63 +:102CB000616C69676E3A72696768747D74723A66AE +:102CC000697273742D6368696C647B666F6E742DB2 +:102CD0007765696768743A3730307D74647B626FFA +:102CE000726465723A31707820736F6C6964202366 +:102CF0006464643B70616464696E673A3870783B01 +:102D00006D696E2D77696474683A3863687D6966A9 +:102D100072616D657B646973706C61793A6E6F6E18 +:102D2000657D3C2F7374796C653E3C73637269708A +:102D3000743E6C657420773D77696E646F772C64A0 +:102D40003D646F63756D656E742C6C3D772E6C6F92 +:102D5000636174696F6E2C6E3D6E756C6C2C637361 +:102D6000763D22222C7461673D642E637265617426 +:102D700065456C656D656E742E62696E64286429A4 +:102D80003B772E646C3D7B6D6F64653A22646566AB +:102D900061756C74222C646F776E6C6F61643A6637 +:102DA000756E6374696F6E28297B6C657420653D50 +:102DB00074616728226122293B652E646F776E6CEF +:102DC0006F61643D226D6963726F6269742E637313 +:102DD00076222C652E687265663D55524C2E6372C4 +:102DE000656174654F626A65637455524C286E65FF +:102DF0007720426C6F62285B6373765D2C7B7479FD +:102E000070653A22746578742F637376227D292960 +:102E10002C652E636C69636B28292C652E72656D99 +:102E20006F766528297D2C636F70793A66756E63BD +:102E300074696F6E28297B6E6176696761746F7241 +:102E40002E636C6970626F6172642E77726974654B +:102E500054657874286373762E7265706C6163654F +:102E6000282F5C2C2F672C225C742229297D2C753D +:102E700070646174653A616C6572742E62696E6427 +:102E8000286E2C22556E706C756720796F757220D4 +:102E90006D6963726F3A6269742C207468656E2084 +:102EA000706C7567206974206261636B20696E20A5 +:102EB000616E64207761697422292C636C6561728C +:102EC0003A616C6572742E62696E64286E2C2254AD +:102ED0006865206C6F6720697320636C656172653B +:102EE00064207768656E20796F75207265666C6105 +:102EF000736820796F7572206D6963726F3A6269C9 +:102F00007422292C6C6F61643A66756E6374696F04 +:102F10006E28297B6C657420613D642E7175657225 +:102F20007953656C6563746F722822237722292C8C +:102F30006F3D642E646F63756D656E74456C656D71 +:102F4000656E742E6F7574657248544D4C2E737097 +:102F50006C6974282246535F535441525422295BB2 +:102F6000325D3B6966282F5E554249545F4C4F479E +:102F70005F46535F565F3030322F2E74657374286E +:102F80006F29297B6C657420743D7061727365498B +:102F90006E743B766172206E3D74286F2E7375627D +:102FA0007374722832392C3130292C3136292D3264 +:102FB0003034383B6C657420653D303B666F722859 +:102FC0003B3635353333213D6F2E63686172436F75 +:102FD00064654174286E2B65293B29652B2B3B6367 +:102FE00073763D6F2E737562737472286E2C65292B +:102FF0003B6C657420723D303B666F72286C657463 +:1030000020653D303B653C6F2E6C656E6774683B98 +:103010002B2B6529723D33312A722B6F2E63686129 +:1030200072436F646541742865292C727C3D303B86 +:1030300076617220693D6C2E687265662E73706CC5 +:10304000697428223F22295B315D3B696628766FCF +:1030500069642030213D3D692969213D7226267031 +:103060006172656E742E706F73744D6573736167F2 +:1030700065282264696666222C222A22293B656C17 +:1030800073657B693D74286F2E7375627374722843 +:1030900031382C3130292C3136293B2246554C22EF +:1030A0003D3D3D6F2E73756273747228692D323009 +:1030B00034382B312C3329262628612E6170706517 +:1030C0006E644368696C64287461672822702229E1 +:1030D000292E696E6E6572546578743D224C4F4797 +:1030E0002046554C4C22293B6C6574206E3D612E68 +:1030F000617070656E644368696C642874616728E8 +:10310000227461626C652229293B6373762E737089 +:103110006C697428225C6E22292E666F7245616389 +:10312000682866756E6374696F6E2865297B6C65A7 +:103130007420743D6E2E696E73657274526F7728B9 +:10314000293B652626652E73706C697428222C2213 +:10315000292E666F72456163682866756E637469AF +:103160006F6E2865297B742E696E73657274436572 +:103170006C6C28292E696E6E6572546578743D6595 +:103180007D297D292C772E6F6E6D65737361676560 +:103190003D66756E6374696F6E2865297B2264696C +:1031A0006666223D3D652E6461746126266C2E7232 +:1031B000656C6F616428297D3B6C657420653B7389 +:1031C0006574496E74657276616C2866756E637499 +:1031D000696F6E28297B652626652E72656D6F7670 +:1031E0006528292C653D612E617070656E644368A9 +:1031F000696C64287461672822696672616D652252 +:1032000029292C652E7372633D6C2E687265662BBE +:10321000223F222B727D2C356533297D7D7D7D3CBF +:103220002F7363726970743E3C62617365206872CB +:1032300065663D68747470733A2F2F646174612EF3 +:103240006D6963726F6269742E6F72673E3C73635F +:1032500072697074207372633D76332F646C2E6ACA +:10326000733E3C2F7363726970743E3C7469746C76 +:10327000653E6D6963726F3A62697420646174615E +:10328000206C6F673C2F7469746C653E3C626F64A0 +:1032900079206F6E6C6F61643D646C2E6C6F61643D +:1032A00028293E3C6469762069643D773E3C68315C +:1032B0003E6D6963726F3A62697420646174612063 +:1032C0006C6F673C2F68313E3C64697620636C61AB +:1032D00073733D62623E3C627574746F6E206F6EF4 +:1032E000636C69636B3D646C2E646F776E6C6F61A9 +:1032F0006428293E446F776E6C6F61643C2F627561 +:1033000074746F6E3E3C627574746F6E206F6E6382 +:103310006C69636B3D646C2E636F707928293E4342 +:103320006F70793C2F627574746F6E3E3C62757479 +:10333000746F6E206F6E636C69636B3D646C2E7589 +:10334000706461746528293E5570646174652064F9 +:10335000617461266D6C64723B3C2F627574746F8E +:103360006E3E3C627574746F6E206F6E636C696341 +:103370006B3D646C2E636C65617228293E436C65FD +:103380006172206C6F67266D6C64723B3C2F6275B6 +:1033900074746F6E3E3C2F6469763E3C70206964A5 +:1033A0003D763E4F66666C696E653A206E6F20769C +:1033B000697375616C20707265766965773C2F64FE +:1033C00069763E2020202020202020202020202040 +:1033D00020202020202020202020202020202020ED +:1033E00020202020202020202020202020202020DD +:1033F0002020202020203C212D2D46535F53544176 +:103400005254D8ECF0F4F8FC0004676967676C6507 +:1034100000303130323330393838303139303038AB +:10342000343430303434303038383831303233306E +:103430003031363031303033333030323430303078 +:10344000303030303030303030303030303030307C +:103450003030303030303030302C31313032333267 +:10346000353730303837343131343430303434302B +:10347000303838383033353230303539303130301B +:103480003333303030313030303030303030303035 +:10349000303030303030303130303030303030302B +:1034A00030302C33313032333237323930323131FF +:1034B00030353434303238383930383838303039C3 +:1034C00031303036333030303030303030323430EC +:1034D00037303030323030303030303030303030E3 +:1034E00030333030303030303030302C33313032D7 +:1034F000333237323930313032303534343032389B +:10350000383930383838303039313030363330307F +:10351000303030303030323430373030303230309C +:103520003030303030303030303033303030303098 +:10353000303030302C333130323332373239303171 +:103540003134303534343032383839303838383036 +:103550003039313030363330303030303030303256 +:10356000343037303030323030303030303030304E +:10357000303030333030303030303030300068610F +:10358000707079003031303233313939323036367B +:1035900039313134343030343430303838383032F6 +:1035A00036323030323830303030313830303032FE +:1035B0003035303030303030303030303030303006 +:1035C0003031303030303030303030302C303032FC +:1035D00033323231323930323935303834343032B6 +:1035E00034303430383838303030303030303430B7 +:1035F00030303232343030313130303030303030C1 +:1036000030303030303030303030303735303030AE +:1036100030303030302C30303030303231323930A0 +:103620003239353039343430323430343038383857 +:103630003031343530303034303030323234303074 +:103640003131303030303030303030303030303078 +:103650003030303037353030303030303030006856 +:10366000656C6C6F00333130323330363733303184 +:103670003937303234343031313837303838383106 +:103680003032333031323830303030303030303228 +:103690003430303030303030303030303030303026 +:1036A000303030303030303030303030302C33301B +:1036B00030303031303634303031363032343430EE +:1036C00030393831303838383030303030313238C5 +:1036D00030303030303130303034303030303030E5 +:1036E00030303030303030303030303030303030DA +:1036F0003030303030302C333130323331303634BA +:10370000303239333032343430303938313038387F +:10371000383130323330313238303030303031308F +:103720003030343030303030303030303030303095 +:1037300030303030303030303030303030303000B9 +:103740006D7973746572696F757300343030303021 +:103750003233393030333331303034343032343046 +:103760003430383838303437373030303430303027 +:10377000323234303031313034303030303030303B +:103780003030303030303030303830303030303031 +:103790003030302C343035353132383435333835FB +:1037A00030303034343030343430303838383030F1 +:1037B00030303031323830333031303530303136EE +:1037C00030303030303030303030303030303030F9 +:1037D0003038353030303530303031350073616459 +:1037E00000333130323332323236303730383031E4 +:1037F0003434303136323430383838313032333096 +:1038000031323830303030303130303234303030A6 +:1038100030303030303030303030303030303030A8 +:103820003030303030303030302C33313032333192 +:10383000363233303933363032343430303933394C +:103840003038383830303030303132383030303055 +:103850003031303032343030303030303030303061 +:103860003030303030303030303030303030303058 +:10387000303000736C69646500313035323032337A +:103880003235303232333032343430323430343016 +:1038900038383831303233303132383031303230FC +:1038A0003030303131303430303030303030303012 +:1038B0003030303030303130303030303030303007 +:1038C000302C3031303233323532303039313030E3 +:1038D00032343430303434303038383831303233B8 +:1038E00030313238303130323234303031313034BE +:1038F00030303030303030303030303030303031C7 +:103900003030303030303030303000736F617269B9 +:103910006E6700323130323334303039353330393C +:10392000303534343035393939303838383130324F +:103930003330303232303230303034303030323078 +:103940003235303030303030303030303030303070 +:1039500032303030303030303030302C3430323261 +:103960003333373237323733303134343430303424 +:103970003430303838383030303030303331303126 +:10398000303234343030303330303030303030302A +:103990003030303030303030303030303030303027 +:1039A0003030303000737072696E670033303635F6 +:1039B00039303033373131363331323434303035D9 +:1039C00038373038383830383037303033343030BA +:1039D00030303030303032343030303030303030E1 +:1039E00030303030303030303035303030303030D2 +:1039F000303030302C3031303233303033373131B9 +:103A00003633313334343030353837303838383174 +:103A1000303233303033313030303030303030329B +:103A20003430303030303030303030303030303092 +:103A30003030353030303030303030303000747726 +:103A4000696E6B6C6500303130313830303037366C +:103A50003732323039343430303735363038383820 +:103A60003038353530313238303030303030303039 +:103A70003234303030303030303030303030303040 +:103A8000303030303030303030303030303000791D +:103A900061776E003230303030323238313133338A +:103AA00032303234343031353030303838383130EB +:103AB00032333031323830313032343130303234E8 +:103AC00030343030303330303030303030303030EF +:103AD0003031303030303030303030302C303035E4 +:103AE00033313235323030393130303234343030B5 +:103AF000343430303838383036333630313238308C +:103B000031303232343030313130333030303030A7 +:103B100030303030303030303030313030303030A4 +:103B200030303030302C303038323230373834307A +:103B3000313930303834343030343430303838384B +:103B40003036383130303136303030303535303055 +:103B5000323430303030303030303030303030305F +:103B600030303030353030303030303030302C3054 +:103B70003034373930373834303139303038343404 +:103B80003030343430303838383032393830303101 +:103B90003630303030303030303234303030303019 +:103BA0003030303030303030303030303035303010 +:103BB000303030303030302C3030333231303738F4 +:103BC00034303139303038343430303434303038C7 +:103BD00038383031303830303136303030303333BF +:103BE00030303038303030303030303030303030CD +:103BF00030303030303035303030303030303030C0 +:103C000000302C302C3235352C302C300A302C3210 +:103C100035352C302C302C300A3235352C323535B8 +:103C20002C3235352C3235352C3235350A302C32A4 +:103C300035352C302C302C300A302C302C323535A8 +:103C40002C302C300A00302C302C302C302C300A08 +:103C5000302C302C302C302C3235350A302C302C96 +:103C6000302C3235352C300A3235352C302C32356B +:103C7000352C302C300A302C3235352C302C302C71 +:103C8000300A003235352C302C302C302C32353582 +:103C90000A302C3235352C302C3235352C300A3068 +:103CA0002C302C3235352C302C300A302C32353536 +:103CB0002C302C3235352C300A3235352C302C3026 +:103CC0002C302C3235350A005265626F6F744D6F9F +:103CD00064650020563200424243206D6963726F72 +:103CE0003A62697400FFFF14000500FFFFFFFFFF49 +:103CF000FFFFFFFFFFFFFF00FFFFFF000000FFFFD0 +:103D0000FFFFFFFFFFFF00FFFFFF000000FF0000BD +:103D1000000000FFFF00FFFFFF000000FF000000A9 +:103D200000000000000000FFFFFFFFFFFFFF00FF9B +:103D3000FFFF000000FF0000000000FFFFFFFFFF8B +:103D4000FFFFFFFFFFFFFF00FFFFFF000000FF007E +:103D500000FFFF00FF00FF00FF00FFFFFF00FF006C +:103D6000FF00FF0000FFFF00D8ECF0F4F8FC0004B7 +:103D7000666C617368496E636F6D706C6574650025 +:103D8000E97D0000251D470AA062FA1922DFA9A8D3 +:103D90000000000100020003000401000101010213 +:103DA00001030104020002010202020302040300F3 +:103DB00003010302030303040400040104020403D7 +:103DC0000404636F6D7061737343616C00302C3257 +:103DD00035352C302C3235352C300A302C323535F7 +:103DE0002C302C3235352C300A302C302C302C3005 +:103DF0002C300A3235352C302C302C302C323535E5 +:103E00000A302C3235352C3235352C3235352C30C4 +:103E10000A0054494C5420544F2046494C4C2053DE +:103E2000435245454E2000000001000200030004FB +:103E3000000001010102010301040100020102026C +:103E4000020302040200030103020303030403004C +:103E5000040104020403040404E95D0000251D4775 +:103E60000AA062FA1922DFA9A800000000000808D1 +:103E70000800080A4A4000000A5FEA5FEA0ED92EED +:103E8000D36E19324489330C924C924D08080000CD +:103E90000004880808040804848488000A448A40CE +:103EA00000048EC480000000048800000EC00000E2 +:103EB0000000080001224488100C9252524C048CDD +:103EC00084848E1C824C901E1EC244924C06CA52A0 +:103ED0005FE21FF01EC13E02448ED12E1FE24488D5 +:103EE000100ED12ED12E0ED12EC48800080008004D +:103EF00000048004880244880482000EC00EC008BA +:103F0000048244880ED126C0040ED135B36C0C92C5 +:103F10005ED2521C925C925C0ED010100E1C92521B +:103F2000525C1ED01C901E1ED01C90100ED013711F +:103F30002E12525ED2521C8808081C1FE242524CBC +:103F40001254981492101010101E113B75B13111BB +:103F50003935B3710C9252524C1C925C90100C92F9 +:103F6000524C861C925C92510ED00C825C1FE484F1 +:103F70008484125252524C1131312A44113135BBD2 +:103F80007112524C9252112A4484841EC488101E0D +:103F90000EC808080E10080482410EC242424E04A8 +:103FA0008A400000000000001F0804800000000E8E +:103FB000D2524F10101C925C000ED0100E02424ED6 +:103FC000D24E0C925C900E06C81C88080ED24EC2CF +:103FD0004C10101C92520800080808024002424C83 +:103FE00010149814920808080806001B75B13100D7 +:103FF0001C925252000C92524C001C925C90000E8B +:10400000D24EC2000ED010100006C8049808080E48 +:10401000C807001252524F0011312A4400113135A5 +:10402000BB00124C8C9200112A4498001EC4881EBA +:1040300006C48C8486080808080818080C8818002C +:10404000000C83600010020150EADA308883B89FC8 +:10405000604F15F30000C98E6D61696E2E70790096 +:104060006C696E652025752000257120004D505922 +:104070003A20736F6674207265626F6F740A00462F +:104080004154414C3A20756E636175676874204EE7 +:104090004C522025700A00FF89676573747572653C +:1040A00000FF89736F756E6400FF8B97E5BB4175E8 +:1040B00064696F5265636F7264696E6700FF64754F +:1040C000726174696F6E9B8FAC00FF726174659B47 +:1040D0008FAC00536F756E644576656E7428272526 +:1040E00071272900FF492F4FF36F6E20636C6F73A8 +:1040F00065642066696C6500696C6C6567616C203D +:104100006D6F646500FF9F9B8FAC00FFADD2F48F95 +:10411000E400FF919B8FA100FF8797E400FFD09BF5 +:104120008FAC00FF897069746368005479706545CD +:1041300072726F723A20657870656374696E672079 +:10414000612073747220666F72206E6F74650A004E +:10415000FF74657874A3F100FF636F756C648770FA +:104160006172736520696E70757400476C69746361 +:104170006865733A2025640D0A0004007261772097 +:104180005245504C3B204354524C2D4220746F20DA +:10419000657869740D0A005201004F4B003B206D99 +:1041A0006963726F3A6269742076322E312E312043 +:1041B00077697468206E524635323833330054794B +:1041C0007065202268656C7028292220666F722035 +:1041D0006D6F726520696E666F726D6174696F6E66 +:1041E0002E0D0A003E3E3E20000D0A70617374657C +:1041F000206D6F64653B204374726C2D4320746F97 +:104200002063616E63656C2C204374726C2D4420B6 +:10421000746F2066696E6973680D0A3D3D3D20002C +:104220002E2E2E2000636F756C64206E6F742066D6 +:10423000696E64206D6F64756C6520272573270A8D +:104240000052000045727220333636383300457212 +:1042500072203336383934000000000000000000BE +:10426000000000000000000000000000000000004E +:1042700000000000000000000002020202020282B0 +:10428000000002020202020203030303030303030A +:10429000030302020202020202C0A8B0ACC0A0B82E +:1042A000A0C0BCA0ACA8ACC0A0A0ACB4A4C0A8A83E +:1042B000B0C0BC000000020020209B20C0B920CD6F +:1042C000A34C8A8E284129BD2821293DAE282229C8 +:1042D000203D2D4148354E4B574F5754AD2822298C +:1042E0003D4B574F573454AD2823293D204E41486C +:1042F000344D4245D22824293D20444141344C4587 +:10430000D22825293D20504552534548344ED428C3 +:1043100026293D2041454EC4282729BD282A293D6C +:104320002041453453544552494853CB282B293D0D +:1043300020504C414834D3282C293DAC20282D292D +:10434000203DAD282D29BD282E293D20504F594E06 +:10435000D4282F293D20534C41453453C8283029B7 +:104360003D205A495934524FD72028315354293DC2 +:104370004645523453D4202831305448293D5445C1 +:1043800048344E54C82831293D2057414834CE2066 +:1043900028324E44293D534548344B554EC42832AB +:1043A000293D20545557B42028335244293D5448C0 +:1043B000455234C42833293D205448524959B42821 +:1043C00034293D20464F4834D22028355448293DD1 +:1043D000464948344654C82835293D204641593479 +:1043E000D62028363429203D534948344B5354496C +:1043F0005920464F48D22836293D20534948344B4E +:10440000D32837293D20534548345655CE202838E7 +:104410005448293D45593454C82838293D20455928 +:1044200034D42839293D204E415934CE283A293DEB +:10443000AE283B293DAE283C293D204C454834530D +:104440002044484145CE283D293D204959344B5709 +:10445000554CDA283E293D2047524559345445529F +:104460002044484145CE283F293DBF2840293D20D2 +:10447000414536D4285E293D204B414534524958A8 +:10448000D45DC15DC12028412E293D454834592EB7 +:10449000A0284129203D41C8202841524529203DDE +:1044A0004141D220284152294F3D4158D228415202 +:1044B00029233D454834D2205E28415329233D45D8 +:1044C0005934D328412957413D41D8284157293DE6 +:1044D000414FB5203A28414E59293D4548344E496F +:1044E000D92841295E2B233D4559B5233A28414C13 +:1044F0004C59293D554C49D92028414C29233D553B +:10450000CC28414741494E293D415847454834CE82 +:10451000233A28414729453D4948CA2841295E2573 +:104520003D45D92841295E2B3A233D41C5203A28F3 +:1045300041295E2B203D4559B42028415252293D46 +:104540004158D228415252293D414534D2205E285B +:10455000415229203D414135D2284152293D414116 +:1045600035D228414952293D454834D2284149296C +:104570003D4559B4284159293D4559B5284155294A +:104580003D414FB4233A28414C29203D55CC233A94 +:1045900028414C5329203D554CDA28414C4B293DAC +:1045A000414F34CB28414C295E3D414FCC203A2825 +:1045B00041424C45293D4559344255CC2841424C55 +:1045C00045293D41584255CC284129564F3D455932 +:1045D000B428414E47292B3D4559344ECA284154F1 +:1045E000415249293D4148544141345249D9284119 +:1045F00029544F4D3D41C52841295454493D41C599 +:104600002028415429203D4145D420284129543DAA +:1046100041C82841293D41C55DC220284229203D8D +:10462000424959B420284245295E233D4249C828C1 +:104630004245494E47293D4249593449484ED820C0 +:1046400028424F544829203D424F573454C820280F +:1046500042555329233D42494834DA2842524541C4 +:104660004B293D4252455935CB284255494C293DAD +:1046700042494834CC2842293DC25DC32028432901 +:10468000203D534959B420284348295E3DCB5E451F +:10469000284348293DCB284348412952233D4B45D7 +:1046A00048B5284348293D43C82053284349292376 +:1046B0003D534159B428434929413D53C8284349F2 +:1046C000294F3D53C828434929454E3D53C82843E7 +:1046D000495459293D5349485449D92843292B3D28 +:1046E000D328434B293DCB28434F4D4D4F444F5288 +:1046F00045293D4B4141344D4148444F48D2284320 +:104700004F4D293D4B4148CD2843554954293D4BF8 +:104710004948D42843524541293D4B52495945D92E +:104720002843293DCB5DC420284429203D444959D4 +:10473000B4202844522E29203D444141344B544555 +:10474000D2233A2844454429203D444948C42E45B3 +:10475000284429203DC4233A5E45284429203DD4DD +:1047600020284445295E233D4449C82028444F2938 +:10477000203D4455D72028444F4553293D444148C6 +:10478000DA28444F4E4529203D44414835CE28443F +:104790004F494E47293D4455573449484ED8202863 +:1047A000444F57293D4441D72328445529413D4A88 +:1047B00055D723284455295E233D4A41D82844290A +:1047C0003DC45DC520284529203D49594959B42398 +:1047D0003A28452920BD273A5E28452920BD203AA0 +:1047E000284529203D49D92328454429203DC42373 +:1047F0003A2845294420BD2845562945523D45487B +:1048000034D62845295E253D4959B42845524929C1 +:10481000233D4959345249D928455249293D4548F3 +:10482000345249C8233A28455229233D45D22845C8 +:1048300052524F52293D454834524F48D228455292 +:10484000415345293D494852455935D328455229B8 +:10485000233D4548D2284552293D45D2202845567A +:10486000454E293D4959564548CE233A28452957B2 +:10487000BD40284557293D55D7284557293D59550D +:10488000D72845294F3D49D9233A26284553292081 +:104890003D4948DA233A2845295320BD233A284583 +:1048A0004C5929203D4C49D9233A28454D454E5471 +:1048B000293D4D45484ED4284546554C293D465541 +:1048C00048CC284545293D4959B4284541524E29EF +:1048D0003D455235CE2028454152295E3D4552B5D1 +:1048E00028454144293D4548C4233A2845412920CB +:1048F0003D495941D82845412953553D4548B5289A +:104900004541293D4959B52845494748293D45591B +:10491000B4284549293D4959B42028455945293DE0 +:104920004159B4284559293D49D9284555293D596A +:104930005557B528455155414C293D4959344B5798 +:1049400055CC2845293D45C85DC620284629203D2F +:10495000454834C62846554C293D465548CC28463E +:104960005249454E44293D46524548354EC4284695 +:104970004154484552293D46414134444845D22896 +:10498000462946BD2846293DC65DC720284729201F +:104990003D4A4959B428474956293D47494835D6E3 +:1049A00020284729495E3DC728474529543D4745AA +:1049B00048B553552847474553293D474A4548344C +:1049C000D3284747293DC72042232847293DC728E8 +:1049D00047292B3DCA284752454154293D47524556 +:1049E0005934D428474F4E29453D47414F35CE23B2 +:1049F00028474829BD2028474E293DCE2847293D34 +:104A0000C75DC820284829203D45593443C820287F +:104A1000484156293D2F48414536D6202848455221 +:104A200045293D2F484959D22028484F5552293D04 +:104A300041573545D228484F57293D2F4841D7285F +:104A40004829233D2FC8284829BD5DC92028494E43 +:104A5000293D4948CE20284929203D4159B42849BB +:104A600029203D41D928494E29443D415935CE534D +:104A7000454D2849293D49D920414E542849293DD1 +:104A800041D928494552293D495945D2233A52280E +:104A900049454429203D4959C42849454429203DD8 +:104AA000415935C42849454E293D49594548CE28E4 +:104AB000494529543D41593445C8284927293D4194 +:104AC00059B5203A2849295E253D4159B5203A2853 +:104AD000494529203D4159B4284929253D49D9282E +:104AE0004945293D4959B4202849444541293D417A +:104AF000594449593541C82849295E2B3A233D4933 +:104B0000C828495229233D4159D228495A29253DCF +:104B10004159DA28495329253D4159DA495E284946 +:104B2000295E233D49C82B5E2849295E2B3D41D98A +:104B3000233A5E2849295E2B3D49C82849295E2B26 +:104B40003D41D9284952293D45D228494748293D68 +:104B50004159B428494C44293D4159354CC4202879 +:104B600049474E293D494847CE2849474E29203DCF +:104B7000415934CE2849474E295E3D415934CE280B +:104B800049474E29253D415934CE284943524F29A2 +:104B90003D4159344B524FC82849515545293D494B +:104BA0005934CB2849293D49C85DCA20284A2920C3 +:104BB0003D4A4559B4284A293DCA5DCB20284B2996 +:104BC000203D4B4559B420284B294EBD284B293D4B +:104BD000CB5DCC20284C29203D454834CC284C4F77 +:104BE0002943233D4C4FD74C284C29BD233A5E28FE +:104BF0004C29253D55CC284C454144293D4C49592B +:104C0000C420284C41554748293D4C414534C628CD +:104C10004C293DCC5DCD20284D29203D454834CD43 +:104C200020284D522E29203D4D494834535445D219 +:104C300020284D532E293D4D494835DA20284D5224 +:104C4000532E29203D4D494834534958DA284D4FB9 +:104C500056293D4D555734D6284D414348494E2994 +:104C60003D4D41485348495935CE4D284D29BD2821 +:104C70004D293DCD5DCE20284E29203D454834CEDE +:104C800045284E47292B3D4ECA284E4729523D4EB6 +:104C900058C7284E4729233D4E58C7284E474C2910 +:104CA000253D4E584755CC284E47293D4ED8284ED5 +:104CB0004B293D4E58CB20284E4F5729203D4E4181 +:104CC00057B44E284E29BD284E4F4E29453D4E41E2 +:104CD0004834CE284E293DCE5DCF20284F29203D97 +:104CE0004F4834D7284F4629203D4148D620284FE9 +:104CF0004829203D4F57B5284F524F554748293D29 +:104D00004552344FD7233A284F5229203D45D223CC +:104D10003A284F525329203D4552DA284F52293D17 +:104D2000414FD220284F4E45293D574148CE232898 +:104D30004F4E4529203D574148CE284F57293D4FDA +:104D4000D720284F564552293D4F57355645D2500A +:104D500052284F29563D5557B4284F56293D4148B2 +:104D600034D6284F295E253D4F57B5284F295E453B +:104D70004E3D4FD7284F295E49233D4F57B5284F09 +:104D80004C29443D4F5734CC284F55474854293D72 +:104D9000414F35D4284F554748293D414835C62015 +:104DA000284F55293D41D748284F552953233D4188 +:104DB00057B4284F5553293D4158D3284F555229B0 +:104DC0003D4F48D2284F554C44293D554835C428BD +:104DD0004F55295E4C3D4148B5284F5550293D550A +:104DE0005735D0284F55293D41D7284F59293D4F98 +:104DF000D9284F494E47293D4F573449484ED82866 +:104E00004F49293D4F59B5284F4F52293D4F4835FD +:104E1000D2284F4F4B293D554835CB46284F4F445C +:104E2000293D555735C44C284F4F44293D414835FD +:104E3000C44D284F4F44293D555735C4284F4F4442 +:104E4000293D554835C446284F4F54293D554835CE +:104E5000D4284F4F293D5557B5284F27293D4FC8D6 +:104E6000284F29453D4FD7284F29203D4FD7284F60 +:104E700041293D4F57B420284F4E4C59293D4F579B +:104E8000344E4C49D920284F4E4345293D5741487F +:104E9000344ED3284F4E2754293D4F57344ED443D8 +:104EA000284F294E3D41C1284F294E473D41CF2033 +:104EB0003A5E284F294E3D41C849284F4E293D555D +:104EC000CE233A284F4E293D55CE235E284F4E29FA +:104ED0003D55CE284F2953543D4FD7284F46295E84 +:104EE0003D414F34C6284F54484552293D4148352D +:104EF000444845D252284F29423D5241C15E522872 +:104F00004F293A233D4F57B5284F535329203D4150 +:104F10004F35D3233A5E284F4D293D4148CD284F88 +:104F2000293D41C15DD020285029203D504959B428 +:104F3000285048293DC62850454F504C293D5049DE +:104F400059355055CC28504F57293D504157B4281A +:104F500050555429203D505548D428502950BD283B +:104F6000502953BD2850294EBD2850524F462E2956 +:104F70003D50524F48464548345345D22850293D6C +:104F8000D05DD120285129203D4B595557B4285187 +:104F9000554152293D4B574F4835D2285155293D4F +:104FA0004BD72851293DCB5DD220285229203D41A5 +:104FB0004135D220285245295E233D5249D92852F5 +:104FC0002952BD2852293DD25DD320285329203DA6 +:104FD000454834D3285348293D53C8232853494FC3 +:104FE0004E293D5A4855CE28534F4D45293D5341F2 +:104FF00048CD232853555229233D5A4845D228539A +:10500000555229233D534845D22328535529233D42 +:105010005A4855D7232853535529233D534855D72C +:105020002328534544293D5AC423285329233DDAD4 +:105030002853414944293D534548C45E2853494FAC +:105040004E293D534855CE28532953BD2E28532968 +:10505000203DDA233A2E45285329203DDA233A5EB3 +:1050600023285329203DD355285329203DD3203AC6 +:1050700023285329203DDA2323285329203DDA20F1 +:1050800028534348293D53CB285329432BBD23287C +:10509000534D293D5A55CD2328534E29273D5A5566 +:1050A000CD2853544C45293D5355CC2853293DD345 +:1050B0005DD420285429203D544959B4202854480F +:1050C000452920233D444849D920285448452920D2 +:1050D0003D444841D828544F29203D5455D82028D4 +:1050E00054484154293D44484145D4202854484916 +:1050F0005329203D44484948D3202854484559293C +:105100003D444845D920285448455245293D444806 +:105110004548D22854484552293D444845D2285450 +:1051200048454952293D44484548D22028544841E1 +:105130004E29203D44484145CE20285448454D291C +:10514000203D44484145CE28544845534529203DFB +:1051500044484959DA20285448454E293D44484599 +:1051600048CE285448524F554748293D5448525537 +:1051700057B42854484F5345293D44484F48DA28EE +:1051800054484F55474829203D44484FD728544F4D +:10519000444159293D5455584445D928544F4D4F01 +:1051A0002952524F573D54554D4141B528544F292E +:1051B00054414C3D544F57B5202854485553293D30 +:1051C0004448414834D3285448293D54C8233A28F8 +:1051D000544544293D544958C45328544929234E21 +:1051E0003D43C8285449294F3D53C82854492941B3 +:1051F0003D53C8285449454E293D534855CE28545F +:10520000555229233D434845D228545529413D4311 +:105210004855D7202854574F293D5455D726285450 +:1052200029454E20BD2854293DD45DD52028552937 +:10523000203D595557B42028554E29493D595557B9 +:10524000CE2028554E293D4148CE202855504F4E5E +:10525000293D415850414FCE4028555229233D55B4 +:105260004834D228555229233D59554834D228551F +:1052700052293D45D22855295E203D41C82855294F +:105280005E5E3D4148B5285559293D4159B52047F5 +:1052900028552923BD4728552925BD4728552923A9 +:1052A0003DD7234E2855293D5955D7402855293DEE +:1052B00055D72855293D5955D75DD6202856292040 +:1052C0003D564959B42856494557293D56595557D1 +:1052D000B52856293DD65DD720285729203D444181 +:1052E000483442554C5955D7202857455245293DF9 +:1052F0005745D22857412953483D5741C128574166 +:105300002953543D5745D928574129533D5741C842 +:1053100028574129543D5741C128574845524529EE +:105320003D57484548D22857484154293D574841A0 +:1053300048D42857484F4C293D2F484F57CC285721 +:10534000484F293D2F4855D7285748293D57C82849 +:1053500057415229233D574548D228574152293DAC +:1053600057414FD228574F52295E3D5745D22857B3 +:1053700052293DD228574F4D29413D575548CD28F8 +:10538000574F4D29453D574948CD2857454129524A +:105390003D5745C82857414E54293D574141354E48 +:1053A000D4414E5328574552293D45D22857293DCF +:1053B000D75DD820285829203D4548344BD2202895 +:1053C00058293DDA2858293D4BD35DD92028592941 +:1053D000203D574159B428594F554E47293D594111 +:1053E000484ED82028594F5552293D594F48D22070 +:1053F00028594F55293D5955D72028594553293DFE +:10540000594548D3202859293DD9462859293D4195 +:10541000D9505328594348293D4159CB233A5E2856 +:1054200059293D49D9233A5E285929493D49D9206E +:105430003A285929203D41D9203A285929233D416C +:10544000D9203A2859295E2B3A233D49C8203A28C9 +:1054500059295E233D41D92859293D49C85DDA20A3 +:10546000285A29203D5A4959B4285A293DDAEA7D5B +:105470007E7E7F8081828282848484848485878703 +:105480008888898A8B8B8C8C8C0095F7A239C5060D +:105490007EC726374E91F155A1FE24452DA73653E0 +:1054A0002E47DA50686F6E656D657320746F6F20DC +:1054B0006C6F6E6700496C6C6567616C2070697415 +:1054C00063680050686F6E656D65206E6F7420753F +:1054D0006E64657273746F6F6400496E70757420CA +:1054E00070686F6E656D657300494E5445524E414C +:1054F0004C204552524F523A20496C6C6567616CA2 +:105500002070686F6E656D6520696E64657800490E +:105510006E7365727420427265616474680D005028 +:10552000726F6365737365642070686F6E656D6517 +:1055300073000000000000A4A4A4A4A4A48484A474 +:10554000A48484848484848444444444444C4C4CE3 +:10555000484C4040404040404444444448404C440F +:105560000000B4B4B49494944E4E4E4E4E4E4E4EF3 +:105570004E4E4E4E4B4B4B4B4B4B4B4B4B4B4B4B6F +:1055800080C1C180C1C1C1C1000000000000000095 +:105590000000000000000000000010101010080CB7 +:1055A000080440242020240000242020242020005F +:1055B00020000000000000000000000004040400BF +:1055C00000000000000000000404040000000000CF +:1055D00000202E3F2C2D494945414141415541492B +:1055E00045554F524C575957524C57594D4E4E44B2 +:1055F00051535346542F2F5A5A5644432A4A2A2A63 +:105600002A45414F414F55422A2A442A2A472A2AED +:10561000472A2A502A2A542A2A4B2A2A4B2A2A5510 +:1056200055552A2A2A2A2A5948484541484F485858 +:105630005852584858585858482A2A2A2A2A2A5824 +:10564000582A2A482A4848582A482A48482A2A2AAA +:105650002A2A5959595757572A2A2A2A2A2A2A2A96 +:105660002A582A2A2A2A2A2A2A2A2A2A2A582A2A3E +:105670004C4D4E2A3132333435363738001212123F +:1056800008080808080B060C0A05050B0A0A0A098F +:1056900008070907060806070707020502020202B3 +:1056A00002020606070606020803011E0D0C0C0C7A +:1056B0000E090601020501010601020601020802A7 +:1056C00002040202060104060104C7FF00121212BE +:1056D000080B090B0E0F0B100C06060E0C0E0C0B14 +:1056E00008080B0A09080808080803050202020254 +:1056F0000202060608060602090402010E0F0F0F39 +:105700000E0E080202070201070202070202080247 +:105710000206020207020407010405053D3D3D3D66 +:105720003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3DA9 +:105730003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D99 +:105740003D3D3D3D3D3D3D0D0025733A0D0A0D0AA1 +:1057500000206964782020202070686F6E656D6578 +:1057600020206C656E677468202073747265737393 +:105770000D0020253369202020202020256325636B +:1057800020202020202025336920202020202020B8 +:1057900025690D0A00202533692020202020203F84 +:1057A0003F20202020202025336920202020202079 +:1057B0002025690D0A0046696E616C206461746180 +:1057C00020666F7220737065656368206F757470F2 +:1057D00075742E202569206672616D65733A0D0A15 +:1057E0000D0A0020666C61677320616D706C31205A +:1057F000667265713120616D706C32206672657100 +:105800003220616D706C332066726571332070696F +:105810007463680D002D2D2D2D2D2D2D2D2D2D2D4D +:105820002D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2DA8 +:105830002D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D98 +:105840002D2D2D2D2D0D002535692025356920257F +:1058500035692025356920253569202535692025BC +:105860003569202535690D0A00FFBEA3F1005128D6 +:105870002573290A00617267756D656EF461726740 +:10588000756D656E74F366756E6374696FEE636152 +:105890006E27F4272573A76D7573F46F626A6563CD +:1058A000F46E6FF4666F726D61F4696E76616C69A7 +:1058B000E4272571A7657870656374696EE7737472 +:1058C00072696EE762E5657870656374F36FE6741C +:1058D000EF76616C75E56B6579776F72E4706F7365 +:1058E0006974696F6E61EC7370656369666965F20E +:1058F000636F6E766572F4666FF261EEE16172E776 +:10590000696E74656765F26F75F4747970E525E406 +:1059100069EE696E6465F869736E27F472616E678B +:10592000E572657175697265E4746FEF756E737514 +:1059300070706F727465E461737369676E6D656E24 +:10594000F4646F65736E27F46F7574736964E56151 +:1059500074747269627574E567656E657261746FFF +:10596000F269F3737570706F727465E4626F756ECF +:1059700064F363616E6E6FF46C656E6774E86E65F8 +:105980006761746976E572657175697265F373654F +:105990007175656E63E5776974E8616C6C6F776546 +:1059A000E4636F6D706C65F8656D7074F96D6178A6 +:1059B000696D75ED6D697373696EE76964656E7421 +:1059C00069666965F2756E65787065637465E46E25 +:1059D000756D6265F26FF266726FED6861F36E610C +:1059E0006DE57265646566696E65E461667465F2AD +:1059F00062797465F365787065637465E4666965FA +:105A00006CE4696D6167E56D756C7469706CE56E69 +:105A10006F6E6C6F6361EC6F766572666C6FF772B8 +:105A2000656769737465F274616B65F3696E6469C7 +:105A30006365F3696EF4756E6B6E6F77EE64696320 +:105A4000F46D616EF96EEF73697AE57A6572EF64F1 +:105A5000656C6574E5696D706F72F46D6574686F7F +:105A6000E473706563696669636174696FEE737985 +:105A70006E7461F876616C7565F369737375626352 +:105A80006C61737328A925F125F361F4636C61736C +:105A9000F3666F756EE467697665EE696E737472AE +:105AA000756374696FEE6C616265EC6E656564F3D5 +:105AB0007475706CE577726F6EE7417564696F4657 +:105AC00072616DE5417564696F54726163EB616C7D +:105AD0006C6F636174696FEE6272696768746E659A +:105AE00073F365787072657373696FEE696E636FD7 +:105AF0006D706C6574E5706172616D65746572F3EB +:105B0000617373656D626C65F26175746F6D61745C +:105B100069E36368617261637465F2686176E5697F +:105B20006E746567657273AC6C6973F46C6F6EE765 +:105B30006E756D626572696EE76F7065726174692A +:105B40006FEE656C656D656E74F3B161646472656A +:105B500073F3616EE46275F464656661756CF46498 +:105B60006566696E65E46661696C6564AC7365F46D +:105B7000737065636961EC737570706F72F474684B +:105B8000E50025236F00252378002E66726F7A6565 +:105B90006E003267003367003667003867003C7379 +:105BA0007464696E3E003C737472696E673E0041B6 +:105BB0004C4C5F4152524F575300414C4C5F434C49 +:105BC0004F434B5300414E475259004152524F5799 +:105BD0005F45004152524F575F4E004152524F575E +:105BE0005F4E45004152524F575F4E57004152524F +:105BF0004F575F53004152524F575F534500415238 +:105C0000524F575F5357004152524F575F57004111 +:105C1000534C45455000417564696F4672616D652E +:105C200000417564696F547261636B004241444482 +:105C3000590042415F44494E47004249525448444A +:105C4000415900424C554553004255545445524623 +:105C50004C5900434150414349544956450043483B +:105C6000415345004348455353424F41524400433A +:105C70004C415000434C4F434B3100434C4F434B3E +:105C8000313000434C4F434B313100434C4F434B79 +:105C9000313200434C4F434B3200434C4F434B3364 +:105CA00000434C4F434B3400434C4F434B35004370 +:105CB0004C4F434B3600434C4F434B3700434C4F04 +:105CC000434B3800434C4F434B3900434F4E4655EE +:105CD00053454400434F57004441444144414455D7 +:105CE0004D0044415953004449414D4F4E440044F6 +:105CF00049414D4F4E445F534D414C4C0044554338 +:105D00004B004541434345530045414741494E00FF +:105D100045414C52454144590045424144460045A5 +:105D200045584953540045494E50524F47524553E8 +:105D3000530045494E56414C0045494F0045495393 +:105D400044495200454E4F44455600454E4F454E3E +:105D50005400454E4F4D454D00454E4F5350430066 +:105D6000454E4F54434F4E4E00454E5445525441BC +:105D7000494E455200454F504E4F545355505000D8 +:105D8000455045524D004554494D45444F555400EA +:105D90004556454E00464142554C4F5553004655D9 +:105DA0004E4552414C0046554E4B0046585F4E4FB3 +:105DB0004E450046585F5452454D4F4C4F00465893 +:105DC0005F5649425241544F0046585F5741524234 +:105DD0004C45004661636164650046696C65494FE6 +:105DE0000047484F535400474947474C45004749EF +:105DF000524146464500484150505900484541529D +:105E0000540048454152545F534D414C4C00484565 +:105E10004C4C4F00484F55525300484F5553450086 +:105E20004A554D505F444F574E004A554D505F55AF +:105E300050004C4F5544004D4548004D494C4C498D +:105E40005345434F4E4453004D494E55544553001E +:105E50004D555349435F43524F5443484554004DB9 +:105E6000555349435F515541564552004D5553498D +:105E7000435F51554156455253004D595354455275 +:105E8000494F5553004D6963726F426974416363B2 +:105E9000656C65726F6D65746572004D6963726FD4 +:105EA000426974416E616C6F674469676974616CC3 +:105EB00050696E004D6963726F4269744275747403 +:105EC0006F6E004D6963726F426974436F6D7061EC +:105ED0007373004D6963726F4269744469676974D2 +:105EE000616C50696E004D6963726F4269744469F8 +:105EF00073706C6179004D6963726F4269744932E5 +:105F000043004D6963726F426974496D6167650052 +:105F10004D6963726F4269744D6963726F70686F27 +:105F20006E65004D6963726F426974535049004D4C +:105F30006963726F426974536F756E64004D696373 +:105F4000726F426974536F756E64456666656374FB +:105F5000004D6963726F426974536F756E64457664 +:105F6000656E74004D6963726F4269745370656148 +:105F70006B6572004D6963726F426974546F75632B +:105F8000684F6E6C7950696E004D6963726F42693B +:105F900074546F75636850696E004D6963726F4227 +:105FA000697455415254004E4F004E4F5F50554C4E +:105FB0004C004E59414E004F4444004F4445004F61 +:105FC00072646572656444696374005041434D4175 +:105FD0004E005049544348464F524B00504F57458E +:105FE000525F444F574E00504F5745525F55500037 +:105FF0005052454C5544450050554C4C5F444F570A +:106000004E0050554C4C5F55500050554E43484C37 +:10601000494E4500505954484F4E0051554945543A +:106020000052414242495400524154455F314D4271 +:10603000495400524154455F324D42495400524543 +:10604000534953544956450052494E47544F4E45C3 +:1060500000524F4C4C4552534B4154450053414420 +:106060000053434953534F52530053454E534954E1 +:1060700049564954595F484947480053454E53498A +:106080005449564954595F4C4F570053454E534954 +:106090005449564954595F4D454449554D0053485C +:1060A0004150455F43555256450053484150455F66 +:1060B0004C494E4541520053484150455F4C4F4773 +:1060C0000053494C4C5900534B554C4C00534C49D0 +:1060D000444500534D494C4500534E414B450053F8 +:1060E0004F4152494E4700535052494E4700535179 +:1060F000554152455F534D414C4C00535449434B1D +:10610000464947555245005355525052495345440C +:106110000053574F5244005363726F6C6C696E6743 +:10612000537472696E670053746F704173796E6354 +:10613000497465726174696F6E00544152474554E9 +:1061400000544F52544F49534500545249414E4711 +:106150004C455F4C454654005453484952540054F2 +:1061600057494E4B4C450054657874494F00554D86 +:106170004252454C4C4100556E69636F64654572EF +:10618000726F720057415645464F524D5F4E4F4910 +:1061900053450057415645464F524D5F5341575462 +:1061A0004F4F54480057415645464F524D5F534953 +:1061B0004E450057415645464F524D5F535155414C +:1061C00052450057415645464F524D5F5452494142 +:1061D0004E474C45005741574157415741410057A1 +:1061E000454444494E4700584D4153005941574E8C +:1061F00000594553005F5F61656E7465725F5F00B3 +:106200005F5F61657869745F5F005F5F6169746596 +:10621000725F5F005F5F616E6578745F5F005F5FF4 +:1062200062617365735F5F005F5F6275696C645F75 +:10623000636C6173735F5F005F5F646963745F5F6A +:10624000005F5F696D706F72745F5F005F5F7061A8 +:1062500074685F5F005F5F7265706C5F7072696E1B +:10626000745F5F005F5F72657665727365645F5F20 +:10627000005F5F74726163656261636B5F5F005FA3 +:1062800066726F6D5F737472696E67005F6D6163D4 +:1062900068696E650061230061233A310061233A29 +:1062A000330061320061340061343A310061343AC4 +:1062B0003300613A3100613A3200613A3400613AA8 +:1062C0003500616363656C65726F6D65746572003E +:1062D00061636F730061646472006164647265730A +:1062E0007300616C69676E00616E645F00616E745B +:1062F00069677261766974790061726776006173AB +:10630000696E0061736D5F7468756D6200617372B0 +:10631000006174616E006174616E32006175646960 +:106320006F00617574686F72730062323A31006297 +:10633000330062340062343A310062343A3200622F +:10634000350062353A3100623A3100623A32006219 +:10635000616461626F6F6D00626175647261746522 +:106360000062696E00626C00626C697400626F7535 +:106370006E645F6D6574686F640062706D00627555 +:10638000660062756666657200627574746F6E5F32 +:106390006100627574746F6E5F620062780062798A +:1063A00074656F7264657200632300632335006354 +:1063B00023353A31006323353A320063233A310002 +:1063C00063233A380063323A320063330063333A6E +:1063D000330063333A340063340063343A3100638A +:1063E000343A330063343A340063350063353A316C +:1063F0000063353A320063353A330063353A34008E +:10640000633A3100633A3200633A3300633A34004E +:10641000633A380063616C6373697A650063616C29 +:106420006962726174650063616C6C6261636B00C8 +:106430006365696C006368616E6E656C0063686FAC +:1064400069636500636C617000636C6561725F63B2 +:10645000616C6962726174696F6E00636C6F7375F1 +:10646000726500636C7A00636F6C6C6563740063C3 +:106470006F6C6C656374696F6E7300636F6D7061D0 +:10648000737300636F6D706C657800636F6E66691F +:106490006700636F707966726F6D00636F707973F8 +:1064A00069676E0063707369640063707369650087 +:1064B00063726F700063757272656E745F65766586 +:1064C0006E740063757272656E745F676573747560 +:1064D0007265006423006423353A320064233A3243 +:1064E0000064233A330064330064340064343A3186 +:1064F0000064350064353A310064353A3200643A5C +:106500003100643A3200643A3300643A3400643A49 +:106510003500643A3600643A38006461746100649E +:106520006174615F726174650064656275670064BF +:1065300065636F646500646565705F736C65657045 +:1065400000646567726565730064656C617474727C +:106550000064656C61790064656C657465006465F0 +:106560006C6574657200646963745F766965770051 +:1065700064697361626C650064697361626C655F14 +:106580006972710064697363617264006469737035 +:106590006C617900646F63006475726174696F6E19 +:1065A0000065333A330065340065343A31006535AF +:1065B0000065363A3300653A3100653A3200653A93 +:1065C0003300653A3400653A3500653A3600653A7D +:1065D000380065623A3800656E61626C6500656E10 +:1065E00061626C655F69727100656E636F646500FE +:1065F000656E645F6D7300656E756D65726174655F +:10660000006572726E6F006572726F72636F64659F +:1066100000657869740066230066233500662335BB +:106620003A320066233A310066233A320066233A52 +:106630003800663200663A3100663A3200663A3314 +:1066400000663A3400663A3800666162730066613B +:10665000636520646F776E00666163652075700006 +:1066600066696C6C0066696C74657200666C6F6F4D +:106670007200666D6F64006672656566616C6C00C1 +:106680006672657100667265715F656E6400667240 +:1066900065715F7374617274006672657175656EA1 +:1066A00063790066726578700066726F6D5F006670 +:1066B000726F6D6B6579730066726F7A656E736564 +:1066C000740066756E6374696F6E00667800672388 +:1066D0000067233A310067233A330067333A3100C9 +:1066E00067340067343A310067343A320067350066 +:1066F00067353A3100673A3100673A3200673A331A +:1067000000673A380067630067656E657261746F91 +:1067100072006765745F616E616C6F675F70657250 +:10672000696F645F6D6963726F7365636F6E6473C5 +:10673000006765745F6576656E7473006765745F86 +:106740006669656C645F737472656E677468006710 +:1067500065745F6765737475726573006765745FF0 +:106760006D6F6465006765745F706978656C00675C +:1067700065745F70726573736573006765745F70CD +:10678000756C6C006765745F726174650067657431 +:106790005F737472656E677468006765745F7465B3 +:1067A0006D706F006765745F746F75636865730003 +:1067B0006765745F76616C756573006765745F7893 +:1067C000006765745F79006765745F7A0067657458 +:1067D00072616E64626974730067657474657200D7 +:1067E00067726F75700068656164696E67006865DF +:1067F00061705F6C6F636B00686561705F756E6C74 +:106800006F636B006865696768740068656C700029 +:106810006865780069326300696C697374646972D1 +:1068200000696D616700696D61676500696D706C15 +:10683000656D656E746174696F6E00696E69740070 +:10684000696E74657273656374696F6E00696E74E6 +:10685000657273656374696F6E5F7570646174658A +:1068600000696E766572740069735F63616C69625A +:1068700072617465640069735F6576656E74006942 +:10688000735F676573747572650069735F6F6E001F +:1068900069735F706C6179696E670069735F7072AC +:1068A00065737365640069735F7265636F726469B1 +:1068B0006E670069735F746F756368656400697300 +:1068C0006469736A6F696E74006973656E61626C86 +:1068D000656400697366696E697465006973696EE1 +:1068E000660069736E616E006973737562736574B7 +:1068F0000069737375706572736574006B62645FB1 +:10690000696E7472006C6162656C006C64657870AD +:10691000006C647262006C64726578006C6472680A +:10692000006C656E677468006C6F7564006C6F76E0 +:1069300065006C736C006C7372006D617468006D3F +:106940006178006D6178696D756D2072656375722F +:1069500073696F6E2064657074682065786365651F +:10696000646564006D617873697A65006D656D00BA +:106970006D656D3136006D656D3332006D656D3856 +:10698000006D656D5F616C6C6F63006D656D5F665A +:10699000726565006D656D5F696E666F006D656D32 +:1069A0006F727976696577006D6963726F62697479 +:1069B000006D6963726F70686F6E65006D696E005F +:1069C0006D69736F006D6F6466006D6F64756C65E3 +:1069D000006D6F64756C6573006D6F6E6F737061C1 +:1069E0006365006D6F7369006D6F757468006D6F1E +:1069F0007674006D6F7677006D6F767774006D75C5 +:106A0000736963006E616D65647475706C65006EAA +:106A10006F64656E616D65006E6F70006F6374000A +:106A20006F6666006F70745F6C6576656C00706190 +:106A3000636B5F696E746F0070616E696300706193 +:106A40007269747900706174680070656E645F7457 +:106A500068726F770070696E300070696E31007017 +:106A6000696E31300070696E31310070696E31329B +:106A70000070696E31330070696E31340070696E78 +:106A800031350070696E31360070696E31390070D1 +:106A9000696E320070696E32300070696E3300705A +:106AA000696E340070696E350070696E3600706909 +:106AB0006E370070696E380070696E390070696EEB +:106AC0005F6C6F676F0070696E5F737065616B6597 +:106AD000720070696E7300706C6174666F726D0025 +:106AE0007072696E745F657863657074696F6E004B +:106AF00070726F6E6F756E63650070726F70657225 +:106B00007479007075736800717374725F696E6672 +:106B10006F00717565756500717569657400723413 +:106B20003A3200723A3100723A3200723A330072ED +:106B3000616469616E7300726164696F0072616E95 +:106B400064696E740072616E646F6D0072616E6470 +:106B500072616E6765007262697400726561645F7C +:106B6000616E616C6F6700726561645F646967691B +:106B700074616C00726561645F6C696768745F6CF6 +:106B80006576656C007265616C0072656365697637 +:106B90006500726563656976655F62797465730027 +:106BA000726563656976655F62797465735F696E46 +:106BB000746F00726563656976655F66756C6C00FD +:106BC0007265636F7264007265636F72645F696E91 +:106BD000746F0072656C65617365007265706561E4 +:106BE000740072657365740072657475726E5F709F +:106BF000696E0072657665727365640072756E5FAA +:106C000065766572790072756E6E696E675F74691C +:106C10006D6500727800736179007363616C650063 +:106C20007363616E007363686564756C650073639C +:106C30006C0073636C6B007363726F6C6C007364D5 +:106C400061007364697600736565640073656E64E2 +:106C50005F6279746573007365745F616E616C6FF8 +:106C6000675F706572696F64007365745F616E6100 +:106C70006C6F675F706572696F645F6D6963726F77 +:106C80007365636F6E6473007365745F6C616265D6 +:106C90006C73007365745F6D6972726F72696E6791 +:106CA000007365745F706978656C007365745F70FC +:106CB000756C6C007365745F72616E6765007365F7 +:106CC000745F72617465007365745F73656E736978 +:106CD000746976697479007365745F74656D706F3B +:106CE000007365745F7468726573686F6C640073B9 +:106CF00065745F746F7563685F6D6F64650073655D +:106D0000745F766F6C756D65007365747465720081 +:106D10007368616B650073686170650073686966AC +:106D2000745F646F776E0073686966745F6C656624 +:106D3000740073686966745F726967687400736869 +:106D40006966745F75700073686F770073696E674A +:106D500000736C6565705F6D7300736C6565705F63 +:106D6000757300736C69636500736F756E645F6C37 +:106D70006576656C00736F75726365007370656529 +:106D80006368007370656564007370690073746193 +:106D9000636B5F7573650073746172745F6D73000C +:106DA000737461740073746F705F7265636F726483 +:106DB000696E670073747262007374726578007331 +:106DC0007472680073747275637400737562007313 +:106DD000796D6D65747269635F6469666665726515 +:106DE0006E63650073796D6D65747269635F646964 +:106DF00066666572656E63655F7570646174650073 +:106E00007379736E616D650074656D706572617420 +:106E100075726500746578740074686973007468CD +:106E2000726F6174007469636B73007469636B7370 +:106E30005F616464007469636B735F637075007491 +:106E400069636B735F64696666007469636B735F23 +:106E50006D73007469636B735F75730074696D653E +:106E60005F70756C73655F75730074696D657374BD +:106E7000616D7000746F75636800747261636B009C +:106E80007472616E736C617465007472756E630008 +:106E90007478007561727400756469760075696E46 +:106EA0007400756E616D6500756E69666F726D0058 +:106EB000756E696F6E00756E697175655F696400E6 +:106EC000756E7061636B5F66726F6D00756E757362 +:106ED000656400757379730076636D700076637610 +:106EE000745F6633325F73333200766376745F7338 +:106EF00033325F6633320076657273696F6E007687 +:106F0000657273696F6E5F696E666F00766C64722E +:106F100000766D6F7600766D727300766E65670031 +:106F2000766F6C5F656E6400766F6C5F7374617210 +:106F30007400767371727400767374720077616B8B +:106F4000655F6F6E007761735F6576656E7400775D +:106F500061735F67657374757265007761735F70E5 +:106F6000726573736564007761735F746F756368CE +:106F700065640077617665666F726D00776669009B +:106F80007769647468007772697461626C65007710 +:106F9000726974655F616E616C6F670077726974A6 +:106FA000655F6469676974616C0077726974655FB5 +:106FB00072656164696E746F007773323831325F65 +:106FC0007772697465007B3A23627D005F5F646954 +:106FD000725F5F003C6D6F64756C653E005F5F6360 +:106FE000616C6C5F5F005F5F636C6173735F5F0018 +:106FF0005F5F64656C6974656D5F5F005F5F656EA0 +:107000007465725F5F005F5F657869745F5F005FE2 +:107010005F676574617474725F5F005F5F6765745A +:107020006974656D5F5F005F5F686173685F5F00D3 +:107030005F5F696E69745F5F005F5F696E745F5F59 +:10704000005F5F697465725F5F005F5F6C656E5FB4 +:107050005F005F5F6D61696E5F5F005F5F6D6F64B2 +:10706000756C655F5F005F5F6E616D655F5F005FA0 +:107070005F6E65775F5F005F5F6E6578745F5F006E +:107080005F5F7175616C6E616D655F5F005F5F7200 +:107090006570725F5F005F5F7365746974656D5FD3 +:1070A0005F005F5F7374725F5F0041726974686D47 +:1070B000657469634572726F7200417373657274AF +:1070C000696F6E4572726F72004174747269627595 +:1070D00074654572726F7200454F464572726F72E9 +:1070E00000456C6C697073697300496D706F7274E0 +:1070F0004572726F7200496E64656E746174696F77 +:107100006E4572726F7200496E6465784572726F77 +:1071100072004B65794572726F72004B6579626FD0 +:10712000617264496E74657272757074004C6F6F31 +:107130006B75704572726F72004D656D6F72794537 +:1071400072726F72004E616D654572726F72004EA1 +:107150006F6E6554797065004E6F74496D706C6523 +:107160006D656E7465644572726F72004F5345723F +:10717000726F72004F766572666C6F774572726FD0 +:10718000720052756E74696D654572726F7200534C +:10719000796E7461784572726F7200537973746599 +:1071A0006D4578697400547970654572726F72002C +:1071B00056616C75654572726F72005A65726F44E4 +:1071C00069766973696F6E4572726F7200616E796C +:1071D00000617070656E6400626F6F6C006275694B +:1071E0006C74696E730062797465617272617900A2 +:1071F00062797465636F64650063687200636C61D3 +:1072000073736D6574686F6400636C6561720063AD +:107210006C6F736500636F6E737400636F707900D9 +:1072200064696374006469766D6F6400656E64738D +:1072300077697468006576616C00657865630065E0 +:107240007874656E6400666F726D61740066726F4B +:107250006D5F627974657300676574617474720040 +:10726000676C6F62616C7300686173617474720043 +:107270006861736800696E73657274006973616C2C +:107280007068610069736469676974006973696E25 +:107290007374616E63650069736C6F776572006902 +:1072A000737370616365006973737562636C617396 +:1072B0007300697375707065720069746572006A35 +:1072C0006F696E006C656E006C697374006C697434 +:1072D000746C65006C6F63616C73006C73747269BD +:1072E00070006D61696E006D6170006D6963726F31 +:1072F000707974686F6E006E657874006F626A658D +:107300006374006F70656E00706F7000706F7069ED +:1073100074656D00706F77007072696E74007265CD +:1073200061646C696E650072656D6F76650072658B +:10733000706C61636500726570720072657665726B +:107340007365007266696E640072696E64657800C8 +:10735000726F756E64007273706C6974007273740E +:107360007269700073656E64007365700073657494 +:10737000617474720073657464656661756C740021 +:10738000736F727400736F727465640073746172EA +:10739000747377697468007374617469636D65747C +:1073A000686F640073746F700073756D007375702F +:1073B000657200746F5F6279746573007574662D11 +:1073C000380076616C7565007A6970003C646963A9 +:1073D00074636F6D703E003C67656E657870723ED9 +:1073E000003C6C616D6264613E003C6C6973746367 +:1073F0006F6D703E003C736574636F6D703E005F2F +:107400005F6164645F5F005F5F626F6F6C5F5F000E +:107410005F5F636F6D706C65785F5F005F5F636F68 +:107420006E7461696E735F5F005F5F65715F5F00BF +:107430005F5F666C6F61745F5F005F5F67655F5F72 +:10744000005F5F67745F5F005F5F696164645F5FD7 +:10745000005F5F697375625F5F005F5F6C655F5FB0 +:10746000005F5F6C745F5F005F5F6E655F5F005F12 +:107470005F7375625F5F00747275650066616C733F +:10748000650028295B5D7B7D2C3B7E3A653D3C6534 +:107490003D633C653D3E653D633E653D2A653D631C +:1074A0002A653D2B653D2D653D653E26653D7C6528 +:1074B0003D2F653D632F653D25653D5E653D40651E +:1074C0003D3D653D212E00FF756E69636F6465BEAD +:1074D000657363617065730046616C7365004E6F20 +:1074E0006E650054727565005F5F64656275675F05 +:1074F0005F00616E64006173006173736572740094 +:107500006173796E630061776169740062726561AD +:107510006B00636F6E74696E756500646566006408 +:10752000656C00656C696600656C73650065786301 +:107530006570740066696E616C6C7900666F7200CC +:10754000696D706F7274006C616D626461006E6F62 +:107550006E6C6F63616C006E6F740072616973654D +:107560000072657475726E00747279007768696C68 +:1075700065007969656C6400FF8798636F6E73744A +:10758000616E7400FFB9696E64656E7400FF756E9C +:10759000696E64656E74A66D6174636820616E794E +:1075A000206F7574657220696E64656E74206C65F9 +:1075B00076656C00FF89D600FF2A78858DA57461F9 +:1075C0007267657400FFB8BF617320676C6F62619A +:1075D0006C00FFCF62696E64696E6796C6DD00FF5E +:1075E000B8BF6173C600FF27627265616B272F27E2 +:1075F000636F6E74696E756527A76C6F6F7000FF9F +:10760000D32A87DB6D6F64756C65206C6576656C5D +:1076100000FF8361737369676E90E800FFC52A7885 +:107620009EA500FF277969656C6427A78200FF8308 +:10763000D2E800FF2A99C02A2A00FFA3CE61726710 +:107640007300FF4C48538F9299858D97696400FFB2 +:107650009399C02A2A00FF9399C0929900FF896DDF +:107660006963726F707974686F6E206465636F729E +:1076700061746F7200FF8B6B65793A76616C75652A +:1076800096CD00FF8B6A757374989196FC00FF6E1F +:107690006F6E2D64656661756C7480666F6C6C6F5F +:1076A0007773F98000FF73757065722829836669A6 +:1076B0006E642073656C6600FF27617761697427CB +:1076C000A78200FFF92765786365707427858D6C44 +:1076D00061737400FF6173796E6320666F722F7738 +:1076E000697468A76173796E638200FF277265749D +:1076F00075726E27A78200FF836465636C61726593 +:10770000C69E6F7574657220636F646500FF80BEEE +:1077100072657573656400FF696E6C696E65EB85F3 +:107720008D988200FFCC9C00FF72657475726E208C +:10773000616E6E6F746174696F6E858D97B800FFAE +:107740008B97EBDF00FF276C6162656C27B0F580DB +:1077500000FFE0BF00FF27616C69676E27B0F5800E +:1077600000FF276461746127B0DB6C65617374206E +:10777000328100FF276461746127B09A8100FF6243 +:10778000797465636F6465C700FF848E97F68FFF19 +:10779000666F726D205B612C20625D00FF848E97A6 +:1077A0009A00FF849A30782578A66669749E6D6188 +:1077B000736B203078257800FF848E98E000FFE01E +:1077C0008A87FA00FF848EDB6D6F737420722564E4 +:1077D00000FF848E97465055C800FF848E98C800DD +:1077E000FF848E7B72302C2072312C202E2E2E7D29 +:1077F00000FF63616E206F6E6C79EE75709034EAF5 +:10780000905468756D6220617373656D626C790068 +:10781000FFEA858D7265676973746572739EB172D4 +:107820003090723300415053525F6E7A6376004657 +:107830005053435200FF848E98FDC800FFA4546843 +:10784000756D62DF84B29D8100FF6272616E636854 +:10785000879EA100FF696E7428299932858D3E3D6F +:107860002032F73C3D20333600FF89D6969AB2622B +:107870006173659D00FF89D696BA00FFBE8AA0FAA3 +:1078800000FFA49C9625713A8400FF8486A0636162 +:107890006C6C61626C6500FF657863657074696F1C +:1078A0006E7385646572697665BC426173654578FF +:1078B00063657074696F6E00FF9C868ABDCFA88A6D +:1078C00000FF8486BDCFA88A00FFA9726169736535 +:1078D000642053746F70497465726174696F6E00CF +:1078E000FF8486A06974657261626C6500FF84869E +:1078F000A0976974657261746F7200FF6E6565644C +:10790000206D6F7265207468616E9DD790756E7082 +:1079100061636B00FFA3CED790756E7061636B20BF +:107920002865787065637465642025642900FF8389 +:10793000D3BED900FF6D656D6F7279E6FB68656136 +:1079400070AA6C6F636B656400FF6D656D6F727913 +:10795000E6FB616C6C6F636174696E67202575C1AD +:1079600000FFAF736869667420636F756E7400FF03 +:10797000A474797065739625713A20272573272C96 +:107980008400FF646976696465206279D100FF80B4 +:10799000BDE39C00FF8395DA90CB0063616E277492 +:1079A000206F70656E20257300FF82A674616B6581 +:1079B000928100FF82C99D9381F89D77657265DE93 +:1079C00000FF82B79DA2938100FF82C2DB6D6F73BF +:1079D000749D617267756D656E74732C20676F742A +:1079E0009D00FF8A80A200FF65787472619381DE3A +:1079F00000FF65787472619281DE00FF806E756DA4 +:107A00002F7479706573206D69736D61746368009C +:107A1000FF92617267756D656E7428732987696D51 +:107A2000706C656D656E746564202D2075736520BE +:107A30006E6F726D616C206172677320696E737412 +:107A4000656164003C25713E00547261636562614A +:107A5000636B20286D6F737420726563656E74208C +:107A600063616C6C206C617374293A0A00202046B3 +:107A7000696C6520222571222C206C696E65202599 +:107A800064002C20696E2025710A00FF8395DA902E +:107A9000666C6F617400FF8395DA90B400FF868492 +:107AA000A098E2BBF000FF72657175657374656440 +:107AB000AE9DF886BDAE9D00FFD9CA858DEF87DAF1 +:107AC00000FFD99F9B8FA100FF868F9C84BDCF6C48 +:107AD000656E282900FF8486A6FE6974656D2064A2 +:107AE000656C6574696F6E00FF8486A07375627340 +:107AF000637269707461626C6500FF8486A6FE69BA +:107B000074656DA500FF86B2627566666572207049 +:107B1000726F746F636F6CA200FF6F6E6C7920736D +:107B20006C69636573B2737465703D312028616B55 +:107B300061204E6F6E652920617265AB00FF6D6537 +:107B40006D6F727976696577206F6666736574A369 +:107B50006C6172676500627974656172726179281F +:107B6000620061727261792827256327002C205BEF +:107B700000FF8C80776974686F757497656E636FAA +:107B800064696E670025736A00282573002B002541 +:107B9000736A2900FF837472756E636174652D6466 +:107BA000697669646598B4BA00FFB46469766964FB +:107BB00065206279D100FF302E309098B4706F77D5 +:107BC000657200285B005D2900FF706F7069746545 +:107BD0006D28293A2064696374696F6E617279AAAD +:107BE000B500257128007B00FFCD75706461746558 +:107BF000B1BDE3AE00646963745F6974656D730061 +:107C0000646963745F6B65797300646963745F763C +:107C1000616C756573005B4572726E6F2025645DE3 +:107C2000202571002E30003C66756E6374696F6E9E +:107C300020257120617420307825703E00FFA961F5 +:107C40006C726561647920657865637574696E67C7 +:107C5000003C67656E657261746F72206F626A6561 +:107C6000637420272571272061742025703E00FF52 +:107C70008373656E64206E6F6E2D4E6F6E6591908E +:107C8000986A7573742D73746172746564A900FFCA +:107C9000A969676E6F7265642047656E657261746D +:107CA0006F724578697400FF8395696E6690CB00AA +:107CB000FF83954E614E90CB00FFC7636F6E766574 +:107CC0007274696E67F1CB906D616368696E65204F +:107CD000776F726400FF706F70BCB5F0003C6D6F21 +:107CE00064756C6520272573273E00FF99858D7587 +:107CF0007365722D7479706500736C696365280013 +:107D0000FF736C6963652073746570838DD100FFA8 +:107D100083958A8690D9696D706C696369746C7992 +:107D200000FF6A6F696E8E98F08F7374722F62799C +:107D3000746573206F626A6563747320636F6E731A +:107D4000697374656E74B273656C6686005C2563D6 +:107D5000005C5C005C6E005C72005C74005C78250A +:107D600030327800FF737562737472696E6787DDF5 +:107D700000FFE3BA8F8100FFC1919B8FA100FFE953 +:107D80008800FF88E198CD00FFE9886B657900FFE6 +:107D9000888CE16D6F72658100FF2563E1CBBB6369 +:107DA00068617200FF9A6E656564656400FFA4886F +:107DB000ED2725632720283078257829DB9F9D0033 +:107DC000FF888C6469646E277495616C6C8100FF18 +:107DD000B5736570617261746F72007273706C69F3 +:107DE00074284E6F6E652C6E2900FF737461727477 +:107DF0002F656E64CA00FF73696E676C6520277D0E +:107E00002720656E636F756E74657265649E888CDD +:107E100000FF62616420636F6E76657273696F6ED6 +:107E20009400FF756E6D61746368656420277B271D +:107E30009E8800FFC2273A27C0889400FF8373778B +:107E400069746368BCECC3F2906D616E75616CC35C +:107E5000D500FFE29F9B8FA100FF6174747269627D +:107E60007574657387AB00FF83737769746368BC4F +:107E70006D616E75616CC3D590ECC3F2003C3E3D04 +:107E80005E006263646545664667476E6F73785847 +:107E90002500FF89889400FF7369676E87B39E8C05 +:107EA000889400FF7369676E87B3B29A88942763DA +:107EB0002700FFCC88636F6465202725632796869B +:107EC0008F9C8400FF273D2720616C69676E6D657C +:107ED0006E7487B39E8C8894005C7525303478006E +:107EE0005C552530387800FF8CCA858DEF87DA0025 +:107EF000FF8C9F9B8FA1003C636C617373202725CF +:107F000071273E00FF756E7265616461626C65A8E1 +:107F1000003C2573206F626A6563742061742025BC +:107F2000703E003C73757065723A2000FF83637287 +:107F3000656174658A696E7374616E63657300FF51 +:107F400083616464FDD490616C72656164792D73A2 +:107F50007562636C6173736564DC00FF5F5F696EFB +:107F600069745F5F28292073686F756C642072657F +:107F70007475726E204E6F6E652C878400FF9C8A2C +:107F8000A09761636365707461626C652062617360 +:107F9000659C00FFC56261736573EE696E73746101 +:107FA0006E6365206C61792D6F757420636F6E66EA +:107FB0006C69637400FF9CC9F5BB338100FFD899DD +:107FC00032858D98DCBB98E28F636C617373657347 +:107FD00000FFD899F5858D98DC00FF86879EB1005B +:107FE000FF73747265616DF387AB00626164207426 +:107FF000797065636F646500FF83706572666F7288 +:108000006D2072656C6174697665D3002E66726F3F +:108010007A656E2F00FFCF6D6F64756C65206E61A1 +:108020006D65648A002F5F5F696E69745F5F2E7093 +:108030007900FF636872282999879E72616E67656F +:108040002830783131303030302900FF99AA97B587 +:10805000B100FF6F72642829C2986368617261631E +:108060007465722CF88C8FAE9DDD00FF332D61722C +:108070006720706F77282987AB00FF85757365923D +:1080800080966B657982006D61746820646F6D61A4 +:10809000696E206572726F7200737461636B3A204F +:1080A0002575206F7574206F662025750A00717321 +:1080B000747220706F6F6C3A206E5F706F6F6C3DE2 +:1080C00025752C206E5F717374723D25752C206EA2 +:1080D0005F7374725F646174615F62797465733D2C +:1080E00025752C206E5F746F74616C5F62797465A6 +:1080F000733D25750A007363686564756C6520714E +:10810000756575652066756C6C00FF6275666665E1 +:1081100072A3736D616C6C00332E342E303B204D96 +:108120006963726F507974686F6E206136316334A1 +:108130003436206F6E20323032342D30382D3231CB +:1081400000FF82676F74C5D796808A00FFB992805E +:108150008A00FF82B7A2938023256400FF82B7A222 +:1081600092808A00FF82B76B6579776F72642D6F9A +:108170006E6C7980000A257300696D706F727420CF +:10818000004E656F506978656C004F52444552004F +:1081900062707000636F6C6F72006E656F706978EB +:1081A000656C2E707900FF62697473858D3332BB04 +:1081B0006C65737300FF7469636B7320696E74651B +:1081C0007276616CC700FF8797C400416C6C6F6367 +:1081D0006174696F6E20696E20696E746572727564 +:1081E00070742068616E646C657200FFADD2F48FAC +:1081F000E500FF736C6963657385EE737465703DAC +:108200003100FF9FAD8DAF00FF9FA36C617267656A +:1082100000FFC4AD8D6D6F64696669656420287464 +:10822000727920636F7079696E6720666972737402 +:108230002900FFE79B8FAC00FF8B97C400FF85737D +:1082400070656369667920626F7468206F66667313 +:1082500065747300FFD0AD8DAF00496D616765280F +:10826000000A20202020003A00270A202020202772 +:10827000003031323334353637383900FFB9ED9EAE +:10828000496D61676520646566696E6974696F6EC2 +:1082900000FF496D616765287329C9988C00FFC488 +:1082A00064617461AA696E636F7272656374D000F1 +:1082B000FF496D6167652829C93090338100FFE768 +:1082C0006D756C7469706C69657285878DAF00FF20 +:1082D000696D61676573858DFF73616D65D000FFA2 +:1082E00091858D30BBF500FF91858D626574776552 +:1082F000656E2030F73130323300FF897065726966 +:108300006F6400FF8B9870696E00FF70696E5F7319 +:108310007065616B657287B300FF50696E9D9ED971 +:108320006D6F646500536F756E6428272573272968 +:1083300000FFB691AA32353500FFB691AA3900FF89 +:10834000B691AA393900FFB691AA393939390053A3 +:108350006F756E6445666665637428667265715FE5 +:1083600073746172743D25642C20667265715F655B +:108370006E643D25642C206475726174696F6E3D76 +:1083800025642C20766F6C5F73746172743D256474 +:108390002C20766F6C5F656E643D25642C207761C0 +:1083A0007665666F726D3D25712C2066783D25716E +:1083B0002C200073686170653D53484150455F4C07 +:1083C000494E454152290073686170653D534841EB +:1083D00050455F4355525645290073686170653DAD +:1083E00053484150455F4C4F4729007368617065A1 +:1083F0003D25642900536F756E6445666665637438 +:108400002825642C2025642C2025642C2025642C10 +:108410002025642C2025642C2025642C202564290B +:10842000002B2D786B63642E636F6D2F333533B360 +:108430002D2B0A7CC0207C0A7CB4205C302F892044 +:108440007C0A7CB2202F83205C89207C0A7C8820D7 +:10845000596F7527726520666C79696E6721922065 +:108460004D6963726F507974686F6E2120202F7C84 +:1084700088207C0A7C8C20486F773FA6205C205C9B +:1084800087207C0A7C8C202FB3207C0A7C8A2030B9 +:10849000B5207C0A7C89202F7C5CB4207C0A7C8AF5 +:1084A000207CB5207C0A7C852D845F2F5F5C9E5FDD +:1084B000962D7C0A7CC0207C0A2BC02D2B0A00FF45 +:1084C0008B98CD00FFA3CE8100FFF625303878AA27 +:1084D00087616C69676E6564909DC1003C25752D50 +:1084E000626974206D656D6F72793E006D696372AB +:1084F0006F3A6269742077697468206E524635322B +:1085000038333300FF8B9870696EBB627574746F7B +:108510006E00FF726164696FAA87656E61626C6547 +:108520006400FF7265636569766564207061636BE2 +:108530006574AA87988C00FF81858D6B6579776F4C +:1085400072647300FFCC808A00FF919B8FA196809C +:108550008A00546865205A656E206F66204D6963F5 +:10856000726F507974686F6E2C206279204E696347 +:10857000686F6C617320482E20546F6C6C65727646 +:1085800065790A0A436F64652C0A4861636B206948 +:10859000742C0A4C657373206973206D6F72652C9F +:1085A0000A4B6565702069742073696D706C652C69 +:1085B0000A536D616C6C2069732062656175746922 +:1085C00066756C2C0A0A426520627261766521200C +:1085D000427265616B207468696E677321204C6517 +:1085E00061726E20616E6420686176652066756ECA +:1085F000210A4578707265737320796F757273659F +:108600006C662077697468204D6963726F50797465 +:10861000686F6E2E0A0A4861707079206861636B1A +:10862000696E6721203A2D290A004D6963726F50E7 +:108630007974686F6E206F6E20746865206D696351 +:10864000726F3A6269742069732062726F7567682D +:108650007420746F20796F752062793A0A44616DD5 +:1086600069656E20502E2047656F7267652C204D1E +:1086700061726B205368616E6E6F6E2C2052616464 +:108680006F6D697220446F70696572616C736B699C +:108690002C204D61747468657720456C73652C0AD5 +:1086A0004361726F6C2057696C6C696E672C205443 +:1086B0006F6D2056696E65722C20416C616E204A88 +:1086C00061636B736F6E2C204E69636B20436F6721 +:1086D000686C616E2C204A6F736570682048616910 +:1086E000672C0A416C6578204368616E2C20416ECE +:1086F00064726561204772616E64692C20506175F7 +:108700006C204567616E2C2050696F7472204B613C +:108710007370727A796B2C20416E64726577204D8C +:10872000756C686F6C6C616E642C0A4D617474209A +:10873000576865656C65722C204A6F6520476C61CF +:108740006E63792C2041626269652042726F6F6BA3 +:108750007320616E64204E6963686F6C617320489A +:108760002E20546F6C6C65727665792E0A000808AD +:108770000808001B5B2575001B5B4B00526561649C +:10878000206572726F72005772697465206572722B +:108790006F72004F75742D6F662D62756666657217 +:1087A000207265616400000000000000000000030A +:1087B00003030303000000000000000000000000AD +:1087C000000000000000030101010101010101019D +:1087D00001010101010145454545454545454545E1 +:1087E0000101010101010159595959595919191921 +:1087F00019191919191919191919191919191919E9 +:108800001901010101010169696969696929292958 +:1088100029292929292929292929292929292929C8 +:108820002901010101000700A8A9A6AAA7FFA3CE5C +:108830006C6F63616C73966E6174697665D400F2D7 +:10884000F2FEFE25713D00FF83FCA80072616E6799 +:10885000652825642C20256400FFD17374657000A1 +:10886000FF706F70BC97B5FC0073657428290066B3 +:10887000726F7A656E7365742800506C7573206131 +:108880006E79206D6F64756C6573206F6E207468EF +:10889000652066696C6573797374656D0A006F6233 +:1088A0006A6563742000206973206F662074797094 +:1088B000652025710A00202D2D200057656C636FFF +:1088C0006D6520746F204D6963726F507974686FA5 +:1088D0006E206F6E20746865206D6963726F3A62F6 +:1088E0006974210A0A54727920746865736520637B +:1088F0006F6D6D616E64733A0A2020646973706CE9 +:1089000061792E7363726F6C6C282748656C6C6F8D +:1089100027290A202072756E6E696E675F74696D13 +:108920006528290A2020736C656570283130303045 +:10893000290A2020627574746F6E5F612E69735FFF +:108940007072657373656428290A576861742064BE +:108950006F20746865736520636F6D6D616E6473FD +:1089600020646F3F2043616E20796F7520696D70C0 +:10897000726F7665207468656D3F2048494E543AA1 +:10898000207573652074686520757020616E6420A1 +:10899000646F776E0A6172726F77206B65797320EE +:1089A000746F2067657420796F757220636F6D6DC9 +:1089B000616E6420686973746F72792E20507265DD +:1089C00073732074686520544142206B657920746C +:1089D0006F206175746F2D636F6D706C6574650ABF +:1089E000756E66696E697368656420776F7264730B +:1089F0002028736F2027646927206265636F6D6587 +:108A0000732027646973706C6179272061667465CF +:108A10007220796F752070726573732054414229FA +:108A20002E2054686573650A747269636B732073D2 +:108A30006176652061206C6F74206F662074797098 +:108A4000696E6720616E64206C6F6F6B20636F6F5F +:108A50006C210A0A4578706C6F72653A0A54797015 +:108A600065202768656C7028736F6D657468696E22 +:108A700067292720746F2066696E64206F757420E3 +:108A800061626F75742069742E2054797065202797 +:108A900064697228736F6D657468696E6729272031 +:108AA000746F2073656520776861740A6974206348 +:108AB000616E20646F2E205479706520276469727E +:108AC00028292720746F20736565207768617420DA +:108AD000737475666620697320617661696C616282 +:108AE0006C652E20466F7220676F6F646E657373BE +:108AF0002073616B652C0A646F6E27742074797023 +:108B0000652027696D706F72742074686973272EF1 +:108B10000A0A436F6E74726F6C20636F6D6D616EC5 +:108B200064733A0A20204354524C2D4320202020C5 +:108B3000202020202D2D2073746F702061207275ED +:108B40006E6E696E672070726F6772616D0A2020A9 +:108B50004354524C2D4420202020202020202D2D15 +:108B6000206F6E206120626C616E6B206C696E6597 +:108B70002C20646F206120736F66742072657365AA +:108B800074206F6620746865206D6963726F3A6245 +:108B900069740A20204354524C2D45202020202067 +:108BA0002020202D2D20656E7465722070617374F5 +:108BB00065206D6F64652C207475726E696E672018 +:108BC0006F6666206175746F2D696E64656E740AD8 +:108BD0000A466F722061206C697374206F66206191 +:108BE0007661696C61626C65206D6F64756C65732C +:108BF0002C20747970652068656C7028276D6F640F +:108C0000756C657327290A0A466F72206D6F72654D +:108C100020696E666F726D6174696F6E2061626F3C +:108C2000757420507974686F6E2C2076697369743E +:108C30003A20687474703A2F2F707974686F6E2EB2 +:108C40006F72672F0A546F2066696E64206F7574A7 +:108C50002061626F7574204D6963726F507974681A +:108C60006F6E2C2076697369743A20687474703A58 +:108C70002F2F6D6963726F707974686F6E2E6F72CB +:108C8000672F0A507974686F6E2F6D6963726F3A3F +:108C900062697420646F63756D656E746174696F69 +:108CA0006E20697320686572653A20687474707309 +:108CB0003A2F2F6D6963726F6269742D6D696372EB +:108CC0006F707974686F6E2E726561647468656424 +:108CD0006F63732E696F2F0A00FF53504987696EC7 +:108CE000697469616C6973656400FF7772697465A2 +:108CF000F7726561642062756666657273858DFFC3 +:108D000073616D65AE00FF89BA8FC100002020201D +:108D1000202020202020282828282820202020202B +:108D200020202020202020202020202020881010FB +:108D30001010101010101010101010101004040457 +:108D40000404040404040410101010101010414115 +:108D50004141414101010101010101010101010103 +:108D60000101010101010101101010101010424217 +:108D700042424242020202020202020202020202D3 +:108D80000202020202020202101010102000000073 +:108D900000000000000000000000000000000000D3 +:108DA00000000000000000000000000000000000C3 +:108DB00000000000000000000000000000000000B3 +:108DC00000000000000000000000000000000000A3 +:108DD0000000000000000000000000000000000093 +:108DE0000000000000000000000000000000000083 +:108DF0000000000000000000000000000000000073 +:108E00000000000000000000000000000000000062 +:048E1000000000005E +:108E1400C9A8020000000000A16B0500283700204B +:108E240075A702000000000031B20200000000003B +:108E340075210500000000009DC50200183D0020BA +:088E4400292A020000000000D1 +:108E4C00F11402000000000025490200000000009F +:108E5C007977050000000000CDC70200000000007B +:048E6C007D2E020055 +:088E700055DB020000000000C8 +:108E780061C40200000000005DC50200000000009F +:108E8800A92E020000000000A9D90200000000007D +:088E98000057FB7F0100000000 +:108EA00000000000109E0500189E0500209E050091 +:108EB000009E0500089E0500752B0600D73C0600A5 +:108EC000010000007D0000006B4505006B450500BA +:108ED0006F45050075450500794505007F4505008E +:108EE000854505008B4505008F4505009345050028 +:108EF0009345050013460500974505009B45050071 +:108F00009F4505009F450500AB450500AF450500A1 +:108F1000693E0600A84501200090D00300100140E2 +:108F2000110004009A41060040000000E803000020 +:108F3000BC1D060001000000C81E060094000600CB +:108F40008C000600B81F0600B4000600A40006004E +:108F5000AC0006001B960500FC200020000000006D +:108F60000000000000000000000000000000000001 +:108F700000000000000000000000000000000000F1 +:108F800000000000000000000000000000000000E1 +:108F900000000000000000000000000000000000D1 +:108FA00000000000000000000000000000000000C1 +:108FB00000000000000000000000000000FA01387E +:108FC000FDD170470004FFFFFFFFFFFFFFFFFFFF22 +:108FD000FFFFFFFFFFFFFFFFFFFFFF030118181850 +:108FE00018181818180000007DE50100C5E60100FA +:108FF0003DF001005D1A0200012202009D7B02008B +:10900000ED7C0200D97D0200E19A020059E50100E1 +:1090100000000000000000006F7405000000000068 +:04902000000000004C +:0200000270008C +:1070000000000220F97207002173070023730700B4 +:10701000257307002773070029730700000000008D +:107020000000000000000000000000001DB5070087 +:107030002D730700000000002F7307003173070055 +:10704000337307003373070033730700337307008C +:10705000337307003373070033730700337307007C +:10706000337307003373070033730700337307006C +:10707000337307003373070033730700337307005C +:10708000998E0700337307003373070033730700CB +:1070900033730700337307001DB70700337307000E +:1070A000337307003373070033730700337307002C +:1070B0003373070033730700000000000000000076 +:1070C000337307003373070033730700337307000C +:1070D0001D8B0700337307003373070033730700FA +:1070E00033730700000000000000000000000000F3 +:1070F0000000000033730700000000003373070036 +:10710000000000000000000000000000000000007F +:10711000000000000000000000000000000000006F +:10712000000000000000000000000000000000005F +:10713000000000000000000000000000000000004F +:10714000000000000000000000000000000000003F +:10715000000000000000000000000000000000002F +:10716000000000000000000000000000000000001F +:10717000000000000000000000000000000000000F +:1071800000000000000000000000000000000000FF +:1071900000000000000000000000000000000000EF +:1071A00000000000000000000000000000000000DF +:1071B00000000000000000000000000000000000CF +:1071C00000000000000000000000000000000000BF +:1071D00000000000000000000000000000000000AF +:1071E000000000000000000000000000000000009F +:1071F000000000000000000000000000000000008F +:107200000348044B834202D0034B03B11847704735 +:10721000A02B0020A02B00200000000005480649FC +:107220000B1AD90F01EBA301491002D0034B03B194 +:1072300018477047A02B0020A02B00200000000062 +:1072400010B5064C237843B9FFF7DAFF044B13B1AE +:107250000448AFF300800123237010BDB42B00203D +:1072600000000000B0D2070008B5044B1BB1044970 +:107270000448AFF30080BDE80840CFE700000000FD +:10728000B82B0020B0D20700A3F5803A704700BFAA +:10729000154B002B08BF114B9D46FFF7F5FF002152 +:1072A0008B460F461148124A121A05F00FFC0C4B80 +:1072B000002B00D098470B4B002B00D098470020A4 +:1072C000002104000D000B4805F0DEFA05F010FB6C +:1072D0002000290001F020F905F0DCFA0000080088 +:1072E000000000000000000000000220B42B00207D +:1072F0004C520020BDC807000649074A074B9B1A9D +:1073000003DD043BC858D050FBDC00F023F8FFF746 +:10731000BFFF000020D30700E82A0020B42B002084 +:10732000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE735 +:10733000FEE7FEE7054B1B680D2B01BF044B1868E9 +:10734000B0FA80F0400918BF0020704730010010EB +:107350003401001008B5FFF7EDFF40B14FF0804356 +:107360000022C3F80C21C3F81021C3F83825FFF719 +:10737000E1FF002846D04FF080524D4BD2F8041464 +:10738000C3F82015D2F80814C3F82415D2F80C1449 +:10739000C3F82815D2F81014C3F82C15D2F8141419 +:1073A000C3F83015D2F81814C3F83415D2F81C14E9 +:1073B000C3F84015D2F82014C3F84415D2F82414A9 +:1073C000C3F84815D2F82814C3F84C15D2F82C1479 +:1073D000C3F85015D2F83014C3F85415D2F8341449 +:1073E000C3F86015D2F83814C3F86415D2F83C1409 +:1073F000C3F86815D2F84014C3F86C15D2F84424C9 +:10740000C3F87025FFF796FF48B14FF08043D3F8DB +:107410000024D20744BF6FF00102C3F80024254ABC +:10742000D2F8883043F47003C2F88830BFF34F8F2E +:10743000BFF36F8F4FF01023D3F80022002A03DB35 +:10744000D3F80432002B2FDA1B4B0122C3F804259A +:10745000D3F80024002AFBD04FF010221221C2F8EA +:107460000012D3F80024002AFBD04FF01023122280 +:10747000C3F80422104B1A46D3F800140029FBD09D +:107480000021C3F80415D2F80034002BFBD0BFF361 +:107490004F8F0849094BCA6802F4E0621343CB607E +:1074A000BFF34F8F00BFFDE7054B064A1A6008BDCA +:1074B00000C0004000ED00E000E001400400FA05DB +:1074C000E82A00200090D0034B1C30B5DB000446B6 +:1074D00012F003009BB20DD1074D2A601A44074BEE +:1074E0001A60074B1870074B1870074B1C80074B2E +:1074F000198030BD0720FCE7D82B0020D42B0020BA +:10750000D02B0020E02B0020DC2B0020DE2B0020E5 +:107510002DE9F3472B4F3B888B4206460D4690469C +:107520004BD300240DF107008DF8074000F086F8DA +:10753000254B26481A78264B008893F800C08445CE +:107540005FFA8CF138BF4C1CD2B238BFE4B2A24211 +:107550002DD01C781A78D1B2904286BF0131C9B2C1 +:10756000002119709DF8070000F08CF84FF6FF73AA +:107570009C4224D0DFF86090D9F800204FEAC40A7A +:1075800042F8348002EBC403A6B19DB1114B388898 +:107590001B682A4604FB0030314605F0FDF9D9F896 +:1075A0000030534400209D8002B0BDE8F0874FF6C4 +:1075B000FF74D7E700209880F6E70920F4E704205D +:1075C000F2E700BFDC2B0020E02B0020DE2B0020A8 +:1075D000D02B0020D42B0020D82B0020F8B5114C44 +:1075E000114D264622782B789A4200D1F8BD0F48DB +:1075F0000F4A2378126807880E4802EBC30100681F +:1076000052F83320898803FB070090470A49227803 +:107610000988D3B2914286BF0133DBB200233370B5 +:10762000E0E700BFE02B0020D02B0020DC2B002067 +:10763000D82B0020D42B0020DE2B002070B5EFF3D8 +:10764000108672B60C4A946801239CB993600B4B68 +:107650000B4DD3F8801029401160C3F88050D3F847 +:10766000841051604FF0FF32C3F88420047006B9D3 +:1076700062B670BD0370FAE7C04E002000E100E082 +:10768000FC06FFBD10B5084B9A685AB150B9EFF32C +:10769000108172B6054A1C6814605C68546098607A +:1076A00001B962B610BD00BFC04E002000E100E08D +:1076B00030B53AB11368DB430A4D0144814204D12D +:1076C000D84330BD4FF0FF33F6E710F8012B53409D +:1076D000082213F0010418BF2C46013A84EA530330 +:1076E000F7D1EBE72083B8ED10B561B1B2FBF3F44D +:1076F00003FB1424A4B244B9C0E90014846082815D +:10770000C381204610BD0E20FCE70920FAE782B0B5 +:1077100050E8022FC188B2EB324F4FF0000317BF81 +:1077200092B241EA014142EA014104E04268B2EB0F +:10773000324F08BF012340E80212002AE8D18DF839 +:1077400007309DF80730002B0CBF1120002002B03D +:10775000704737B550E8013F9DB2C48925448489FC +:10776000A54228BF2D1B0489A54202BFBFF32F8F5E +:10777000002207E0C5EA030540E80154002CE9D1E6 +:107780004FF001028DF803200193019B9DF8032027 +:107790000B6002F0FF0322B10B880068184403B0AD +:1077A00030BD1846FBE70A884B889A4209D150E859 +:1077B000012FC2EA024240E80123002BF7D1012049 +:1077C00070470020704737B550E8023F1FFAA3F515 +:1077D000C488A54202BFBFF32F8F00220DE0C489E9 +:1077E00025448489A54228BF2D1BC3EA054540E8EE +:1077F0000254002CE8D14FF001028DF803200193D0 +:10780000019B9DF803200B6002F0FF0322B14B881F +:107810000068184403B030BD1846FBE70A884B885F +:107820009A4209D150E8022FC2EA224240E80223DC +:10783000002BF7D1012070470020704710B5034698 +:1078400053E8000F40EA010243E8002494F0000FDF +:10785000F6D110BD10B5034653E8002F02EA01002F +:1078600043E8000494F0000FF6D110BD0121FFF7AA +:10787000E5BF0021FFF7EEBF10B590B1D0E90123BD +:1078800001689B1ADBB20A60013BDBB2FF2B026886 +:1078900002D10020107110BD11684C1C14600B70D7 +:1078A000F2E70E20F7E737B5044600250DF1070093 +:1078B0008DF80750FFF7C2FE2268616813688B429B +:1078C00010D9591E116013F8015C228AE36802FB8B +:1078D00005352268A36811685B1A1179DBB29942F9 +:1078E00038BF13719DF80700FFF7CCFE284603B0A0 +:1078F00030BD37B5054600230DF107000C468DF865 +:107900000730FFF79BFE2A681368591C1160E9686D +:10791000641A298AB4FBF1F41C709DF80700FFF784 +:10792000B1FE03B030BD01600B681146184710B4BA +:107930000468E468A4465DF8044B604710B404682A +:107940002469A4465DF8044B6047000070B550B947 +:107950000E4D0F4C0026641B1423B4FBF3F4B44209 +:1079600008D1002010E00368002BF1D0BDE8704082 +:10797000DB6918472B6813B901361435EFE7DB696B +:10798000284698470028F7D070BD00BFA02B0020E4 +:10799000B42B0020014B436000207047B4CD07009A +:1079A0000846704700207047024B1868003818BF1F +:1079B00001207047E42B002008B50248FFF759FF6B +:1079C000002008BDE42B002008B510461A4604F03C +:1079D000E3FF002008BD00002DE9F043814687B099 +:1079E00014480E4615469846FFF740FF0446F0B986 +:1079F0000746BD4215D10F48FFF73BFFD9F80830C5 +:107A00005BB102228DF800200022CDE90126CDE9EC +:107A10000325CDF8148068469847204607B0BDE896 +:107A2000F08306EB073000F07DFB0137E1E711241E +:107A3000F3E700BFE42B00202DE9F041804686B03B +:107A400011480F4616461D46FFF710FF0446C8B9F9 +:107A5000AA083146384600F093FB0B48FFF709FFB0 +:107A6000D8F8083053B101228DF800200C9A059205 +:107A7000CDE90147CDE9036568469847204606B041 +:107A8000BDE8F0811124F9E7E42B002029DF7047DD +:107A900028DF704770B50668B36886B004460D46A7 +:107AA00073B114220021684605F010F8A36805930D +:107AB0002379019533B1012B0ED0B36868469847FE +:107AC00006B070BD01238DF8003023690293E3688E +:107AD000039363690493F0E702238DF80030E368B1 +:107AE0001B030293F5E7084670470020704700002B +:107AF000024B187A003818BF01207047D42D00209F +:107B0000034B187A0122B0FA80F05A74400970478A +:107B1000D42D002008B510461A4604F03DFF002081 +:107B200008BD000008B514220021044804F0CEFF6F +:107B30000348FFF7ECFD002008BD00BFD42D002056 +:107B4000C42D002010B5094C094B43602046FFF7B7 +:107B50008DFE48B903F0C8FD064920741C23064871 +:107B60004FF4EE72FFF7C0FD002010BDD42D0020B1 +:107B7000E0CD0700E82B0020C42D002070B5234C79 +:107B8000234E237A25463BB922492348FFF71BFEA3 +:107B9000306008B9606070BD022334682B722379AD +:107BA00073B1012B22D020460321FFF773FF00237E +:107BB0002B726B60BDE8704016491748FFF72EBE68 +:107BC000D4E90523D21A142AD4E9031028BF1422B9 +:107BD0009208012A38BF012219441844FFF756FFC2 +:107BE00050B11128DFD101232B72D4E7D4E903036C +:107BF0001844FFF74DFFF3E72B7C002BCBD1014658 +:107C0000BDE87040022000F009B800BFD42D00206C +:107C1000EC2D0020E82D0020C42D002038B5831E57 +:107C2000012B43D8224C237A002B3FD0022B09D1C1 +:107C300003282ED01F4B00221B68E2601A793AB14C +:107C4000012A20D0637C6BBBBDE83840FFF796BFAC +:107C5000D3E905128D1A142D94BF521914329A616A +:107C60009142EFD102284FF0000308BF194623725A +:107C7000104B18BF0D211868FFF70CFF0E490F4875 +:107C8000FFF7CCFDDEE71A6901321A615B699A429F +:107C9000E7E7E3680133082B01D8E360D2E700236C +:107CA000E360DFE7BDE8384003F00EBD38BD00BF3C +:107CB000D42D0020EC2D0020E82D0020C42D002024 +:107CC00000F0FD03012B08D1044B00225A74421E20 +:107CD000504250411874FFF751BF7047D42D002017 +:107CE00010B5064C201DFFF7C1FD28B9637C1BB9F8 +:107CF000BDE81040FFF742BF10BD00BFD42D0020EB +:107D00002DE9F34180460D460F4801A916461F464E +:107D1000FFF71FFD0446A8B11C22002104F0D6FE87 +:107D20002D0B0123237101A90748C4F80080A76027 +:107D3000E5606661FFF737FDFFF7D2FF002002B074 +:107D4000BDE8F0810420FAE7C42D00202DE9F743B7 +:107D500081468846104801A917461E46FFF7F9FCE0 +:107D60000446B0B11C22002104F0B0FE00250A9B9D +:107D7000A36001A9C4E9037807482571C4F80090FD +:107D80006661FFF710FDFFF7ABFF284603B0BDE8C3 +:107D9000F0830420FAE700BFC42D002001600B68C7 +:107DA00043604A68934204BF0023436070474368BE +:107DB00043B1026891680B4443605268934204BF28 +:107DC00000234360704700002DE9F04FC9B008AAB6 +:107DD00001F1400514464B780E781B0443EA066314 +:107DE000CE7833438E78043143EA06238D4244F83B +:107DF000043BF0D11024916B16464FEAF14383EA1D +:107E0000714383EA9123716A366852F8045F314402 +:107E10000B444FEAB54181EAF51181EAD5010134FD +:107E20000B44402CD363E6D1D0E914E30093836D77 +:107E30000193C36D0293036E0393436E0493836EA9 +:107E40000593C36E0693DDE9057BDDE9031CDDE9DF +:107E500001592B4B009E079374464FF00008079B77 +:107E600053F8042B07934FEAF12383EAB11383EA13 +:107E7000716A08AB53F828301A440AEB020327EA68 +:107E8000010A01EA0C028AEA02021A444FEA743A31 +:107E900086EA05035A448AEAB40A06EA050B234037 +:107EA00083EA0B038AEAB45A08F101089A44B8F14C +:107EB000400F02EB0903BB465244A94619D1724454 +:107EC0000265009A22444265019A32448265029A10 +:107ED0002A44C265039A1A44049B02660B44436613 +:107EE000059B63448366069B3B44C36649B0BDE87B +:107EF000F08F674635468C46264619461446AEE74F +:107F00000CCE070030B5E0B10F4A1049002400251F +:107F1000C0E91245C0E914120D4C0E4A0E4DC0E9DD +:107F200016420E4AC0E918520D4A826602F1745296 +:107F3000A2F523020023A2F692420364C266184609 +:107F400030BD0E20FCE700BF85AE67BB67E6096A5F +:107F500072F36E3C3AF54FA57F520E518C68059B2B +:107F6000ABD9831F70B5F0B1DAB900201CE00C4624 +:107F70008D180026AC42F8D0036C14F8012BC254C3 +:107F80000133402B0364F5D10146FFF71DFFD0E913 +:107F9000123213F5007342F10002C0E91232066496 +:107FA000E8E70029E3D10E2070BD70B50D461646F6 +:107FB0000446002875D0002973D0026C8021372A2E +:107FC000815402F101034FF0000240D8382B39D11F +:107FD000D4E91201226C0823E3FB020103BAE36334 +:107FE0000B0A84F83A300B0C84F839300B0EC4E9D4 +:107FF000120184F83B1084F8383021462046FFF700 +:10800000E3FE691E76B30023E26EDA4001F8012F29 +:10801000A26EDA400A71626EDA400A72226EDA40AB +:108020000A73E26DDA400A74A26DDA400A75626D75 +:10803000DA400A76226DDA400833202B0A77E3D142 +:10804000002070BDE2540133C0E7E25401333F2BFE +:10805000FBD921462046FFF7B7FE3822002104F065 +:1080600035FDB5E71823226DDA4001F8012F626D66 +:10807000DA400A71A26DDA400A72E26DDA400A73E0 +:10808000226EDA400A74626EDA400A75A26EDA4035 +:108090000A76E26EDA40083B13F1080F0A77E2D164 +:1080A000CEE70E20CDE743689B68184708B54368C4 +:1080B00008305A7900F083F9002008BD2DE9F0411D +:1080C0000C469CB008461F460392FFF7ECFFD4F81D +:1080D0000480039998F80550BD4228BF3D460646E6 +:1080E0002A4604A800F060F998F8052022990CA807 +:1080F00000F065F900960CAB2A4604A904F10800CB +:1081000004F044FA002848F2425018BF00201CB086 +:10811000BDE8F081024AD2F80034002BFBD0704752 +:1081200000E001400A4908B50223C1F80435BFF355 +:108130006F8FBFF34F8FC1F80805FFF7EBFF0023E8 +:10814000C1F80435BFF36F8FBFF34F8F08BD00BF79 +:1081500000E0014010B5094C0123C4F80435BFF319 +:108160006F8FBFF34F8F0160FFF7D4FF0023C4F878 +:108170000435BFF36F8FBFF34F8F10BD00E0014098 +:108180000E4B10B50124C3F80445BFF36F8FBFF346 +:108190004F8F01EB8204401AA14208D1074B002205 +:1081A000C3F80425BFF36F8FBFF34F8F10BD431883 +:1081B00051F8042B1A60FFF7ADFFEDE700E0014036 +:1081C00028B139B10023C1E900301846704748F2A0 +:1081D0001050704748F21350704738B1006848F2A9 +:1081E0004053884214BF18460020704748F2105090 +:1081F000704730B148F21153914214BF1846002025 +:10820000704748F21050704770B506460C461D4640 +:10821000FFF7D6FF50B9B3794AB1AB420AD1114644 +:108220002046FFF743FF08B9044B236070BD48F2B6 +:108230001050FBE748F21150F8E700BF7052464D6E +:108240002DE9F0470C4606460F492046DDE908892E +:1082500015461F46FFF7C1FFA0B963685A79494622 +:1082600052004046FFF7C5FF60B94DB1CDF8208000 +:108270003B462A4621463046BDE8F047FFF71EBF81 +:1082800048F21050BDE8F0877052464D10B50446D4 +:1082900038B149B141600B68984708B9044B236075 +:1082A00010BD48F20150FBE748F21050F8E700BF5C +:1082B0006E524648F0B4134648B10768094EB742BB +:1082C0000AD161B12AB14368F0BC5B68184748F233 +:1082D00001531846F0BC704748F20253F9E748F2E0 +:1082E0001053F6E76E524648F0B460B107680C4E82 +:1082F000B7420CD171B143681568DC68A5420CD354 +:10830000F0BC9B68184748F20150F0BC704748F237 +:108310000250FAE748F21350F7E748F21450F4E736 +:108320006E524648F7B50446DDE9086715460193E5 +:10833000FFF7ACFF68B9019A29462046FFF7BAFF5C +:1083400038B93A463146204603B0BDE8F040FFF761 +:10835000CBBF03B0F0BD0000F8B50A4F0A4C0B4D7F +:10836000E41B0121E40829700026A64203D1022360 +:108370002B700020F8BD57F8363098470028F9D107 +:108380000136F2E7B4D20700B4D20700F02D002086 +:1083900001390144814200D2704703780A7800F81D +:1083A000012B01F80139F5E7013A02440139824213 +:1083B00000D2704711F8013F02F80139F7E770B5B4 +:1083C00016460D46FFF7F0FF3246A9193044BDE8C6 +:1083D0007040FFF7E9BF38B50D460446FFF7D8FFF8 +:1083E00029466019BDE83840FFF7D2BFBFF34F8F71 +:1083F0000549064BCA6802F4E0621343CB60BFF341 +:108400004F8F00BFFDE700BF00ED00E00400FA055C +:10841000044A136801331360034B1B780BB100F05F +:10842000FFB87047FC2D0020F82D002010B5094C36 +:1084300000F018F923785BB9074A137000F0B8F818 +:10844000012323700549BDE81040A32000F0D6BBEE +:1084500010BD00BFF82D0020F12D00201184070071 +:1084600008B5084B00221A7000F030F90649A32025 +:1084700000F0C4FB054B1A68054B1A60054B01223E +:108480001A7008BDF82D002011840700FC2D002073 +:10849000F42D0020F12D0020013870B5082823D8D4 +:1084A000DFE800F00A0C23220522050E0C0011481B +:1084B000BDE87040FFF7BABF0F48F9E70F48F7E78C +:1084C00002F07AF80E4B1B787BB10E4E0E4D3468DD +:1084D0002B68E41A3B2C94BF0021012100F040F9E5 +:1084E0003B2C01D933682B6070BDBDE87040FFF7AD +:1084F000B7BF00BF5DCF070058CF070062CF0700AE +:10850000F12D0020FC2D0020F42D002008B5FFF7F0 +:108510006DFF08B5FFF76AFF08B500F089FC024857 +:1085200000F0A6F9FFF762FF99840700F0B51B4B36 +:108530001B4819781B4B1C4D5F5C0422012447FA31 +:1085400002F6F60710F8013B1BD51F2B86BF03F080 +:108550001F032E464FF0A04604FA03F3C6F80C356D +:10856000013AECD2114B5B5C1F2B86BF0E4903F026 +:108570001F034FF0A041012202FA03F3C1F80835AE +:10858000F0BD1F2B86BF03F01F032E464FF0A04601 +:1085900004FA03F3C6F80835E2E700BF052E002011 +:1085A00067CF0700002E0020000300506CCF0700AB +:1085B00030B41748174D0022032410F8013B1F2B3D +:1085C00086BF03F01F0329464FF0A04103F5E07377 +:1085D0000132052A41F82340EFD10F480D4D00220A +:1085E000032410F8013B1F2B86BF03F01F0329460D +:1085F0004FF0A04103F5E0730132052A41F8234012 +:10860000EFD1064B00221A7030BCFFF78FBF00BFBE +:1086100067CF0700000300506CCF0700052E002035 +:1086200010B40D4A0D4913780120C95C03441F2979 +:10863000DBB28ABF0A4C4FF0A04401F01F01042BAB +:1086400000FA01F188BF0023C4F80C1513705DF81F +:10865000044BFFF76BBF00BF052E00206CCF070057 +:108660000003005001460522014804F095B900BFFF +:10867000002E00201F2886BF054A00F01F004FF083 +:10868000A042012303FA00F0C2F80805704700BFBA +:10869000000300500B4B185C1F288ABF0A4B4FF099 +:1086A000A04300F01F01D3F8042598BF0146CA403B +:1086B000D20704D501228A40C3F80C257047FFF782 +:1086C000D9BF00BF71CF070000030050F8B5204AA2 +:1086D000204D214E002313602846032410F8012B5F +:1086E0001F2A86BF02F01F0231464FF0A04102F55B +:1086F000E0720133052B41F82240EFD1174C164FA1 +:1087000020460022032610F8013B1F2B86BF03F0F2 +:108710001F0339464FF0A04103F5E0730132052AEB +:1087200041F82360EFD1002115F8010BFFF7A2FFFC +:1087300001310529F8D1002114F8010BFFF79AFF48 +:1087400001310529F8D1BDE8F8400020FFF7A2BFAC +:10875000082E002071CF07000003005076CF0700DD +:10876000F0B5164A164F1668DFF858C03446002593 +:108770004FF0010E00EB8000642390FBF3F0A04269 +:108780000BDCB042B8BF304605B11060A1B104287F +:1087900012DCBDE8F040FFF77DBFE35D1F2B8ABF11 +:1087A00065464FF0A04503F01F030EFA03F3C5F82A +:1087B0000C3501340125E2E7F0BD00BF082E002092 +:1087C00071CF070000030050007800F001007047EF +:1087D00041DF7047014B01221A7070472C32002094 +:1087E000BFF34F8F0549064BCA6802F4E06213439A +:1087F000CB60BFF34F8F00BFFDE700BF00ED00E08F +:108800000400FA05024B034800221A7001F0F2BF7F +:108810002C320020E1870700042810B5044609D84F +:10882000022811D816D00D4B1B68B3B12046BDE805 +:1088300010401847831F012BF5D8094B0948002227 +:108840001A7001F0D7FFEEE707494FF4701000F0FF +:10885000A7F9E8E701F014FFE5E710BD303200208A +:108860002C320020E18707000588070000207047B0 +:1088700038B5504B1860002001F0D2FF04460028A4 +:1088800040F0928000F07EFA012800F088800228F3 +:1088900000F08C80002840F087804FF08043D3F8B0 +:1088A000004414F4803435D04FF48032C3F80024EF +:1088B0000446414D2B6A012B3FD04FF4701400F059 +:1088C000F7FA3E4A20211820FEF7FEFD08B1FFF717 +:1088D00020FE3B4B1A6802F0F802B02A06D11A6853 +:1088E000D20742BF1A6802F04E021A60FFF7BEFFBD +:1088F000002859D12046334900F052F9324800F09F +:10890000E9FF002850D100F0F9FAFEF767FEFFF703 +:108910005FFFF8E7D3F8202502F0F802A82A0AD171 +:10892000D3F82025D10706D5D3F8202502F056022A +:10893000C3F82025BDE70124BBE743F204031A680E +:10894000224B9A4209D002F023F8AA69014694B159 +:108950001F4802F07AFB90B9AFE76A6B1CB995F833 +:108960006032012BEFD01B484FF4805102F06DFBB9 +:108970000028E8D1A1E795F8A132012BE8D1104BEE +:108980001B6813F0B10F98D101F0AEFF60B9124B24 +:108990001870124801F02EFF00F024F804E00E4B8E +:1089A0000F481C7001F026FF032038BD4FF4A024AF +:1089B00085E700BF30320020CC4E00200C2E002076 +:1089C0001C0500400588070019880700DBE5B15148 +:1089D0006D5100202C5100202C320020D58707003B +:1089E000E187070008B5074B4FF0FF32C3F880203E +:1089F000C3F8802101F060FCBDE808404FF48050CE +:108A000000F002B800E100E000B5EFF305830023B9 +:108A1000D0E9001283F3148883F3108883F311885C +:108A200083F3138881F308884FF0FF339E46104785 +:108A30005DF804FB00F1402000F50030002382B017 +:108A4000036003680193019B02B0704738B56FF073 +:108A50007F42134C057BD4F804358A4228BF0A466E +:108A6000891A13444A1E942A23F07F4305F5A872FD +:108A70009BBF963B96314160416044F82230094BE0 +:108A80004FF4F86043F00103984705F1500080006F +:108A9000FFF7D0FF4FF48033AB40C4F8043338BD48 +:108AA0000040024080CF070008B517490A7852BB42 +:108AB0004FF080434FF48070D3F81834DB035EBF6F +:108AC000124B01221A60FFF7B5FF4FF4A070FFF7B9 +:108AD000B1FF4FF4A270FFF7ADFF4FF4A470FFF7A2 +:108AE000A9FF0B4B0B48A02283F8242310225A60C5 +:108AF000094A0023C2F808350123036002201360ED +:108B0000C2F804030B7008BD383200200800004092 +:108B100000E100E008400240004002402DE9F04141 +:108B2000194B1B683BB1194A13684FF4827001332B +:108B30001360FFF77FFF164C164DDFF86080164E6E +:108B40004FF480372B68A5F5804080B25BB1FFF70A +:108B500071FF237B07FA03F3C8F80833616849B152 +:108B60002046FFF773FF0435B54204F11004E9D144 +:108B7000BDE8F081A16811B12046FFF767FF2368C7 +:108B8000002BF0D09847EEE7044102403432002039 +:108B9000EC2A0020404102404C410240004002408B +:108BA00070B50B4B1D682A7B4FF480339340094A04 +:108BB0000E46C2F80833044640B1FFF775FF2E6039 +:108BC00021462846BDE87040FFF740BF70BD00BF9A +:108BD0001C2B00200040024070B5074B1D680E465C +:108BE000A8600446FFF760FF2E6021462846BDE8D6 +:108BF0007040FFF72BBF00BF242B002070B50E4B39 +:108C00001C68237B4FF480329A400C4B0E46D3F8FD +:108C100004130A42054602D0A16881420BD0C3F872 +:108C20000823A560FFF740FF266029462046BDE8DF +:108C30007040FFF70BBF70BD202B002000400240AA +:108C4000014B01221A7070473932002038B50F4BA2 +:108C5000DA6A5D6A9C6CAC2A10D15B6B1C44ED1A1D +:108C60000B482A46214603F067FE68B100F046F93A +:108C700029462046BDE8384001F000BB002CEFD16A +:108C800001F09CFE0446EBE738BD00BFCC4E00204F +:108C9000007007002DE9F74F06468846A8EB060549 +:108CA0002D0B02F6FF77144600F002F9802D28BF45 +:108CB00080252B03DFF868B001933F0B0CB92346E6 +:108CC00029E0BD422CBFBA46AA464FF000025146E9 +:108CD000304634BFDDF80490A14601F0B7FA0346F0 +:108CE000C8B909F1030222F003024146304601F0FF +:108CF0009FFA034678B9DBF830304B44CBF830307C +:108D000001F07EFDA7EB0A07A4EB09044E44C8441A +:108D100003460028D2D0184603B0BDE8F08F00BF4C +:108D2000CC4E002010B501F059FE154A42F2040362 +:108D3000916CCC5803F1A34303F5471303F2D753C7 +:108D40009C4218D1D2E90C32934216D0884204D109 +:108D5000BDE81040002001F053BDD21A02F6FF72A8 +:108D600022F47F6222F00F0219441844FFF792FFA9 +:108D70000028EDD010BD0320FCE70020FAE700BF7B +:108D8000CC4E002070B5264CE36AAA2B37D005D80C +:108D9000012B0BD0A52B2ED0002070BDAC2BFBD10E +:108DA000FFF7C0FF48BBFFF751FF26E0A66C656ADE +:108DB00001F0EEFD864229D101F0EAFD00222946AC +:108DC000FEF776FCA36A984202BF0123C4E90703B9 +:108DD000A5610025134801F0CFFD134B1348002275 +:108DE0001A7001F00DFD68B975B1236A012B14BF2B +:108DF00001200220D1E7FFF795FF0125EAE7FFF701 +:108E000025FFE6E70320C8E70120C6E7236BEA1A3F +:108E1000F1181844FFF73EFF0028DAD1CCE700BF75 +:108E2000CC4E0020F04E002039320020418C07004B +:108E300008B540F6F8700368013302D10749FFF71F +:108E400089F940F6FC700368013305D1BDE808409C +:108E50004FF4FC21FFF77EB908BD00BF007007008A +:108E60000A4AD2F800347BB109480023D2F8081529 +:108E7000D940C90748BF03F5C07103F1010348BFDA +:108E800042F82100072BF1D1704700BF00000140DC +:108E90003546526EFFF7E4BF044B002282B01A60E1 +:108EA0001B680193019B02B0704700BF00010140A5 +:108EB00038B50E4C2278BAB90D4BD3F800248AB1DC +:108EC000D3F80455FFF7CCFF40F61650A842B8BFC0 +:108ED00028460849A0F54860FFF77EFE064B4FF490 +:108EE00080321A600123237038BD00BF3A3200205F +:108EF00000000140958E070000E100E0034BD3F82D +:108F000000340BB1FFF7ACBF704700BF0000014059 +:108F10000023C0E90232C0E900118B881A440261C3 +:108F2000B1F906301A4442610888003818BF0120A0 +:108F3000704710B5426811880346002939D002F104 +:108F400010014160148A2CB9C2680168FFF7E0FF84 +:108F5000204610BD9078118900F03004302C1BD1D0 +:108F6000947C04F03004302C1DD190881969091AC2 +:108F700019610021907810F0300F02BF986801301D +:108F80009860908A0844196901441961B2F9162061 +:108F9000114459610120DCE700F0F004202C02D1DB +:108FA00050894143E6E700F0C000802808BF042153 +:108FB000E0E70846CDE770B5466804460D466368AD +:108FC0001A88AA4204D19B7803F00F03082B07D11B +:108FD0002046FFF7AEFF6368B342F0D1002070BDBA +:108FE0000120FCE743681A44426011B101399A42FA +:108FF00001D10120704713F8010B01F8010FF6E7CA +:109000002DE9F34183680446884623B9002630469B +:1090100002B0BDE8F081036801220DF10701984715 +:1090200006460028F2D0A3689DF80750013BA360D4 +:109030009DF90730002B1ADA05F07F050727A36892 +:10904000002BE3D0236801220DF107012046984749 +:109050000028DBD0A3689DF80720013BA36002F045 +:109060007F03BB401D43130607F1070702D4C8F86E +:109070000050CCE7232FE2D1C8E770B54268927860 +:1090800002F00F01082986B003461FD103691C684E +:1090900000260CB906B070BD236826739D6862680F +:1090A00029466846FFF734FF6368049304F10C0314 +:1090B0000593AB7803F0C003802B08BF231D6846DF +:1090C00008BF0493FFF7D9FFA468E2E712F0C001DC +:1090D00020D102F0300010280ED15A6911705A6860 +:1090E00018699378D46803F00F03072B09D1014660 +:1090F000204600F017F8CDE79006F0D55B6919809F +:10910000C8E71289214614B103F046FCC2E703F018 +:10911000DDFCBFE78029BDD1006900219206016016 +:10912000B8D5EBE77FB50A4601466846FFF7F0FE83 +:1091300030B16846FFF7A1FF6846FFF7FAFEF7E790 +:1091400007B05DF804FB000030B5044685B0154655 +:10915000A9B90268114B9A4211D0102D06D82A469F +:1091600069462046FFF7F0FF05B030BD1022694682 +:109170002046FFF7E9FF0028F6D0103DEDE7A36891 +:10918000AB4201D20020EFE723682A4620469847E9 +:109190000028F7D0A268521BA260E5E7E58F070020 +:1091A000F7B50E4601A907461546FFF729FFA8B1F6 +:1091B000019A0123D3184FF0000404D2B17801F0D2 +:1091C000C001802901D1204608E031899942FAD3B3 +:1091D00029463846FFF7B8FF019BEC5403B0F0BDB9 +:1091E00073B50D4601A906461446FFF709FF98B16D +:1091F000019AB2F5803F11D2AB7803F0C003802B07 +:1092000002F102010AD02B898B4207D32146304656 +:1092100021F8022BFFF798FF02B070BD0020FBE79A +:1092200010B5034C82600022C0E90041C26010BD4D +:10923000E58F07002DE9F341002604460F46B046AE +:109240003546A3682BB3236801220DF107012046A0 +:109250009847F0B1A3689DF807C0013B0CF07F026E +:10926000C5F12001A360A5F1200302FA03F322FA5D +:1092700001F10B43AA401CF0800F46EA020643EAC4 +:10928000080805F1070502D1C7E9006802E0462D8C +:10929000D7D1002002B0BDE8F08173B50C46694615 +:1092A0001646FFF7C7FF68B12389082B0CD1DDE90B +:1092B0000045C6E90045DDE90023AB4206BFA242F6 +:1092C0000120002002B070BD042B04D1009B33604C +:1092D0001C460025EFE7022B4FF0000004D1009B55 +:1092E00033809CB20546E6E7012BEBD1009B33703F +:1092F00003F0FF04F6E737B50D4669461446FFF75D +:1093000099FF30B12A89082ADDE9003103D1C4E987 +:10931000003103B030BD042A18464FEAE37108D18A +:1093200023601A460B468B4206BF82420120002072 +:10933000EFE7022A04D11BB223801AB2D317F2E757 +:10934000012A03D15BB223705AB2F7E70020E0E7AD +:10935000F7B51F4600233B700D460B70136001A943 +:1093600004461646FFF74CFE30B9A36813B9012333 +:109370003B70002003B0F0BD019C002CF7D0E30847 +:1093800004F0070433602C70F4E713B50446052994 +:109390001FD8DFE801F0030F151E1E1C012201A9D2 +:1093A0002046FFF7D1FE18B19DF90430002BF5DB04 +:1093B00002B010BD082200212046FFF7C5FEF7E7E6 +:1093C00001A9FFF71DFE0028F2D0019AF3E704225D +:1093D000F1E70020ECE773B50D4601A90446FFF75D +:1093E0000FFE064618B90026304602B070BD94E85C +:1093F0000F0085E80F0001998A42F4D3A960A368A1 +:109400005B1AA360F0E700002DE9F0435768BB78D2 +:1094100013F0C00489B006468C46154603D0402C94 +:109420006AD000240CE003F00F025F4903F0300320 +:10943000202B51F8228026D006D8CBB1102B1CD07F +:10944000204609B0BDE8F083302BF9D16B6939882B +:109450001980072A0AD16B6828691A89214603F006 +:1094600035FB6B682969D868FFF75CFE2A6940E024 +:109470002A693946C0470446E2E76B6901221A703F +:109480002A696968F6E7BCF1020FD5F8149024D177 +:10949000042A22D804A9FFF79EFF04460028C0D062 +:1094A000069B2BB16968B9F800304A899A4205D801 +:1094B000059B7360069B002BC2D0B2E708892A691E +:1094C00003FB002204A8C04728B1B9F800300133DB +:1094D000A9F80030E4E70446EAE7B9F800307A89F1 +:1094E0009A429ED92A693989581CA9F8000003FBC1 +:1094F000012269683046BDE7D2F81080474657F828 +:10950000043B13B9FFF741FFB5E7022914D104A9C1 +:10951000FFF761FF002884D0D8F8003069683A4628 +:1095200004A89847044600283FF47BAF069B002B15 +:10953000F2D1059B736083E7012925D005292BD043 +:1095400000297FF46EAF0C460DF1040901340B2C99 +:109550003FF467AF012249463046FFF7F5FD00288A +:109560003FF45FAF19F9013B002BEFDB0F4B049386 +:1095700001ABCDE9053400230793D8F800306968C2 +:109580003A4604A8984776E7082201A9FFF7DCFDD0 +:1095900008240028EAD144E704220DEB0201FFF77A +:1095A000D3FD0424F5E700BF88CF0700E58F07004F +:1095B0002DE9F04F91B00446002604A8CDE90266DB +:1095C000FFF7A6FCA3683BBBDDE9053404A89D7842 +:1095D000FFF7AFFC0028F7D115F0300F03D1059B42 +:1095E0001B8803B10134002C00F0A980630900221C +:1095F00002A9934240F09C8010AA02EB830304F07E +:109600001F0453F8383CC4F120044FF0FF30E04011 +:10961000C31A584258410DE00DF1030301AA0DF1A0 +:1096200002012046FFF794FE38B99DF80330002B65 +:10963000CAD1002011B0BDE8F08F019904A8FFF74E +:10964000BAFC002850D1019BB3427DD3059D059AF9 +:10965000937803F00F03082B7FD004A8FFF769FC71 +:10966000059B9D42F3D14FF0FF36019FB7426BD36C +:10967000089B9DF802A0D4F808801D684FF00109EE +:10968000A368002D5DD098459CD12B68D3F800B01D +:10969000BBF1000F08D053463A4629462046D8472A +:1096A0000028C6D0AD68EBE7D3F808B0BBF80030AF +:1096B0009F42F7D16A6859460AA8FFF729FC6B68F0 +:1096C0000E9305F10C030F939BF8023003F0C003D7 +:1096D000802B04BF2B1D0E930AAA85F80C905146CF +:1096E0002046FFF791FEDBE7059B9B7813F0300FD8 +:1096F0000FD1069A3F2A0CD8510910AB03EB810118 +:1097000002F01F020123934051F8382C134341F813 +:10971000383CE5682DB19DF80220019904AB204644 +:10972000A8479DF8021004AA2046FFF76DFE10E03E +:1097300051F8225001357FF47DAF013259E7012005 +:1097400078E798457FF43EAF9DF802102046FFF77A +:109750001CFE00287FF436AF6BE7168885E737B527 +:109760000C460546114620460192FFF7DBFC019AA4 +:109770002146284603B0BDE83040FFF719BF70B559 +:1097800086B0CE6801920C4602A90546FFF723FE7B +:1097900068B1E06858B1A378019A03F03003202B38 +:1097A000314602A805D1FFF7DAFF039B6B6006B0D4 +:1097B00070BDFFF7FDFEF8E7D3B50C466946FFF72D +:1097C00039FD80B1DDE9001300274A0801F00106E8 +:1097D00042EAC37256EA07014FEA53031CBFD24361 +:1097E000DB43C4E9002302B0D0BD37B50D4669465E +:1097F0001446FFF7E1FF68B12B89082B0CD1DDE996 +:109800000001C4E90001DDE900238B4206BF82426A +:109810000120002003B030BD042B03D1009820604C +:10982000C117F0E7022B04D1BDF90000208000B27F +:10983000F6E7012B04D19DF90000207040B2EFE75C +:109840000020E7E713B504220C460DEB0201FFF7F9 +:109850007BFC08B1019B236002B010BD1146FFF7ED +:10986000F1BF13B508220C466946FFF76DFC18B12D +:10987000DDE90023C4E9002302B010BD1146FFF763 +:10988000F0BF10B513681F2B144607D9002208300B +:10989000FEF78BFB08B92023236010BD48F214505B +:1098A000FBE70830FEF75EBB0830FEF72BBB00007D +:1098B000831F012B10B5044602D8002001F044F8A4 +:1098C000034B1B681BB12046BDE81040184710BD74 +:1098D0003C32002008B5074B18600020FFF7E8FF76 +:1098E000054801F019F820B9BDE80840024800F029 +:1098F0007BBE08BD3C320020B19807006EDF704788 +:109900006FDF704772DF704773DF704774DF704737 +:1099100075DF704776DF70477ADF70477CDF70470E +:109920007DDF70477FDF704786DF70478FDF7047CE +:1099300090DF7047A8DF7047AADF7047ADDF704740 +:10994000AEDF7047AFDF7047B0DF7047B1DF704701 +:10995000B5DF704762DF704766DF704713DF70471F +:109960007FB50023CDF80B308DF80F300A4BADF8E2 +:1099700006109B89ADF8083001238DF80A300DF1EF +:109980000603CDE90430054B02A91888FFF7D8FF7C +:1099900007B05DF804FB00BF8E4200202A2B002098 +:1099A00001460148FDF7A5BFBCD2070070B51822DB +:1099B0008CB00DEB0200002103F088F801238DF834 +:1099C00018308DF82D30324B1B7828220892002B4E +:1099D0005CD0304B02AA03F110061546186859688E +:1099E000144603C40833B3422246F7D12A4C10224E +:1099F0002946204602F0A0FF002847D002238DF818 +:109A00002C30012104F110036846CDE90034FFF742 +:109A100075FF0122002101A8FFF772FF04231F4CEC +:109A200002941622A37003230926ADF80420E370E4 +:109A300000225923CDE903220592012502226371F8 +:109A400001A9FE23A019ADF80C6022706570227187 +:109A5000A371FFF765FFB8B9BDF8043026725A1933 +:109A6000E271BDF80C200E4C134402A906AA204650 +:109A7000ADF80C30FFF746FF30B92078FFF746FF0E +:109A800020782946FFF740FF0CB070BD0623C6E7DB +:109A90000C43002080D10700D0420020A2420020C9 +:109AA000282B00202DE9F0410388232B8AB004469F +:109AB00036D80F2B05D8012B00F0EB800AB0BDE89B +:109AC000F081103B132BF9D801A252F823F000BF0C +:109AD000519B07006D9B0700BD9A07003D9C070046 +:109AE0008F9D0700BD9A0700BD9A0700BD9A070029 +:109AF000BD9A0700BD9A0700E99D0700BD9A0700BF +:109B0000BD9A0700BD9A0700BD9A0700BD9A0700DD +:109B1000BD9A07006F9C0700BD9A07002D9C0700A7 +:109B2000503B9AB2062AC9D8062BC7D801A252F8D0 +:109B300023F000BF959B07009F9C0700E99D07004D +:109B4000BD9A0700BD9A0700ED9B07007F9C0700A8 +:109B5000984B82881A80984A12681C460AB10120E4 +:109B6000904796492088FFF7D3FEA7E7914B4FF621 +:109B7000FF721A80924B1B685A0704D4FFF716FF36 +:109B800008B1FEF7C6FC8C4B1B68002B96D0022058 +:109B9000984793E78B4EE288B3889A428ED18A48E1 +:109BA000FDF781FE0546002888D0228A04F11201C3 +:109BB00002F0F2FE1822002104A802F087FF082319 +:109BC0008DF81030814B0693814B0596CDE9073512 +:109BD00004A8238AADF8243000F0FCFC00283FF4F0 +:109BE0006DAF79482946FDF784FE67E7E188F629DD +:109BF0001AD8CB1E9B070DD0CB1F9BB2013B5A42FC +:109C000002F0030203F0030301F1FF3158BF534296 +:109C1000C91A89B2674B1888FFF79AFE00283FF4EB +:109C20004DAFFEF776FC49E7F721F3E7002204A9E0 +:109C30008088CDE90422FFF77BFEEFE700235D4C2F +:109C4000ADF812300223ADF81030208802AB04AA20 +:109C500042F605210593FFF771FE08B1FEF759FCA6 +:109C6000002320881A468521FFF75CFED6E70023F3 +:109C700004A98088ADF81030FFF758FECEE7A3792D +:109C8000002B7FF41BAF4B4B13211888FFF742FECC +:109C9000C4E7484B00211888FFF75EFEBEE7A379B2 +:109CA000002B3FF40BAF022B7FF408AF454920890E +:109CB0008A8990420E467FF401AFA27B012A7FF48D +:109CC000FDAE00220120CDE904228DF81600208A85 +:109CD000384DADF81800608AADF81A0004F1140090 +:109CE0000790ADF80A20098A28888DF8103001AF56 +:109CF00002AAADF808300397FFF720FEA84660B926 +:109D00003846FEF761FD40B940F2FD132888ADF8F2 +:109D1000143004A9FFF718FED0E6002304A9B8F810 +:109D20000000ADF81430FFF70FFE014600287FF465 +:109D3000C5AE182204A802F0C9FE237D234A8DF87F +:109D40001030022B0596069218D0062B10D0012B4E +:109D500010D1204B1A88204B1A80637DD4F816202E +:109D60000893012B099205D11C4800F0EDFD01E09C +:109D7000637D089304A800F02DFC9FE6A27D637D1F +:109D800043EA0223134A1380134A1380F2E7144B69 +:109D90001A7862B11349028ACB8D9A4201F104020A +:109DA00005D11C31A0880023FFF7BEFD36E7002156 +:109DB000F8E700BF2A2B0020C8420020A6D10700E8 +:109DC000C44200208E420020BCD20700BD9E070086 +:109DD000A19907000E43002010430020B4D20700D1 +:109DE0000C430020CC420020174B1B7833B3174B99 +:109DF00017491C88082201232046FFF7A7FD0028E9 +:109E00007FF40FAF0246014602232046FFF79EFD76 +:109E100000287FF406AF0F4B4FF6FF7219882046DB +:109E2000FFF790FD43F2020398423FF447AE082843 +:109E30003FF444AE11287FF4F1AE3FE6A0881A4605 +:109E40001946FFF783FDE9E60C4300202A2B00208A +:109E5000044300208E42002038B5134A1368D90706 +:109E600001D4002038BD11498842FAD01049088831 +:109E70004FF6FF71884211D043F0040313211360A1 +:109E8000FFF748FD0028EDD10A4DC82445F0010533 +:109E90004FF47A40A847013CFAD1E2E7064B187824 +:109EA000BDE83840FFF732BDC4420020B4D20700FD +:109EB0002A2B0020A0D10700282B002010B5044633 +:109EC00086B000210D2202A8019102F0FFFD237847 +:109ED000082B0BD1364A374913880988013B9BB2BE +:109EE0001380D9B1D3B9032311802370627823780A +:109EF0008DF805306021012A8DF804108DF80620B8 +:109F00000ED00B2A12D100F0AFF98DF80700002017 +:109F100000F0A4F9042101A8FFF722FD06B010BD4E +:109F2000062B05D0082B29D0032B27D00321F2E7DD +:109F3000E1688DF80710D4E90123080A8DF80800BC +:109F4000080C090E8DF80A10110A8DF80B208DF8F7 +:109F50000C10110C120E8DF80E201A0A8DF80F300D +:109F60008DF810201A0C1B0E8DF80D108DF80900BD +:109F70008DF811208DF812300F21CCE7D4E90123A0 +:109F8000110A8DF807208DF80810110C120E8DF8AB +:109F90000A201A0A8DF80B308DF80C201A0C1B0EB3 +:109FA0008DF809108DF80D208DF80E300B21B2E7D9 +:109FB000104300200E4300202DE9F0414D4B94B09A +:109FC00005464FF6FF721A8001204FF659632A4664 +:109FD00002A98DF80A00ADF80830FFF7ABFC044683 +:109FE000002840F08380444B04AA03F11007164672 +:109FF00018685968144603C40833BB422246F7D197 +:10A00000A91C3046FFF7A6FC044600286ED11C228E +:10A0100001460DA802F05AFD04F0F8029DF8343014 +:10A02000ADF8044042F003028DF80620F42243F01C +:10A030000403CDE90A44ADF82C20304A8DF83430C1 +:10A040000223ADF80C3092F80080AB788DF80E301A +:10A0500001AE212303AFCDE908768DF805300C94CD +:10A06000B8F1000F04D1012262F307138DF8053017 +:10A070002B4608AA33F8040B0DA9FFF75DFC044634 +:10A08000A0BB01461C220DA802F020FD9DF8343033 +:10A09000ADF8044023F0180343F0180304F0E8027D +:10A0A00042F013028DF83430AB788DF80E30012178 +:10A0B00021238DF806201722CDE90A44CDE9087640 +:10A0C000ADF80C108DF805300C94ADF82C20B8F1DB +:10A0D000000F03D161F307138DF805302B4608AA52 +:10A0E00033F80C0B0DA9FFF727FC0446204614B0EB +:10A0F000BDE8F0812A2B002090D107000C430020FE +:10A1000073B5354D2B6813F0010403D000242046AD +:10A1100002B070BD314E30603148FDF7ADFB0194A7 +:10A1200000F0BDF804460028F1D12E48FFF716FCD8 +:10A1300004460028EBD101F059FA04460028E6D184 +:10A1400001A801F021FB04460028E0D101A901206B +:10A1500001F024FB04460028D9D101A801F082FBBC +:10A1600004460028D3D100F093FB1F4B002830D0C9 +:10A170001E4A126A012A2CD11D481A7000F07CFB7D +:10A1800011231C488DF8043002F0FAFC194982B200 +:10A1900001A8FFF7C3FB04460028B8D11648FFF713 +:10A1A000BBFB04460028B2D11448FFF705FF044664 +:10A1B0000028ACD1FFF7FAFB04460028A7D12B6892 +:10A1C00043F001032B603368002B9FD00920984790 +:10A1D0009DE700221A70D3E7C4420020C842002045 +:10A1E000BCD20700007007000C430020CC4E0020BA +:10A1F000CC42002078D10700A6D107008E42002073 +:10A2000043690BB1C06818477047000010B4054996 +:10A21000054C0022904218BF214604485DF8044BCB +:10A22000FDF781BBC0CD0700ECCD0700A02B0020BF +:10A2300007B5009313460A4601460348FDF777FB2E +:10A2400003B05DF804FB00BFA02B002013460A46B4 +:10A2500001460148FDF772BBA02B0020014B18708E +:10A260000B20704712430020024B002218781A700E +:10A27000704700BF1243002018DF704730B585B02B +:10A28000054610220C466846002102F01FFCA40877 +:10A29000684601950294FFF7EFFF05B030BD1FB58A +:10A2A0000023CDE901330393684602230093FFF7AF +:10A2B000E3FF05B05DF804FB4FF000534FF480520C +:10A2C0001A60002070470000014B06201B681847E9 +:10A2D0001C4300200A2803D90B38C0B2FFF7BEBFC9 +:10A2E0007047000010B5044686B00020FDF72EFB35 +:10A2F000014630B1164A18212046FDF709F906B08B +:10A3000010BD1822684602F0E1FB0423114A8DF8C3 +:10A310000030114B116D1B68994211D10F4B186819 +:10A3200000F0F4FF8DF80100FFF7D4FFD4E901132A +:10A330008DF8010068469847094800F061FADEE7A9 +:10A3400001238DF801306846D4E901139847D6E718 +:10A35000E5A20700CC4E0020144300201843002043 +:10A36000C9A20700F0B5044687B01822002168464C +:10A3700002F0ACFB22788DF8002001238DF801302B +:10A38000531E0B2B00F20C81DFE813F01100330099 +:10A39000110011000A0111000A0111000A010A014D +:10A3A0000A010C007F4B1B680720984721E0062A12 +:10A3B0007D4901D0012A01D122690A700A78012A57 +:10A3C00004D0022A51D000230B7094E0072B10D840 +:10A3D000DFE803F0040F452F0F420F1C714B0320E1 +:10A3E0001B689847606900F06BFDFFF773FF8DF8FD +:10A3F0000100D4E90113684698479DF80130012B0C +:10A4000000F0C380674B05201B68BDE0A18A20696E +:10A4100000F06EFDFFF75EFF644B8DF80100DA6B14 +:10A420001B6C0293E3680192002BE2D020699847ED +:10A43000DFE75F495F4800F0A7FDFFF74BFF01280A +:10A440008DF80100D5D1002000F0DAF90028D0D035 +:10A450000A238DF80130CCE74FF400730393534B7C +:10A46000DA6B1B6C01920293C3E7072BC1D801A2E0 +:10A4700052F823F095A40700F3A3070059A507009D +:10A4800065A50700F3A307008FA50700F3A3070046 +:10A49000FBA4070000F04CFD08B90823D9E7626966 +:10A4A0000AB90323D5E7C2F30B0333B13F4B40494D +:10A4B0005B6D096813448B42F3D1B2F5805F01D91B +:10A4C0000423C6E7394B3A49586D096815188D427F +:10A4D000E3D85A64DA6C9A6418651863354B61697D +:10A4E0001B6801F6FF710022090B1844FFF7AEFE4E +:10A4F00000283FF47EAF0523ABE700F019FD0028EC +:10A50000CBD02A4DA18AD5E914329B1A6A6C0B4430 +:10A510009342C6D8274B2F6B1B68206905F1480270 +:10A520001F44FDF7C5F8E368A28A2169064638464C +:10A53000FFF77EFE08B1E36878E7A28A2B6B13442D +:10A540002B63A38A2A6DAE641344CDE901362B65D3 +:10A55000144B08201B6828E7144B9A6C1B6D029261 +:10A56000019346E7114BD3E91402596C821A8A42CF +:10A5700093D19A6C5865002120465964DA64FFF73C +:10A58000B1FE084B1B680420984707B0F0BD074B8D +:10A590009A6C1B6D01934FF480530292039328E74A +:10A5A000022356E71C4300202C2B0020CC4E002019 +:10A5B0001443002018430020044B054A186D6423FF +:10A5C00043431068B3FBF0F0704700BFCC4E00204F +:10A5D0001443002083681BB1024A1821FCF798BF7E +:10A5E0000720704765A3070038B50546C0B10120B4 +:10A5F000FFF70CFE044648B900F054FC00F098FC4C +:10A6000030B9084B00201D60FFF728FE204638BDFA +:10A610000549064800F0B8FC0128F2D00324F5E70C +:10A620000724F3E71C4300201443002018430020B4 +:10A630002DE9F04115464FF46072064688461F46E4 +:10A6400002F07AF928B915B90020BDE8F081A847D1 +:10A65000FAE7002201213046FFF7F8FD70B94FF408 +:10A6600060724146384602F097F92B464FF460720B +:10A6700039463046FFF7DCFD0028E5D00320E4E74B +:10A680002DE9F0413D4C236801335CD00022582174 +:10A69000201DFDF70DF8D4F80080A8EB0002D2F1E0 +:10A6A000000848EB0208364D364E2F683B680133F0 +:10A6B0005ED000225821381DFCF7FAFF3B68834228 +:10A6C00044D17C68012C0AD00022C32107F5187000 +:10A6D000FCF7EEFFD7F85C42231A5C425C41B8F10C +:10A6E000000F35D0254927484FF4607202F054F925 +:10A6F00064B1296824485422043102F04DF92968D4 +:10A7000022484FF432725C3102F046F97468012C31 +:10A710002CD11F49402201F5E47002F03DF91D499A +:10A720001C2201F5E47002F037F91B4986F8A142BA +:10A730000023042201F2862086F8603286F8E23295 +:10A7400002F02AF910E04FF00008ACE70024C6E759 +:10A7500024B129680B484FF46072D5E709484FF4DB +:10A760006072002102F0B2F902237360BDE8F0814B +:10A77000B8F1000FF2D00024B4E700BF00F00700EA +:10A78000302B0020CC4E0020D04E0020284F00203F +:10A790002850002068500020E84E002070B50D4C75 +:10A7A0000546002258212046FCF782FF002244F88B +:10A7B000040CC32104F51770FCF77AFF261FC4F8B8 +:10A7C00058022A463146044B0448BDE87040FFF762 +:10A7D0002FBF00BFD04E00202043002000F0070014 +:10A7E00002460248024B0068FFF722BF302B0020D0 +:10A7F000A04600200149FFF7F3BF00BF00F00700AB +:10A8000038B505460020FFF7C9FF044618B90349CB +:10A810002846FFF7E5FF204638BD00BFCC4E00209C +:10A8200010B5FFF7F3FC044628B9FFF729FF2046CF +:10A83000FFF7E6FF00B1032010BD29DF70470000DD +:10A8400038B50C4D0446D5F8243378B101330FD117 +:10A8500000223C210430FCF72BFF2060214605F547 +:10A8600049701022BDE83840FFF7E7BF0E2038BD21 +:10A870000820FCE700F0070008B528B10349402292 +:10A8800002F08AF8002008BD0E20FCE724F3070040 +:10A8900010B5064C00223C212046FCF709FF54F875 +:10A8A000043C1B1A5842584110BD00BF28F3070052 +:10A8B00038B50C4D0446D5F8643378B101330FD167 +:10A8C000002218210430FCF7F3FE2060214605F534 +:10A8D00059700722BDE83840FFF7AFBF0E2038BDE2 +:10A8E0000820FCE700F0070010B50A4CD4F8243328 +:10A8F000D4F864231340013309D04FF4FE20FDF750 +:10A9000011FCC92221464FF4FE20FDF739FC00203E +:10A9100010BD00BFCC4E0020F8B5094E094CA41B59 +:10A920000746E4080025A54201D10020F8BD56F8ED +:10A930003530384698470028F8D10135F3E700BF95 +:10A94000B4D20700BCD20700F8B5094E094CA41BCD +:10A950000746E40800250436A54201D10020F8BDD1 +:10A9600056F83530384698470028F8D10135F3E7D6 +:10A97000B4D20700BCD2070008B50C22002102F0B7 +:10A98000A5F8024B00221A6308BD00BFCC4E002080 +:10A9900043F204031A68084B9A4201BF43F20803CA +:10A9A000186800F6FF7020F47F600CBF20F00F00E5 +:10A9B0004FF48050704700BFDBE5B15108B5FFF799 +:10A9C000E7FF054B9B69184400F6FF7020F47F6099 +:10A9D00020F00F0008BD00BFCC4E00204FF4805087 +:10A9E000704700002DE9F74F0193244BDFF894B036 +:10A9F0001B6ADFF894900093054616464FF0000856 +:10AA000043F2040AB8F1010F5FFA88F714D0022F5D +:10AA10001FD0FFF7D3FF6EB1009B013B5C425C414E +:10AA2000A9EB0000A84200D3F9B1B4B1A8421CD2EE +:10AA300004201FE03446F3E7FFF7AAFF019B33B978 +:10AA4000DAF80040B4EB0B0418BF0124E8E74446F1 +:10AA5000E6E701244FF48050E2E708F10108B8F17D +:10AA6000030FCFD1A842E3D300E017B10448FFF7AA +:10AA700083FF002003B0BDE8F08F00BFCC4E002064 +:10AA8000E44E0020DBE5B1510040070090F855206E +:10AA900012F0FB0F07D190F8643023B1836ECBB175 +:10AAA0000B600120704712F0010303D090F856307C +:10AAB00003B1836D9207F2D590F85C20002AEED0A6 +:10AAC000054A006EC2F5FC22904201D80344E6E735 +:10AAD000042070470F2070470070070010B5084C25 +:10AAE0004FF40072FF21204601F0F0FF20220021E8 +:10AAF000A4F1240001F0EAFF002344F82C3C10BD2F +:10AB0000284F00202DE9F0475A495B48DFF888813B +:10AB1000DFF88891DFF888A1584C92B00C2201F040 +:10AB20000BFF064600284CD15349382204A801F0F7 +:10AB300033FF4FF447723146204688F80060C9F869 +:10AB40000060CAF8006001F0C1FF079D012D58D1D7 +:10AB50004FF48073A3803423636143F20C0384F8C1 +:10AB60006C612570A5712572E560257425831B88AD +:10AB7000E361089B2367032384F87630099BA4F8DC +:10AB80005C5084F85E50266684F86450A66684F8AB +:10AB90006C5084F87450A4F8783020220AA904F18B +:10ABA0007A0001F0F9FEA4F89A50A4F89C5084F8B9 +:10ABB0009E60A4F8A06088F800500834304B1C60F8 +:10ABC00020E03049304E8A6B6F465C313846FEF7E4 +:10ABD00027FB97E80F0086E80F0000212B4B88F831 +:10ABE00000104FF447722046C9F80010CAF8001050 +:10ABF000F36001F06BFF264922463046FEF7AFFDB9 +:10AC000020B90025284612B0BDE8F08798F800501A +:10AC1000002DF6D094F86C3194F800801BB3B8F195 +:10AC2000000FEED194F87231002BEAD0DAF8002050 +:10AC3000D9F800103846FEF7F3FA97E80F0086E8D7 +:10AC40000F004FF4B272414604F5BA7001F03EFFB6 +:10AC5000104904F5BA723046FEF781FD0028D0D0C5 +:10AC600004F5BA74AAE7B8F1000FCAD0A379002B93 +:10AC7000A3D1C6E7AED10700284F0020504A0020DC +:10AC8000284E0020CC4E00206C4D0020A5AC0700C3 +:10AC900008D1070054D007004C4A0020484A002041 +:10ACA000444A002030B55B68DA680D4B9A4208D1FF +:10ACB0000C490A6812B90C4A14681CB10B4B0022EB +:10ACC0001A7030BDD0E90134181913F9015B002D59 +:10ACD000A0EB0304F9DB0B601460044B0122EFE7E7 +:10ACE00054D00700484A0020444A00204C4A002023 +:10ACF00010B543F2040319491C688C4202462BD05C +:10AD000042F20403C358581A434243418C42184646 +:10AD100021D142F20403D358A3421CD14FF4405333 +:10AD200002F500511B780978142B81BF43F21403FC +:10AD30000B481B68B3FBF0F398BF0023142989BFAD +:10AD400042F2140100205058054A88BFB0FBF2F0CF +:10AD5000181A18BF012010BD0023D7E7DBE5B15159 +:10AD600040420F0000B591B0FDF7F6FA6846084979 +:10AD70002022FDF724FB6A46064907484023FDF7D9 +:10AD800043FA064B01221A7011B05DF804FB00BFB4 +:10AD900018CF07007C4D00200CCF0700204A002070 +:10ADA000F0B5A3B007460D4614461E467822202370 +:10ADB000002104A8029301F089FE00230393194B9C +:10ADC0001B780BB9FFF7CEFF2DB337BB02AB164F85 +:10ADD00001931649289B0097324604A8FDF7A2FA72 +:10ADE000E8B9402C1BD1124E22462946304601F0CC +:10ADF000D3FD20213046FDF7EEFACDE90064029B39 +:10AE00000C493A4603A8FDF71BFA00280CBF0120A5 +:10AE1000052023B0F0BD1320FBE71620F9E70A2038 +:10AE2000F7E700BF204A0020C44D0020ACCF070048 +:10AE3000E44D00207C4D0020F0B5ABB004460D463B +:10AE400016461F467822202300210CA8039301F008 +:10AE50003DFE114B1B780BB9FFF784FF2FB1214644 +:10AE6000202204A8FDF7A0FA04AC03AB0B4F01931A +:10AE70000B49009733462A460CA8FDF753FA48B908 +:10AE800020222146384601F057FDB0FA80F04009F3 +:10AE90002BB0F0BD0020FBE7204A0020214A002013 +:10AEA000ACCF070008B5044B986B08B1FFF72AFE3A +:10AEB000024B187008BD00BFCC4E0020244E00206D +:10AEC00010B5044658B1B0F5007F0AD8064B0022F1 +:10AED0001A70FFF703FE054B01209C6310BD032091 +:10AEE000FCE70420FAE700BF244E0020CC4E0020EF +:10AEF00070B50E4C0646E06BA36B42189A420D46A5 +:10AF000011D85C300A462044314601F045FDE36B20 +:10AF100004F140022B4429463046E363FCF7C8FBAA +:10AF20002064012070BD0320FCE700BFCC4E002050 +:10AF3000014B1878704700BF244E002013B50F4C0A +:10AF400094F86C31B3B10E4B1B6800930D4BB4F801 +:10AF5000DA221B6894F8D80204F53771FFF720FF56 +:10AF6000012809D104F5B874201D02B0BDE81040D5 +:10AF700000F0D0B90434F7E702B010BD504A002009 +:10AF8000444A0020484A00202DE9F843DFF8888031 +:10AF9000D8E90E329A4206460D4637D1DFF87C904A +:10AFA00099F800704FB1FFF709FD1A4B3060294640 +:10AFB0001868BDE8F843FFF769BDFFF7A3FD38B394 +:10AFC000FFF7BCFF0128376004462F601BD1114BEF +:10AFD00029461868FFF75AFD0128044613D198F84E +:10AFE000A112B1FA81F103463A4628684909FFF7F0 +:10AFF000F9FC38B9FFF7E2FC89F8004030602046E0 +:10B00000BDE8F8830424FFF769FDF8E70824F6E7B4 +:10B010000524F4E7284E0020CC4E0020244E0020CA +:10B0200010B490F86C305BB190F86E404CB1B0F851 +:10B03000704034B15DF8044B01237230FFF7FCBE61 +:10B04000012318465DF8044B704713B504460846C3 +:10B0500023781146032B03D8DFE803F021050F18EE +:10B06000002002B010BD0022D4F80140FCF720FB04 +:10B07000844214BF00200120F3E70A460023014662 +:10B08000601C02B0BDE81040FFF7D6BE0091034639 +:10B090004022611C0020FFF783FE0128E9E7012020 +:10B0A000DFE700002DE9F041A2B004460D46164648 +:10B0B000002178221F4604A8202303939DF8A08036 +:10B0C00001F004FD41220021204601F0FFFCB5F80B +:10B0D00094300BB195F8968084F80080B8F1030F96 +:10B0E0001ED8DFE808F00902111F00223946304659 +:10B0F000FCF7DEFAC4F801003A4631462046FFF775 +:10B10000A4FF22B0BDE8F08103AB0193631C009360 +:10B1100008493B46324604A8FDF704F90028EBD065 +:10B120000020EEE7B5F8982005F19A01601C01F0C7 +:10B1300033FCE1E7ACCF07002DE9F0476D4B1D680C +:10B14000A4B004460F4690460A4601462846FFF73B +:10B1500067FF002800F0CC8095F855601EBB4FF0CB +:10B160000109CDF800903B462246294613A8FFF777 +:10B1700099FF00287FD0B8F1000F6DD041225E48C2 +:10B1800013A901F009FC5D4BC3F82C901E626A689C +:10B190009A60002239462046FCF78AFA574B01256F +:10B1A000C3E909709FE04122002102A801F08EFC52 +:10B1B00006F001094122002113A806F0020601F061 +:10B1C00085FCB9F1000F4BD042F20403E15803F1C2 +:10B1D000A34303F5471303F2D75399424BD1D5F854 +:10B1E00058A00AF5FF520AF6FF73C3F30B031F3290 +:10B1F000D21A42F20803E35893423CD343F20403C9 +:10B200001B688B4213D14FF440531B78102B8ABF1D +:10B2100043F2100300221A6804F500531B78102B28 +:10B220008ABF42F210030023E3589A4223D12046FA +:10B23000FFF75EFD00B1F6B10123009322465346AD +:10B24000294602A8FFF72EFFA8B1AB6DE218FB1A42 +:10B250004EB9B8F1000F18D1284B01255D6110E0FF +:10B260003B462246F4E70021009113A82946FFF748 +:10B2700019FF0028EDD10525B8F1000F30D1FFF7F7 +:10B280002DFC284624B0BDE8F087DFF87080B9F1C6 +:10B29000000F21D02046FFF72BFD18B108F1180050 +:10B2A000FFF76AFB1648412202A901F075FB002E48 +:10B2B00014BFAC23A523C8F82C30AB6DC8F83430CC +:10B2C000002E3FF466AF0F48412213A901F064FB42 +:10B2D0006B68C8F80C305CE7AA23C8F82C30EFE79D +:10B2E0000948FFF749FBFFF7F9FB044B9C64C8E7EB +:10B2F0001725C1E7284E00206D510020CC4E0020BC +:10B300002C510020AE510020F04E00200122FFF70A +:10B3100013BF0000F0B590F854200346002A51D026 +:10B3200090F8550003284DD893F86E20032A47D192 +:10B330001A7A002A46D0DA68342A45D143F2040149 +:10B340001A8A0C6821498C422AD152B15969E9B153 +:10B35000D2B2002103F1140543F20C06CCB2A24292 +:10B3600001D8122011E055F821703488A74201F16C +:10B370000101F3D11A78FAB101285B68144A15D893 +:10B380009068834234BF10200120F0BD10B9012A1B +:10B39000E7D8EFE7421E18BF0122002AEAD1E0E712 +:10B3A00012B15A69002ADCD11A78F6E7D0688342D4 +:10B3B0008CBF01201020E8E7012818BF0F20E4E728 +:10B3C0001420E2E70F20E0E71120DEE7DBE5B151D2 +:10B3D000CC4E002038B1054B0360054B4360012380 +:10B3E0000372002070470E20704700BF61B4070051 +:10B3F00015B4070038B1054B0360054B43600123CA +:10B400000372002070470E20704700BF91B4070000 +:10B410003BB4070069B10B78022B0CD1022804D091 +:10B42000032814BF08201120704703230B7000204D +:10B4300070470E2070470820704769B10B78022BC7 +:10B440000CD1022804D0032814BF08201120704713 +:10B4500003230B70002070470E20704708207047B0 +:10B4600010B50C4681B10B78012B06D00ED9033BE9 +:10B47000012B94BF0820112010BDFFF7E1F900282F +:10B48000FAD102232370F7E70E20F5E70820F3E74F +:10B4900010B50C4681B10B78012B06D00ED9033BB9 +:10B4A000012B94BF0820112010BDFFF701FA0028DE +:10B4B000FAD102232370F7E70E20F5E70820F3E71F +:10B4C00070B5144B144A0C21D21AB2FBF1F2816907 +:10B4D00011F8025C044635B900690021914205D19A +:10B4E000012323600EE04FF0FF30F6E71E68AE4206 +:10B4F0000CD1461C07D19D68D4E90001D4E9022390 +:10B50000A847206070BD5E688642F4D001310C33DC +:10B51000E4E700BFD0D20700E8D207001EF0040F16 +:10B520000CBFEFF30880EFF30980FFF7C9BF00BF3E +:10B5300010DF704711DF704713B5044609496846AC +:10B54000FCF72CFC019808B902B010BDD0E900212D +:10B550002046904718B16846FCF729FCF2E7112015 +:10B56000F2E700BFC0D1070013B50446074968469B +:10B57000FCF714FC019B0BB902B010BD2046D3E9C7 +:10B58000002190476846FCF712FCF3E7D8D107008A +:10B59000064B9A6822B11A6822F480021A6070473A +:10B5A000034B4FF48002C3F880207047C04E002048 +:10B5B00000E100E00B4991F816335A09EC231341DE +:10B5C000DB0706D5084B9A683AB94FF480030B6045 +:10B5D000704742F20200FCF79CBF1A6842F48002F6 +:10B5E0001A60704700E100E0C04E0020F7B5194F27 +:10B5F0003C7864BB184E012520463570FFF79CFF50 +:10B60000112821D02046FFF7AFFF144B8DF80340DF +:10B61000186801900DF10300FCF710F8104901A81B +:10B62000FFF786FF0446B0FA80F0400938709DF8B5 +:10B630000300FCF727F83CB90A4B34701C70FFF785 +:10B64000B9FF2846FFF790FF204603B0F0BD08245D +:10B65000FAE700BF2D4E00202C4E0020BBD1070082 +:10B660000D8507002E4E0020F7B5154F3B781BB314 +:10B67000144E01203070FFF75FFF11284FF00005D6 +:10B680001CD00220FFF770FF0DF107008DF8075066 +:10B69000FBF7D4FFFFF74EFF04469DF807003D700F +:10B6A000FBF7F0FF2CB93470FFF772FF0320FFF7B0 +:10B6B0005BFF204603B0F0BD0824FAE72C46F8E70C +:10B6C0002D4E00202C4E0020054B1B7833B1054B2E +:10B6D0001B780BB1FFF7C8BFFFF788BF0820704782 +:10B6E0002C4E00202D4E0020014B1878704700BFD3 +:10B6F0002D4E002007B508496846FCF74FFB019B1B +:10B7000013B903B05DF804FBD3E900209047684605 +:10B71000FCF74DFBF3E700BFCCD10700FFF7EABF12 +:10B7200060DF704769DF704761DF704730B5114DEA +:10B73000ADF5017D4FF4FA740DF1020103A8ADF8E7 +:10B740000240FFF7F1FF70B9294601A8FCF726FB7C +:10B75000029B002BF0D003A8D3E90021904701A859 +:10B76000FCF725FBF4E7052801D0FCF7D2FE0DF528 +:10B77000017D30BDE4D10700024B1B780BB1FFF710 +:10B78000D5BF70472F4E002018B1034B0360002037 +:10B7900070470E20704700BFE82A00207FB506469C +:10B7A0000C46002959D02E4B0B600C22002101A819 +:10B7B00001F08CF9012506232268ADF8083001A9B3 +:10B7C00020208DF804608DF80650FFF7ABFF0C22A7 +:10B7D000002101A801F07AF922688DF8055001A92D +:10B7E0004020FFF79FFF0C22002101A801F06EF915 +:10B7F000F7232268ADF8063001A923208DF80460F4 +:10B80000FFF790FF0C22002101A801F05FF92268E8 +:10B810008DF8045001A92846FFF784FF0C2200216F +:10B8200001A801F053F94FF4B0632268019301A914 +:10B83000A120FFF777FF0C22002101A801F046F9B3 +:10B840009DF8043022682B4301A9A0208DF8043014 +:10B85000FFF768FF002004B070BD0E20FBE700BFBB +:10B86000E82A002008B5FFF75BFF10B9014B012261 +:10B870001A7008BD2F4E00204BDF70471FB50D4CCE +:10B8800001A8FFF7F9FF70B9214602A8FCF786FA74 +:10B89000039B002BF4D00198D3E90021904702A824 +:10B8A000FCF785FAF4E7052801D0FCF732FE04B076 +:10B8B00010BD00BFF0D107008B1802448B4200D1AD +:10B8C000704713F8010D02F8010DF7E700000000C2 +:10B8D000C3F10803DB0070B501330446002003A563 +:10B8E0005B1920C940CAAD1920C4184720C940CAF5 +:10B8F000754120C420C940CA754120C420C940CA2E +:10B90000754120C420C940CA754120C420C940CA1D +:10B91000754120C420C940CA754120C420C940CA0D +:10B92000754120C4404170BD0000000000000000CF +:10B93000C3F10803DB0070B50133002403A500BF89 +:10B940005B1920C940CAAD1B20C0184720C940CA96 +:10B95000B54120C020C940CAB54120C020C940CA55 +:10B96000B54120C020C940CAB54120C020C940CA45 +:10B97000B54120C020C940CAB54120C020C940CA35 +:10B98000B54120C06441B4FA84F0400970BD00BFE5 +:10B990002DE9F04F08B4F8CA04B451F8042BA3FB06 +:10B9A000028940F8048B4FF0000AE4FB629A4FF0E2 +:10B9B000000BE5FB62AB4FF0000CE6FB62BC4FF006 +:10B9C000000EE7FB62CE51F8042B4FF00008E3FBBA +:10B9D000628940F8048BE4FB629AE5FB62ABE6FB0C +:10B9E00062BCE7FB62CE51F8042B4FF00008E3FB8A +:10B9F000628940F8048BE4FB629AE5FB62ABE6FBEC +:10BA000062BCE7FB62CE51F8042B4FF00008E3FB69 +:10BA1000628940F8048BE4FB629AE5FB62ABE6FBCB +:10BA200062BCE7FB62CE51F8042B4FF00008E3FB49 +:10BA3000628940F8048BE4FB629AE5FB62ABE6FBAB +:10BA400062BCE7FB62CE40F8049B40F804AB40F8D0 +:10BA500004BB40F804CB40F804EB0CBC052B00F011 +:10BA60001E810C68A0F11400A1F11401A2F11402CE +:10BA700052F804EB4FF0000550F8046BE4FB6E56EF +:10BA800052F804EB50F8047BE4FB6E6752F804EBC9 +:10BA900050F8048BE4FB6E7852F804EB50F8049BEA +:10BAA000E4FB6E8952F804EB50F804ABE4FB6E9AA9 +:10BAB000A0F1140052F8044B51F804EB4FF0000CC5 +:10BAC000E4FB6EC540F804CB51F804EBE4FB6E5682 +:10BAD00040F8045B51F804EBE4FB6E6740F8046B3C +:10BAE00051F804EBE4FB6E7840F8047B51F804EB6A +:10BAF000E4FB6E8940F8048B51F804EBE4FB6E9A8A +:10BB0000A0E80006062B00F0CA800C68A0F118001F +:10BB1000A1F11801A2F1180252F804EB4FF0000550 +:10BB200050F8046BE4FB6E5652F804EB50F8047BBB +:10BB3000E4FB6E6752F804EB50F8048BE4FB6E787C +:10BB400052F804EB50F8049BE4FB6E8952F804EBC6 +:10BB500050F804ABE4FB6E9A52F804EB50F804BBC7 +:10BB6000E4FB6EABA0F1180052F8044B51F804EB63 +:10BB70004FF0000CE4FB6EC540F804CB51F804EB29 +:10BB8000E4FB6E5640F8045B51F804EBE4FB6E678F +:10BB900040F8046B51F804EBE4FB6E7840F8047B4A +:10BBA00051F804EBE4FB6E8940F8048B51F804EB88 +:10BBB000E4FB6E9A40F8049B51F804EBE4FB6EAB97 +:10BBC000A0E8000C072B6AD008B40C68A0F11C0098 +:10BBD000A1F11C01A2F11C0252F804EB4FF0000588 +:10BBE00050F8046BE4FB6E5652F804EB50F8047BFB +:10BBF000E4FB6E6752F804EB50F8048BE4FB6E78BC +:10BC000052F804EB50F8049BE4FB6E8952F804EB05 +:10BC100050F804ABE4FB6E9A52F804EB50F804BB06 +:10BC2000E4FB6EAB52F804EB50F804CBE4FB6EBCC3 +:10BC3000A0F11C0052F8044B51F804EB4FF0000344 +:10BC4000E4FB6E3540F8043B51F804EBE4FB6E5620 +:10BC500040F8045B51F804EBE4FB6E6740F8046BBA +:10BC600051F804EBE4FB6E7840F8047B51F804EBE8 +:10BC7000E4FB6E8940F8048B51F804EBE4FB6E9A08 +:10BC800040F8049B51F804EBE4FB6EAB40F804ABC6 +:10BC900051F804EBE4FB6EBCA0E8001808BCBDE85A +:10BCA000F08F002310B51C465AB2914200DC10BD43 +:10BCB00040F823400133F7E710B500231A465CB281 +:10BCC000A14203DCB2FA82F0400910BD50F82340D3 +:10BCD00001332243F3E74A11012350F8220001F017 +:10BCE0001F0103FA01F108407047013910B549B24C +:10BCF000041D0A06CBB204D4013954F82120002ACD +:10BD0000F7D001335BB273B103F18042013A50F8CE +:10BD10002220002022B9013B00EB431318B210BDD2 +:10BD200052080130F6E71846F9E710B500235CB277 +:10BD3000A24200DC10BD51F8234040F823400133FB +:10BD4000F5E710B5013A52B2130601D5002010BD37 +:10BD500050F8224051F822309C4205D802F1FF32BF +:10BD6000F2D24FF0FF30F2E70120F0E700EB810163 +:10BD70000023884200D3704751F8042D43EA520350 +:10BD80000B60D307F5E737B51D469DF918300193D1 +:10BD90000446FFF79DFD019B38B91A462146284607 +:10BDA000FFF7CFFF0128019B07D02A4621462046F6 +:10BDB00003B0BDE83040FFF7BBBD03B030BD37B5C1 +:10BDC0001D469DF9183001930446FFF7B1FD019B14 +:10BDD00038B12A462146204603B0BDE83040FFF77F +:10BDE00077BD03B030BD2DE9F04FB5B004AC9DF97F +:10BDF000F8501E4680462B462046FFF7C9FD24AB6F +:10BE000029463046CDE90234FFF76FFFC0EB8510BD +:10BE100004B2002C2146B8BF04F11F01634241F374 +:10BE2000471103F01F0314A804F01F0758BF5F4217 +:10BE3000FFF737FF002F08B22BDD14AB002203EB16 +:10BE40008001C7F1200E1346AB4217D36B0001935C +:10BE500014AB03EB85096F1E34AB012603EB870798 +:10BE6000002C54DA34AB03EB86062A4656F8C81C7D +:10BE70004046FFF75AFF35B0BDE8F08F56F823C0B3 +:10BE80000CFA07F0024341F8042B01332CFA0EF2AE +:10BE9000DAE714AB2A46314603EB8000FFF745FF93 +:10BEA000D4E70FFA82FE5AF8C83C53F82EB034ABF0 +:10BEB00003EB8202013052F8803C0B44BBEB0303DE +:10BEC00034BF012200229B4518BF11465CF8C82CE4 +:10BED00042F82E30019B42B29A42E2DB731A5E4274 +:10BEE000294614A85E41FFF741FF34AB03EB8503FD +:10BEF000294653F8802C57F8803C484643EAC273E1 +:10BF0000013C47F8803C24B2FFF730FFA8E734AB90 +:10BF10000020C6F1010C014603EB860A03EB8C0CF2 +:10BF2000D8E730B51C4691B0054693F90030684615 +:10BF3000FFF72EFDD4F8AC3069462846984711B07B +:10BF400030BD13460A46FFF7ECBF2DE9F04793F9E1 +:10BF5000006092B0044689461046314615461F4699 +:10BF6000FFF7AAFE002840F091803A46494602A811 +:10BF7000FFF7E7FF3B4602AA21460AA8FFF7D1FFD9 +:10BF800002A908463A46FFF7DCFF3B462A464946E7 +:10BF90004846FFF7C6FF07F104083A4629462846F7 +:10BFA000FFF7CFFF43462A46214620460096FFF77B +:10BFB000EAFE43462A46294628460096FFF7E3FE56 +:10BFC00043462A46214628460096FFF7F8FE3B46A0 +:10BFD0002A4621462046FFF7A4FF43462246214633 +:10BFE00028460096FFF7CFFE434600962A46214694 +:10BFF0002046FFF7C8FE2368DB074AD53346424692 +:10C0000021462046FFF764FC314682462046FFF772 +:10C01000ADFE06F18043013B54F8232042EACA7288 +:10C0200044F823203A4621462846FFF78AFF434634 +:10C030000AAA294628460096FFF7C1FE43460AAAE7 +:10C04000294628460096FFF7BAFE0AA90846434645 +:10C050002A460096FFF7B3FE3B460AAA2146204631 +:10C06000FFF75FFF02AA4346104621460096FFF7FE +:10C07000A6FE324629462046FFF757FE4946284687 +:10C08000FFF753FE02A94846FFF74FFE12B0BDE886 +:10C09000F08731462046FFF769FEC3E72DE9F041FE +:10C0A00015468AB004460E461C22002103A800F063 +:10C0B0000DFD2F1D95F9008003232A4631462046A9 +:10C0C0000293FFF73EFF3B4602AA21462046CDF8E9 +:10C0D0000080FFF774FE2B46324621462046FFF7CC +:10C0E00020FFCDF800803B4605F184022146204622 +:10C0F000FFF749FE0AB0BDE8F08100002DE9F042EB +:10C10000082288B00C468146FFF70FFECB6A0393E6 +:10C110000B6B04934B6B05938B6B0693CB6B079365 +:10C12000002708236A4669466846CDE901770097EB +:10C13000FFF7CEFB082305466A4649464846FFF707 +:10C14000C7FB236B0393636B0493A36B0593E36BB0 +:10C150000544CDE906376A46082369466846FFF775 +:10C16000B7FB082305446A4649464846FFF7B0FB3B +:10C17000236A0093636A0193A36A0293A36B0693F5 +:10C18000E36B0793054408236A4649464846CDE9D0 +:10C1900004770397FFF79CFB636A0093A36AA26B83 +:10C1A0000193E36A02930492636BE26B0393CDE91C +:10C1B0000523236A07932E1808236A4649464846F2 +:10C1C000FFF786FBE36A0093236B0193636B029393 +:10C1D000236A0693A36A0793351808236A464946DB +:10C1E0004846CDE904770397FFF7A2FB236B009342 +:10C1F000636B0193A36B0293E36B0393636A0693F0 +:10C20000E36A07932E1A08236A4649464846CDE951 +:10C210000477FFF78DFB636B0093A36B0193E36BD4 +:10C220000293236A0393636A0493A36ACDE90537F3 +:10C23000236B0793361A08236A4649464846FFF798 +:10C2400077FBA36B0093E36BCDE90137636A03933C +:10C25000A36A0493E36ACDE90537636B0793361A43 +:10C2600008236A4649464846FFF762FB361A0E4CD9 +:10C270000FD436B9082249462046FFF762FD01284F +:10C280000FD00823224649464846FFF751FB361A8D +:10C29000EFE70823224649464846FFF719FB3618C0 +:10C2A000F7D408B0BDE8F08200D2070070B514469C +:10C2B0008AB006460D461A46214602A80193FFF7AA +:10C2C00040FE019B02AA31463046FFF72AFE02A932 +:10C2D000019B22460846FFF724FE019B02AA29463D +:10C2E0002846FFF71EFE0AB070BD2DE9F0478AB060 +:10C2F0001446DDF848A055461F4615F9046B009614 +:10C30000804689462B460246214602A8FFF757FD84 +:10C3100002A952460846FFF714FE534602AA4146B8 +:10C320004046FFF7FEFD534602AA21462046FFF78E +:10C33000F8FD2B464A46394638460096FFF73FFD42 +:10C340005246394602A8FFF7FCFD02A92B46424699 +:10C3500008460096FFF733FD02A92B462246084601 +:10C360000096FFF72CFD2B464246214620460096BC +:10C37000FFF725FD5346224649464846FFF7D1FDC3 +:10C380002B4602AA414620460096FFF718FD534669 +:10C39000224639463846FFF7C4FD2B464A46394601 +:10C3A00038460096FFF70BFD324602A92046FFF7FC +:10C3B000BCFC0AB0BDE8F0872DE9F0479846B3F918 +:10C3C0000230894613F11F0148BF03F13E01DD1D14 +:10C3D00048BF03F10E05EC104E11944275B228BF10 +:10C3E000144629460746FFF75CFC22464946FFF7FC +:10C3F00063FAB8F90230B3EBC40F4FEAC40220D29B +:10C40000D21A07EB86010020C2F120068F420FD31B +:10C4100008F124082A4639464046FFF792FC0128D5 +:10C420000FD02B4642463846BDE8F047FFF780BAAA +:10C4300051F8044D24FA02F303430B6004FA06F0AA +:10C44000E4E7BDE8F08770B5036813F00106054620 +:10C45000144605D013460A460146FFF739FA064648 +:10C4600021462846FFF782FC46B104F18042013A9A +:10C4700055F8223043F0004345F8223070BDF0B546 +:10C480000F46A1B006461946384615461C46FFF72A +:10C4900013FC20B13046FFF704FC21B0F0BD22466A +:10C4A00039466846FFF741FC294608A8FFF73DFCDE +:10C4B00010A82146FFF7F5FB012318A81093FFF7FA +:10C4C000F0FB224608A96846FFF73BFC28B9224644 +:10C4D00010A93046FFF729FCDFE7009BDA0709D4F3 +:10C4E00021466846FFF742FC2246294610A8FFF77E +:10C4F000AAFFE6E7089BDB0707D4214608A8FFF759 +:10C5000035FC2246294618A8F1E7002823461CDD01 +:10C5100008AA69466846FFF70BFA21466846FFF706 +:10C5200025FC224618A910A8FFF70BFC002805DA05 +:10C5300010A923462A460846FFF7CAF910A9234640 +:10C5400018AA0846FFF7F4F9CEE708A96A46084694 +:10C55000FFF7EEF9214608A8FFF708FC224610A9CC +:10C5600018A8FFF7EEFB002805DA18A923462A468B +:10C570000846FFF7ADF918A9234610AA0846FFF7A9 +:10C58000D7F9BEE700487047FCD107002DE9F04F0E +:10C590002DED028BEDB08946789E05901946B6F9CF +:10C5A000023096F9004013F11F0748BF03F13E0720 +:10C5B00047F3471707F1FF3B24AB002543F82B5007 +:10C5C0006CAB03EB8B0307EE902A4CA896F9012085 +:10C5D00043F8805C43F8605CFFF76EF996F9012040 +:10C5E00054A81144FFF768F921464CA8FFF764FBF3 +:10C5F0008046002840F0428154A8FFF75DFB03907D +:10C60000002840F03D8106F1240A3A464CA95046E4 +:10C61000FFF797FB012840F035813A4654A9504670 +:10C62000FFF78FFB0128069040F02C811CAD3B46A4 +:10C63000524654A92846FFF722FF0DF13008039B0C +:10C6400048F82B3017EE902A494640463346FFF70C +:10C65000B3FE4146404653462A460097FFF7C3FBC8 +:10C660000DF5B87B53462A464CA914A80097FFF74E +:10C67000BAFB224658460599FFF757FBA3000793DC +:10C68000059B0BEB840903EB84014846FFF74DFB48 +:10C6900006F14403194634A80493FFF746FB049BB4 +:10C6A000A10059183CA8FFF740FB331D08EE903A53 +:10C6B000594634AA28460094FFF781FB4B465A4658 +:10C6C0003CA934A80096FFF710FE18EE902A2346E6 +:10C6D00029462846FFF7D3FE2A46494658463346A0 +:10C6E000FFF7E4FD039B0893049B0993059B3946E0 +:10C6F0004046CDE90A3BFFF7F8FA3946834614A8CD +:10C70000FFF7F3FA5845B8BF58461FFA80FB0BF104 +:10C71000FF3109B240460491FFF7DDFA0499B0F108 +:10C72000000814A818BF4FF00108FFF7D4FA00283A +:10C7300014BF0220002048EA00080DF1200922461B +:10C7400059F8281024A8FFF7F0FA0DF1B009A3005A +:10C7500019444846FFF7E9FA21462846FFF7A1FAAF +:10C76000069B2B60ABF1020824AB08EE105A0FFABF +:10C7700088F80493B8F1000F2ADA18EE902A18EE20 +:10C78000101A18EE100A2346FFF779FE18EE102A49 +:10C79000049833464946FFF789FD04993A465046C6 +:10C7A000FFF7CFFA012805D004993B4652460846C8 +:10C7B000FFF7BEF8013C64B24CAA230653D5039B95 +:10C7C000B3FA83F040096DB0BDEC028BBDE8F08F89 +:10C7D000334618EE102A0498D6F8A4504946A847C4 +:10C7E00041460CA8FFF777FA4146B0F1000B14A8B8 +:10C7F00018BF4FF0010BFFF76EFA002814BF02209C +:10C8000000204BEA000B08AB53F82B1031B3224643 +:10C8100034A8FFF78AFA079B3CA81944FFF785FA6A +:10C8200018EE102A33463CA934A8FFF73FFD18EE56 +:10C83000903A0499009434AA44A8FFF7C0FA049AE5 +:10C8400000964B463CA934A8FFF74FFD18EE101A8E +:10C8500018EE100A334644AAFFF763FB08F1FF38CD +:10C860000FFA88F886E7049B52F8241053F8243016 +:10C870004B40039919430391013C9EE72846A2E7E8 +:10C880004046A0E703989EE7002301461A46184653 +:10C8900000F0E4B908B5074B044613B1002100F0DD +:10C8A0002DFA054B1868836A03B19847204600F0BB +:10C8B00073FA00BFFDCC0700ACD2070038B50A4CB4 +:10C8C0000A4D641BA4100AD004F18043013B05EB20 +:10C8D0008305013C55F804399847002CF9D1BDE88F +:10C8E000384000F061BA00BFA02B00209C2B002034 +:10C8F00070B50D4E0D4D761BB61006D000240134D8 +:10C9000055F8043B9847A642F9D1094E094D761BCC +:10C9100000F044FAB61006D00024013455F8043B68 +:10C920009847A642F9D170BD982B0020982B002083 +:10C930009C2B0020982B0020032A70B412D940EAC7 +:10C940000105AD0704460B4620D11946204653F891 +:10C95000045B54F8046BAE4218D1043A032A204613 +:10C960001946F2D8541E72B103780A789A4208BF69 +:10C97000241806D00CE010F8013F11F8012F934263 +:10C9800006D1A042F7D1002070BC7047541EEBE7DF +:10C99000981A70BC704700BF844641EA000313F048 +:10C9A00003036DD1403A41D351F8043B40F8043BB6 +:10C9B00051F8043B40F8043B51F8043B40F8043B79 +:10C9C00051F8043B40F8043B51F8043B40F8043B69 +:10C9D00051F8043B40F8043B51F8043B40F8043B59 +:10C9E00051F8043B40F8043B51F8043B40F8043B49 +:10C9F00051F8043B40F8043B51F8043B40F8043B39 +:10CA000051F8043B40F8043B51F8043B40F8043B28 +:10CA100051F8043B40F8043B51F8043B40F8043B18 +:10CA200051F8043B40F8043B403ABDD2303211D3B8 +:10CA300051F8043B40F8043B51F8043B40F8043BF8 +:10CA400051F8043B40F8043B51F8043B40F8043BE8 +:10CA5000103AEDD20C3205D351F8043B40F8043BB8 +:10CA6000043AF9D2043208D0D2071CBF11F8013BB6 +:10CA700000F8013B01D30B8803806046704700BF7C +:10CA8000082A13D38B078DD010F003038AD0C3F18B +:10CA90000403D21ADB071CBF11F8013B00F8013B6D +:10CAA00080D331F8023B20F8023B7BE7043AD9D32C +:10CAB000013A11F8013B00F8013BF9D20B78037001 +:10CAC0004B7843708B78837060467047F0B486076C +:10CAD00046D0541E002A3CD0CAB2034602E014F1EC +:10CAE000FF3436D303F8012B9D07F8D1032C29D945 +:10CAF000CDB245EA05250F2C45EA054533D9A4F109 +:10CB00001006360903F1200707EB061703F11002A0 +:10CB100042E9045542E902551032BA42F8D1721C7A +:10CB200014F00C0F03EB021204F00F0613D0331FA6 +:10CB300023F003030433134442F8045B9342FBD114 +:10CB400006F003042CB1C9B21C4403F8011B9C423B +:10CB5000FBD1F0BC704734461346002CF3D1F8E704 +:10CB600014460346C2E71A462646E0E700000000E6 +:10CB700000000000000000000000000000000000B5 +:10CB800090F800F06DE9024520F007016FF0000C0D +:10CB900010F0070491F820F040F049804FF00004B5 +:10CBA0006FF00700D1E9002391F840F000F1080090 +:10CBB00082FA4CF2A4FA8CF283FA4CF3A2FA8CF3C8 +:10CBC0004BBBD1E9022382FA4CF200F10800A4FA2F +:10CBD0008CF283FA4CF3A2FA8CF3E3B9D1E9042383 +:10CBE00082FA4CF200F10800A4FA8CF283FA4CF3BA +:10CBF000A2FA8CF37BB9D1E9062301F1200182FA74 +:10CC00004CF200F10800A4FA8CF283FA4CF3A2FA79 +:10CC10008CF3002BC6D0002A04BF04301A4612BA87 +:10CC2000B2FA82F2FDE8024500EBD2007047D1E98A +:10CC3000002304F00305C4F100004FEAC50514F019 +:10CC4000040F91F840F00CFA05F562EA05021CBFEA +:10CC500063EA050362464FF00004A9E72DE9F843B3 +:10CC6000224C25680DB36C681F2C3BDC984691461E +:10CC70000F46064688B1D5F8880028B3D0F80031B1 +:10CC800040F824900122A24000EB84011343022EBD +:10CC9000C0F80031C1F8808010D0A31C01346C6052 +:10CCA00045F823700020BDE8F883114E114D256032 +:10CCB000002ED8D03468C5F88840D4E7D0F80431C5 +:10CCC0001A43C0F80421E8E70B4B5BB14FF48470C2 +:10CCD000AFF3008030B100236C68C0E94033C5F881 +:10CCE0008800CDE74FF0FF30DDE700BFBC4E0020ED +:10CCF00000000000304E0020000000002DE9F04F41 +:10CD0000DFF8908083B0D8F8005001900F464FF0C4 +:10CD1000010A8DB16C68D5F88860013C0CD405F12E +:10CD2000080B67B12EB106F1800353F82430BB42E3 +:10CD300005D014F1FF34F4D203B0BDE8F08F6B6876 +:10CD40005BF82420013BA34216BF00236C604BF824 +:10CD50002430002AEDD0D5F80490B6B1D6F80011F1 +:10CD60000AFA04F30B4210D0D6F8040156F8241046 +:10CD700003420CD1019890476B68D8F800204B45CE +:10CD800001D1AA42D5D01546C3E79047F4E708463B +:10CD90009047F1E7BC4E0020FEE700BFF8B500BFAA +:10CDA000F8BC08BC9E467047F8B500BFF8BC08BC8C +:10CDB0009E467047001000000400000001000000C3 +:10CDC00095790700B9790700C9790700397A070012 +:10CDD000D9790700A1790700A5790700A97907008B +:10CDE000001000000400000001000000457B070067 +:10CDF000257B0700157B07004D7D0700017D07009F +:10CE0000E77A0700EB7A0700F17A0700982F8A4249 +:10CE100091443771CFFBC0B5A5DBB5E95BC256398C +:10CE2000F111F159A4823F92D55E1CAB98AA07D8A4 +:10CE3000015B8312BE853124C37D0C55745DBE72C7 +:10CE4000FEB1DE80A706DC9B74F19BC1C1699BE447 +:10CE50008647BEEFC69DC10FCCA10C246F2CE92DD7 +:10CE6000AA84744ADCA9B05CDA88F97652513E98FB +:10CE70006DC631A8C82703B0C77F59BFF30BE0C602 +:10CE80004791A7D55163CA0667292914850AB72790 +:10CE900038211B2EFC6D2C4D130D385354730A652D +:10CEA000BB0A6A762EC9C281852C7292A1E8BFA204 +:10CEB0004B661AA8708B4BC2A3516CC719E892D16C +:10CEC000240699D685350EF470A06A1016C1A419EF +:10CED000086C371E4C774827B5BCB034B30C1C39EE +:10CEE0004AAAD84E4FCA9C5BF36F2E68EE828F74AD +:10CEF0006F63A5781478C8840802C78CFAFFBE90C7 +:10CF0000EB6C50A4F7A3F9BEF27871C64800280074 +:10CF10000020400085C50700DDAC843D1EBD6AFCD5 +:10CF2000F19B4BD0C49DB1BE608F0D7ACA0083AA1D +:10CF3000B84899DE96F7E90C05200B441BE1104A2E +:10CF4000A3418950BAD2FDB74999C850A1D379AF4E +:10CF50008939544350D9C92D06150E1506110A04F6 +:10CF60000A1104041F04041C0B1F251E15160F189C +:10CF7000131C0B1F251E15160F18130000000000B0 +:10CF80000338FDD870470000F79207009B92070016 +:10CF9000EB9707005D9807007D980700E191070077 +:10CFA000A19107007F97070000000000A9980700E3 +:10CFB000A398070083980700200000007800000075 +:10CFC000000000000100010000000000010000005E +:10CFD0000000000002000500010000004200000007 +:10CFE0000000000000000000000000000000000041 +:10CFF00000000000010011000100FFFF010000001F +:10D0000000000000020017000200FEFF64010000A3 +:10D0100054D00700000000000000000000000000E5 +:10D0200000000000010001000000000001000000FD +:10D0300000000000020005000100000022000000C6 +:10D0400000000000000000000000000000000000E0 +:10D0500000000000010011000400FCFF04000000BB +:10D0600000000000020011000400FCFF04000000AA +:10D0700000000000030021000400FCFF0400100079 +:10D0800000000000040011000100FFFF010000008B +:10D0900000000000050011000200FEFF0400000077 +:10D0A00000000000060011000400FCFF0400000066 +:10D0B00000000000070011000400FCFF0400000055 +:10D0C00000000000080017000200FEFF240000001E +:10D0D00024D00700090010000100FFFF010000003C +:10D0E00004D107000A0027000200FEFF44000300ED +:10D0F000C4CF070000000000000000000000000096 +:10D100000000000000000000010017000400FCFF08 +:10D1100068010000F4CF0700020017000400FCFFC4 +:10D12000AC01000038D10700000000000000000042 +:10D1300000000000000000000100070000000000E7 +:10D1400068010000F4CF07000200010000000000A9 +:10D1500001000000000000000300050001000000C5 +:10D16000420000000000000000000000000000007D +:10D170000000000000000000446675546172670002 +:10D18000000000000000000000000000000000009F +:10D1900050EADA308883B89F604F15F30000C98EDB +:10D1A0000338FDD870470C000C00000058026D6970 +:10D1B00063726F6269745F61707000001002010039 +:10D1C00008D3070010D3070008000000F8D20700BA +:10D1D00008D3070008000000F0D20700F8D20700CB +:10D1E00008000000E8D20700F0D2070008000000A5 +:10D1F00010D3070018D30700080000000820000122 +:10D20000FFFFFFFFFFFFFFFFFFFFFFFF000000002A +:10D21000000000000000000001000000FFFFFFFF11 +:10D22000512563FCC2CAB9F3849E17A7ADFAE6BCC8 +:10D23000FFFFFFFFFFFFFFFF00000000FFFFFFFFFA +:10D2400096C298D84539A1F4A033EB2D817D0377A0 +:10D25000F240A463E5E6BCF847422CE1F2D1176B3B +:10D26000F551BF376840B6CBCE5E316B5733CE2B0E +:10D27000169E0F7C4AEBE78E9B7F1AFEE242E34F3D +:10D280004B60D2273E3CCE3BF6B053CCB0061D657A +:10D29000BC86987655BDEBB3E7933AAAD835C65A03 +:10D2A0004BBF07009DC00700FDC00700382B0020C2 +:10D2B0000000000001A10700599E07004032002035 +:10D2C0007C4200208D42002048320020F400000003 +:10D2D0000000000003000000F5B30700000000009C +:10D2E00002000000D5B30700A59A07000000000067 +:10D2F000C17C07000000000079B7070000000000B3 +:10D300007DB8070000000000017B0700000000005E +:10D310001D7C070000000000709FFF7F01000000DF +:10D320000090D0030000000000000000000000009A +:10D3300000000000000000000000000000000000ED +:10D3400001000000000000000000000000000000DC +:10D3500002000000EC2A00200C2B0020FC2A0020F8 +:10D36000FF00FFFF0100000000E00700382B002055 +:10D3700000000000000000000000000000000000AD +:10D38000000000000000000000000000000000009D +:10D39000000000000000000000000000000000008D +:10D3A000000000000000000000000000000000007D +:10D3B000000000000000000000000000000000006D +:10D3C000000000000000000000000000000000005D +:10D3D00069720700417207000000000000000000B1 +:0CD3E00001A2070000100000000008007F +:10E00000BE361649020000000000000000000000BB +:10E0100000000000000000001CD20000105EBCF8F0 +:10E0200001000000000000000000000000000000EF +:10E0300000000000000000000000000000000000E0 +:10E0400000000000000000000000000000000000D0 +:10E0500000000000000000000000000000000000C0 +:10E0600000000000000000000000000000000000B0 +:10E0700000000000000000000000000000000000A0 +:10E080000000000000000000000000000000000090 +:10E090000000000000000000000000000000000080 +:10E0A0000000000000000000000000000000000070 +:10E0B0000000000000000000000000000000000060 +:10E0C0000000000000000000000000000000000050 +:10E0D0000000000000000000000000000000000040 +:10E0E0000000000000000000000000000000000030 +:10E0F0000000000000000000000000000000000020 +:10E10000000000000000000000000000000000000F +:10E1100000000000000000000000000000000000FF +:10E1200000000000000000000000000000000000EF +:10E1300000000000000000000000000000000000DF +:10E1400000000000000000000000000000000000CF +:10E1500000000000000000000000000000000000BF +:10E1600000000000000000000000000000000000AF +:10E17000000000000000000000000000000000009F +:10E18000000000000000000000000000000000008F +:10E19000000000000000000000000000000000007F +:10E1A000000000000000000000000000000000006F +:10E1B000000000000000000000000000000000005F +:10E1C000000000000000000000000000000000004F +:10E1D000000000000000000000000000000000003F +:10E1E000000000000000000000000000000000002F +:10E1F000000000000000000000000000000000001F +:10E20000000000000000000000000000000000000E +:10E2100000000000000000000000000000000000FE +:10E2200000000000000000000000000000000000EE +:10E2300000000000000000000000000000000000DE +:10E2400000000000000000000000000000000000CE +:10E25000000000000000000000000000A21BDAAC7B +:10E2600000000000000000000000000000000000AE +:10E27000000000000000000000000000000000009E +:10E28000000000000000000000000000000000008E +:10E29000000000000000000000000000000000007E +:10E2A000000000000000000000000000000000006E +:10E2B000000000000000000000000000000000005E +:10E2C000000000000000000000000000000000004E +:10E2D000000000000000000000000000000000003E +:10E2E000000000000000000000000000000000002E +:10E2F000000000000000000000000000000000001E +:10E30000000000000000000000000000000000000D +:10E3100000000000000000000000000000000000FD +:10E3200000000000000000000000000000000000ED +:10E3300000000000000000000000000000000000DD +:10E3400000000000000000000000000000000000CD +:10E3500000000000000000000000000000000000BD +:10E3600000000000000000000000000000000000AD +:10E37000000000000000000000000000000000009D +:10E38000000000000000000000000000000000008D +:10E39000000000000000000000000000000000007D +:10E3A000000000000000000000000000000000006D +:10E3B000000000000000000000000000000000005D +:10E3C000000000000000000000000000000000004D +:10E3D000000000000000000000000000000000003D +:10E3E000000000000000000000000000000000002D +:10E3F000000000000000000000000000000000001D +:10E40000000000000000000000000000000000000C +:10E4100000000000000000000000000000000000FC +:10E4200000000000000000000000000000000000EC +:10E4300000000000000000000000000000000000DC +:10E4400000000000000000000000000000000000CC +:10E4500000000000000000000000000000000000BC +:10E4600000000000000000000000000000000000AC +:10E47000000000000000000000000000000000009C +:10E48000000000000000000000000000000000008C +:10E49000000000000000000000000000000000007C +:10E4A000000000000000000000000000000000006C +:10E4B000000000000000000000000000000000005C +:10E4C000000000000000000000000000000000004C +:10E4D000000000000000000000000000000000003C +:10E4E000000000000000000000000000000000002C +:10E4F000000000000000000000000000000000001C +:10E50000000000000000000000000000000000000B +:10E5100000000000000000000000000000000000FB +:10E5200000000000000000000000000000000000EB +:10E5300000000000000000000000000000000000DB +:10E5400000000000000000000000000000000000CB +:10E5500000000000000000000000000000000000BB +:10E5600000000000000000000000000000000000AB +:10E57000000000000000000000000000000000009B +:10E58000000000000000000000000000000000008B +:10E59000000000000000000000000000000000007B +:10E5A000000000000000000000000000000000006B +:10E5B000000000000000000000000000000000005B +:10E5C000000000000000000000000000000000004B +:10E5D000000000000000000000000000000000003B +:10E5E000000000000000000000000000000000002B +:10E5F000000000000000000000000000000000001B +:10E60000000000000000000000000000000000000A +:10E6100000000000000000000000000000000000FA +:10E6200000000000000000000000000000000000EA +:10E6300000000000000000000000000000000000DA +:10E6400000000000000000000000000000000000CA +:10E6500000000000000000000000000000000000BA +:10E6600000000000000000000000000000000000AA +:10E67000000000000000000000000000000000009A +:10E68000000000000000000000000000000000008A +:10E69000000000000000000000000000000000007A +:10E6A000000000000000000000000000000000006A +:10E6B000000000000000000000000000000000005A +:10E6C000000000000000000000000000000000004A +:10E6D000000000000000000000000000000000003A +:10E6E000000000000000000000000000000000002A +:10E6F000000000000000000000000000000000001A +:10E700000000000000000000000000000000000009 +:10E7100000000000000000000000000000000000F9 +:10E7200000000000000000000000000000000000E9 +:10E7300000000000000000000000000000000000D9 +:10E7400000000000000000000000000000000000C9 +:10E7500000000000000000000000000000000000B9 +:10E7600000000000000000000000000000000000A9 +:10E770000000000000000000000000000000000099 +:10E780000000000000000000000000000000000089 +:10E790000000000000000000000000000000000079 +:10E7A0000000000000000000000000000000000069 +:10E7B0000000000000000000000000000000000059 +:10E7C0000000000000000000000000000000000049 +:10E7D0000000000000000000000000000000000039 +:10E7E0000000000000000000000000000000000029 +:10E7F0000000000000000000000000000000000019 +:10E800000000000000000000000000000000000008 +:10E8100000000000000000000000000000000000F8 +:10E8200000000000000000000000000000000000E8 +:10E8300000000000000000000000000000000000D8 +:10E8400000000000000000000000000000000000C8 +:10E8500000000000000000000000000000000000B8 +:10E8600000000000000000000000000000000000A8 +:10E870000000000000000000000000000000000098 +:10E880000000000000000000000000000000000088 +:10E890000000000000000000000000000000000078 +:10E8A0000000000000000000000000000000000068 +:10E8B0000000000000000000000000000000000058 +:10E8C0000000000000000000000000000000000048 +:10E8D0000000000000000000000000000000000038 +:10E8E0000000000000000000000000000000000028 +:10E8F0000000000000000000000000000000000018 +:10E900000000000000000000000000000000000007 +:10E9100000000000000000000000000000000000F7 +:10E9200000000000000000000000000000000000E7 +:10E9300000000000000000000000000000000000D7 +:10E9400000000000000000000000000000000000C7 +:10E9500000000000000000000000000000000000B7 +:10E9600000000000000000000000000000000000A7 +:10E970000000000000000000000000000000000097 +:10E980000000000000000000000000000000000087 +:10E990000000000000000000000000000000000077 +:10E9A0000000000000000000000000000000000067 +:10E9B0000000000000000000000000000000000057 +:10E9C0000000000000000000000000000000000047 +:10E9D0000000000000000000000000000000000037 +:10E9E0000000000000000000000000000000000027 +:10E9F0000000000000000000000000000000000017 +:10EA00000000000000000000000000000000000006 +:10EA100000000000000000000000000000000000F6 +:10EA200000000000000000000000000000000000E6 +:10EA300000000000000000000000000000000000D6 +:10EA400000000000000000000000000000000000C6 +:10EA500000000000000000000000000000000000B6 +:10EA600000000000000000000000000000000000A6 +:10EA70000000000000000000000000000000000096 +:10EA80000000000000000000000000000000000086 +:10EA90000000000000000000000000000000000076 +:10EAA0000000000000000000000000000000000066 +:10EAB0000000000000000000000000000000000056 +:10EAC0000000000000000000000000000000000046 +:10EAD0000000000000000000000000000000000036 +:10EAE0000000000000000000000000000000000026 +:10EAF0000000000000000000000000000000000016 +:10EB00000000000000000000000000000000000005 +:10EB100000000000000000000000000000000000F5 +:10EB200000000000000000000000000000000000E5 +:10EB300000000000000000000000000000000000D5 +:10EB400000000000000000000000000000000000C5 +:10EB500000000000000000000000000000000000B5 +:10EB600000000000000000000000000000000000A5 +:10EB70000000000000000000000000000000000095 +:10EB80000000000000000000000000000000000085 +:10EB90000000000000000000000000000000000075 +:10EBA0000000000000000000000000000000000065 +:10EBB0000000000000000000000000000000000055 +:10EBC0000000000000000000000000000000000045 +:10EBD0000000000000000000000000000000000035 +:10EBE0000000000000000000000000000000000025 +:10EBF0000000000000000000000000000000000015 +:10EC00000000000000000000000000000000000004 +:10EC100000000000000000000000000000000000F4 +:10EC200000000000000000000000000000000000E4 +:10EC300000000000000000000000000000000000D4 +:10EC400000000000000000000000000000000000C4 +:10EC500000000000000000000000000000000000B4 +:10EC600000000000000000000000000000000000A4 +:10EC70000000000000000000000000000000000094 +:10EC80000000000000000000000000000000000084 +:10EC90000000000000000000000000000000000074 +:10ECA0000000000000000000000000000000000064 +:10ECB0000000000000000000000000000000000054 +:10ECC0000000000000000000000000000000000044 +:10ECD0000000000000000000000000000000000034 +:10ECE0000000000000000000000000000000000024 +:10ECF0000000000000000000000000000000000014 +:10ED00000000000000000000000000000000000003 +:10ED100000000000000000000000000000000000F3 +:10ED200000000000000000000000000000000000E3 +:10ED300000000000000000000000000000000000D3 +:10ED400000000000000000000000000000000000C3 +:10ED500000000000000000000000000000000000B3 +:10ED600000000000000000000000000000000000A3 +:10ED70000000000000000000000000000000000093 +:10ED80000000000000000000000000000000000083 +:10ED90000000000000000000000000000000000073 +:10EDA0000000000000000000000000000000000063 +:10EDB0000000000000000000000000000000000053 +:10EDC0000000000000000000000000000000000043 +:10EDD0000000000000000000000000000000000033 +:10EDE0000000000000000000000000000000000023 +:10EDF0000000000000000000000000000000000013 +:10EE00000000000000000000000000000000000002 +:10EE100000000000000000000000000000000000F2 +:10EE200000000000000000000000000000000000E2 +:10EE300000000000000000000000000000000000D2 +:10EE400000000000000000000000000000000000C2 +:10EE500000000000000000000000000000000000B2 +:10EE600000000000000000000000000000000000A2 +:10EE70000000000000000000000000000000000092 +:10EE80000000000000000000000000000000000082 +:10EE90000000000000000000000000000000000072 +:10EEA0000000000000000000000000000000000062 +:10EEB0000000000000000000000000000000000052 +:10EEC0000000000000000000000000000000000042 +:10EED0000000000000000000000000000000000032 +:10EEE0000000000000000000000000000000000022 +:10EEF0000000000000000000000000000000000012 +:10EF00000000000000000000000000000000000001 +:10EF100000000000000000000000000000000000F1 +:10EF200000000000000000000000000000000000E1 +:10EF300000000000000000000000000000000000D1 +:10EF400000000000000000000000000000000000C1 +:10EF500000000000000000000000000000000000B1 +:10EF600000000000000000000000000000000000A1 +:10EF70000000000000000000000000000000000091 +:10EF80000000000000000000000000000000000081 +:10EF90000000000000000000000000000000000071 +:10EFA0000000000000000000000000000000000061 +:10EFB0000000000000000000000000000000000051 +:10EFC0000000000000000000000000000000000041 +:10EFD0000000000000000000000000000000000031 +:10EFE0000000000000000000000000000000000021 +:10EFF0000000000000000000000000000000000011 +:10F00000BE361649020000000000000000000000AB +:10F0100000000000000000001CD20000105EBCF8E0 +:10F0200001000000000000000000000000000000DF +:10F0300000000000000000000000000000000000D0 +:10F0400000000000000000000000000000000000C0 +:10F0500000000000000000000000000000000000B0 +:10F0600000000000000000000000000000000000A0 +:10F070000000000000000000000000000000000090 +:10F080000000000000000000000000000000000080 +:10F090000000000000000000000000000000000070 +:10F0A0000000000000000000000000000000000060 +:10F0B0000000000000000000000000000000000050 +:10F0C0000000000000000000000000000000000040 +:10F0D0000000000000000000000000000000000030 +:10F0E0000000000000000000000000000000000020 +:10F0F0000000000000000000000000000000000010 +:10F1000000000000000000000000000000000000FF +:10F1100000000000000000000000000000000000EF +:10F1200000000000000000000000000000000000DF +:10F1300000000000000000000000000000000000CF +:10F1400000000000000000000000000000000000BF +:10F1500000000000000000000000000000000000AF +:10F16000000000000000000000000000000000009F +:10F17000000000000000000000000000000000008F +:10F18000000000000000000000000000000000007F +:10F19000000000000000000000000000000000006F +:10F1A000000000000000000000000000000000005F +:10F1B000000000000000000000000000000000004F +:10F1C000000000000000000000000000000000003F +:10F1D000000000000000000000000000000000002F +:10F1E000000000000000000000000000000000001F +:10F1F000000000000000000000000000000000000F +:10F2000000000000000000000000000000000000FE +:10F2100000000000000000000000000000000000EE +:10F2200000000000000000000000000000000000DE +:10F2300000000000000000000000000000000000CE +:10F2400000000000000000000000000000000000BE +:10F25000000000000000000000000000A21BDAAC6B +:10F26000000000000000000000000000000000009E +:10F27000000000000000000000000000000000008E +:10F28000000000000000000000000000000000007E +:10F29000000000000000000000000000000000006E +:10F2A000000000000000000000000000000000005E +:10F2B000000000000000000000000000000000004E +:10F2C000000000000000000000000000000000003E +:10F2D000000000000000000000000000000000002E +:10F2E000000000000000000000000000000000001E +:10F2F000000000000000000000000000000000000E +:10F3000000000000000000000000000000000000FD +:10F3100000000000000000000000000000000000ED +:03F32000000000EA +:020000020000FC +:020000041000EA +:081014000070070000E0070076 +:020000040006F4 +:109FC0000100010000B001000000000000000000DE +:109FD00002021C0024D00400A008060000000000BB +:109FE00003006D00006000000000000000000000A1 +:109FF000FE307F590100300003000C009DD7B1C135 +:0400000320009ED16A +:00000001FF diff --git a/src/micropython/beta/typeshed.ca.json b/src/micropython/beta/typeshed.ca.json new file mode 100644 index 000000000..9cc6a8e8f --- /dev/null +++ b/src/micropython/beta/typeshed.ca.json @@ -0,0 +1,51 @@ +{ + "files": { + "/typeshed/stdlib/VERSIONS": "# The structure of this file is as follows:\n# - Blank lines and comments starting with `#` are ignored.\n# - Lines contain the name of a module, followed by a colon,\n# a space, and a version range (for example: `symbol: 2.7-3.9`).\n#\n# Version ranges may be of the form \"X.Y-A.B\" or \"X.Y-\". The\n# first form means that a module was introduced in version X.Y and last\n# available in version A.B. The second form means that the module was\n# introduced in version X.Y and is still available in the latest\n# version of Python.\n#\n# If a submodule is not listed separately, it has the same lifetime as\n# its parent module.\n#\n# Python versions before 2.7 are ignored, so any module that was already\n# present in 2.7 will have \"2.7\" as its minimum version. Version ranges\n# for unsupported versions of Python 3 (currently 3.5 and lower) are\n# generally accurate but we do not guarantee their correctness.\n\nantigravity: 3.0-\narray: 3.0-\naudio: 3.0-\nbuiltins: 3.0-\nerrno: 3.0-\ngc: 3.0-\nlove: 3.0-\nmachine: 3.0-\nmath: 3.0-\nmicrobit: 3.0-\nmicropython: 3.0-\nmusic: 3.0-\nneopixel: 3.0-\nos: 3.0-\nradio: 3.0-\nrandom: 3.0-\nspeech: 3.0-\nstruct: 3.0-\nsys: 3.0-\nthis: 3.0-\ntime: 3.0-\ntyping_extensions: 3.0-\ntyping: 3.0-\nuarray: 3.0-\nucollections: 3.0-\nuerrno: 3.0-\nuos: 3.0-\nurandom: 3.0-\nustruct: 3.0-\nusys: 3.0-\nutime: 3.0-", + "/typeshed/stdlib/abc.pyi": "from _typeshed import SupportsWrite\nfrom typing import Any, Callable, Tuple, Type, TypeVar\n\n_T = TypeVar(\"_T\")\n_FuncT = TypeVar(\"_FuncT\", bound=Callable[..., Any])\n\n# These definitions have special processing in mypy\nclass ABCMeta(type):\n __abstractmethods__: frozenset[str]\n def __init__(\n self, name: str, bases: Tuple[type, ...], namespace: dict[str, Any]\n ) -> None: ...\n def __instancecheck__(cls: ABCMeta, instance: Any) -> Any: ...\n def __subclasscheck__(cls: ABCMeta, subclass: Any) -> Any: ...\n def _dump_registry(cls: ABCMeta, file: SupportsWrite[str] | None = ...) -> None: ...\n def register(cls: ABCMeta, subclass: Type[_T]) -> Type[_T]: ...\n\ndef abstractmethod(funcobj: _FuncT) -> _FuncT: ...\n\nclass abstractproperty(property): ...\n\n# These two are deprecated and not supported by mypy\ndef abstractstaticmethod(callable: _FuncT) -> _FuncT: ...\ndef abstractclassmethod(callable: _FuncT) -> _FuncT: ...\n\nclass ABC(metaclass=ABCMeta): ...\n\ndef get_cache_token() -> object: ...\n", + "/typeshed/stdlib/antigravity.pyi": "", + "/typeshed/stdlib/array.pyi": "from typing import Generic, Iterable, MutableSequence, TypeVar, Union, overload\nfrom typing_extensions import Literal\n\n_IntTypeCode = Literal[\"b\", \"B\", \"h\", \"H\", \"i\", \"I\", \"l\", \"L\", \"q\", \"Q\"]\n_FloatTypeCode = Literal[\"f\", \"d\"]\n_TypeCode = Union[_IntTypeCode, _FloatTypeCode]\n\n_T = TypeVar(\"_T\", int, float)\n\nclass array(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(\n self: array[int],\n typecode: _IntTypeCode,\n __initializer: Union[bytes, Iterable[_T]] = ...,\n ) -> None: ...\n @overload\n def __init__(\n self: array[float],\n typecode: _FloatTypeCode,\n __initializer: Union[bytes, Iterable[_T]] = ...,\n ) -> None: ...\n @overload\n def __init__(\n self, typecode: str, __initializer: Union[bytes, Iterable[_T]] = ...\n ) -> None: ...\n def append(self, __v: _T) -> None: ...\n def decode(self) -> str: ...\n def extend(self, __bb: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n @overload\n def __getitem__(self, i: int) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> array[_T]: ...\n @overload # type: ignore # Overrides MutableSequence\n def __setitem__(self, i: int, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: array[_T]) -> None: ...\n def __add__(self, x: array[_T]) -> array[_T]: ...\n def __iadd__(self, x: array[_T]) -> array[_T]: ... # type: ignore # Overrides MutableSequence\n\nArrayType = array\n", + "/typeshed/stdlib/audio.pyi": "\"\"\"Play sounds using the micro:bit (import ``audio`` for V1 compatibility).\n\"\"\"\n\n# Re-export for V1 compatibility.\nfrom .microbit.audio import (\n is_playing as is_playing,\n play as play,\n stop as stop,\n AudioFrame as AudioFrame,\n SoundEffect as SoundEffect,\n)\n", + "/typeshed/stdlib/builtins.pyi": "import sys\nimport types\nfrom _typeshed import (\n OpenBinaryMode,\n OpenTextMode,\n ReadableBuffer,\n Self,\n StrOrBytesPath,\n SupportsDivMod,\n SupportsKeysAndGetItem,\n SupportsLenAndGetItem,\n SupportsLessThan,\n SupportsLessThanT,\n SupportsRDivMod,\n SupportsWrite,\n)\nfrom types import CodeType, TracebackType\nfrom typing import (\n IO,\n AbstractSet,\n Any,\n AsyncIterable,\n AsyncIterator,\n BinaryIO,\n ByteString,\n Callable,\n FrozenSet,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n MutableMapping,\n MutableSequence,\n MutableSet,\n NoReturn,\n Protocol,\n Reversible,\n Sequence,\n Set,\n Sized,\n SupportsAbs,\n SupportsBytes,\n SupportsComplex,\n SupportsFloat,\n SupportsInt,\n SupportsRound,\n TextIO,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, SupportsIndex, final\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\nclass _SupportsTrunc(Protocol):\n def __trunc__(self) -> int: ...\n\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n_S = TypeVar(\"_S\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T3 = TypeVar(\"_T3\")\n_T4 = TypeVar(\"_T4\")\n_T5 = TypeVar(\"_T5\")\n_TT = TypeVar(\"_TT\", bound=\"type\")\n_TBE = TypeVar(\"_TBE\", bound=\"BaseException\")\n\nclass object:\n __doc__: str | None\n __dict__: dict[str, Any]\n __slots__: str | Iterable[str]\n __module__: str\n __annotations__: dict[str, Any]\n @property\n def __class__(self: _T) -> Type[_T]: ...\n # Ignore errors about type mismatch between property getter and setter\n @__class__.setter\n def __class__(self, __type: Type[object]) -> None: ... # type: ignore # noqa: F811\n def __init__(self) -> None: ...\n def __new__(cls: Type[_T]) -> _T: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __eq__(self, o: object) -> bool: ...\n def __ne__(self, o: object) -> bool: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n def __format__(self, format_spec: str) -> str: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __delattr__(self, name: str) -> None: ...\n def __sizeof__(self) -> int: ...\n def __reduce__(self) -> str | Tuple[Any, ...]: ...\n if sys.version_info >= (3, 8):\n def __reduce_ex__(self, protocol: SupportsIndex) -> str | Tuple[Any, ...]: ...\n else:\n def __reduce_ex__(self, protocol: int) -> str | Tuple[Any, ...]: ...\n def __dir__(self) -> Iterable[str]: ...\n def __init_subclass__(cls) -> None: ...\n\nclass staticmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass classmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass type(object):\n __base__: type\n __bases__: Tuple[type, ...]\n __basicsize__: int\n __dict__: dict[str, Any]\n __dictoffset__: int\n __flags__: int\n __itemsize__: int\n __module__: str\n __name__: str\n __qualname__: str\n __text_signature__: str | None\n __weakrefoffset__: int\n @overload\n def __init__(self, o: object) -> None: ...\n @overload\n def __init__(\n self, name: str, bases: Tuple[type, ...], dict: dict[str, Any], **kwds: Any\n ) -> None: ...\n @overload\n def __new__(cls, o: object) -> type: ...\n @overload\n def __new__(\n cls: Type[_TT],\n name: str,\n bases: Tuple[type, ...],\n namespace: dict[str, Any],\n **kwds: Any,\n ) -> _TT: ...\n def __call__(self, *args: Any, **kwds: Any) -> Any: ...\n def __subclasses__(self: _TT) -> list[_TT]: ...\n def __instancecheck__(self, instance: Any) -> bool: ...\n def __subclasscheck__(self, subclass: type) -> bool: ...\n @classmethod\n def __prepare__(\n metacls, __name: str, __bases: Tuple[type, ...], **kwds: Any\n ) -> Mapping[str, Any]: ...\n if sys.version_info >= (3, 10):\n def __or__(self, t: Any) -> types.UnionType: ...\n def __ror__(self, t: Any) -> types.UnionType: ...\n\nclass super(object):\n @overload\n def __init__(self, t: Any, obj: Any) -> None: ...\n @overload\n def __init__(self, t: Any) -> None: ...\n @overload\n def __init__(self) -> None: ...\n\nclass int:\n @overload\n def __new__(\n cls: Type[_T],\n x: str | bytes | SupportsInt | SupportsIndex | _SupportsTrunc = ...,\n ) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], x: str | bytes | bytearray, base: SupportsIndex\n ) -> _T: ...\n def to_bytes(\n self,\n length: SupportsIndex,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> bytes: ...\n @classmethod\n def from_bytes(\n cls,\n bytes: Iterable[SupportsIndex] | SupportsBytes,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> int: ... # TODO buffer object argument\n def __add__(self, x: int) -> int: ...\n def __sub__(self, x: int) -> int: ...\n def __mul__(self, x: int) -> int: ...\n def __floordiv__(self, x: int) -> int: ...\n def __truediv__(self, x: int) -> float: ...\n def __mod__(self, x: int) -> int: ...\n def __divmod__(self, x: int) -> Tuple[int, int]: ...\n def __radd__(self, x: int) -> int: ...\n def __rsub__(self, x: int) -> int: ...\n def __rmul__(self, x: int) -> int: ...\n def __rfloordiv__(self, x: int) -> int: ...\n def __rtruediv__(self, x: int) -> float: ...\n def __rmod__(self, x: int) -> int: ...\n def __rdivmod__(self, x: int) -> Tuple[int, int]: ...\n @overload\n def __pow__(self, __x: Literal[2], __modulo: int | None = ...) -> int: ...\n @overload\n def __pow__(\n self, __x: int, __modulo: int | None = ...\n ) -> Any: ... # Return type can be int or float, depending on x.\n def __rpow__(self, x: int, mod: int | None = ...) -> Any: ...\n def __and__(self, n: int) -> int: ...\n def __or__(self, n: int) -> int: ...\n def __xor__(self, n: int) -> int: ...\n def __lshift__(self, n: int) -> int: ...\n def __rshift__(self, n: int) -> int: ...\n def __rand__(self, n: int) -> int: ...\n def __ror__(self, n: int) -> int: ...\n def __rxor__(self, n: int) -> int: ...\n def __rlshift__(self, n: int) -> int: ...\n def __rrshift__(self, n: int) -> int: ...\n def __neg__(self) -> int: ...\n def __pos__(self) -> int: ...\n def __invert__(self) -> int: ...\n def __trunc__(self) -> int: ...\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n def __round__(self, ndigits: SupportsIndex = ...) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: int) -> bool: ...\n def __le__(self, x: int) -> bool: ...\n def __gt__(self, x: int) -> bool: ...\n def __ge__(self, x: int) -> bool: ...\n def __str__(self) -> str: ...\n def __float__(self) -> float: ...\n def __int__(self) -> int: ...\n def __abs__(self) -> int: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n def __index__(self) -> int: ...\n\nclass float:\n def __new__(\n cls: Type[_T], x: SupportsFloat | SupportsIndex | str | bytes | bytearray = ...\n ) -> _T: ...\n def __add__(self, x: float) -> float: ...\n def __sub__(self, x: float) -> float: ...\n def __mul__(self, x: float) -> float: ...\n def __floordiv__(self, x: float) -> float: ...\n def __truediv__(self, x: float) -> float: ...\n def __mod__(self, x: float) -> float: ...\n def __divmod__(self, x: float) -> Tuple[float, float]: ...\n def __pow__(\n self, x: float, mod: None = ...\n ) -> float: ... # In Python 3, returns complex if self is negative and x is not whole\n def __radd__(self, x: float) -> float: ...\n def __rsub__(self, x: float) -> float: ...\n def __rmul__(self, x: float) -> float: ...\n def __rfloordiv__(self, x: float) -> float: ...\n def __rtruediv__(self, x: float) -> float: ...\n def __rmod__(self, x: float) -> float: ...\n def __rdivmod__(self, x: float) -> Tuple[float, float]: ...\n def __rpow__(self, x: float, mod: None = ...) -> float: ...\n def __getnewargs__(self) -> Tuple[float]: ...\n def __trunc__(self) -> int: ...\n if sys.version_info >= (3, 9):\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n @overload\n def __round__(self, ndigits: None = ...) -> int: ...\n @overload\n def __round__(self, ndigits: SupportsIndex) -> float: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: float) -> bool: ...\n def __le__(self, x: float) -> bool: ...\n def __gt__(self, x: float) -> bool: ...\n def __ge__(self, x: float) -> bool: ...\n def __neg__(self) -> float: ...\n def __pos__(self) -> float: ...\n def __str__(self) -> str: ...\n def __int__(self) -> int: ...\n def __float__(self) -> float: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass complex:\n @overload\n def __new__(cls: Type[_T], real: float = ..., imag: float = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], real: str | SupportsComplex | SupportsIndex | complex\n ) -> _T: ...\n @property\n def real(self) -> float: ...\n @property\n def imag(self) -> float: ...\n def __add__(self, x: complex) -> complex: ...\n def __sub__(self, x: complex) -> complex: ...\n def __mul__(self, x: complex) -> complex: ...\n def __pow__(self, x: complex, mod: None = ...) -> complex: ...\n def __truediv__(self, x: complex) -> complex: ...\n def __radd__(self, x: complex) -> complex: ...\n def __rsub__(self, x: complex) -> complex: ...\n def __rmul__(self, x: complex) -> complex: ...\n def __rpow__(self, x: complex, mod: None = ...) -> complex: ...\n def __rtruediv__(self, x: complex) -> complex: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __neg__(self) -> complex: ...\n def __pos__(self) -> complex: ...\n def __str__(self) -> str: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass str(Sequence[str]):\n @overload\n def __new__(cls: Type[_T], o: object = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], o: bytes, encoding: str = ..., errors: str = ...\n ) -> _T: ...\n def count(\n self,\n x: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def encode(self, encoding: str = ..., errors: str = ...) -> bytes: ...\n def endswith(\n self,\n __suffix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def format(self, *args: object, **kwargs: object) -> str: ...\n def index(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable: Iterable[str]) -> str: ...\n def lower(self) -> str: ...\n def lstrip(self, __chars: str | None = ...) -> str: ...\n def replace(self, __old: str, __new: str, __count: SupportsIndex = ...) -> str: ...\n def rfind(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def rstrip(self, __chars: str | None = ...) -> str: ...\n def split(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def startswith(\n self,\n __prefix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __chars: str | None = ...) -> str: ...\n def upper(self) -> str: ...\n def __add__(self, s: str) -> str: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: str) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ge__(self, x: str) -> bool: ...\n def __getitem__(self, i: int | slice) -> str: ...\n def __gt__(self, x: str) -> bool: ...\n def __hash__(self) -> int: ...\n def __iter__(self) -> Iterator[str]: ...\n def __le__(self, x: str) -> bool: ...\n def __len__(self) -> int: ...\n def __lt__(self, x: str) -> bool: ...\n def __mod__(self, x: Any) -> str: ...\n def __mul__(self, n: SupportsIndex) -> str: ...\n def __ne__(self, x: object) -> bool: ...\n def __repr__(self) -> str: ...\n def __rmul__(self, n: SupportsIndex) -> str: ...\n def __str__(self) -> str: ...\n def __getnewargs__(self) -> Tuple[str]: ...\n\nclass bytes(ByteString):\n @overload\n def __new__(cls: Type[_T], ints: Iterable[SupportsIndex]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], string: str, encoding: str, errors: str = ...) -> _T: ...\n @overload\n def __new__(cls: Type[_T], length: SupportsIndex) -> _T: ...\n @overload\n def __new__(cls: Type[_T]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], o: SupportsBytes) -> _T: ...\n def count(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def endswith(\n self,\n __suffix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def index(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable_of_bytes: Iterable[ByteString | memoryview]) -> bytes: ...\n def lower(self) -> bytes: ...\n def lstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def replace(\n self, __old: bytes, __new: bytes, __count: SupportsIndex = ...\n ) -> bytes: ...\n def rfind(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def rstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def split(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def startswith(\n self,\n __prefix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __bytes: bytes | None = ...) -> bytes: ...\n def upper(self) -> bytes: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytes: ...\n def __add__(self, s: bytes) -> bytes: ...\n def __mul__(self, n: SupportsIndex) -> bytes: ...\n def __rmul__(self, n: SupportsIndex) -> bytes: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n def __getnewargs__(self) -> Tuple[bytes]: ...\n\nclass bytearray:\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, ints: Iterable[SupportsIndex]) -> None: ...\n @overload\n def __init__(self, string: str, encoding: str, errors: str = ...) -> None: ...\n @overload\n def __init__(self, length: SupportsIndex) -> None: ...\n def append(self, __item: SupportsIndex) -> None: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def extend(self, __iterable_of_ints: Iterable[SupportsIndex]) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytearray: ...\n @overload\n def __setitem__(self, i: SupportsIndex, x: SupportsIndex) -> None: ...\n @overload\n def __setitem__(self, s: slice, x: Iterable[SupportsIndex] | bytes) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, s: bytes) -> bytearray: ...\n def __iadd__(self, s: Iterable[int]) -> bytearray: ...\n def __mul__(self, n: SupportsIndex) -> bytearray: ...\n def __rmul__(self, n: SupportsIndex) -> bytearray: ...\n def __imul__(self, n: SupportsIndex) -> bytearray: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n\nclass memoryview(Sized, Sequence[int]):\n def __init__(self, obj: ReadableBuffer) -> None: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> memoryview: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n def __len__(self) -> int: ...\n @overload\n def __setitem__(self, s: slice, o: bytes) -> None: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: SupportsIndex) -> None: ...\n\n@final\nclass bool(int):\n def __new__(cls: Type[_T], __o: object = ...) -> _T: ...\n @overload\n def __and__(self, x: bool) -> bool: ...\n @overload\n def __and__(self, x: int) -> int: ...\n @overload\n def __or__(self, x: bool) -> bool: ...\n @overload\n def __or__(self, x: int) -> int: ...\n @overload\n def __xor__(self, x: bool) -> bool: ...\n @overload\n def __xor__(self, x: int) -> int: ...\n @overload\n def __rand__(self, x: bool) -> bool: ...\n @overload\n def __rand__(self, x: int) -> int: ...\n @overload\n def __ror__(self, x: bool) -> bool: ...\n @overload\n def __ror__(self, x: int) -> int: ...\n @overload\n def __rxor__(self, x: bool) -> bool: ...\n @overload\n def __rxor__(self, x: int) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n\nclass slice(object):\n start: Any\n step: Any\n stop: Any\n __hash__: None # type: ignore\n def indices(self, len: SupportsIndex) -> Tuple[int, int, int]: ...\n\nclass tuple(Sequence[_T_co], Generic[_T_co]):\n def __new__(cls: Type[_T], iterable: Iterable[_T_co] = ...) -> _T: ...\n def __len__(self) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n @overload\n def __getitem__(self, x: int) -> _T_co: ...\n @overload\n def __getitem__(self, x: slice) -> Tuple[_T_co, ...]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __lt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __le__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __gt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __ge__(self, x: Tuple[_T_co, ...]) -> bool: ...\n @overload\n def __add__(self, x: Tuple[_T_co, ...]) -> Tuple[_T_co, ...]: ...\n @overload\n def __add__(self, x: Tuple[_T, ...]) -> Tuple[_T_co | _T, ...]: ...\n def __mul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def __rmul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def count(self, __value: Any) -> int: ...\n def index(\n self, __value: Any, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n\n# Can we remove this?\nclass function:\n # TODO not defined in builtins!\n __name__: str\n __module__: str\n __code__: CodeType\n __qualname__: str\n __annotations__: dict[str, Any]\n\nclass frozenset(AbstractSet[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls: type[Self]) -> Self: ...\n @overload\n def __new__(cls: type[Self], __iterable: Iterable[_T_co]) -> Self: ...\n def copy(self) -> FrozenSet[_T_co]: ...\n def difference(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def intersection(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def isdisjoint(self, s: Iterable[_T_co]) -> bool: ...\n def issubset(self, s: Iterable[object]) -> bool: ...\n def issuperset(self, s: Iterable[object]) -> bool: ...\n def symmetric_difference(self, s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def union(self, *s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __sub__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass list(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[_T]) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> list[_T]: ...\n def append(self, __object: _T) -> None: ...\n def extend(self, __iterable: Iterable[_T]) -> None: ...\n def pop(self, __index: SupportsIndex = ...) -> _T: ...\n def index(\n self, __value: _T, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n def count(self, __value: _T) -> int: ...\n def insert(self, __index: SupportsIndex, __object: _T) -> None: ...\n def remove(self, __value: _T) -> None: ...\n def reverse(self) -> None: ...\n @overload\n def sort(\n self: list[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n ) -> None: ...\n @overload\n def sort(\n self, *, key: Callable[[_T], SupportsLessThan], reverse: bool = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> list[_T]: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, x: list[_T]) -> list[_T]: ...\n def __iadd__(self: _S, x: Iterable[_T]) -> _S: ...\n def __mul__(self, n: SupportsIndex) -> list[_T]: ...\n def __rmul__(self, n: SupportsIndex) -> list[_T]: ...\n def __imul__(self: _S, n: SupportsIndex) -> _S: ...\n def __contains__(self, o: object) -> bool: ...\n def __reversed__(self) -> Iterator[_T]: ...\n def __gt__(self, x: list[_T]) -> bool: ...\n def __ge__(self, x: list[_T]) -> bool: ...\n def __lt__(self, x: list[_T]) -> bool: ...\n def __le__(self, x: list[_T]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass dict(MutableMapping[_KT, _VT], Generic[_KT, _VT]):\n @overload\n def __init__(self: dict[_KT, _VT]) -> None: ...\n @overload\n def __init__(self: dict[str, _VT], **kwargs: _VT) -> None: ...\n @overload\n def __init__(\n self, map: SupportsKeysAndGetItem[_KT, _VT], **kwargs: _VT\n ) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n def __new__(cls: Type[_T1], *args: Any, **kwargs: Any) -> _T1: ...\n def clear(self) -> None: ...\n def copy(self) -> dict[_KT, _VT]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, __key: _KT, __default: _VT = ...) -> _VT: ...\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT]: ...\n def items(self) -> ItemsView[_KT, _VT]: ...\n @classmethod\n @overload\n def fromkeys(\n cls, __iterable: Iterable[_T], __value: None = ...\n ) -> dict[_T, Any | None]: ...\n @classmethod\n @overload\n def fromkeys(cls, __iterable: Iterable[_T], __value: _S) -> dict[_T, _S]: ...\n def __len__(self) -> int: ...\n def __getitem__(self, k: _KT) -> _VT: ...\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n def __delitem__(self, v: _KT) -> None: ...\n def __iter__(self) -> Iterator[_KT]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __or__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ror__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ior__(self, __value: Mapping[_KT, _VT]) -> dict[_KT, _VT]: ... # type: ignore\n\nclass set(MutableSet[_T], Generic[_T]):\n def __init__(self, iterable: Iterable[_T] = ...) -> None: ...\n def add(self, element: _T) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> Set[_T]: ...\n def difference(self, *s: Iterable[Any]) -> Set[_T]: ...\n def difference_update(self, *s: Iterable[Any]) -> None: ...\n def discard(self, element: _T) -> None: ...\n def intersection(self, *s: Iterable[Any]) -> Set[_T]: ...\n def intersection_update(self, *s: Iterable[Any]) -> None: ...\n def isdisjoint(self, s: Iterable[Any]) -> bool: ...\n def issubset(self, s: Iterable[Any]) -> bool: ...\n def issuperset(self, s: Iterable[Any]) -> bool: ...\n def pop(self) -> _T: ...\n def remove(self, element: _T) -> None: ...\n def symmetric_difference(self, s: Iterable[_T]) -> Set[_T]: ...\n def symmetric_difference_update(self, s: Iterable[_T]) -> None: ...\n def union(self, *s: Iterable[_T]) -> Set[_T]: ...\n def update(self, *s: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __iand__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __or__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ior__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __sub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __isub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __xor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass enumerate(Iterator[Tuple[int, _T]], Generic[_T]):\n def __init__(self, iterable: Iterable[_T], start: int = ...) -> None: ...\n def __iter__(self) -> Iterator[Tuple[int, _T]]: ...\n def __next__(self) -> Tuple[int, _T]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass range(Sequence[int]):\n start: int\n stop: int\n step: int\n @overload\n def __init__(self, stop: SupportsIndex) -> None: ...\n @overload\n def __init__(\n self, start: SupportsIndex, stop: SupportsIndex, step: SupportsIndex = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> range: ...\n def __repr__(self) -> str: ...\n def __reversed__(self) -> Iterator[int]: ...\n\nclass property(object):\n fget: Callable[[Any], Any] | None\n fset: Callable[[Any, Any], None] | None\n fdel: Callable[[Any], None] | None\n def __init__(\n self,\n fget: Callable[[Any], Any] | None = ...,\n fset: Callable[[Any, Any], None] | None = ...,\n fdel: Callable[[Any], None] | None = ...,\n doc: str | None = ...,\n ) -> None: ...\n def getter(self, fget: Callable[[Any], Any]) -> property: ...\n def setter(self, fset: Callable[[Any, Any], None]) -> property: ...\n def deleter(self, fdel: Callable[[Any], None]) -> property: ...\n def __get__(self, obj: Any, type: type | None = ...) -> Any: ...\n def __set__(self, obj: Any, value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nclass _NotImplementedType(Any): # type: ignore\n # A little weird, but typing the __call__ as NotImplemented makes the error message\n # for NotImplemented() much better\n __call__: NotImplemented # type: ignore\n\nNotImplemented: _NotImplementedType\n\ndef abs(__x: SupportsAbs[_T]) -> _T: ...\ndef all(__iterable: Iterable[object]) -> bool: ...\ndef any(__iterable: Iterable[object]) -> bool: ...\ndef bin(__number: int | SupportsIndex) -> str: ...\n\nif sys.version_info >= (3, 7):\n def breakpoint(*args: Any, **kws: Any) -> None: ...\n\ndef callable(__obj: object) -> bool: ...\ndef chr(__i: int) -> str: ...\n\n# We define this here instead of using os.PathLike to avoid import cycle issues.\n# See https://github.com/python/typeshed/pull/991#issuecomment-288160993\n_AnyStr_co = TypeVar(\"_AnyStr_co\", str, bytes, covariant=True)\n\nclass _PathLike(Protocol[_AnyStr_co]):\n def __fspath__(self) -> _AnyStr_co: ...\n\nif sys.version_info >= (3, 10):\n def aiter(__iterable: AsyncIterable[_T]) -> AsyncIterator[_T]: ...\n @overload\n async def anext(__i: AsyncIterator[_T]) -> _T: ...\n @overload\n async def anext(__i: AsyncIterator[_T], default: _VT) -> _T | _VT: ...\n\ndef delattr(__obj: Any, __name: str) -> None: ...\ndef dir(__o: object = ...) -> list[str]: ...\n@overload\ndef divmod(__x: SupportsDivMod[_T_contra, _T_co], __y: _T_contra) -> _T_co: ...\n@overload\ndef divmod(__x: _T_contra, __y: SupportsRDivMod[_T_contra, _T_co]) -> _T_co: ...\ndef eval(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\ndef exec(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\n\nclass filter(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __function: None, __iterable: Iterable[_T | None]) -> None: ...\n @overload\n def __init__(\n self, __function: Callable[[_T], Any], __iterable: Iterable[_T]\n ) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\n@overload\ndef getattr(__o: object, name: str) -> Any: ...\n\n# While technically covered by the last overload, spelling out the types for None and bool\n# help mypy out in some tricky situations involving type context (aka bidirectional inference)\n@overload\ndef getattr(__o: object, name: str, __default: None) -> Any | None: ...\n@overload\ndef getattr(__o: object, name: str, __default: bool) -> Any | bool: ...\n@overload\ndef getattr(__o: object, name: str, __default: _T) -> Any | _T: ...\ndef globals() -> dict[str, Any]: ...\ndef hasattr(__obj: object, __name: str) -> bool: ...\ndef hash(__obj: object) -> int: ...\ndef help(*args: Any, **kwds: Any) -> None: ...\ndef hex(__number: int | SupportsIndex) -> str: ...\ndef id(__obj: object) -> int: ...\ndef input(__prompt: Any = ...) -> str: ...\n@overload\ndef iter(__iterable: Iterable[_T]) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T | None], __sentinel: None) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T], __sentinel: Any) -> Iterator[_T]: ...\n\nif sys.version_info >= (3, 10):\n def isinstance(\n __obj: object,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n def issubclass(\n __cls: type,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n\nelse:\n def isinstance(\n __obj: object, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n def issubclass(\n __cls: type, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n\ndef len(__obj: Sized) -> int: ...\ndef locals() -> dict[str, Any]: ...\n\nclass map(Iterator[_S], Generic[_S]):\n @overload\n def __init__(self, __func: Callable[[_T1], _S], __iter1: Iterable[_T1]) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4, _T5], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[..., _S],\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> None: ...\n def __iter__(self) -> Iterator[_S]: ...\n def __next__(self) -> _S: ...\n\n@overload\ndef max(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef max(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef max(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef max(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef min(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef min(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef min(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef min(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef next(__i: Iterator[_T]) -> _T: ...\n@overload\ndef next(__i: Iterator[_T], default: _VT) -> _T | _VT: ...\ndef oct(__number: int | SupportsIndex) -> str: ...\n\n_OpenFile = Union[StrOrBytesPath, int]\n_Opener = Callable[[str, int], int]\n\n# Text mode: always returns a TextIOWrapper\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenTextMode = ...,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> TextIO: ...\n\n# Unbuffered binary mode: returns a FileIO\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenBinaryMode,\n buffering: int = ...,\n encoding: None = ...,\n errors: None = ...,\n newline: None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> BinaryIO: ...\n\n# Fallback if mode is not specified\n@overload\ndef open(\n file: _OpenFile,\n mode: str,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> IO[Any]: ...\ndef ord(__c: str | bytes) -> int: ...\ndef print(\n *values: object,\n sep: str | None = ...,\n end: str | None = ...,\n file: SupportsWrite[str] | None = ...,\n flush: bool = ...,\n) -> None: ...\n\n_E = TypeVar(\"_E\", contravariant=True)\n_M = TypeVar(\"_M\", contravariant=True)\n\nclass _SupportsPow2(Protocol[_E, _T_co]):\n def __pow__(self, __other: _E) -> _T_co: ...\n\nclass _SupportsPow3(Protocol[_E, _M, _T_co]):\n def __pow__(self, __other: _E, __modulo: _M) -> _T_co: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def pow(\n base: int, exp: int, mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(base: int, exp: int, mod: int) -> int: ...\n @overload\n def pow(base: float, exp: float, mod: None = ...) -> float: ...\n @overload\n def pow(base: _SupportsPow2[_E, _T_co], exp: _E) -> _T_co: ...\n @overload\n def pow(base: _SupportsPow3[_E, _M, _T_co], exp: _E, mod: _M) -> _T_co: ...\n\nelse:\n @overload\n def pow(\n __base: int, __exp: int, __mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(__base: int, __exp: int, __mod: int) -> int: ...\n @overload\n def pow(__base: float, __exp: float, __mod: None = ...) -> float: ...\n @overload\n def pow(__base: _SupportsPow2[_E, _T_co], __exp: _E) -> _T_co: ...\n @overload\n def pow(__base: _SupportsPow3[_E, _M, _T_co], __exp: _E, __mod: _M) -> _T_co: ...\n\nclass reversed(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __sequence: Reversible[_T]) -> None: ...\n @overload\n def __init__(self, __sequence: SupportsLenAndGetItem[_T]) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\ndef repr(__obj: object) -> str: ...\n@overload\ndef round(number: SupportsRound[Any]) -> int: ...\n@overload\ndef round(number: SupportsRound[Any], ndigits: None) -> int: ...\n@overload\ndef round(number: SupportsRound[_T], ndigits: SupportsIndex) -> _T: ...\ndef setattr(__obj: object, __name: str, __value: Any) -> None: ...\n@overload\ndef sorted(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n) -> list[SupportsLessThanT]: ...\n@overload\ndef sorted(\n __iterable: Iterable[_T],\n *,\n key: Callable[[_T], SupportsLessThan],\n reverse: bool = ...,\n) -> list[_T]: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], start: _S) -> _T | _S: ...\n\nelse:\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], __start: _S) -> _T | _S: ...\n\nclass zip(Iterator[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls, __iter1: Iterable[_T1]) -> zip[Tuple[_T1]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2]\n ) -> zip[Tuple[_T1, _T2]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]\n ) -> zip[Tuple[_T1, _T2, _T3]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4, _T5]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> zip[Tuple[Any, ...]]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __next__(self) -> _T_co: ...\n\ndef __import__(\n name: str,\n globals: Mapping[str, Any] | None = ...,\n locals: Mapping[str, Any] | None = ...,\n fromlist: Sequence[str] = ...,\n level: int = ...,\n) -> Any: ...\n\n# Actually the type of Ellipsis is , but since it's\n# not exposed anywhere under that name, we make it private here.\nclass ellipsis: ...\n\nEllipsis: ellipsis\n\nclass BaseException(object):\n args: Tuple[Any, ...]\n __cause__: BaseException | None\n __context__: BaseException | None\n __suppress_context__: bool\n __traceback__: TracebackType | None\n def __init__(self, *args: object) -> None: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def with_traceback(self: _TBE, tb: TracebackType | None) -> _TBE: ...\n\nclass GeneratorExit(BaseException): ...\nclass KeyboardInterrupt(BaseException): ...\n\nclass SystemExit(BaseException):\n code: int\n\nclass Exception(BaseException): ...\n\nclass StopIteration(Exception):\n value: Any\n\n_StandardError = Exception\n\nclass OSError(Exception):\n errno: int\n strerror: str\n # filename, filename2 are actually str | bytes | None\n filename: Any\n filename2: Any\n if sys.platform == \"win32\":\n winerror: int\n\nif sys.platform == \"win32\":\n WindowsError = OSError\n\nclass ArithmeticError(_StandardError): ...\nclass AssertionError(_StandardError): ...\n\nclass AttributeError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n obj: object\n\nclass EOFError(_StandardError): ...\n\nclass ImportError(_StandardError):\n def __init__(\n self, *args: object, name: str | None = ..., path: str | None = ...\n ) -> None: ...\n name: str | None\n path: str | None\n msg: str # undocumented\n\nclass LookupError(_StandardError): ...\nclass MemoryError(_StandardError): ...\n\nclass NameError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n\nclass RuntimeError(_StandardError): ...\n\nclass StopAsyncIteration(Exception):\n value: Any\n\nclass SyntaxError(_StandardError):\n msg: str\n lineno: int | None\n offset: int | None\n text: str | None\n filename: str | None\n if sys.version_info >= (3, 10):\n end_lineno: int | None\n end_offset: int | None\n\nclass TypeError(_StandardError): ...\nclass ValueError(_StandardError): ...\nclass FloatingPointError(ArithmeticError): ...\nclass OverflowError(ArithmeticError): ...\nclass ZeroDivisionError(ArithmeticError): ...\nclass IndexError(LookupError): ...\nclass KeyError(LookupError): ...\nclass NotImplementedError(RuntimeError): ...\nclass IndentationError(SyntaxError): ...\nclass TabError(IndentationError): ...\n", + "/typeshed/stdlib/errno.pyi": "from typing import Mapping\n\nerrorcode: Mapping[int, str]\n\nEACCES: int\nEADDRINUSE: int\nEAGAIN: int\nEALREADY: int\nEBADF: int\nECONNABORTED: int\nECONNREFUSED: int\nECONNRESET: int\nEEXIST: int\nEHOSTUNREACH: int\nEINPROGRESS: int\nEINVAL: int\nEIO: int\nEISDIR: int\nENOBUFS: int\nENODEV: int\nENOENT: int\nENOMEM: int\nENOTCONN: int\nEOPNOTSUPP: int\nEPERM: int\nETIMEDOUT: int\n", + "/typeshed/stdlib/gc.pyi": "\"\"\"Controla el recol\u00b7lector de mem\u00f2ria brossa\"\"\"\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"Habilita la recol\u00b7lecci\u00f3 autom\u00e0tica de la mem\u00f2ria brossa (habilita)\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"Inhabilita la recol\u00b7lecci\u00f3 autom\u00e0tica de la mem\u00f2ria brossa (desactiva)\n\nHeap memory can still be allocated,\nand garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"Executa la recol\u00b7lecci\u00f3 autom\u00e0tica de la mem\u00f2ria brossa (Recull)\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"Obt\u00e9 el nombre de bytes assignats a la mem\u00f2ria din\u00e0mica. (espai de mem\u00f2ria)\n\n:return: The number of bytes allocated.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"Obt\u00e9 el nombre disponible de bytes de la mem\u00f2ria din\u00e0mica, o -1 si no es coneix la quantitat. (mem\u00f2ria lliure)\n\n:return: The number of bytes free.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"Consulta l'assignaci\u00f3 del llindar del col\u00b7lector d'escombraries. (llindar)\n\n:return: The GC allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"Assigna un espai adicional al llindar del col\u00b7lector d'escombraries. (llindar)\n\nNormally, a collection is triggered only when a new allocation\ncannot be satisfied, i.e. on an out-of-memory (OOM) condition.\nIf this function is called, in addition to OOM, a collection\nwill be triggered each time after ``amount`` bytes have been\nallocated (in total, since the previous time such an amount of bytes\nhave been allocated). ``amount`` is usually specified as less than the\nfull heap size, with the intention to trigger a collection earlier than when the\nheap becomes exhausted, and in the hope that an early collection will prevent\nexcessive memory fragmentation. This is a heuristic measure, the effect\nof which will vary from application to application, as well as\nthe optimal value of the ``amount`` parameter.\n\nA value of -1 means a disabled allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\n\n:param amount: (quantitat) El nombre de bytes despr\u00e9s del qual s'activar\u00e0 la recol\u00b7lecci\u00f3 de la mem\u00f2ria brossa.\"\"\"\n ...", + "/typeshed/stdlib/log.pyi": "\"\"\"Registre dades en la micro:bit V2 (registre)\"\"\"\nfrom typing import Literal, Mapping, Optional, Union, overload\nMILLISECONDS = 1\n\"\"\"Format de marca de temps de mil\u00b7lisegons. (mil\u00b7lisegons)\"\"\"\nSECONDS = 10\n\"\"\"Format de marca de temps de segons. (segons)\"\"\"\nMINUTES = 600\n\"\"\"Format de marca de temps de minuts. (minuts)\"\"\"\nHOURS = 36000\n\"\"\"Format de marca de temps d'hores. (hores)\"\"\"\nDAYS = 864000\n\"\"\"Format de marca de temps de dies. (dies)\"\"\"\n\ndef set_labels(*labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]]=SECONDS) -> None:\n \"\"\"Defineix la cap\u00e7alera del fitxer de registre. (Defineix l'etiqueta)\n\nExample: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\nIdeally this function should be called a single time, before any data is\nlogged, to configure the data table header once.\n\nIf a log file already exists when the program starts, or if this function\nis called multiple times, it will check the labels already defined in the\nlog file. If this function call contains any new labels not already\npresent, it will generate a new header row with the additional columns.\n\nBy default the first column contains a timestamp for each row. The time\nunit can be selected via the timestamp argument.\n\n:param *labels: Qualsevol nombre d'arguments posicionals, corresponent cadascun a una entrada en la cap\u00e7alera del registre.\n:param timestamp: (marca hor\u00e0ria) Selecciona la unitat de la marca del temps que ser\u00e0 automaticament afegida com a primera columna de cada fila. Els valors de la marca del temps pot ser un de ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, ``log.HOURS``, ``log.DAYS`` o ``None`` per desactivar la marca del temps. El valor per defecte es ``log.SECONDS``.\"\"\"\n ...\n\n@overload\ndef add(data_dictionary: Optional[Mapping[str, Union[str, int, float]]]) -> None:\n \"\"\"Afegeix una fila de dades al registre passant un diccionari de cap\u00e7aleres i valors. (afegeix)\n\nExample: ``log.add({ 'temp': temperature() })``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\n\n:param data_dictionary: (diccionari de dades) Les dades a ser registrades com un diccionari amb una clau per cada cap\u00e7alera.\"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"Afegeix una fila de dades al registre fent servir arguments de paraula clau. (afegeix)\n\nExample: ``log.add(temp=temperature())``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"Suprimeix el contingut del registre, incloses les cap\u00e7aleres. (suprimeix)\n\nExample: ``log.delete()``\n\nTo add the log headers again the ``set_labels`` function should to be called after this function.\n\nThere are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\nand \u201cfast\u201d invalidates the data without removing it.\n\n:param full: (ple) ``True`` selecciona un esborrat \"total\" ``False`` selecciona un m\u00e8tode d'esborrat \"r\u00e0pid\".\"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"Configura la duplicaci\u00f3 de l'activitat de registre de dades a la sortida en s\u00e8rie. (estableix mirall)\n\nExample: ``log.set_mirroring(True)``\n\nSerial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n:param serial: ``True`` permet la duplicaci\u00f3 de les dades a la sortida s\u00e8rie.\"\"\"\n ...", + "/typeshed/stdlib/love.pyi": "def badaboom() -> None: ...\n", + "/typeshed/stdlib/machine.pyi": "\"\"\"Utilitats de baix nivell. (m\u00e0quina)\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"Obt\u00e9 una cadena de bytes amb un identificador \u00fanic d'una placa.\n\nExample: ``machine.unique_id()``\n\n:return: An identifier that varies from one board instance to another.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Reinicia el dispositiu d'una manera semblant a la de pr\u00e9mer el bot\u00f3 extern de REINICI. (reiniciar)\n\nExample: ``machine.reset()``\"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"Obt\u00e9 la freq\u00fc\u00e8ncia en Hertz de la CPU\n\nExample: ``machine.freq()``\n\n:return: The CPU frequency.\"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"Desactiva les sol\u00b7licituds d'interrupci\u00f3. (desabilita irq)\n\nExample: ``interrupt_state = machine.disable_irq()``\n\n:return: the previous IRQ state which should be considered an opaque value\n\nThe return value should be passed to the ``enable_irq`` function to restore\ninterrupts to their original state.\"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"Torna a habilitar les sol\u00b7licituds d'interrupci\u00f3. (habilita irq)\n\nExample: ``machine.enable_irq(interrupt_state)``\n\n:param state: (estat) El valor retornat per la crida m\u00e9s recent a la funci\u00f3 ``disable_irq``.\"\"\"\n ...\n\ndef time_pulse_us(pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int=1000000) -> int:\n \"\"\"Cronometra una pulsaci\u00f3 en un pin. (mesura la durada d'una pulsaci\u00f3 en un pin)\n\nExample: ``time_pulse_us(pin0, 1)``\n\nIf the current input value of the pin is different to ``pulse_level``, the\nfunction first waits until the pin input becomes equal to\n``pulse_level``, then times the duration that the pin is equal to\n``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\nstarts straight away.\n\n:param pin: El pin a utilitzar\n:param pulse_level: (nivell de pulsaci\u00f3) 0 per cronometrar la durada de l'estat baix o 1 per cronometrar la durada de l'estat alt\n:param timeout_us: (temps d'espera a la resposta excedit en microsegons) Temps d'espera d'un microsegon\n:return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\"\"\"\n ...\n\nclass mem:\n \"\"\"La classe per a les vistes de la mem\u00f2ria ``mem8``, ``mem16`` i ``mem32``.\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"Accedeix a un valor de la mem\u00f2ria\n\n:param address: (adre\u00e7a) L'adre\u00e7a de la mem\u00f2ria\n:return: The value at that address as an integer.\"\"\"\n ...\n\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"Assigna un valor a l'adre\u00e7a donada\n\n:param address: (adre\u00e7a) L'adre\u00e7a de la mem\u00f2ria\n:param value: (valor) El valor enter que cal assignar.\"\"\"\n ...\nmem8: mem\n\"\"\"vista de la mem\u00f2ria 8-bit (byte)\"\"\"\nmem16: mem\n\"\"\"vista de la mem\u00f2ria 16-bit\"\"\"\nmem32: mem\n\"\"\"vista de la mem\u00f2ria 32-bit\"\"\"", + "/typeshed/stdlib/math.pyi": "\"\"\"Funcions matem\u00e0tiques (matem\u00e0tiques)\"\"\"\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"Calcula l'invers del cosinus (arc cosinus)\n\nExample: ``math.acos(1)``\n\n:param x: Un nombre\n:return: The inverse cosine of ``x``\"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"Calcula l'invers del sinus (arc sinus)\n\nExample: ``math.asin(0)``\n\n:param x: Un nombre\n:return: The inverse sine of ``x``\"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"Calcula l'invers de la tangent (arc tangent)\n\nExample: ``math.atan(0)``\n\n:param x: Un nombre\n:return: The inverse tangent of ``x``\"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"Calcula el valor principal de l'invers de la tangent de ``y/x``. (arc tangent 2)\n\nExample: ``math.atan2(0, -1)``\n\n:param y: Un nombre\n:param x: Un nombre\n:return: The principal value of the inverse tangent of ``y/x``\"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"Arrodoneix un nombre cap a l'infinit positiu. (arrodoniment per exc\u00e9s)\n\nExample: ``math.ceil(0.1)``\n\n:param x: Un nombre\n:return: ``x`` rounded towards positive infinity.\"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"Calcula ``x`` amb el signe de ``y``.\n\nExample: ``math.copysign(1, -1)``\n\n:param x: Un nombre\n:param y: L'origen del signe pel valor retornat.\n:return: ``x`` with the sign of ``y``\"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"Calcula el cosinus de ``x``. (cosinus)\n\nExample: ``math.cos(0)``\n\n:param x: Un nombre\n:return: The cosine of ``x``\"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"Convertir radiants a graus (graus)\n\nExample: ``math.degrees(2 * math.pi)``\n\n:param x: Un valor en radians\n:return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"Calcula l'exponencial de ``x``.\n\nExample: ``math.exp(1)``\n\n:param x: Un nombre\n:return: The exponential of ``x``.\"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"Retorna el valor absolut de ``x``.\n\nExample: ``math.fabs(-0.1)``\n\n:param x: Un nombre\n:return: The absolute value of ``x``\"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"Arrodoneix un nombre cap a l'infinit negatiu. (arrodoniment per defecte)\n\nExample: ``math.floor(0.9)``\n\n:param x: Un nombre\n:return: ``x`` rounded towards negative infinity.\"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"Calcula el residu de ``x/y``.\n\nExample: ``math.fmod(10, 3)``\n\n:param x: El numerador\n:param y: El denominador\"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"Descompon un nombre de coma flotant en la seva mantissa i el seu exponent.\n\nExample: ``mantissa, exponent = math.frexp(2)``\n\nThe returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\nexactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\nthe relation ``0.5 <= abs(m) < 1`` holds.\n\n:param x: Un nombre de coma flotant\n:return: A tuple of length two containing its mantissa then exponent\"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"Verifica si un valor \u00e9s finit.\n\nExample: ``math.isfinite(float('inf'))``\n\n:param x: Un nombre.\n:return: ``True`` if ``x`` is finite, ``False`` otherwise.\"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"Verifica si un valor \u00e9s infinit.\n\nExample: ``math.isinf(float('-inf'))``\n\n:param x: Un nombre.\n:return: ``True`` if ``x`` is infinite, ``False`` otherwise.\"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"Verifica si un valor \u00e9s un \"no nombre\" (NaN)\n\nExample: ``math.isnan(float('nan'))``\n\n:param x: Un nombre\n:return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"Calcula ``x * (2**exp)``. (ldexp (Calcula ``x * (2**exp)``))\n\nExample: ``math.ldexp(0.5, 2)``\n\n:param x: Un nombre\n:param exp: Exponent enter\n:return: ``x * (2**exp)``\"\"\"\n ...\n\ndef log(x: float, base: float=e) -> float:\n \"\"\"Calcula el logaritme ``x`` d'una base donada (per defecte al logaritme natural). (registre)\n\nExample: ``math.log(math.e)``\n\nWith one argument, return the natural logarithm of x (to base e).\n\nWith two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n:param x: Un nombre\n:param base: La base a utilitzar\n:return: The natural logarithm of ``x``\"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"Calcula les parts fraccion\u00e0ries i integrals de ``x``.\n\nExample: ``fractional, integral = math.modf(1.5)``\n\n:param x: Un nombre\n:return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\nBoth the fractional and integral values have the same sign as ``x``.\"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"Retorna ``x`` a la pot\u00e8ncia de ``y``.\n\nExample: ``math.pow(4, 0.5)``\n\n:param x: Un nombre\n:param y: L'exponent\n:return: ``x`` to the power of ``y``\"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"Converteix graus a radians\n\nExample: ``math.radians(360)``\n\n:param x: Un valor en graus\n:return: The value converted to radians\"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"Calcula el sinus de ``x``. (sinus)\n\nExample: ``math.sin(math.pi/2)``\n\n:param x: Un nombre\n:return: The sine of ``x``\"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"Calcula l'arrel quadrada de ``x``.\n\nExample: ``math.sqrt(4)``\n\n:param x: Un nombre\n:return: The square root of ``x``\"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"Calcula la tangent de ``x``.\n\nExample: ``math.tan(0)``\n\n:param x: Un nombre\n:return: The tangent of ``x``.\"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"Arrodoneix un nombre cap al 0. (trunca)\n\nExample: ``math.trunc(-0.9)``\n\n:param x: Un nombre\n:return: ``x`` rounded towards zero.\"\"\"\n ...\ne: float\n\"\"\"Base del logaritme natural\"\"\"\npi: float\n\"\"\"La relaci\u00f3 entre la circumfer\u00e8ncia d'un cercle i el seu di\u00e0metre\"\"\"", + "/typeshed/stdlib/micropython.pyi": "\"\"\"Components interns de MicroPython.\"\"\"\nfrom typing import Any, TypeVar, overload\n_T = TypeVar('_T')\n\ndef const(expr: _T) -> _T:\n \"\"\"S'utilitza per declarar que l'expressi\u00f3 \u00e9s una constant perqu\u00e8 el compilador pugui\noptimitzar-la.\n\nThe use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\nConstants declared this way are still accessible as global variables from\noutside the module they are declared in. On the other hand, if a constant\nbegins with an underscore then it is hidden, it is not available as a\nglobal variable, and does not take up any memory during execution.\n\n:param expr: Una expressi\u00f3 constant\"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"Obt\u00e9 el nivell d'optimitzaci\u00f3 actual per a la compilaci\u00f3 d'scripts.\n\nExample: ``micropython.opt_level()``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n:return: An integer representing the current level.\"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"Estableix el nivell d'optimitzaci\u00f3 per a la compilaci\u00f3 posterior dels scripts.\n\nExample: ``micropython.opt_level(1)``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\nThe default optimisation level is usually level 0.\n\n:param level: Un nivell d'optimitzaci\u00f3 enter.\"\"\"\n ...\n\ndef mem_info(verbose: Any=None) -> None:\n \"\"\"Imprimeix informaci\u00f3 sobre la mem\u00f2ria utilitzada actualment. (informaci\u00f3 de la mem\u00f2ria)\n\nExample: ``micropython.mem_info()``\n\n:param verbose: Si es dona l'argument ``verbose``, s'imprimeix informaci\u00f3 addicional.\"\"\"\n ...\n\ndef qstr_info(verbose: Any=None) -> None:\n \"\"\"Imprimeix informaci\u00f3 sobre les cadenes internades actualment.\n\nExample: ``micropython.qstr_info()``\n\n:param verbose: Si es dona l'argument ``verbose``, s'imprimeix informaci\u00f3 addicional.\n\nThe information that is printed is implementation dependent, but currently\nincludes the number of interned strings and the amount of RAM they use. In\nverbose mode it prints out the names of all RAM-interned strings.\"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"Retorna un nombre enter que representa la quantitat actual de pila que est\u00e0 sent\nutilitzada.\n\nExample: ``micropython.stack_use()``\n\nThe absolute value of this is not particularly useful, rather it\nshould be used to compute differences in stack usage at different points.\n\n:return: An integer representing current stack use.\"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"Bloqueja el munt.\n\nExample: ``micropython.heap_lock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"Desbloqueja el munt.\n\nExample: ``micropython.heap_unlock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"Estableix el car\u00e0cter que generar\u00e0 una excepci\u00f3 ``KeyboardInterrupt``.\n\nExample: ``micropython.kbd_intr(-1)``\n\n:param chr: Codi de car\u00e0cter per augmentar la interrupci\u00f3 o -1 per desactivar la captura de Ctrl-C.\n\nBy default this is set to 3 during script execution, corresponding to Ctrl-C.\nPassing -1 to this function will disable capture of Ctrl-C, and passing 3\nwill restore it.\n\nThis function can be used to prevent the capturing of Ctrl-C on the\nincoming stream of characters that is usually used for the REPL, in case\nthat stream is used for other purposes.\"\"\"\n ...", + "/typeshed/stdlib/music.pyi": "\"\"\"Crea i toca melodies. (m\u00fasica)\"\"\"\nfrom typing import Optional, Tuple, Union, List\nfrom .microbit import MicroBitDigitalPin, pin0\nDADADADUM: Tuple[str, ...]\n\"\"\"Melodia: l'obertura de la cinquena simfonia de Beethoven en Do menor.\"\"\"\nENTERTAINER: Tuple[str, ...]\n\"\"\"Melodia: el fragment inicial del cl\u00e0ssic Ragtime de Scott Joplin \"The Entertainer\".\"\"\"\nPRELUDE: Tuple[str, ...]\n\"\"\"Melodia: obertura del primer Preludi en Do Major dels 48 Preludis i Fugues de J.S. Bach. (preludi)\"\"\"\nODE: Tuple[str, ...]\n\"\"\"Melodia: el tema \"Oda a l'alegria\" de la 9a simfonia en Re menor de Beethoven. (oda)\"\"\"\nNYAN: Tuple[str, ...]\n\"\"\"Melodia: el tema Nyan Cat (http://www.nyan.cat/).\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\nRINGTONE: Tuple[str, ...]\n\"\"\"Melodia: quelcom que sona com un to de trucada de tel\u00e8fon m\u00f2bil. (to de trucada)\n\nTo be used to indicate an incoming message.\n\"\"\"\nFUNK: Tuple[str, ...]\n\"\"\"Melodia: una l\u00ednia de baix funky per a agents secrets i cervells criminals.\"\"\"\nBLUES: Tuple[str, ...]\n\"\"\"Melodia: un blues walking bass boogie-woogie de dotze compassos.\"\"\"\nBIRTHDAY: Tuple[str, ...]\n\"\"\"Melodia: \u201cFeli\u00e7 aniversari\u2026\u201d (aniversari)\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\nWEDDING: Tuple[str, ...]\n\"\"\"Melodia: el cor nupcial de l'\u00f2pera Lohengrin de Wagner. (casament)\"\"\"\nFUNERAL: Tuple[str, ...]\n\"\"\"Melodia: la \u201cmarxa f\u00fanebre\u201d com es coneix la Sonata per a piano No 2. en Si bemoll menor Op. 35 de Fr\u00e9d\u00e9ric Chopin .\"\"\"\nPUNCHLINE: Tuple[str, ...]\n\"\"\"Melodia: un fragment divertit que significa que s'ha fet una broma.\"\"\"\nPYTHON: Tuple[str, ...]\n\"\"\"Melodia: la marxa de John Philip Sousa \"Liberty Bell\", tamb\u00e9 conegut com, el tema de \"Monty Python's Flying Circus\" (a partir de la qual s'anomena el llenguatge de programaci\u00f3 Python).\"\"\"\nBADDY: Tuple[str, ...]\n\"\"\"Melodia: entrada d'un dolent a l'era del cinema mut. (dolent)\"\"\"\nCHASE: Tuple[str, ...]\n\"\"\"Melodia: escena de persecuci\u00f3 de l'era del cinema mut. (persecuci\u00f3)\"\"\"\nBA_DING: Tuple[str, ...]\n\"\"\"Melodia: senyal breu per indicar que alguna cosa ha passat.\"\"\"\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"Melodia: un tromb\u00f3 molt trist.\"\"\"\nJUMP_UP: Tuple[str, ...]\n\"\"\"Melodia: per utilitzar-se en un joc, indicant moviment cap amunt. (saltar cap amunt)\"\"\"\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"Melodia: per utilitzar en un joc, que indica moviment cap avall. (saltar cap avall)\"\"\"\nPOWER_UP: Tuple[str, ...]\n\"\"\"Melodia: una fanf\u00e0rria per indicar un assoliment desbloquejat. (engegar)\"\"\"\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"Melodia: una trista fanf\u00e0rria per indicar un assoliment perdut. (apagar)\"\"\"\n\ndef set_tempo(ticks: int=4, bpm: int=120) -> None:\n \"\"\"Estableix el tempo aproximat per la reproducci\u00f3.\n\nExample: ``music.set_tempo(bpm=120)``\n\n:param ticks: El nombre de tics que constitueixen un ritme.\n:param bpm: Un nombre enter determinant quantes pulsacions per minut.\n\nSuggested default values allow the following useful behaviour:\n\n- music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n- music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n- music.set_tempo(bpm=180) \u2013 just change the tempo\n\nTo work out the length of a tick in milliseconds is very simple arithmetic:\n60000/bpm/ticks_per_beat. For the default values that\u2019s\n60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"Obt\u00e9 el tempo actual com una tupla d'enters:``(ticks, bpm)``. (obt\u00e9 el tempo)\n\nExample: ``ticks, beats = music.get_tempo()``\n\n:return: The temp as a tuple with two integer values, the ticks then the beats per minute.\"\"\"\n ...\n\ndef play(music: Union[str, List[str], Tuple[str, ...]], pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True, loop: bool=False) -> None:\n \"\"\"Tocar m\u00fasica\n\nExample: ``music.play(music.NYAN)``\n\n:param music: (m\u00fasica) m\u00fasica especificada en `una notaci\u00f3 especial `_\n:param pin: el pin de sortida per utilitzar-lo amb un altaveu extern (``pin0`` per defecte), ``None`` per no fer so.\n:param wait: (espera) Si ``wait`` s'estableix en ``True``, aquesta funci\u00f3 est\u00e0 bloquejant.\n:param loop: (bucle) Si el ``loop`` s'estableix en ``True``, la melodia es repeteix fins que es crida ``stop`` o s'interromp la trucada de bloqueig.\n\nMany built-in melodies are defined in this module.\"\"\"\n ...\n\ndef pitch(frequency: int, duration: int=-1, pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True) -> None:\n \"\"\"Toca una nota. (altura del to)\n\nExample: ``music.pitch(185, 1000)``\n\n:param frequency: (freq\u00fc\u00e8ncia) Una freq\u00fc\u00e8ncia de nombre enter\n:param duration: (Durada - duraci\u00f3) Una duraci\u00f3 d'un mil\u00b7lisegon. Si \u00e9s negativa, el so \u00e9s continu fins a la nova crida o una crida a ``stop``.\n:param pin: Pin de sortida opcional (``pin0`` per defecte).\n:param wait: (espera) Si ``wait`` s'estableix en ``True``, aquesta funci\u00f3 est\u00e0 bloquejant.\n\nFor example, if the frequency is set to 440 and the length to\n1000 then we hear a standard concert A for one second.\n\nYou can only play one pitch on one pin at any one time.\"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"Atura tota la reproducci\u00f3 de m\u00fasica a l'altaveu integrat i qualsevol so de sortida de pin. (atura)\n\nExample: ``music.stop()``\n\n:param pin: Es pot proporcionar un argument opcional per especificar un pin, per exemple ``music.stop(pin1)``.\"\"\"\n\ndef reset() -> None:\n \"\"\"Restableix els tics, ppm, duraci\u00f3 i octava al seu valor per defecte. (reiniciar)\n\nExample: ``music.reset()``\n\nValues:\n- ``ticks = 4``\n- ``bpm = 120``\n- ``duration = 4``\n- ``octave = 4``\"\"\"\n ...", + "/typeshed/stdlib/neopixel.pyi": "\"\"\"Cintes LED RGB i RGBW adre\u00e7ables individualment.\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"Inicialitza una nova tira de LED de neopixel controlada mitjan\u00e7ant un pin.\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: El pin que controla la tira de neop\u00edxels.\n:param n: El nombre de neop\u00edxels de la tira.\n:param bpp: Bytes per p\u00edxel. Per al suport del neopixel RGBW , passa 4 en lloc dels 3 per defecte per a RGB i GRB.\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"Esborra tots els p\u00edxels.\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"mostra els p\u00edxels.\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"Mostra els p\u00edxels (nom\u00e9s micro:bit V2) (escriu)\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"Acoloreix tots els p\u00edxels amb un valor RGB/RGBW determinat (nom\u00e9s micro:bit V2). (omple)\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: (color) Una tupla de la mateixa longitud que el nombre de bytes per p\u00edxel (bpp).\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"Estableix un color de p\u00edxel.\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: El nombre de p\u00edxels.\n:param value: (valor) El color.\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"Obt\u00e9 un color de p\u00edxel.\n\nExample: ``r, g, b = np[0]``\n\n:param key: El nombre de p\u00edxels.\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"Obt\u00e9 la longitud d'aquesta cinta de p\u00edxels.\n\nExample: ``len(np)``\"\"\"", + "/typeshed/stdlib/os.pyi": "\"\"\"Accedeix al sistema de fitxers.\"\"\"\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"Llista dels fitxers.\n\nExample: ``os.listdir()``\n\n:return: A list of the names of all the files contained within the local\npersistent on-device file system.\"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"Eliminar (suprimir) un fitxer. (eliminar)\n\nExample: ``os.remove('data.txt')``\n\n:param filename: (nom del fitxer) El fitxer a suprimir.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"Retorna la mida d'un fitxer (mida)\n\nExample: ``os.size('data.txt')``\n\n:param filename: (nom del fitxer) El fitxer\n:return: The size in bytes.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"Resultat de ``os.uname()``\"\"\"\n sysname: str\n \"\"\"Nom del sistema operatiu.\"\"\"\n nodename: str\n \"\"\"Nom de la m\u00e0quina a la xarxa (definida per la implementaci\u00f3).\"\"\"\n release: str\n \"\"\"Versi\u00f3 del sistema operatiu. (versi\u00f3)\"\"\"\n version: str\n \"\"\"Versi\u00f3 del sistema operatiu. (versi\u00f3)\"\"\"\n machine: str\n \"\"\"Identificador del maquinari. (m\u00e0quina)\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"Retorna informaci\u00f3 que identifica el sistema operatiu actual.\n\nExample: ``os.uname()``\n\nThe return value is an object with five attributes:\n\n- ``sysname`` - operating system name\n- ``nodename`` - name of machine on network (implementation-defined)\n- ``release`` - operating system release\n- ``version`` - operating system version\n- ``machine`` - hardware identifier\n\nThere is no underlying operating system in MicroPython. As a result the\ninformation returned by the ``uname`` function is mostly useful for\nversioning details.\"\"\"\n ...", + "/typeshed/stdlib/power.pyi": "\"\"\"Manage the power modes of the micro:bit (V2 only).\n\"\"\"\n\nfrom microbit import MicroBitDigitalPin, Button\nfrom typing import Optional, Tuple, Union\n\ndef off() -> None:\n \"\"\"Power down the board to the lowest possible power mode.\n\n Example: ``power.off()``\n\n This is the equivalent to pressing the reset button for a few seconds,\n to set the board in \"Off mode\".\n\n The micro:bit will only wake up if the reset button is pressed or,\n if on battery power, when a USB cable is connected.\n\n When the board wakes up it will start for a reset state, so your program\n will start running from the beginning.\n \"\"\"\n ...\n\ndef deep_sleep(\n ms: Optional[int] = None,\n wake_on: Optional[\n Union[MicroBitDigitalPin, Button] | Tuple[MicroBitDigitalPin | Button, ...]\n ] = None,\n run_every: bool = True,\n) -> None:\n \"\"\"Set the micro:bit into a low power mode where it can wake up and continue operation.\n\n Example: ``power.deep_sleep(wake_on=(button_a, button_b))``\n\n The program state is preserved and when it wakes up it will resume\n operation where it left off.\n\n Deep Sleep mode will consume more battery power than Off mode.\n\n The wake up sources are configured via arguments.\n\n The board will always wake up when receiving UART data, when the reset\n button is pressed (which resets the board) or, in battery power,\n when the USB cable is inserted.\n\n When the ``run_every`` parameter is set to ``True`` (the default), any\n function scheduled with ``run_every`` will momentarily wake up the board\n to run and when it finishes it will go back to sleep.\n\n :param ms: A time in milliseconds to wait before it wakes up.\n :param wake_on: A single instance or a tuple of pins and/or buttons to wake up the board, e.g. ``deep_sleep(wake_on=button_a)`` or ``deep_sleep(wake_on=(pin0, pin2, button_b))``.\n :param run_every: A boolean to configure if the functions scheduled with ``microbit.run_every`` will continue to run while it sleeps.\n \"\"\"\n ...\n", + "/typeshed/stdlib/radio.pyi": "\"\"\"Comunicar-se entre micro:bits amb la r\u00e0dio integrada. (r\u00e0dio)\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\nRATE_1MBIT: int\n\"\"\"La constant utilitzada per indicar un rendiment d'1 Mbit per segon. (velocitat de transmissi\u00f3 1mbit)\"\"\"\nRATE_2MBIT: int\n\"\"\"La constant utilitzada per indicar un rendiment de 2 Mbit per segon. (velocitat de transmissi\u00f3 2mbit)\"\"\"\n\ndef on() -> None:\n \"\"\"Enc\u00e9n la r\u00e0dio.\n\nExample: ``radio.on()``\n\nThis needs to be explicitly called since the radio draws power and takes\nup memory that you may otherwise need.\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Apaga la r\u00e0dio, estalviant energia i mem\u00f2ria.\n\nExample: ``radio.off()``\"\"\"\n ...\n\ndef config(length: int=32, queue: int=3, channel: int=7, power: int=6, address: int=1969383796, group: int=0, data_rate: int=RATE_1MBIT) -> None:\n \"\"\"Configura la r\u00e0dio.\n\nExample: ``radio.config(group=42)``\n\nThe default configuration is suitable for most use.\n\n:param length: (llargada) (per defecte=32) defineix la longitud m\u00e0xima, en bytes, d'un missatge enviat a trav\u00e9s de la r\u00e0dio.\nPot tenir una longitud de fins a 251 bytes (254 - 3 bytes per al pre\u00e0mbul S0, LENGTH i S1).\n:param queue: (cua) (per defecte=3) especifica el nombre de missatges que es poden emmagatzemar a la cua de missatges entrants.\nSi no queden espais a la cua per als missatges entrants, s'elimina el missatge entrant.\n:param channel: (canal) (per defecte=7) un valor enter de 0 a 83 (inclosos) que defineix un \"canal\" arbitrari al qual est\u00e0 sintonitzada la r\u00e0dio.\nEls missatges s'enviaran a trav\u00e9s d'aquest canal i nom\u00e9s els missatges rebuts per aquest canal es posaran a la cua de missatges entrants. Cada pas t\u00e9 una amplada d'1MHz, basat en 2400MHz.\n:param power: (per defecte=6) \u00e9s un valor enter de 0 a 7 (inclosos) per indicar la intensitat del senyal utilitzat quan s'emet un missatge.\nCom m\u00e9s alt sigui el valor, m\u00e9s fort \u00e9s el senyal, per\u00f2 m\u00e9s pot\u00e8ncia consumeix el dispositiu. La numeraci\u00f3 es tradueix en posicions a la llista seg\u00fcent de valors en dBm (decibels mil\u00b7liwatts): -30, -20, -16, -12, -8, -4, 0, 4.\n:param address: (adre\u00e7a) (per defecte=0x75626974) un nom arbitrari, expressat com una adre\u00e7a de 32 bits, que s'utilitza per filtrar els paquets entrants a nivell de maquinari, conservant nom\u00e9s els que coincideixen amb l'adre\u00e7a que has establert.\nLa configuraci\u00f3 predeterminada utilitzada per altres plataformes relacionades amb micro:bit \u00e9s la configuraci\u00f3 predeterminada que s'utilitza aqu\u00ed.\n:param group: (grup) (per defecte=0) un valor de 8 bits (0-255) utilitzat amb l'``address`` (adre\u00e7a) en filtrar missatges.\nConceptualment, \"adre\u00e7a\" \u00e9s com una adre\u00e7a de casa/oficina i \"grup\" \u00e9s com la persona a aquesta adre\u00e7a a la qual vols enviar el teu missatge.\n:param data_rate: (velocitat de dades) (per defecte=``radio.RATE_1MBIT``) indica la velocitat a la qual es produeix la transmissi\u00f3 de les dades.\nPot ser una de les constants seg\u00fcents definides al m\u00f2dul ``radio``: ``RATE_250KBIT``, ``RATE_1MBIT`` o ``RATE_2MBIT``.\n\nIf ``config`` is not called then the defaults described above are assumed.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Restableix la configuraci\u00f3 als seus valors predeterminats. (reiniciar)\n\nExample: ``radio.reset()``\n\nThe defaults as as per the ``config`` function above.\"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"Envia un missatge que cont\u00e9 bytes. (enviar bytes)\n\nExample: ``radio.send_bytes(b'hello')``\n\n:param message: (missatge) Els bytes a ser enviats.\"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"Rebr\u00e0s el seg\u00fcent missatge entrant a la cua de missatges. (rebre bytes)\n\nExample: ``radio.receive_bytes()``\n\n:return: The message bytes if any, otherwise ``None``.\"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"Copia el seg\u00fcent missatge entrant de la cua de missatges a una mem\u00f2ria interm\u00e8dia. (rebre bytes a)\n\nExample: ``radio.receive_bytes_info(buffer)``\n\n:param buffer: (mem\u00f2ria interm\u00e8dia) La mem\u00f2ria interm\u00e8dia objectiu. El missatge es trunca si \u00e9s m\u00e9s gran que la mem\u00f2ria interm\u00e8dia.\n:return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"Envia una cadena de missatge. (envia)\n\nExample: ``radio.send('hello')``\n\nThis is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\nprepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n:param message: (missatge) La cadena a enviar.\"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"Funciona exactament de la mateixa manera que ``receive_bytes`` per\u00f2 retorna el que s'ha enviat.\n\nExample: ``radio.receive()``\n\nEquivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\nthree bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\nmay target the micro:bit).\n\n:return: The message with the prepended bytes stripped and converted to a string.\n\nA ``ValueError`` exception is raised if conversion to string fails.\"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"Retorna una tupla que cont\u00e9 tres valors que representen el seg\u00fcent missatge entrant a la cua de missatges. (rebre ple)\n\nExample: ``radio.receive_full()``\n\nIf there are no pending messages then ``None`` is returned.\n\nThe three values in the tuple represent:\n\n- the next incoming message on the message queue as bytes.\n- the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n- a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\nFor example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\nThis function is useful for providing information needed for triangulation\nand/or trilateration with other micro:bit devices.\n\n:return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\"\"\"\n ...", + "/typeshed/stdlib/random.pyi": "\"\"\"Genera nombres aleatoris. (aleatori)\"\"\"\nfrom typing import TypeVar, Sequence, Union, overload\n\ndef getrandbits(n: int) -> int:\n \"\"\"Genera un nombre enter amb ``n`` bits aleatoris.\n\nExample: ``random.getrandbits(1)``\n\n:param n: Un valor entre 1-30 (inclusiu).\"\"\"\n ...\n\ndef seed(n: int) -> None:\n \"\"\"Inicialitza el generador de nombres aleatoris. (llavor)\n\nExample: ``random.seed(0)``\n\n:param n: The integer seed\n\nThis will give you reproducibly deterministic randomness from a given starting\nstate (``n``).\"\"\"\n ...\n\ndef randint(a: int, b: int) -> int:\n \"\"\"Tria un nombre enter aleatori entre ``a`` i ``b`` inclosos.\n\nExample: ``random.randint(0, 9)``\n\n:param a: Valor inicial de l'interval (incl\u00f2s)\n:param b: Valor final de l'interval (incl\u00f2s)\n\nAlias for ``randrange(a, b + 1)``.\"\"\"\n ...\n\n@overload\ndef randrange(stop: int) -> int:\n \"\"\"Tria un nombre enter seleccionat aleat\u00f2riament entre zero i fins a (per\u00f2 no\nincl\u00f2s) ``stop``.\n\nExample: ``random.randrange(10)``\n\n:param stop: (atura) Valor final de l'interval (excl\u00f2s)\"\"\"\n ...\n\n@overload\ndef randrange(start: int, stop: int, step: int=1) -> int:\n \"\"\"Tria un element seleccionat aleat\u00f2riament de ``range(start, stop, step)``.\n\nExample: ``random.randrange(0, 10)``\n\n:param start: L'inici de l'interval (incl\u00f2s)\n:param stop: (atura) El final de l'interval (exclusiu)\n:param step: El pas.\"\"\"\n ...\n_T = TypeVar('_T')\n\ndef choice(seq: Sequence[_T]) -> _T:\n \"\"\"Tria un element aleatori de la seq\u00fc\u00e8ncia no buida ``seq``.\n\nExample: ``random.choice([Image.HAPPY, Image.SAD])``\n\n:param seq: Una seq\u00fc\u00e8ncia.\n\nIf ``seq`` is empty, raises ``IndexError``.\"\"\"\n ...\n\ndef random() -> float:\n \"\"\"Genera un nombre aleatori de coma flotant en l'interval [0.0, 1.0). (aleatori)\n\nExample: ``random.random()``\n\n:return: The random floating point number\"\"\"\n ...\n\ndef uniform(a: float, b: float) -> float:\n \"\"\"Retorna un nombre de coma flotant aleatori entre ``a`` i ``b`` inclosos. (uniforme)\n\nExample: ``random.uniform(0, 9)``\n\n:param a: Valor inicial de l'interval (incl\u00f2s)\n:param b: Valor final de l'interval (incl\u00f2s)\"\"\"\n ...", + "/typeshed/stdlib/speech.pyi": "\"\"\"Fes que la micro:bit parli, canti i fer altres expressions com els sons.\"\"\"\nfrom typing import Optional\nfrom .microbit import MicroBitDigitalPin, pin0\n\ndef translate(words: str) -> str:\n \"\"\"Tradueix paraules angleses a fonemes. (tradueix)\n\nExample: ``speech.translate('hello world')``\n\n:param words: (paraules) Una cadena de paraules angleses.\n:return: A string containing a best guess at the appropriate phonemes to pronounce.\nThe output is generated from this `text to phoneme translation table `_.\n\nThis function should be used to generate a first approximation of phonemes\nthat can be further hand-edited to improve accuracy, inflection and\nemphasis.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef pronounce(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"Pronuncia fonemes. (pronuncia)\n\nExample: ``speech.pronounce(' /HEHLOW WERLD')``\n\n:param phonemes: (fonemes) La cadena de fonemes a pronunciar\n:param pitch: (to) Un nombre que representa la freq\u00fc\u00e8ncia de la veu\n:param speed: (velocitat) Un nombre que representa la velocitat de la veu\n:param mouth: (boca) Un nombre que representa la boca de la veu\n:param throat: Un nombre que representa la gola de la veu\n:param pin: L'argument opcional per especificar el pin de sortida es pot utilitzar per anul\u00b7lar el valor predeterminat de ``pin0``.\nSi no vols que es reprodueixi cap so en els pins, podts utilitzar ``pin=None``. Nom\u00e9s micro:bit V2.\n\nOverride the optional pitch, speed, mouth and throat settings to change the\ntimbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef say(words: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"Digues paraules en angl\u00e8s.\n\nExample: ``speech.say('hello world')``\n\n:param words: (paraules) La cadena de paraules a dir.\n:param pitch: (to) Un nombre que representa la freq\u00fc\u00e8ncia de la veu\n:param speed: (velocitat) Un nombre que representa la velocitat de la veu\n:param mouth: (boca) Un nombre que representa la boca de la veu\n:param throat: Un nombre que representa la gola de la veu\n:param pin: L'argument opcional per especificar el pin de sortida es pot utilitzar per anul\u00b7lar el valor predeterminat del ``pin0``.\nSi no vols que es reprodueixi cap so en els pins, pots utilitzar ``pin=None``. Nom\u00e9s micro:bit V2.\n\nThe result is semi-accurate for English. Override the optional pitch, speed,\nmouth and throat settings to change the timbre (quality) of the voice.\n\nThis is a short-hand equivalent of:\n``speech.pronounce(speech.translate(words))``\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef sing(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"Cantar fonemes.\n\nExample: ``speech.sing(' /HEHLOW WERLD')``\n\n:param phonemes: (fonemes) La cadena de paraules a cantar.\n:param pitch: (to) Un nombre que representa la freq\u00fc\u00e8ncia de la veu\n:param speed: (velocitat) Un nombre que representa la velocitat de la veu\n:param mouth: (boca) Un nombre que representa la boca de la veu\n:param throat: Un nombre que representa la gola de la veu\n:param pin: L'argument opcional per especificar el pin de sortida es pot utilitzar per anul\u00b7lar el valor predeterminat de ``pin0``.\nSi no vols que es reprodueixi cap so en els pins, podts utilitzar ``pin=None``. Nom\u00e9s micro:bit V2.\n\nOverride the optional pitch, speed, mouth and throat settings to change\nthe timbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...", + "/typeshed/stdlib/struct.pyi": "\"\"\"Empaquetar i desempaquetar tipus de dades primitius.\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom typing import Any, Tuple, Union\n\ndef calcsize(fmt: str) -> int:\n \"\"\"Obt\u00e9 el nombre de bytes necessaris per emmagatzemar el ``fmt`` donat.\n\nExample: ``struct.calcsize('hf')``\n\n:param fmt: Una cadena de format.\n:return The number of bytes needed to store such a value.\"\"\"\n ...\n\ndef pack(fmt: str, v1: Any, *vn: Any) -> bytes:\n \"\"\"Empaqueta els valors segons una cadena de format.\n\nExample: ``struct.pack('hf', 1, 3.1415)``\n\n:param fmt: La cadena de format.\n:param v1: El primer valor.\n:param *vn: La resta de valors.\n:return A bytes object encoding the values.\"\"\"\n ...\n\ndef pack_into(fmt: str, buffer: WriteableBuffer, offset: int, v1: Any, *vn: Any) -> None:\n \"\"\"Empaqueta els valors segons una cadena de format.\n\nExample: ``struct.pack_info('hf', buffer, 1, 3.1415)``\n\n:param fmt: La cadena de format.\n:param buffer: (mem\u00f2ria interm\u00e8dia) La mem\u00f2ria interm\u00e8dia de destinaci\u00f3 on escriure.\n:param offset: El despla\u00e7ament a la mem\u00f2ria interm\u00e8dia. Pot ser negatiu per comptar des del final de la mem\u00f2ria interm\u00e8dia.\n:param v1: El primer valor.\n:param *vn: La resta de valors.\"\"\"\n ...\n\ndef unpack(fmt: str, data: ReadableBuffer) -> Tuple[Any, ...]:\n \"\"\"Desempaqueta les dades segons una cadena de format.\n\nExample: ``v1, v2 = struct.unpack('hf', buffer)``\n\n:param fmt: La cadena de format.\n:param data: Les dades.\n:return: A tuple of the unpacked values.\"\"\"\n ...\n\ndef unpack_from(fmt: str, buffer: ReadableBuffer, offset: int=0) -> Tuple:\n \"\"\"Desempaqueta les dades d'una mem\u00f2ria interm\u00e8dia segons una cadena de format. (desempaqueta des de)\n\nExample: ``v1, v2 = struct.unpack_from('hf', buffer)``\n\n:param fmt: La cadena de format.\n:param buffer: (mem\u00f2ria interm\u00e8dia) La mem\u00f2ria interm\u00e8dia d'origen d'on llegir.\n:param offset: El despla\u00e7ament a la mem\u00f2ria interm\u00e8dia. Pot ser negatiu per comptar des del final de la mem\u00f2ria interm\u00e8dia.\n:return: A tuple of the unpacked values.\"\"\"\n ...", + "/typeshed/stdlib/sys.pyi": "\"\"\"Funcions espec\u00edfiques del sistema\"\"\"\nfrom typing import Any, Dict, List, NoReturn, TextIO, Tuple\n\ndef exit(retval: object=...) -> NoReturn:\n \"\"\"Finalitza el programa actual amb un codi de sortida determinat.\n\nExample: ``sys.exit(1)``\n\nThis function raises a ``SystemExit`` exception. If an argument is given, its\nvalue given as an argument to ``SystemExit``.\n\n:param retval: El codi o missatge de sortida.\"\"\"\n ...\n\ndef print_exception(exc: Exception) -> None:\n \"\"\"Imprimeix una excepci\u00f3 amb un rastreig.\n\nExample: ``sys.print_exception(e)``\n\n:param exc: L'excepci\u00f3 a imprimir\n\nThis is simplified version of a function which appears in the\n``traceback`` module in CPython.\"\"\"\nargv: List[str]\n\"\"\"Una llista mutable d'arguments amb qu\u00e8 s'ha iniciat el programa actual.\"\"\"\nbyteorder: str\n\"\"\"L'ordre dels bytes del sistema (``\"little\"`` o ``\"big\"``).\"\"\"\n\nclass _implementation:\n name: str\n version: Tuple[int, int, int]\nimplementation: _implementation\n\"\"\"Objecte amb informaci\u00f3 sobre la implementaci\u00f3 actual de Python. (implementaci\u00f3)\n\nFor MicroPython, it has following attributes:\n\n- ``name`` - string \"micropython\"\n- ``version`` - tuple (major, minor, micro), e.g. (1, 7, 0)\n\nThis object is the recommended way to distinguish MicroPython from other\nPython implementations (note that it still may not exist in the very\nminimal ports).\n\nCPython mandates more attributes for this object, but the actual useful\nbare minimum is implemented in MicroPython.\n\"\"\"\nmaxsize: int\n\"\"\"\nValor m\u00e0xim que pot tenir un tipus d'enter natiu a la plataforma actual,\no valor m\u00e0xim representable pel tipus d'enter MicroPython, si \u00e9s m\u00e9s petit\nque el valor m\u00e0xim de la plataforma (\u00e9s el cas dels ports MicroPython sense\nsuport d'enter llarg - long int support).\n\nThis attribute is useful for detecting \"bitness\" of a platform (32-bit vs\n64-bit, etc.). It's recommended to not compare this attribute to some\nvalue directly, but instead count number of bits in it::\n\n bits = 0\n v = sys.maxsize\n while v:\n bits += 1\n v >>= 1\n if bits > 32:\n # 64-bit (or more) platform\n ...\n else:\n # 32-bit (or less) platform\n # Note that on 32-bit platform, value of bits may be less than 32\n # (e.g. 31) due to peculiarities described above, so use \"> 16\",\n # \"> 32\", \"> 64\" style of comparisons.\n\"\"\"\nmodules: Dict[str, Any]\n\"\"\"Diccionari de m\u00f2duls carregats. (m\u00f2duls) \n\nOn some ports, it may not include builtin modules.\"\"\"\npath: List[str]\n\"\"\"Una llista mutable de directoris per cercar m\u00f2duls importats.\"\"\"\nplatform: str\n\"\"\"La plataforma en qu\u00e8 s'executa MicroPython. (plataforma) \n\nFor OS/RTOS ports, this is usually an identifier of the OS, e.g. ``\"linux\"``.\nFor baremetal ports it is an identifier of a board, e.g. ``\"pyboard\"`` for \nthe original MicroPython reference board. It thus can be used to\ndistinguish one board from another.\n\nIf you need to check whether your program runs on MicroPython (vs other\nPython implementation), use ``sys.implementation`` instead.\n\"\"\"\nversion: str\n\"\"\"Versi\u00f3 del llenguatge Python a la qual s'ajusta aquesta implementaci\u00f3, com a cadena. (versi\u00f3)\"\"\"\nversion_info: Tuple[int, int, int]\n\"\"\"Versi\u00f3 del llenguatge Python a la qual s'ajusta aquesta implementaci\u00f3, com una tupla d'enters. (informaci\u00f3 de la versi\u00f3)\n\nOnly the first three version numbers (major, minor, micro) are supported and\nthey can be referenced only by index, not by name.\n\"\"\"", + "/typeshed/stdlib/this.pyi": "def authors() -> str: ...\n", + "/typeshed/stdlib/time.pyi": "\"\"\"Mesura el temps i afegeix retards als programes. (temps)\"\"\"\nfrom typing import Union\n\ndef sleep(seconds: Union[int, float]) -> None:\n \"\"\"Retarda uns segons. (dormir)\n\nExample: ``time.sleep(1)``\n\n:param seconds: (segons) El nombre de segons per posar en pausa.\nUtilitza un nombre de coma flotant per posar en pausa durant una fracci\u00f3 de segons.\"\"\"\n ...\n\ndef sleep_ms(ms: int) -> None:\n \"\"\"Retard per a un nombre determinat de mil\u00b7lisegons. (retard en mil\u00b7lisegons)\n\nExample: ``time.sleep_ms(1_000_000)``\n\n:param ms: El nombre de mil\u00b7lisegons de retard (>= 0).\"\"\"\n ...\n\ndef sleep_us(us: int) -> None:\n \"\"\"Retard per a un nombre determinat de microsegons.\n\nExample: ``time.sleep_us(1000)``\n\n:param us: El nombre de microsegons de retard (>= 0).\"\"\"\n ...\n\ndef ticks_ms() -> int:\n \"\"\"Obt\u00e9 un comptador creixent de mil\u00b7lisegons amb un punt de refer\u00e8ncia arbitrari,\nque es desborda despr\u00e9s d'algun valor. (tics mil\u00b7lisegons)\n\nExample: ``time.ticks_ms()``\n\n:return: The counter value in milliseconds.\"\"\"\n ...\n\ndef ticks_us() -> int:\n \"\"\"Obt\u00e9 un comptador creixent de microsegons amb un punt de refer\u00e8ncia arbitrari,\nque es desborda despr\u00e9s d'algun valor. (tics microsegons)\n\nExample: ``time.ticks_us()``\n\n:return: The counter value in microseconds.\"\"\"\n ...\n\ndef ticks_add(ticks: int, delta: int) -> int:\n \"\"\"Afegeix al valor de tics un despla\u00e7ament determinat, que pot ser positiu o\nnegatiu. (tics compensa)\n\nExample: ``time.ticks_add(time.ticks_ms(), 200)``\n\nGiven a ticks value, this function allows to calculate ticks\nvalue delta ticks before or after it, following modular-arithmetic\ndefinition of tick values.\n\n:param ticks: Un valor de tics\n:param delta: Un despla\u00e7ament enter\n\nExample::\n\n # Find out what ticks value there was 100ms ago\n print(ticks_add(time.ticks_ms(), -100))\n\n # Calculate deadline for operation and test for it\n deadline = ticks_add(time.ticks_ms(), 200)\n while ticks_diff(deadline, time.ticks_ms()) > 0:\n do_a_little_of_something()\n\n # Find out TICKS_MAX used by this port\n print(ticks_add(0, -1))\"\"\"\n ...\n\ndef ticks_diff(ticks1: int, ticks2: int) -> int:\n \"\"\"Mesura la difer\u00e8ncia dels tics entre els valors retornats\n``time.ticks_ms()`` o ``ticks_us()``, com a valor amb signe\nque pot desbordar-se.\n\nExample: ``time.ticks_diff(scheduled_time, now)``\n\n:param ticks1: El valor a restar de\n:param ticks2: El valor a restar\n\nThe argument order is the same as for subtraction operator,\n``ticks_diff(ticks1, ticks2)`` has the same meaning as ``ticks1 - ticks2``.\n\n``ticks_diff()`` is designed to accommodate various usage\npatterns, among them:\n\nPolling with timeout. In this case, the order of events is known, and you\nwill deal only with positive results of :func:`time.ticks_diff()`::\n\n # Wait for GPIO pin to be asserted, but at most 500us\n start = time.ticks_us()\n while pin.value() == 0:\n if time.ticks_diff(time.ticks_us(), start) > 500:\n raise TimeoutError\n\n\nScheduling events. In this case, :func:`time.ticks_diff()` result may be\nnegative if an event is overdue::\n\n # This code snippet is not optimized\n now = time.ticks_ms()\n scheduled_time = task.scheduled_time()\n if ticks_diff(scheduled_time, now) > 0:\n print(\"Too early, let's nap\")\n sleep_ms(ticks_diff(scheduled_time, now))\n task.run()\n elif ticks_diff(scheduled_time, now) == 0:\n print(\"Right at time!\")\n task.run()\n elif ticks_diff(scheduled_time, now) < 0:\n print(\"Oops, running late, tell task to run faster!\")\n task.run(run_faster=True)\"\"\"\n ...", + "/typeshed/stdlib/types.pyi": "import sys\nfrom typing import (\n Any,\n AsyncGenerator,\n Awaitable,\n Callable,\n Generator,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n Tuple,\n Type,\n TypeVar,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, final\n\n# Note, all classes \"defined\" here require special handling.\n\n_T = TypeVar(\"_T\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_V_co = TypeVar(\"_V_co\", covariant=True)\n\n@final\nclass _Cell:\n __hash__: None # type: ignore\n cell_contents: Any\n\n@final\nclass FunctionType:\n __closure__: Tuple[_Cell, ...] | None\n __code__: CodeType\n __defaults__: Tuple[Any, ...] | None\n __dict__: dict[str, Any]\n __globals__: dict[str, Any]\n __name__: str\n __qualname__: str\n __annotations__: dict[str, Any]\n __kwdefaults__: dict[str, Any]\n def __init__(\n self,\n code: CodeType,\n globals: dict[str, Any],\n name: str | None = ...,\n argdefs: Tuple[object, ...] | None = ...,\n closure: Tuple[_Cell, ...] | None = ...,\n ) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: object | None, type: type | None) -> MethodType: ...\n\nLambdaType = FunctionType\n\n@final\nclass CodeType:\n \"\"\"Create a code object. Not for the faint of heart.\"\"\"\n\n co_argcount: int\n if sys.version_info >= (3, 8):\n co_posonlyargcount: int\n co_kwonlyargcount: int\n co_nlocals: int\n co_stacksize: int\n co_flags: int\n co_code: bytes\n co_consts: Tuple[Any, ...]\n co_names: Tuple[str, ...]\n co_varnames: Tuple[str, ...]\n co_filename: str\n co_name: str\n co_firstlineno: int\n co_lnotab: bytes\n co_freevars: Tuple[str, ...]\n co_cellvars: Tuple[str, ...]\n if sys.version_info >= (3, 8):\n def __init__(\n self,\n argcount: int,\n posonlyargcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n else:\n def __init__(\n self,\n argcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n if sys.version_info >= (3, 8):\n def replace(\n self,\n *,\n co_argcount: int = ...,\n co_posonlyargcount: int = ...,\n co_kwonlyargcount: int = ...,\n co_nlocals: int = ...,\n co_stacksize: int = ...,\n co_flags: int = ...,\n co_firstlineno: int = ...,\n co_code: bytes = ...,\n co_consts: Tuple[Any, ...] = ...,\n co_names: Tuple[str, ...] = ...,\n co_varnames: Tuple[str, ...] = ...,\n co_freevars: Tuple[str, ...] = ...,\n co_cellvars: Tuple[str, ...] = ...,\n co_filename: str = ...,\n co_name: str = ...,\n co_lnotab: bytes = ...,\n ) -> CodeType: ...\n\n@final\nclass MappingProxyType(Mapping[_KT, _VT_co], Generic[_KT, _VT_co]):\n __hash__: None # type: ignore\n def __init__(self, mapping: Mapping[_KT, _VT_co]) -> None: ...\n def __getitem__(self, k: _KT) -> _VT_co: ...\n def __iter__(self) -> Iterator[_KT]: ...\n def __len__(self) -> int: ...\n def copy(self) -> dict[_KT, _VT_co]: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def items(self) -> ItemsView[_KT, _VT_co]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def __or__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n def __ror__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n\nclass SimpleNamespace:\n __hash__: None # type: ignore\n def __init__(self, **kwargs: Any) -> None: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __delattr__(self, name: str) -> None: ...\n\nclass ModuleType:\n __name__: str\n __file__: str\n __dict__: dict[str, Any]\n __package__: str | None\n def __init__(self, name: str, doc: str | None = ...) -> None: ...\n\n@final\nclass GeneratorType(Generator[_T_co, _T_contra, _V_co]):\n gi_code: CodeType\n gi_frame: FrameType\n gi_running: bool\n gi_yieldfrom: GeneratorType[_T_co, _T_contra, Any] | None\n def __iter__(self) -> GeneratorType[_T_co, _T_contra, _V_co]: ...\n def __next__(self) -> _T_co: ...\n def close(self) -> None: ...\n def send(self, __arg: _T_contra) -> _T_co: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> _T_co: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> _T_co: ...\n\n@final\nclass AsyncGeneratorType(AsyncGenerator[_T_co, _T_contra]):\n ag_await: Awaitable[Any] | None\n ag_frame: FrameType\n ag_running: bool\n ag_code: CodeType\n def __aiter__(self) -> AsyncGeneratorType[_T_co, _T_contra]: ...\n def __anext__(self) -> Awaitable[_T_co]: ...\n def asend(self, __val: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Awaitable[_T_co]: ...\n def aclose(self) -> Awaitable[None]: ...\n\n@final\nclass CoroutineType:\n cr_await: Any | None\n cr_code: CodeType\n cr_frame: FrameType\n cr_running: bool\n def close(self) -> None: ...\n def send(self, __arg: Any) -> Any: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Any: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Any: ...\n\nclass _StaticFunctionType:\n \"\"\"Fictional type to correct the type of MethodType.__func__.\n\n FunctionType is a descriptor, so mypy follows the descriptor protocol and\n converts MethodType.__func__ back to MethodType (the return type of\n FunctionType.__get__). But this is actually a special case; MethodType is\n implemented in C and its attribute access doesn't go through\n __getattribute__.\n\n By wrapping FunctionType in _StaticFunctionType, we get the right result;\n similar to wrapping a function in staticmethod() at runtime to prevent it\n being bound as a method.\n \"\"\"\n\n def __get__(self, obj: object | None, type: type | None) -> FunctionType: ...\n\n@final\nclass MethodType:\n __closure__: Tuple[_Cell, ...] | None # inherited from the added function\n __defaults__: Tuple[Any, ...] | None # inherited from the added function\n __func__: _StaticFunctionType\n __self__: object\n __name__: str # inherited from the added function\n __qualname__: str # inherited from the added function\n def __init__(self, func: Callable[..., Any], obj: object) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\n@final\nclass BuiltinFunctionType:\n __self__: object | ModuleType\n __name__: str\n __qualname__: str\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\nBuiltinMethodType = BuiltinFunctionType\n\nif sys.version_info >= (3, 7):\n @final\n class WrapperDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class MethodWrapperType:\n __self__: object\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __eq__(self, other: Any) -> bool: ...\n def __ne__(self, other: Any) -> bool: ...\n @final\n class MethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class ClassMethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n\n@final\nclass TracebackType:\n if sys.version_info >= (3, 7):\n def __init__(\n self,\n tb_next: TracebackType | None,\n tb_frame: FrameType,\n tb_lasti: int,\n tb_lineno: int,\n ) -> None: ...\n tb_next: TracebackType | None\n else:\n @property\n def tb_next(self) -> TracebackType | None: ...\n # the rest are read-only even in 3.7\n @property\n def tb_frame(self) -> FrameType: ...\n @property\n def tb_lasti(self) -> int: ...\n @property\n def tb_lineno(self) -> int: ...\n\n@final\nclass FrameType:\n f_back: FrameType | None\n f_builtins: dict[str, Any]\n f_code: CodeType\n f_globals: dict[str, Any]\n f_lasti: int\n f_lineno: int\n f_locals: dict[str, Any]\n f_trace: Callable[[FrameType, str, Any], Any] | None\n if sys.version_info >= (3, 7):\n f_trace_lines: bool\n f_trace_opcodes: bool\n def clear(self) -> None: ...\n\n@final\nclass GetSetDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\n@final\nclass MemberDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nif sys.version_info >= (3, 7):\n def new_class(\n name: str,\n bases: Iterable[object] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n def resolve_bases(bases: Iterable[object]) -> Tuple[Any, ...]: ...\n\nelse:\n def new_class(\n name: str,\n bases: Tuple[type, ...] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n\ndef prepare_class(\n name: str, bases: Tuple[type, ...] = ..., kwds: dict[str, Any] | None = ...\n) -> Tuple[type, dict[str, Any], dict[str, Any]]: ...\n\n# Actually a different type, but `property` is special and we want that too.\nDynamicClassAttribute = property\n\ndef coroutine(func: Callable[..., Any]) -> CoroutineType: ...\n\nif sys.version_info >= (3, 8):\n CellType = _Cell\n\nif sys.version_info >= (3, 9):\n class GenericAlias:\n __origin__: type\n __args__: Tuple[Any, ...]\n __parameters__: Tuple[Any, ...]\n def __init__(self, origin: type, args: Any) -> None: ...\n def __getattr__(self, name: str) -> Any: ... # incomplete\n\nif sys.version_info >= (3, 10):\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n EllipsisType = ellipsis # noqa F811 from builtins\n from builtins import _NotImplementedType\n\n NotImplementedType = _NotImplementedType # noqa F811 from builtins\n @final\n class UnionType:\n __args__: Tuple[Any, ...]\n def __or__(self, obj: Any) -> UnionType: ...\n def __ror__(self, obj: Any) -> UnionType: ...\n", + "/typeshed/stdlib/typing.pyi": "import collections # Needed by aliases like DefaultDict, see mypy issue 2986\nimport sys\nfrom abc import ABCMeta, abstractmethod\nfrom types import BuiltinFunctionType, CodeType, FrameType, FunctionType, MethodType, ModuleType, TracebackType\nfrom typing_extensions import Literal as _Literal\n\nif sys.version_info >= (3, 7):\n from types import MethodDescriptorType, MethodWrapperType, WrapperDescriptorType\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n# Definitions of special type checking related constructs. Their definitions\n# are not used, so their value does not matter.\n\nAny = object()\n\nclass TypeVar:\n __name__: str\n __bound__: Optional[Type[Any]]\n __constraints__: Tuple[Type[Any], ...]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self,\n name: str,\n *constraints: Type[Any],\n bound: Union[None, Type[Any], str] = ...,\n covariant: bool = ...,\n contravariant: bool = ...,\n ) -> None: ...\n\n_promote = object()\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> object: ...\n\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n\ndef overload(func: _F) -> _F: ...\n\nUnion: _SpecialForm = ...\nOptional: _SpecialForm = ...\nTuple: _SpecialForm = ...\nGeneric: _SpecialForm = ...\n# Protocol is only present in 3.8 and later, but mypy needs it unconditionally\nProtocol: _SpecialForm = ...\nCallable: _SpecialForm = ...\nType: _SpecialForm = ...\nClassVar: _SpecialForm = ...\nif sys.version_info >= (3, 8):\n Final: _SpecialForm = ...\n def final(f: _F) -> _F: ...\n Literal: _SpecialForm = ...\n # TypedDict is a (non-subscriptable) special form.\n TypedDict: object\n\nif sys.version_info < (3, 7):\n class GenericMeta(type): ...\n\nif sys.version_info >= (3, 10):\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Optional[Type[Any]]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: Union[None, Type[Any], str] = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n\n# Return type that indicates a function does not return.\n# This type is equivalent to the None type, but the no-op Union is necessary to\n# distinguish the None type from the None value.\nNoReturn = Union[None]\n\n# These type variables are used by the container types.\n_T = TypeVar(\"_T\")\n_S = TypeVar(\"_S\")\n_KT = TypeVar(\"_KT\") # Key type.\n_VT = TypeVar(\"_VT\") # Value type.\n_T_co = TypeVar(\"_T_co\", covariant=True) # Any type covariant containers.\n_V_co = TypeVar(\"_V_co\", covariant=True) # Any type covariant containers.\n_KT_co = TypeVar(\"_KT_co\", covariant=True) # Key type covariant containers.\n_VT_co = TypeVar(\"_VT_co\", covariant=True) # Value type covariant containers.\n_T_contra = TypeVar(\"_T_contra\", contravariant=True) # Ditto contravariant.\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\ndef no_type_check(arg: _F) -> _F: ...\ndef no_type_check_decorator(decorator: _F) -> _F: ...\n\n# Type aliases and type constructors\n\nclass _Alias:\n # Class for defining generic aliases for library types.\n def __getitem__(self, typeargs: Any) -> Any: ...\n\nList = _Alias()\nDict = _Alias()\nDefaultDict = _Alias()\nSet = _Alias()\nFrozenSet = _Alias()\nCounter = _Alias()\nDeque = _Alias()\nChainMap = _Alias()\n\nif sys.version_info >= (3, 7):\n OrderedDict = _Alias()\n\nif sys.version_info >= (3, 9):\n Annotated: _SpecialForm = ...\n\n# Predefined type variables.\nAnyStr = TypeVar(\"AnyStr\", str, bytes)\n\n# Abstract base classes.\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n@runtime_checkable\nclass SupportsInt(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __int__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsFloat(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __float__(self) -> float: ...\n\n@runtime_checkable\nclass SupportsComplex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __complex__(self) -> complex: ...\n\n@runtime_checkable\nclass SupportsBytes(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __bytes__(self) -> bytes: ...\n\nif sys.version_info >= (3, 8):\n @runtime_checkable\n class SupportsIndex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __index__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsAbs(Protocol[_T_co]):\n @abstractmethod\n def __abs__(self) -> _T_co: ...\n\n@runtime_checkable\nclass SupportsRound(Protocol[_T_co]):\n @overload\n @abstractmethod\n def __round__(self) -> int: ...\n @overload\n @abstractmethod\n def __round__(self, ndigits: int) -> _T_co: ...\n\n@runtime_checkable\nclass Sized(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __len__(self) -> int: ...\n\n@runtime_checkable\nclass Hashable(Protocol, metaclass=ABCMeta):\n # TODO: This is special, in that a subclass of a hashable class may not be hashable\n # (for example, list vs. object). It's not obvious how to represent this. This class\n # is currently mostly useless for static checking.\n @abstractmethod\n def __hash__(self) -> int: ...\n\n@runtime_checkable\nclass Iterable(Protocol[_T_co]):\n @abstractmethod\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Iterator(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __next__(self) -> _T_co: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Reversible(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass Generator(Iterator[_T_co], Generic[_T_co, _T_contra, _V_co]):\n def __next__(self) -> _T_co: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n def close(self) -> None: ...\n def __iter__(self) -> Generator[_T_co, _T_contra, _V_co]: ...\n @property\n def gi_code(self) -> CodeType: ...\n @property\n def gi_frame(self) -> FrameType: ...\n @property\n def gi_running(self) -> bool: ...\n @property\n def gi_yieldfrom(self) -> Optional[Generator[Any, Any, Any]]: ...\n\n@runtime_checkable\nclass Awaitable(Protocol[_T_co]):\n @abstractmethod\n def __await__(self) -> Generator[Any, None, _T_co]: ...\n\nclass Coroutine(Awaitable[_V_co], Generic[_T_co, _T_contra, _V_co]):\n __name__: str\n __qualname__: str\n @property\n def cr_await(self) -> Optional[Any]: ...\n @property\n def cr_code(self) -> CodeType: ...\n @property\n def cr_frame(self) -> FrameType: ...\n @property\n def cr_running(self) -> bool: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n @abstractmethod\n def close(self) -> None: ...\n\n# NOTE: This type does not exist in typing.py or PEP 484.\n# The parameters correspond to Generator, but the 4th is the original type.\nclass AwaitableGenerator(\n Awaitable[_V_co], Generator[_T_co, _T_contra, _V_co], Generic[_T_co, _T_contra, _V_co, _S], metaclass=ABCMeta\n): ...\n\n@runtime_checkable\nclass AsyncIterable(Protocol[_T_co]):\n @abstractmethod\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\n@runtime_checkable\nclass AsyncIterator(AsyncIterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\nclass AsyncGenerator(AsyncIterator[_T_co], Generic[_T_co, _T_contra]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n @abstractmethod\n def asend(self, __value: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> Awaitable[_T_co]: ...\n @abstractmethod\n def aclose(self) -> Awaitable[None]: ...\n @abstractmethod\n def __aiter__(self) -> AsyncGenerator[_T_co, _T_contra]: ...\n @property\n def ag_await(self) -> Any: ...\n @property\n def ag_code(self) -> CodeType: ...\n @property\n def ag_frame(self) -> FrameType: ...\n @property\n def ag_running(self) -> bool: ...\n\n@runtime_checkable\nclass Container(Protocol[_T_co]):\n @abstractmethod\n def __contains__(self, __x: object) -> bool: ...\n\n@runtime_checkable\nclass Collection(Iterable[_T_co], Container[_T_co], Protocol[_T_co]):\n # Implement Sized (but don't have it as a base class).\n @abstractmethod\n def __len__(self) -> int: ...\n\n_Collection = Collection[_T_co]\n\nclass Sequence(_Collection[_T_co], Reversible[_T_co], Generic[_T_co]):\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T_co: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> Sequence[_T_co]: ...\n # Mixin methods\n def index(self, value: Any, start: int = ..., stop: int = ...) -> int: ...\n def count(self, value: Any) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass MutableSequence(Sequence[_T], Generic[_T]):\n @abstractmethod\n def insert(self, index: int, value: _T) -> None: ...\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> MutableSequence[_T]: ...\n @overload\n @abstractmethod\n def __setitem__(self, i: int, o: _T) -> None: ...\n @overload\n @abstractmethod\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: int) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: slice) -> None: ...\n # Mixin methods\n def append(self, value: _T) -> None: ...\n def clear(self) -> None: ...\n def extend(self, values: Iterable[_T]) -> None: ...\n def reverse(self) -> None: ...\n def pop(self, index: int = ...) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __iadd__(self, x: Iterable[_T]) -> MutableSequence[_T]: ...\n\nclass AbstractSet(_Collection[_T_co], Generic[_T_co]):\n @abstractmethod\n def __contains__(self, x: object) -> bool: ...\n # Mixin methods\n def __le__(self, s: AbstractSet[Any]) -> bool: ...\n def __lt__(self, s: AbstractSet[Any]) -> bool: ...\n def __gt__(self, s: AbstractSet[Any]) -> bool: ...\n def __ge__(self, s: AbstractSet[Any]) -> bool: ...\n def __and__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def __sub__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def isdisjoint(self, other: Iterable[Any]) -> bool: ...\n\nclass MutableSet(AbstractSet[_T], Generic[_T]):\n @abstractmethod\n def add(self, value: _T) -> None: ...\n @abstractmethod\n def discard(self, value: _T) -> None: ...\n # Mixin methods\n def clear(self) -> None: ...\n def pop(self) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __ior__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __iand__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __isub__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n\nclass MappingView(Sized):\n def __init__(self, mapping: Mapping[Any, Any]) -> None: ... # undocumented\n def __len__(self) -> int: ...\n\nclass ItemsView(MappingView, AbstractSet[Tuple[_KT_co, _VT_co]], Generic[_KT_co, _VT_co]):\n def __init__(self, mapping: Mapping[_KT_co, _VT_co]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n\nclass KeysView(MappingView, AbstractSet[_KT_co], Generic[_KT_co]):\n def __init__(self, mapping: Mapping[_KT_co, Any]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_KT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT_co]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n\nclass ValuesView(MappingView, Iterable[_VT_co], Generic[_VT_co]):\n def __init__(self, mapping: Mapping[Any, _VT_co]) -> None: ... # undocumented\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_VT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_VT_co]: ...\n\n@runtime_checkable\nclass ContextManager(Protocol[_T_co]):\n def __enter__(self) -> _T_co: ...\n def __exit__(\n self,\n __exc_type: Optional[Type[BaseException]],\n __exc_value: Optional[BaseException],\n __traceback: Optional[TracebackType],\n ) -> Optional[bool]: ...\n\n@runtime_checkable\nclass AsyncContextManager(Protocol[_T_co]):\n def __aenter__(self) -> Awaitable[_T_co]: ...\n def __aexit__(\n self, exc_type: Optional[Type[BaseException]], exc_value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Awaitable[Optional[bool]]: ...\n\nclass Mapping(_Collection[_KT], Generic[_KT, _VT_co]):\n # TODO: We wish the key type could also be covariant, but that doesn't work,\n # see discussion in https: //github.com/python/typing/pull/273.\n @abstractmethod\n def __getitem__(self, k: _KT) -> _VT_co: ...\n # Mixin methods\n @overload\n def get(self, key: _KT) -> Optional[_VT_co]: ...\n @overload\n def get(self, key: _KT, default: Union[_VT_co, _T]) -> Union[_VT_co, _T]: ...\n def items(self) -> AbstractSet[Tuple[_KT, _VT_co]]: ...\n def keys(self) -> AbstractSet[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def __contains__(self, o: object) -> bool: ...\n\nclass MutableMapping(Mapping[_KT, _VT], Generic[_KT, _VT]):\n @abstractmethod\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n @abstractmethod\n def __delitem__(self, v: _KT) -> None: ...\n def clear(self) -> None: ...\n @overload\n def pop(self, key: _KT) -> _VT: ...\n @overload\n def pop(self, key: _KT, default: Union[_VT, _T] = ...) -> Union[_VT, _T]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, key: _KT, default: _VT = ...) -> _VT: ...\n # 'update' used to take a Union, but using overloading is better.\n # The second overloaded type here is a bit too general, because\n # Mapping[Tuple[_KT, _VT], W] is a subclass of Iterable[Tuple[_KT, _VT]],\n # but will always have the behavior of the first overloaded type\n # at runtime, leading to keys of a mix of types _KT and Tuple[_KT, _VT].\n # We don't currently have any way of forcing all Mappings to use\n # the first overload, but by using overloading rather than a Union,\n # mypy will commit to using the first overload when the argument is\n # known to be a Mapping with unknown type parameters, which is closer\n # to the behavior we want. See mypy issue #1430.\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n\nText = str\n\nTYPE_CHECKING = True\n\nclass IO(Iterator[AnyStr], Generic[AnyStr]):\n # TODO use abstract properties\n @property\n def mode(self) -> str: ...\n @property\n def name(self) -> str: ...\n @abstractmethod\n def close(self) -> None: ...\n @property\n def closed(self) -> bool: ...\n @abstractmethod\n def fileno(self) -> int: ...\n @abstractmethod\n def flush(self) -> None: ...\n @abstractmethod\n def isatty(self) -> bool: ...\n @abstractmethod\n def read(self, n: int = ...) -> AnyStr: ...\n @abstractmethod\n def readable(self) -> bool: ...\n @abstractmethod\n def readline(self, limit: int = ...) -> AnyStr: ...\n @abstractmethod\n def readlines(self, hint: int = ...) -> list[AnyStr]: ...\n @abstractmethod\n def seek(self, offset: int, whence: int = ...) -> int: ...\n @abstractmethod\n def seekable(self) -> bool: ...\n @abstractmethod\n def tell(self) -> int: ...\n @abstractmethod\n def truncate(self, size: Optional[int] = ...) -> int: ...\n @abstractmethod\n def writable(self) -> bool: ...\n @abstractmethod\n def write(self, s: AnyStr) -> int: ...\n @abstractmethod\n def writelines(self, lines: Iterable[AnyStr]) -> None: ...\n @abstractmethod\n def __next__(self) -> AnyStr: ...\n @abstractmethod\n def __iter__(self) -> Iterator[AnyStr]: ...\n @abstractmethod\n def __enter__(self) -> IO[AnyStr]: ...\n @abstractmethod\n def __exit__(\n self, t: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Optional[bool]: ...\n\nclass BinaryIO(IO[bytes]):\n @abstractmethod\n def __enter__(self) -> BinaryIO: ...\n\nclass TextIO(IO[str]):\n # TODO use abstractproperty\n @property\n def buffer(self) -> BinaryIO: ...\n @property\n def encoding(self) -> str: ...\n @property\n def errors(self) -> Optional[str]: ...\n @property\n def line_buffering(self) -> int: ... # int on PyPy, bool on CPython\n @property\n def newlines(self) -> Any: ... # None, str or tuple\n @abstractmethod\n def __enter__(self) -> TextIO: ...\n\nclass ByteString(Sequence[int], metaclass=ABCMeta): ...\n\nclass Match(Generic[AnyStr]):\n pos: int\n endpos: int\n lastindex: Optional[int]\n lastgroup: Optional[AnyStr]\n string: AnyStr\n\n # The regular expression object whose match() or search() method produced\n # this match instance.\n re: Pattern[AnyStr]\n def expand(self, template: AnyStr) -> AnyStr: ...\n # group() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def group(self, __group: _Literal[0] = ...) -> AnyStr: ...\n @overload\n def group(self, __group: str | int) -> AnyStr | Any: ...\n @overload\n def group(self, __group1: str | int, __group2: str | int, *groups: str | int) -> Tuple[AnyStr | Any, ...]: ...\n # Each item of groups()'s return tuple is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groups(self) -> Tuple[AnyStr | Any, ...]: ...\n @overload\n def groups(self, default: _T) -> Tuple[AnyStr | _T, ...]: ...\n # Each value in groupdict()'s return dict is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groupdict(self) -> dict[str, AnyStr | Any]: ...\n @overload\n def groupdict(self, default: _T) -> dict[str, AnyStr | _T]: ...\n def start(self, __group: Union[int, str] = ...) -> int: ...\n def end(self, __group: Union[int, str] = ...) -> int: ...\n def span(self, __group: Union[int, str] = ...) -> Tuple[int, int]: ...\n @property\n def regs(self) -> Tuple[Tuple[int, int], ...]: ... # undocumented\n # __getitem__() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def __getitem__(self, __key: _Literal[0]) -> AnyStr: ...\n @overload\n def __getitem__(self, __key: int | str) -> AnyStr | Any: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass Pattern(Generic[AnyStr]):\n flags: int\n groupindex: Mapping[str, int]\n groups: int\n pattern: AnyStr\n def search(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def match(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def fullmatch(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def split(self, string: AnyStr, maxsplit: int = ...) -> list[AnyStr]: ...\n def findall(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> list[Any]: ...\n def finditer(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Iterator[Match[AnyStr]]: ...\n @overload\n def sub(self, repl: AnyStr, string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def sub(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def subn(self, repl: AnyStr, string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n @overload\n def subn(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\n# Functions\n\nif sys.version_info >= (3, 7):\n _get_type_hints_obj_allowed_types = Union[\n object,\n Callable[..., Any],\n FunctionType,\n BuiltinFunctionType,\n MethodType,\n ModuleType,\n WrapperDescriptorType,\n MethodWrapperType,\n MethodDescriptorType,\n ]\nelse:\n _get_type_hints_obj_allowed_types = Union[\n object, Callable[..., Any], FunctionType, BuiltinFunctionType, MethodType, ModuleType,\n ]\n\nif sys.version_info >= (3, 9):\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types,\n globalns: Optional[Dict[str, Any]] = ...,\n localns: Optional[Dict[str, Any]] = ...,\n include_extras: bool = ...,\n ) -> Dict[str, Any]: ...\n\nelse:\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types, globalns: Optional[Dict[str, Any]] = ..., localns: Optional[Dict[str, Any]] = ...\n ) -> Dict[str, Any]: ...\n\nif sys.version_info >= (3, 8):\n def get_origin(tp: Any) -> Optional[Any]: ...\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n\n@overload\ndef cast(typ: Type[_T], val: Any) -> _T: ...\n@overload\ndef cast(typ: str, val: Any) -> Any: ...\n@overload\ndef cast(typ: object, val: Any) -> Any: ...\n\n# Type constructors\n\n# NamedTuple is special-cased in the type checker\nclass NamedTuple(Tuple[Any, ...]):\n _field_types: collections.OrderedDict[str, Type[Any]]\n _field_defaults: Dict[str, Any] = ...\n _fields: Tuple[str, ...]\n _source: str\n def __init__(self, typename: str, fields: Iterable[Tuple[str, Any]] = ..., **kwargs: Any) -> None: ...\n @classmethod\n def _make(cls: Type[_T], iterable: Iterable[Any]) -> _T: ...\n if sys.version_info >= (3, 8):\n def _asdict(self) -> Dict[str, Any]: ...\n else:\n def _asdict(self) -> collections.OrderedDict[str, Any]: ...\n def _replace(self: _T, **kwargs: Any) -> _T: ...\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __or__(self: _T, __value: _T) -> _T: ...\n def __ior__(self: _T, __value: _T) -> _T: ...\n\ndef NewType(name: str, tp: Type[_T]) -> Type[_T]: ...\n\n# This itself is only available during type checking\ndef type_check_only(func_or_cls: _F) -> _F: ...\n\nif sys.version_info >= (3, 7):\n class ForwardRef:\n __forward_arg__: str\n __forward_code__: CodeType\n __forward_evaluated__: bool\n __forward_value__: Optional[Any]\n __forward_is_argument__: bool\n def __init__(self, arg: str, is_argument: bool = ...) -> None: ...\n def _evaluate(self, globalns: Optional[Dict[str, Any]], localns: Optional[Dict[str, Any]]) -> Optional[Any]: ...\n def __eq__(self, other: Any) -> bool: ...\n def __hash__(self) -> int: ...\n def __repr__(self) -> str: ...\n\nif sys.version_info >= (3, 10):\n def is_typeddict(tp: Any) -> bool: ...\n", + "/typeshed/stdlib/typing_extensions.pyi": "import abc\nimport sys\nfrom typing import (\n TYPE_CHECKING as TYPE_CHECKING,\n Any,\n AsyncContextManager as AsyncContextManager,\n AsyncGenerator as AsyncGenerator,\n AsyncIterable as AsyncIterable,\n AsyncIterator as AsyncIterator,\n Awaitable as Awaitable,\n Callable,\n ChainMap as ChainMap,\n ClassVar as ClassVar,\n ContextManager as ContextManager,\n Coroutine as Coroutine,\n Counter as Counter,\n DefaultDict as DefaultDict,\n Deque as Deque,\n ItemsView,\n KeysView,\n Mapping,\n NewType as NewType,\n NoReturn as NoReturn,\n Text as Text,\n Tuple,\n Type as Type,\n TypeVar,\n ValuesView,\n _Alias,\n overload as overload,\n)\n\n_T = TypeVar(\"_T\")\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> Any: ...\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n\n# This alias for above is kept here for backwards compatibility.\nruntime = runtime_checkable\nProtocol: _SpecialForm = ...\nFinal: _SpecialForm = ...\n\ndef final(f: _F) -> _F: ...\n\nLiteral: _SpecialForm = ...\n\ndef IntVar(name: str) -> Any: ... # returns a new TypeVar\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=abc.ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n\n# TypedDict is a (non-subscriptable) special form.\nTypedDict: object = ...\n\nOrderedDict = _Alias()\n\ndef get_type_hints(\n obj: Callable[..., Any],\n globalns: dict[str, Any] | None = ...,\n localns: dict[str, Any] | None = ...,\n include_extras: bool = ...,\n) -> dict[str, Any]: ...\n\nif sys.version_info >= (3, 7):\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n def get_origin(tp: Any) -> Any | None: ...\n\nAnnotated: _SpecialForm = ...\n_AnnotatedAlias: Any = ... # undocumented\n\n@runtime_checkable\nclass SupportsIndex(Protocol, metaclass=abc.ABCMeta):\n @abc.abstractmethod\n def __index__(self) -> int: ...\n\n# PEP 612 support for Python < 3.9\nif sys.version_info >= (3, 10):\n from typing import Concatenate as Concatenate, ParamSpec as ParamSpec, TypeAlias as TypeAlias, TypeGuard as TypeGuard\nelse:\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Type[Any] | None\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: None | Type[Any] | str = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n", + "/typeshed/stdlib/uarray.pyi": "from array import *\n", + "/typeshed/stdlib/ucollections.pyi": "from collections import *\n", + "/typeshed/stdlib/uerrno.pyi": "from errno import *\n", + "/typeshed/stdlib/urandom.pyi": "from random import *\n", + "/typeshed/stdlib/ustruct.pyi": "from struct import *\n", + "/typeshed/stdlib/usys.pyi": "from sys import *\n", + "/typeshed/stdlib/utime.pyi": "from time import *\n", + "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", + "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Pins, imatges, sons, temperatura i volum.\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Programa l'execuci\u00f3 d'una funci\u00f3 a cada interval especificat pels arguments de temps **nom\u00e9s V2**.\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: Funci\u00f3 a cridar a l'interval previst. Omet quan el fas servir com decorador.\n:param days: (dies) Estableix la marca del dia per la programaci\u00f3\n:param h: Estableix la marca de l'hora per la programaci\u00f3\n:param min: Estableix la marca del minut per la programaci\u00f3\n:param s: Estableix la marca del segon per la programaci\u00f3\n:param ms: Estableix la marca del mil\u00b7lisegon per la programaci\u00f3\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"Entrar en mode p\u00e0nic. (p\u00e0nic)\n\nExample: ``panic(127)``\n\n:param n: Un nombre enter arbitrari <= 255 per indicar un estat.\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"Reinicialitza la placa. (reiniciar)\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Converteix un valor d'un interval a un interval de nombre enter. (escala)\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: (valor) Un nombre a convertir.\n:param from_: (des de) Una tupla des d'on definir l'interval a convertir\n:param to: (a) Una tupla que defineix l'interval d'arribada\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Converteix un valor d'un interval a un altre interval de coma flotant. (escala)\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: (valor) Un nombre a convertir.\n:param from_: (des de) Una tupla des d'on definir l'interval a convertir\n:param to: (a) Una tupla que defineix l'interval d'arribada de la conversi\u00f3.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Espera per ``n`` mil\u00b7lisegons. (dormir)\n\nExample: ``sleep(1000)``\n\n:param n: El nombre de mil\u00b7lisegons a esperar\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"Obt\u00e9 el temps d'execuci\u00f3 de la placa. (temps d'execuci\u00f3)\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"Obt\u00e9 la temperatura de la micro:bit en graus Celsius. (temperatura)\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"Configura el volum (assigna volum)\n\nExample: ``set_volume(127)``\n\n:param v: un valor entre 0 (baix) i 255 (alt).\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"La classe dels botons ``button_a`` i ``button_b``. (bot\u00f3)\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"Verifica si el bot\u00f3 est\u00e0 premut. (\u00e9s premut)\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"Verifica si el bot\u00f3 ha estat premut d'en\u00e7\u00e0 que el dispositiu va arrancar o l'\u00faltima vegada que aquest m\u00e8tode va ser cridat. (ha estat premut)\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"Obt\u00e9 el total acumulat de pressions dels botons i restableix aquest total\na zero abans de tornar. (obt\u00e9 pitjades)\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"L'objecte bot\u00f3 esquerre ``Button`` . (bot\u00f3 a)\"\"\"\nbutton_b: Button\n\"\"\"L'objecte el bot\u00f3 dret ``Button``. (bot\u00f3 b)\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"Un pin digital.\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"Obt\u00e9 el valor digital del pin. (llegeix digital)\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"Assigna el valor digital del pin. (escriu digital)\n\nExample: ``pin0.write_digital(1)``\n\n:param value: (valor) 1 per posar el pin alt o 0 per posar el pin baix\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"Configura les resist\u00e8ncies de pull-up/pull-down un dels tres valors possibles: ``PULL_UP``, ``PULL_DOWN`` o ``NO_PULL``. (configuraci\u00f3 de les resist\u00e8ncies de pull up/down)\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: (valor) L'estat del pull-up/pull-down del pin corresponent, per ex. ``pin0.PULL_UP``.\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"Obt\u00e9 l'estat de pull-up/pull-down d'un pin.\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"Retorna el mode del pin (obt\u00e9 el mode)\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"Genera un senyal PWM al pin, amb el cicle de treball proporcional a ``value``. (escriu anal\u00f2gic)\n\nExample: ``pin0.write_analog(254)``\n\n:param value: (valor) Un nombre enter o de coma flotant entre 0 (cicle de treball del 0%) i 1023 (cicle de treball del 100%).\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"Estableix el per\u00edode del senyal PWM a ``period`` en mil\u00b7lisegons. (configura el per\u00edode amb un valor anal\u00f2gic)\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: (per\u00edode) El per\u00edode en mil\u00b7lisegons amb un valor m\u00ednim v\u00e0lid d'1\\u202fms\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"Estableix el per\u00edode del senyal PWM a ``period`` microsegons. (configura el per\u00edode amb un valor anal\u00f2gic en microsegons)\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: (per\u00edode) El per\u00edode en microsegons amb un valor v\u00e0lid m\u00ednim de 256\\u202f\u00b5s.\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"Un pin amb funcions anal\u00f2giques i digitals.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Llegeix el voltatge aplicat al pin. (llegeix anal\u00f2gic)\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"Un pin amb caracter\u00edstiques anal\u00f2giques, digitals i t\u00e0ctils.\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"Comprova si el pin est\u00e0 sent tocat. (est\u00e0 tocat)\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"Estableix el mode t\u00e0ctil per al pin. (estableix el mode t\u00e0ctil)\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: (valor) ``CAPACITIVE`` o ``RESISTIVE`` del pin corresponent.\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"Pin amb caracter\u00edstiques digitals, anal\u00f2giques i t\u00e0ctils.\"\"\"\npin1: MicroBitTouchPin\n\"\"\"Pin amb caracter\u00edstiques digitals, anal\u00f2giques i t\u00e0ctils.\"\"\"\npin2: MicroBitTouchPin\n\"\"\"Pin amb caracter\u00edstiques digitals, anal\u00f2giques i t\u00e0ctils.\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals i anal\u00f2giques.\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals i anal\u00f2giques.\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals i anal\u00f2giques.\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"Un logotip t\u00e0ctil a la part frontal de la micro:bit, que per defecte est\u00e0 establert al mode t\u00e0ctil capacitiu. (pin logotip)\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"Un pin per adre\u00e7ar-se a l'altaveu micro:bit. (pin altaveu)\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"Una imatge per mostrar a la pantalla LED de micro:bit. (imatge)\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"Imatge d'un cor. (cor)\"\"\"\n HEART_SMALL: Image\n \"\"\"Imatge d'un cor petit (cor petit)\"\"\"\n HAPPY: Image\n \"\"\"Imatge d'una cara feli\u00e7 (feli\u00e7)\"\"\"\n SMILE: Image\n \"\"\"Imatge d'una cara somrient (somriure)\"\"\"\n SAD: Image\n \"\"\"Imatge d'una cara trista (tristesa)\"\"\"\n CONFUSED: Image\n \"\"\"Imatge de cara confusa. (confusa)\"\"\"\n ANGRY: Image\n \"\"\"Imatge d'una cara enfadada. (enfadat)\"\"\"\n ASLEEP: Image\n \"\"\"Imatge d'una cara dormint. (despert)\"\"\"\n SURPRISED: Image\n \"\"\"Imatge d'una cara de sorpresa (sorpr\u00e8s)\"\"\"\n SILLY: Image\n \"\"\"Imatge d'una cara ximple. (ximple)\"\"\"\n FABULOUS: Image\n \"\"\"Imatge d'una cara amb ulleres de sol. (fabul\u00f3s)\"\"\"\n MEH: Image\n \"\"\"Imatge d'una cara inexpressiva. (BAH avorrit)\"\"\"\n YES: Image\n \"\"\"Imatge d'una marca tic. (s\u00ed)\"\"\"\n NO: Image\n \"\"\"Imatge d'una creu.\"\"\"\n CLOCK12: Image\n \"\"\"Imatge d'una l\u00ednia apuntant les dotze. (les dotze)\"\"\"\n CLOCK11: Image\n \"\"\"Imatge d'una l\u00ednia apuntant les onze. (les onze)\"\"\"\n CLOCK10: Image\n \"\"\"Imatge d'una l\u00ednia apuntant les deu. (les deu)\"\"\"\n CLOCK9: Image\n \"\"\"Imatge d'una l\u00ednia apuntant les nou. (les nou)\"\"\"\n CLOCK8: Image\n \"\"\"Imatge d'una l\u00ednia apuntant les vuit. (les vuit)\"\"\"\n CLOCK7: Image\n \"\"\"Imatge d'una l\u00ednia apuntant les set. (les set)\"\"\"\n CLOCK6: Image\n \"\"\"Imatge amb una l\u00ednia apuntant a les 6 en punt. (les sis)\"\"\"\n CLOCK5: Image\n \"\"\"Imatge amb una l\u00ednia apuntant a les 5 en punt. (les cinc)\"\"\"\n CLOCK4: Image\n \"\"\"Imatge amb una l\u00ednia apuntant a les 4 en punt. (les quatre)\"\"\"\n CLOCK3: Image\n \"\"\"Imatge amb una l\u00ednia apuntant a les 3 en punt. (les tres)\"\"\"\n CLOCK2: Image\n \"\"\"Imatge amb una l\u00ednia apuntant a les 2 en punt. (les dues)\"\"\"\n CLOCK1: Image\n \"\"\"Imatge amb una l\u00ednia apuntant a la 1 en punt. (la una)\"\"\"\n ARROW_N: Image\n \"\"\"Imatge de fletxa apuntant al nord. (fletxa n)\"\"\"\n ARROW_NE: Image\n \"\"\"Imatge de fletxa apuntant al nord-est. (fletxa ne)\"\"\"\n ARROW_E: Image\n \"\"\"Imatge de fletxa apuntant a l'est. (fletxa e)\"\"\"\n ARROW_SE: Image\n \"\"\"Imatge de fletxa apuntant al sud-est. (fletxa se)\"\"\"\n ARROW_S: Image\n \"\"\"Imatge de fletxa apuntant al sud. (fletxa s)\"\"\"\n ARROW_SW: Image\n \"\"\"Imatge de fletxa apuntant al sud-oest. (fletxa so)\"\"\"\n ARROW_W: Image\n \"\"\"Imatge de fletxa apuntant a l'oest. (fletxa o)\"\"\"\n ARROW_NW: Image\n \"\"\"Imatge de fletxa apuntant al nord-oest. (fletxa no)\"\"\"\n TRIANGLE: Image\n \"\"\"Imatge d'un triangle apuntant amunt.\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"Imatge d'un triangle en la cantonada esquerra. (triangle a l'esquerra)\"\"\"\n CHESSBOARD: Image\n \"\"\"Leds alternatius il\u00b7luminats en un patr\u00f3 d'escacs. (Tauler d'escacs)\"\"\"\n DIAMOND: Image\n \"\"\"Imatge d'un diamant (diamant)\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"Imatge d'un diamant petit (diamant petit)\"\"\"\n SQUARE: Image\n \"\"\"Imatge d'un quadrat (quadrat)\"\"\"\n SQUARE_SMALL: Image\n \"\"\"Imatge d'un quadrat petit (quadrat petit)\"\"\"\n RABBIT: Image\n \"\"\"Imatge d'un conill. (conill)\"\"\"\n COW: Image\n \"\"\"Imatge d'una vaca. (vaca)\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"Imatge de la nota musical negra (nota musical negra)\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"Imatge de la nota musical corxera (nota musical corxera)\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"Imatge d'un parell de notes musicals corxeres (nota musical corxera)\"\"\"\n PITCHFORK: Image\n \"\"\"Imatge d'una forca. (forca)\"\"\"\n XMAS: Image\n \"\"\"Imatge d'un arbre de Nadal (nadal)\"\"\"\n PACMAN: Image\n \"\"\"Imatge del personatge de Pac-man a arcade\"\"\"\n TARGET: Image\n \"\"\"Imatge d'objectiu. (diana)\"\"\"\n TSHIRT: Image\n \"\"\"Imatge de samarreta. (Imatge d'una samarreta T-shirt)\"\"\"\n ROLLERSKATE: Image\n \"\"\"Imatge d'un patinet. (patinet)\"\"\"\n DUCK: Image\n \"\"\"Imatge d'un \u00e0nec. (\u00e0nec)\"\"\"\n HOUSE: Image\n \"\"\"Imatge d'una casa. (casa)\"\"\"\n TORTOISE: Image\n \"\"\"Imatge d'una tortuga. (tortuga)\"\"\"\n BUTTERFLY: Image\n \"\"\"Imatge d'una papallona. (papallona)\"\"\"\n STICKFIGURE: Image\n \"\"\"Imatge de figura d'un pal. (imatge d'un pal)\"\"\"\n GHOST: Image\n \"\"\"Imatge d'un fantasma. (fantasma)\"\"\"\n SWORD: Image\n \"\"\"Imatge d'una espasa (espasa)\"\"\"\n GIRAFFE: Image\n \"\"\"Imatge d'una girafa. (girafa)\"\"\"\n SKULL: Image\n \"\"\"Imatge d'un crani. (crani)\"\"\"\n UMBRELLA: Image\n \"\"\"Imatge d'un paraigua, (paraigua)\"\"\"\n SNAKE: Image\n \"\"\"Imatge d'una serp. (serp)\"\"\"\n SCISSORS: Image\n \"\"\"Imatge d'unes tisores. (tisores)\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"Una llista que cont\u00e9 totes les imatges CLOCK_ en seq\u00fc\u00e8ncia. (tots els rellotges)\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"Una llista que cont\u00e9 totes les ARROW_images en seq\u00fc\u00e8ncia. (totes les fletxes)\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Crea una imatge a partir d'una cadena que descrigui quins leds estan encesos.\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: (cadena) La cadena descrivint la imatge.\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"Crea una imatge buida amb ``width`` columnes i ``height`` files.\n\n:param width: (amplada) Amplada opcional de la imatge\n:param height: (al\u00e7\u00e0ria) Al\u00e7\u00e0ria opcional de la imatge\n:param buffer: (mem\u00f2ria interm\u00e8dia) Llistes o bytes opcionals d'enters de ``width``\u00d7``height`` dins l'interval de 0 a 9 per inicialitzar la imatge\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"Obt\u00e9 el nombre de columnes (amplada)\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"Obt\u00e9 el nombre de files. (al\u00e7\u00e0ria)\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"Estableix la brillantor d'un p\u00edxel. (estableix p\u00edxel)\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: El nombre de la columna\n:param y: El nombre de la fila\n:param value: (valor) La brillantor com a nombre enter entre 0 (fosc) i 9 (brillant)\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"Obt\u00e9 la brillantor d'un p\u00edxel. (obt\u00e9 p\u00edxel)\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: El nombre de la columna\n:param y: El nombre de la fila\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"Crea una imatge nova movent-la cap a l'esquerra. (despla\u00e7a a l'esquerra)\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: El nombre de columnes per despla\u00e7ar-se\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"Crea una imatge nova movent-la cap a la dreta. (despla\u00e7a a la dreta)\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: El nombre de columnes per despla\u00e7ar-se\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"Crea una imatge nova despla\u00e7ant la imatge cap amunt. (despla\u00e7a cap amunt)\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: El nombre de files per despla\u00e7ar-se\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"Crea una imatge nova despla\u00e7ant-la cap avall. (despla\u00e7a cap avall)\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: El nombre de files per despla\u00e7ar-se\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Crea una imatge nova retallant la imatge. (retalla)\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: La columna de despla\u00e7ament del retall\n:param y: La fila de despla\u00e7ament del retall\n:param w: L'amplada del retall\n:param h: L'al\u00e7\u00e0ria del retall\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"Crea una c\u00f2pia exacta de la imatge (c\u00f2pia)\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"Crea una imatge nova invertint la brillantor dels p\u00edxels de la imatge\nfont. (inverteix)\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"Assigna la brillantor de tots els p\u00edxels de la imatge (omple)\n\nExample: ``my_image.fill(5)``\n\n:param value: (valor) La nova brillantor com a nombre entre 0 (fosc) i 9 (brillant).\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"Copia una \u00e0rea d'una altra imatge a aquesta imatge.\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: (font) La imatge font\n:param x: Despla\u00e7ament de la columna inicial a la imatge d'origen\n:param y: Despla\u00e7ament de la fila inicial a la imatge d'origen\n:param w: El nombre de columnes a copiar\n:param h: El nombre de files a copiar\n:param xdest: El despla\u00e7ament de columna a modificar en aquesta imatge\n:param ydest: El despla\u00e7ament de fila que cal modificar en aquesta imatge\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"Obt\u00e9 una representaci\u00f3 de cadena compacta de la imatge. (repr - Obt\u00e9 una representaci\u00f3 de cadena compacta de la imatge.)\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"Obt\u00e9 una representaci\u00f3 de cadena llegible de la imatge.\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"Crea una imatge nova afegint els valors de brillantor de les dues\nimatges per a cada p\u00edxel. (afegeix)\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: (altre) La imatge a afegir.\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"Crea una imatge nova restant els valors de brillantor d'una altra imatge d'aquesta imatge.\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: (altre) La imatge a restar.\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"Crea una imatge nova multiplicant la brillantor de cada p\u00edxel per\n``n``.\n\nExample: ``Image.HEART * 0.5``\n\n:param n: El valor per multiplicar.\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"Crea una imatge nova dividint la brillantor de cada p\u00edxel per\n``n``.\n\nExample: ``Image.HEART / 2``\n\n:param n: El valor del divisor.\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Representa la transici\u00f3 dels esdeveniments de so, des de ``quiet`` a ``loud`` com picant de mans o cridant. (so fort)\"\"\"\n QUIET: SoundEvent\n \"\"\"Representa la transici\u00f3 dels esdeveniments de so, des de ``loud`` a ``quiet`` com parlant o m\u00fasica de fons. (so fluix)\"\"\"\n\nclass Sound:\n \"\"\"Els sons integrats es poden reproduir mitjan\u00e7ant ``audio.play(Sound.NAME)``. (so)\"\"\"\n GIGGLE: Sound\n \"\"\"So de riure (riure)\"\"\"\n HAPPY: Sound\n \"\"\"So feli\u00e7. (feli\u00e7)\"\"\"\n HELLO: Sound\n \"\"\"So de salutaci\u00f3. (hola)\"\"\"\n MYSTERIOUS: Sound\n \"\"\"So misteri\u00f3s. (misteri\u00f3s)\"\"\"\n SAD: Sound\n \"\"\"So trist. (tristesa)\"\"\"\n SLIDE: Sound\n \"\"\"So lliscant (so lliscant)\"\"\"\n SOARING: Sound\n \"\"\"So creixent. (creixent)\"\"\"\n SPRING: Sound\n \"\"\"So primaveral. (primaveral)\"\"\"\n TWINKLE: Sound\n \"\"\"So de centelleig. (centelleig)\"\"\"\n YAWN: Sound\n \"\"\"So de badall. (badall)\"\"\"", + "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"Mesura l'acceleraci\u00f3 de la micro:bit i reconeix els gestos. (acceler\u00f2metre)\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"Obt\u00e9 la mesura de l'acceleraci\u00f3 a l'eix ``x`` en mili-g. (obt\u00e9 x)\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Obt\u00e9 la mesura de l'acceleraci\u00f3 a l'eix ``y`` en mili-g. (obt\u00e9 y)\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Obt\u00e9 la mesura de l'acceleraci\u00f3 a l'eix ``z`` en mili-g. (obt\u00e9 z)\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"Obt\u00e9 les mesures d'acceleraci\u00f3 en tots els eixos alhora com una tupla. (obt\u00e9 valors)\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Obt\u00e9 la mesura de l'acceleraci\u00f3 de tots els eixos combinats, com un nombre enter positiu. Aquest ser\u00e0 la suma Pitag\u00f2rica dels eixos X, Y i Z. (obt\u00e9 la for\u00e7a)\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"Obt\u00e9 el nom del gest actual. (El gest actual)\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"Comprova si el gest nomenat est\u00e0 actiu actualment.\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: (nom) El nom del gest\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"Comprova si el gest nomenat ha estat actiu des de l'\u00faltima crida.\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: (nom) El nom del gest\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"Retorna una tupla de l'historial de gestos. (obt\u00e9 gestos)\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Estableix l'interval de la sensibilitat de l'acceler\u00f2metre, en g (gravetat est\u00e0ndard), al valor m\u00e9s proper acceptat pel maquinari, arrodonit a ``2``, ``4``, o ``8``\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: (valor) Nou interval per a l'acceler\u00f2metre, un nombre enter a ``g``.\"\"\"", + "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"Reprodueix sons amb la micro:bit (importa ``audio`` per a la compatibilitat amb V1). (\u00e0udio)\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Reprodueix un so incorporat, un efecte de s\u00f3 o marcs d'\u00e0udio personalitzats.\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: (origen) Un objecte de ``Sound`` incorporat com ``Sound.GIGGLE``, un ``SoundEffect`` o una data de mostra com un iterable de ``AudioFrame`` .\n:param wait: (espera) Si ``wait`` \u00e9s ``True``, aquesta funci\u00f3 es bloquejar\u00e0 fins que s'acabi el so.\n:param pin: Es pot utilitzar un argument opcional per especificar el pin de sortida per anul\u00b7lar el valor predeterminat de ``pin0``. Si no vols que es reprodueixi cap so, pots utilitzar ``pin=None``.\n:param return_pin: (retorna el pin) Especifica un pin diferent del connector d'expansi\u00f3 per connectar-lo a un altaveu extern en lloc de posar a terra. Aix\u00f2 s'ignora per a la revisi\u00f3 **V2**.\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"Verifica si s'est\u00e0 reproduint un so. (est\u00e0 reproduint)\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Atura tota la reproducci\u00f3 d'\u00e0udio. (atura)\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"Un efecte sonor, compost per un conjunt de par\u00e0metres configurats via el constructor o atributs.\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Opci\u00f3 d'ona sinusoidal pel par\u00e0metre ``waveform``. (forma d'ona sinusoidal)\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Opci\u00f3 d'ona de dent de serra pel par\u00e0metre ``waveform``. (forma d'ona de dent de serra)\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Opci\u00f3 d'ona triangular pel par\u00e0metre ``waveform``. (forma d'ona triangular)\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Opci\u00f3 d'ona quadrada pel par\u00e0metre ``waveform``. (forma d'ona quadrada)\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Opci\u00f3 d'ona de soroll pel par\u00e0metre ``waveform``. (forma d'ona de soroll)\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Opci\u00f3 d'ona lineal pel par\u00e0metre ``shape``. (forma lineal)\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Opci\u00f3 d'interpolaci\u00f3 de corba usada pel par\u00e0metre ``shape``. (forma de corba)\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Opci\u00f3 d'interpolaci\u00f3 logar\u00edtmica utilitzada pel par\u00e0metre ``shape``. (forma logar\u00edtmica)\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"Opci\u00f3 de cap efecte utilitzat pel par\u00e0metre ``fx``. (fx cap)\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Opci\u00f3 d'efecte tr\u00e8molo utilitzat pel par\u00e0metre ``fx``. (fx tr\u00e9molo)\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Opci\u00f3 d'efecte vibrato utilitzat pel par\u00e0metre ``fx``.\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Opci\u00f3 d'efecte gorjeu utilitzat pel par\u00e0metre ``fx``. (Efecte gorjeu)\"\"\"\n freq_start: int\n \"\"\"Freq\u00fc\u00e8ncia inicial en Hertz (Hz), un nombre entre ``0`` i ``9999`` (freq\u00fc\u00e8ncia inicial)\"\"\"\n freq_end: int\n \"\"\"Freq\u00fc\u00e8ncia final en Hertz (Hz), un nombre entre ``0`` i ``9999`` (frequ\u00e8ncia final)\"\"\"\n duration: int\n \"\"\"Durada del so en mil\u00b7lisegons, un nombre entre ``0`` and ``9999`` (Durada - duraci\u00f3)\"\"\"\n vol_start: int\n \"\"\"Volum inicial, un nombre entre ``0`` and ``255`` (volum inicial)\"\"\"\n vol_end: int\n \"\"\"Valor del volum final, un nombre entre ``0`` and ``255`` (volum final)\"\"\"\n waveform: int\n \"\"\"Tipus de forma d'ona, un d'aquest valors: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise) (forma d'ona)\"\"\"\n fx: int\n \"\"\"Efecte a afegir al so, un dels seg\u00fcents valors: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE`` (efecte)\"\"\"\n shape: int\n \"\"\"El tipus de corba d'interpolaci\u00f3 entre les freq\u00fc\u00e8ncies inicial i final, diferents formes d'ona tenen diferents r\u00e0tios de canvi en la freq\u00fc\u00e8ncia. Un dels seg\u00fcents valors: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG`` (forma)\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Crea un efecte de so nou. (inicial)\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: (freq\u00fc\u00e8ncia inicial) Freq\u00fc\u00e8ncia inicial en Hertz (Hz), un nombre entre ``0`` i ``9999``.\n:param freq_end: (frequ\u00e8ncia final) Freq\u00fc\u00e8ncia final en Hertz (Hz), un nombre entre ``0`` i ``9999``.\n:param duration: (Durada - duraci\u00f3) Duraci\u00f3 del so en mil\u00b7lisegons, un nombre entre ``0`` i ``9999``.\n:param vol_start: (volum inicial) Valor del volum inicial, un nombre entre ``0`` i ``255``.\n:param vol_end: (volum final) Valor del volum final, un nombre entre ``0`` i ``255``.\n:param waveform: (forma d'ona) Tipus de forma d'ona, un d'aquests valors: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (soroll generat aleat\u00f2riament).\n:param fx: (efecte) Efecte a afegir al so, un del seg\u00fcents valors: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``.\n:param shape: (forma) El tipus de corba d'interpolaci\u00f3 entre les freq\u00fc\u00e8ncies inicial i final, diferents formes d'ona tenen diferents r\u00e0tios de canvi en la freq\u00fc\u00e8ncia. Un dels seg\u00fcents valors: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Crea una c\u00f2pia d'aquest ``SoundEffect``. (c\u00f2pia)\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"Un objecte ``AudioFrame`` \u00e9s una llista de 32 mostres cadascuna de les quals \u00e9s un byte sense signar\n(nombre enter entre 0 i 255).\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Sobreposa les dades d'aquest ``AudioFrame`` amb les dades d'una altra inst\u00e0ncia ``AudioFrame`` . (copia desde)\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: (altre) ``AudioFrame`` inst\u00e0ncia de la qual copiar les dades.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", + "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"Utilitza la br\u00faixola integrada. (br\u00faixola)\"\"\"\n\ndef calibrate() -> None:\n \"\"\"Comen\u00e7a el proc\u00e9s de calibraci\u00f3 (calibrar)\n\nExample: ``compass.calibrate()``\n\nAn instructive message will be scrolled to the user after which they will need\nto rotate the device in order to draw a circle on the LED display.\"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"Verifica si la br\u00faixola est\u00e0 calibrada. (s'ha calibrat)\n\nExample: ``compass.is_calibrated()``\n\n:return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"Desf\u00e0 el calibratge, fent que la br\u00faixola torni a estar sense calibraci\u00f3. (esborra la calibraci\u00f3)\n\nExample: ``compass.clear_calibration()``\"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"Obt\u00e9 la intensitat del camp magn\u00e8tic de l'eix ``x`` . (obt\u00e9 x)\n\nExample: ``compass.get_x()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Obt\u00e9 la intensitat del camp magn\u00e8tic de l'eix ``y`` . (obt\u00e9 y)\n\nExample: ``compass.get_y()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Obt\u00e9 la intensitat del camp magn\u00e8tic a l'eix ``z``. (obt\u00e9 z)\n\nExample: ``compass.get_z()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"Obt\u00e9 l'orientaci\u00f3 de la br\u00faixola.\n\nExample: ``compass.heading()``\n\n:return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"Obt\u00e9 la magnitud del camp magn\u00e8tic al voltant del dispositiu. (obt\u00e9 la intensitat del camp)\n\nExample: ``compass.get_field_strength()``\n\n:return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...", + "/typeshed/stdlib/microbit/display.pyi": "\"\"\"Mostra text, imatges i animacions a la pantalla LED 5\u00d75. (pantalla)\"\"\"\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"Obt\u00e9 la brillantor del LED a la columna ``x`` i la fila ``y``. (obt\u00e9 p\u00edxel)\n\nExample: ``display.get_pixel(0, 0)``\n\n:param x: La columna de la pantalla (0...4)\n:param y: La fila de la pantalla (0...4)\n:return: A number between 0 (off) and 9 (bright)\"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"Estableix la brillantor del LED a la columna ``x`` i la fila ``y``. (estableix p\u00edxel)\n\nExample: ``display.set_pixel(0, 0, 9)``\n\n:param x: La columna de la pantalla (0...4)\n:param y: La fila de la pantalla (0...4)\n:param value: (valor) La brillantor entre 0 (apagat) i 9 (brillant)\"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"Estableix la brillantor de tots els leds a 0 (apagat).\n\nExample: ``display.clear()``\"\"\"\n ...\n\ndef show(image: Union[str, float, int, Image, Iterable[Image]], delay: int=400, wait: bool=True, loop: bool=False, clear: bool=False) -> None:\n \"\"\"Mostra imatges, lletres o d\u00edgits en la pantalla LED. (mostra)\n\nExample: ``display.show(Image.HEART)``\n\nWhen ``image`` is an image or a list of images then each image is displayed in turn.\nIf ``image`` is a string or number, each letter or digit is displayed in turn.\n\n:param image: (imatge) Una cadena, un nombre, una imatge o una llista d'imatges per mostrar.\n:param delay: (retard) Cada lletra, d\u00edgit o imatge es mostra amb un ``delay`` mil\u00b7lisegons entre ells.\n:param wait: (espera) Si ``wait`` \u00e9s ``True``, aquesta funci\u00f3 es bloquejar\u00e0 fins que s'acabi l'animaci\u00f3, en cas contrari, l'animaci\u00f3 passar\u00e0 en segon pla.\n:param loop: (bucle) Si el ``loop`` \u00e9s ``True``, l'animaci\u00f3 es repetir\u00e0 per sempre.\n:param clear: Si ``clear`` \u00e9s ``True``, la pantalla s'esborrar\u00e0 un cop finalitzada la seq\u00fc\u00e8ncia.\n\nThe ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\"\"\"\n ...\n\ndef scroll(text: Union[str, float, int], delay: int=150, wait: bool=True, loop: bool=False, monospace: bool=False) -> None:\n \"\"\"Despla\u00e7a un n\u00famero o text per la pantalla LED.\n\nExample: ``display.scroll('micro:bit')``\n\n:param text: La cadena per a despla\u00e7ar. Si ``text`` \u00e9s un nombre enter o flotant, primer es converteix en una cadena mitjan\u00e7ant ``str()``.\n:param delay: (retard) El par\u00e0metre ``delay`` controla la rapidesa amb qu\u00e8 es despla\u00e7a el text.\n:param wait: (espera) Si ``wait`` \u00e9s ``True``, aquesta funci\u00f3 es bloquejar\u00e0 fins que s'acabi l'animaci\u00f3, en cas contrari, l'animaci\u00f3 passar\u00e0 en segon pla.\n:param loop: (bucle) Si el ``loop`` \u00e9s ``True``, l'animaci\u00f3 es repetir\u00e0 per sempre.\n:param monospace: Si ``monospace`` \u00e9s ``True``, tots els car\u00e0cters ocuparan 5 columnes de p\u00edxels d'amplada, en cas contrari, hi haur\u00e0 exactament 1 columna de p\u00edxels en blanc entre cada car\u00e0cter mentre es desplacen.\n\nThe ``wait``, ``loop`` and ``monospace`` arguments must be specified\nusing their keyword.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Enc\u00e9n la pantalla LED.\n\nExample: ``display.on()``\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Apaga la pantalla LED (desactivar la pantalla et permet reutilitzar els pins GPIO per a altres finalitats).\n\nExample: ``display.off()``\"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"Comprova si la pantalla LED est\u00e0 habilitada.\n\nExample: ``display.is_on()``\n\n:return: ``True`` if the display is on, otherwise returns ``False``.\"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"Llegeix el nivell de llum. (llegir el nivell de llum)\n\nExample: ``display.read_light_level()``\n\nUses the display's LEDs in reverse-bias mode to sense the amount of light\nfalling on the display.\n\n:return: An integer between 0 and 255 representing the light level, with larger meaning more light.\"\"\"\n ...", + "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Comunicar-se amb dispositius mitjan\u00e7ant el protocol de bus I\u00b2C.\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"Reinicialitzar un perif\u00e8ric.\n\nExample: ``i2c.init()``\n\n:param freq: freq\u00fc\u00e8ncia del rellotge\n:param sda: Pin ``sda`` (per defecte 20)\n:param scl: pin ``scl`` (per defecte 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Escaneja el bus dels dispositius\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"Llegeix bytes des d'un dispositiu. (llegeix)\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: L'adre\u00e7a de 7-bit del dispositiu\n:param n: El nombre de bytes a llegir\n:param repeat: (repeteix) Si ``True``, no s'enviar\u00e0 cap bit d'aturada\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"Escriu bytes en un dispositiu (escriu)\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: L'adre\u00e7a de 7-bit del dispositiu\n:param buf: Una mem\u00f2ria interm\u00e8dia que cont\u00e9 els bytes per escriure\n:param repeat: (repeteix) Si ``True``, no s'enviar\u00e0 cap bit d'aturada\"\"\"\n ...", + "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"Respon al so fent servir el micr\u00f2fon integrat (nom\u00e9s V2). (micr\u00f2fon)\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"Obt\u00e9 l'\u00faltim esdeveniment de sonor gravat (esdeveniment actual)\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"Comprova si s'ha sentit un so almenys una vegada des de l'\u00faltima crida. (va ser un esdeveniment)\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: (esdeveniment) L'esdeveniment per comprovar, com ara ``SoundEvent.LOUD`` o ``SoundEvent.QUIET``\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"Comprova l'esdeveniment sonor m\u00e9s recent detectat. (\u00e9s un esdeveniment)\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: (esdeveniment) L'esdeveniment per comprovar, com ara ``SoundEvent.LOUD`` o ``SoundEvent.QUIET``\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"Obt\u00e9 l'historial d'esdeveniments sonors com una tupla. (obt\u00e9 esdeveniments)\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"Assigna el llinar per un esdeveniment sonor (estableix llindar)\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: (esdeveniment) Un esdeveniment sonor, com ara ``SoundEvent.LOUD`` o ``SoundEvent.QUIET``.\n:param value: (valor) El llindar en l'interval 0-255.\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Obt\u00e9 el nivell de pressi\u00f3 sonora. (nivell de so)\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", + "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Controla l'altaveu integrat (nom\u00e9s V2). (altaveu)\"\"\"\n\ndef off() -> None:\n \"\"\"Apaga l'altaveu.\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Enc\u00e9n l'altaveu.\n\nExample: ``speaker.on()``\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Comunica amb dispositius mitjan\u00e7ant el bus d'interf\u00edcie perif\u00e8rica s\u00e8rie (SPI).\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"Inicialitzar la comunicaci\u00f3 SPI.\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: (Velocitat de bauds) La velocitat de comunicaci\u00f3.\n:param bits: L'amplada en bits de cada transfer\u00e8ncia. Actualment nom\u00e9s ``bits=8`` \u00e9s acceptada . Tot i que aix\u00f2 pot canviar en el futur\n:param mode: Determina la combinaci\u00f3 de polaritat i fase del rellotge: `consulta la taula en l\u00ednia `_.\n:param sclk: pin sclk (per defecte 13)\n:param mosi: mosi pin (per defecte 15)\n:param miso: miso pin (per defecte 14)\"\"\"\n ...\n\ndef read(nbytes: int) -> bytes:\n \"\"\"Llegeix bytes (llegeix)\n\nExample: ``spi.read(64)``\n\n:param nbytes: Nombre m\u00e0xim de bytes per llegir.\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Escriu bytes al bus. (escriu)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: (mem\u00f2ria interm\u00e8dia) Una mem\u00f2ria interm\u00e8dia per a llegir dades.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Escriu la mem\u00f2ria interm\u00e8dia ``out`` al bus i llegeix qualsevol resposta a la mem\u00f2ria interm\u00e8dia ``in_``.\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: La mem\u00f2ria interm\u00e8dia per a escriure qualsevol resposta.\n:param in_: La mem\u00f2ria interm\u00e8dia per a llegir dades.\"\"\"\n ...", + "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Comunica amb un dispositiu mitjan\u00e7ant una interf\u00edcie s\u00e8rie.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"Paritat senar (senar)\"\"\"\nEVEN: int\n\"\"\"Paritat parella (parell)\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"Inicialitzar la comunicaci\u00f3 en s\u00e8rie.\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: (Velocitat de bauds) La velocitat de comunicaci\u00f3.\n:param bits: La mida dels bytes que es transmeten. micro:bit nom\u00e9s n'admet 8.\n:param parity: (paritat) Com es verifica la paritat, ``None``, ``uart.ODD`` o ``uart.EVEN``.\n:param stop: (atura) El nombre de bits de parada ha de ser 1 per micro:bit.\n:param tx: Pin transmissor.\n:param rx: Receiving pin.\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"Verifica si hi ha alguna data esperant.\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"Llegeix bytes (llegeix)\n\nExample: ``uart.read()``\n\n:param nbytes: Si s'especifica ``nbytes``, llegeix com a m\u00e0xim tants bytes, en cas contrari llegeix tants bytes com sigui possible\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"Llegeix bytes al ``buf``.\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: La mem\u00f2ria interm\u00e8dia a on escriure.\n:param nbytes: Si s'especifica ``nbytes``, llegeix com a m\u00e0xim aquests bytes, en cas contrari llegeix ``len(buf)`` bytes.\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Llegir una l\u00ednia que acaba en un car\u00e0cter de nova l\u00ednia.\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"Escriu una mem\u00f2ria interm\u00e8dia al bus (escriu)\n\nExample: ``uart.write('hello world')``\n\n:param buf: Un objecte bytes o una cadena.\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", + "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", + "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" + } +} \ No newline at end of file diff --git a/src/micropython/beta/typeshed.de.json b/src/micropython/beta/typeshed.de.json new file mode 100644 index 000000000..713598273 --- /dev/null +++ b/src/micropython/beta/typeshed.de.json @@ -0,0 +1,51 @@ +{ + "files": { + "/typeshed/stdlib/VERSIONS": "# The structure of this file is as follows:\n# - Blank lines and comments starting with `#` are ignored.\n# - Lines contain the name of a module, followed by a colon,\n# a space, and a version range (for example: `symbol: 2.7-3.9`).\n#\n# Version ranges may be of the form \"X.Y-A.B\" or \"X.Y-\". The\n# first form means that a module was introduced in version X.Y and last\n# available in version A.B. The second form means that the module was\n# introduced in version X.Y and is still available in the latest\n# version of Python.\n#\n# If a submodule is not listed separately, it has the same lifetime as\n# its parent module.\n#\n# Python versions before 2.7 are ignored, so any module that was already\n# present in 2.7 will have \"2.7\" as its minimum version. Version ranges\n# for unsupported versions of Python 3 (currently 3.5 and lower) are\n# generally accurate but we do not guarantee their correctness.\n\nantigravity: 3.0-\narray: 3.0-\naudio: 3.0-\nbuiltins: 3.0-\nerrno: 3.0-\ngc: 3.0-\nlove: 3.0-\nmachine: 3.0-\nmath: 3.0-\nmicrobit: 3.0-\nmicropython: 3.0-\nmusic: 3.0-\nneopixel: 3.0-\nos: 3.0-\nradio: 3.0-\nrandom: 3.0-\nspeech: 3.0-\nstruct: 3.0-\nsys: 3.0-\nthis: 3.0-\ntime: 3.0-\ntyping_extensions: 3.0-\ntyping: 3.0-\nuarray: 3.0-\nucollections: 3.0-\nuerrno: 3.0-\nuos: 3.0-\nurandom: 3.0-\nustruct: 3.0-\nusys: 3.0-\nutime: 3.0-", + "/typeshed/stdlib/abc.pyi": "from _typeshed import SupportsWrite\nfrom typing import Any, Callable, Tuple, Type, TypeVar\n\n_T = TypeVar(\"_T\")\n_FuncT = TypeVar(\"_FuncT\", bound=Callable[..., Any])\n\n# These definitions have special processing in mypy\nclass ABCMeta(type):\n __abstractmethods__: frozenset[str]\n def __init__(\n self, name: str, bases: Tuple[type, ...], namespace: dict[str, Any]\n ) -> None: ...\n def __instancecheck__(cls: ABCMeta, instance: Any) -> Any: ...\n def __subclasscheck__(cls: ABCMeta, subclass: Any) -> Any: ...\n def _dump_registry(cls: ABCMeta, file: SupportsWrite[str] | None = ...) -> None: ...\n def register(cls: ABCMeta, subclass: Type[_T]) -> Type[_T]: ...\n\ndef abstractmethod(funcobj: _FuncT) -> _FuncT: ...\n\nclass abstractproperty(property): ...\n\n# These two are deprecated and not supported by mypy\ndef abstractstaticmethod(callable: _FuncT) -> _FuncT: ...\ndef abstractclassmethod(callable: _FuncT) -> _FuncT: ...\n\nclass ABC(metaclass=ABCMeta): ...\n\ndef get_cache_token() -> object: ...\n", + "/typeshed/stdlib/antigravity.pyi": "", + "/typeshed/stdlib/array.pyi": "from typing import Generic, Iterable, MutableSequence, TypeVar, Union, overload\nfrom typing_extensions import Literal\n\n_IntTypeCode = Literal[\"b\", \"B\", \"h\", \"H\", \"i\", \"I\", \"l\", \"L\", \"q\", \"Q\"]\n_FloatTypeCode = Literal[\"f\", \"d\"]\n_TypeCode = Union[_IntTypeCode, _FloatTypeCode]\n\n_T = TypeVar(\"_T\", int, float)\n\nclass array(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(\n self: array[int],\n typecode: _IntTypeCode,\n __initializer: Union[bytes, Iterable[_T]] = ...,\n ) -> None: ...\n @overload\n def __init__(\n self: array[float],\n typecode: _FloatTypeCode,\n __initializer: Union[bytes, Iterable[_T]] = ...,\n ) -> None: ...\n @overload\n def __init__(\n self, typecode: str, __initializer: Union[bytes, Iterable[_T]] = ...\n ) -> None: ...\n def append(self, __v: _T) -> None: ...\n def decode(self) -> str: ...\n def extend(self, __bb: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n @overload\n def __getitem__(self, i: int) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> array[_T]: ...\n @overload # type: ignore # Overrides MutableSequence\n def __setitem__(self, i: int, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: array[_T]) -> None: ...\n def __add__(self, x: array[_T]) -> array[_T]: ...\n def __iadd__(self, x: array[_T]) -> array[_T]: ... # type: ignore # Overrides MutableSequence\n\nArrayType = array\n", + "/typeshed/stdlib/audio.pyi": "\"\"\"Play sounds using the micro:bit (import ``audio`` for V1 compatibility).\n\"\"\"\n\n# Re-export for V1 compatibility.\nfrom .microbit.audio import (\n is_playing as is_playing,\n play as play,\n stop as stop,\n AudioFrame as AudioFrame,\n SoundEffect as SoundEffect,\n)\n", + "/typeshed/stdlib/builtins.pyi": "import sys\nimport types\nfrom _typeshed import (\n OpenBinaryMode,\n OpenTextMode,\n ReadableBuffer,\n Self,\n StrOrBytesPath,\n SupportsDivMod,\n SupportsKeysAndGetItem,\n SupportsLenAndGetItem,\n SupportsLessThan,\n SupportsLessThanT,\n SupportsRDivMod,\n SupportsWrite,\n)\nfrom types import CodeType, TracebackType\nfrom typing import (\n IO,\n AbstractSet,\n Any,\n AsyncIterable,\n AsyncIterator,\n BinaryIO,\n ByteString,\n Callable,\n FrozenSet,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n MutableMapping,\n MutableSequence,\n MutableSet,\n NoReturn,\n Protocol,\n Reversible,\n Sequence,\n Set,\n Sized,\n SupportsAbs,\n SupportsBytes,\n SupportsComplex,\n SupportsFloat,\n SupportsInt,\n SupportsRound,\n TextIO,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, SupportsIndex, final\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\nclass _SupportsTrunc(Protocol):\n def __trunc__(self) -> int: ...\n\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n_S = TypeVar(\"_S\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T3 = TypeVar(\"_T3\")\n_T4 = TypeVar(\"_T4\")\n_T5 = TypeVar(\"_T5\")\n_TT = TypeVar(\"_TT\", bound=\"type\")\n_TBE = TypeVar(\"_TBE\", bound=\"BaseException\")\n\nclass object:\n __doc__: str | None\n __dict__: dict[str, Any]\n __slots__: str | Iterable[str]\n __module__: str\n __annotations__: dict[str, Any]\n @property\n def __class__(self: _T) -> Type[_T]: ...\n # Ignore errors about type mismatch between property getter and setter\n @__class__.setter\n def __class__(self, __type: Type[object]) -> None: ... # type: ignore # noqa: F811\n def __init__(self) -> None: ...\n def __new__(cls: Type[_T]) -> _T: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __eq__(self, o: object) -> bool: ...\n def __ne__(self, o: object) -> bool: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n def __format__(self, format_spec: str) -> str: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __delattr__(self, name: str) -> None: ...\n def __sizeof__(self) -> int: ...\n def __reduce__(self) -> str | Tuple[Any, ...]: ...\n if sys.version_info >= (3, 8):\n def __reduce_ex__(self, protocol: SupportsIndex) -> str | Tuple[Any, ...]: ...\n else:\n def __reduce_ex__(self, protocol: int) -> str | Tuple[Any, ...]: ...\n def __dir__(self) -> Iterable[str]: ...\n def __init_subclass__(cls) -> None: ...\n\nclass staticmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass classmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass type(object):\n __base__: type\n __bases__: Tuple[type, ...]\n __basicsize__: int\n __dict__: dict[str, Any]\n __dictoffset__: int\n __flags__: int\n __itemsize__: int\n __module__: str\n __name__: str\n __qualname__: str\n __text_signature__: str | None\n __weakrefoffset__: int\n @overload\n def __init__(self, o: object) -> None: ...\n @overload\n def __init__(\n self, name: str, bases: Tuple[type, ...], dict: dict[str, Any], **kwds: Any\n ) -> None: ...\n @overload\n def __new__(cls, o: object) -> type: ...\n @overload\n def __new__(\n cls: Type[_TT],\n name: str,\n bases: Tuple[type, ...],\n namespace: dict[str, Any],\n **kwds: Any,\n ) -> _TT: ...\n def __call__(self, *args: Any, **kwds: Any) -> Any: ...\n def __subclasses__(self: _TT) -> list[_TT]: ...\n def __instancecheck__(self, instance: Any) -> bool: ...\n def __subclasscheck__(self, subclass: type) -> bool: ...\n @classmethod\n def __prepare__(\n metacls, __name: str, __bases: Tuple[type, ...], **kwds: Any\n ) -> Mapping[str, Any]: ...\n if sys.version_info >= (3, 10):\n def __or__(self, t: Any) -> types.UnionType: ...\n def __ror__(self, t: Any) -> types.UnionType: ...\n\nclass super(object):\n @overload\n def __init__(self, t: Any, obj: Any) -> None: ...\n @overload\n def __init__(self, t: Any) -> None: ...\n @overload\n def __init__(self) -> None: ...\n\nclass int:\n @overload\n def __new__(\n cls: Type[_T],\n x: str | bytes | SupportsInt | SupportsIndex | _SupportsTrunc = ...,\n ) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], x: str | bytes | bytearray, base: SupportsIndex\n ) -> _T: ...\n def to_bytes(\n self,\n length: SupportsIndex,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> bytes: ...\n @classmethod\n def from_bytes(\n cls,\n bytes: Iterable[SupportsIndex] | SupportsBytes,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> int: ... # TODO buffer object argument\n def __add__(self, x: int) -> int: ...\n def __sub__(self, x: int) -> int: ...\n def __mul__(self, x: int) -> int: ...\n def __floordiv__(self, x: int) -> int: ...\n def __truediv__(self, x: int) -> float: ...\n def __mod__(self, x: int) -> int: ...\n def __divmod__(self, x: int) -> Tuple[int, int]: ...\n def __radd__(self, x: int) -> int: ...\n def __rsub__(self, x: int) -> int: ...\n def __rmul__(self, x: int) -> int: ...\n def __rfloordiv__(self, x: int) -> int: ...\n def __rtruediv__(self, x: int) -> float: ...\n def __rmod__(self, x: int) -> int: ...\n def __rdivmod__(self, x: int) -> Tuple[int, int]: ...\n @overload\n def __pow__(self, __x: Literal[2], __modulo: int | None = ...) -> int: ...\n @overload\n def __pow__(\n self, __x: int, __modulo: int | None = ...\n ) -> Any: ... # Return type can be int or float, depending on x.\n def __rpow__(self, x: int, mod: int | None = ...) -> Any: ...\n def __and__(self, n: int) -> int: ...\n def __or__(self, n: int) -> int: ...\n def __xor__(self, n: int) -> int: ...\n def __lshift__(self, n: int) -> int: ...\n def __rshift__(self, n: int) -> int: ...\n def __rand__(self, n: int) -> int: ...\n def __ror__(self, n: int) -> int: ...\n def __rxor__(self, n: int) -> int: ...\n def __rlshift__(self, n: int) -> int: ...\n def __rrshift__(self, n: int) -> int: ...\n def __neg__(self) -> int: ...\n def __pos__(self) -> int: ...\n def __invert__(self) -> int: ...\n def __trunc__(self) -> int: ...\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n def __round__(self, ndigits: SupportsIndex = ...) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: int) -> bool: ...\n def __le__(self, x: int) -> bool: ...\n def __gt__(self, x: int) -> bool: ...\n def __ge__(self, x: int) -> bool: ...\n def __str__(self) -> str: ...\n def __float__(self) -> float: ...\n def __int__(self) -> int: ...\n def __abs__(self) -> int: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n def __index__(self) -> int: ...\n\nclass float:\n def __new__(\n cls: Type[_T], x: SupportsFloat | SupportsIndex | str | bytes | bytearray = ...\n ) -> _T: ...\n def __add__(self, x: float) -> float: ...\n def __sub__(self, x: float) -> float: ...\n def __mul__(self, x: float) -> float: ...\n def __floordiv__(self, x: float) -> float: ...\n def __truediv__(self, x: float) -> float: ...\n def __mod__(self, x: float) -> float: ...\n def __divmod__(self, x: float) -> Tuple[float, float]: ...\n def __pow__(\n self, x: float, mod: None = ...\n ) -> float: ... # In Python 3, returns complex if self is negative and x is not whole\n def __radd__(self, x: float) -> float: ...\n def __rsub__(self, x: float) -> float: ...\n def __rmul__(self, x: float) -> float: ...\n def __rfloordiv__(self, x: float) -> float: ...\n def __rtruediv__(self, x: float) -> float: ...\n def __rmod__(self, x: float) -> float: ...\n def __rdivmod__(self, x: float) -> Tuple[float, float]: ...\n def __rpow__(self, x: float, mod: None = ...) -> float: ...\n def __getnewargs__(self) -> Tuple[float]: ...\n def __trunc__(self) -> int: ...\n if sys.version_info >= (3, 9):\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n @overload\n def __round__(self, ndigits: None = ...) -> int: ...\n @overload\n def __round__(self, ndigits: SupportsIndex) -> float: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: float) -> bool: ...\n def __le__(self, x: float) -> bool: ...\n def __gt__(self, x: float) -> bool: ...\n def __ge__(self, x: float) -> bool: ...\n def __neg__(self) -> float: ...\n def __pos__(self) -> float: ...\n def __str__(self) -> str: ...\n def __int__(self) -> int: ...\n def __float__(self) -> float: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass complex:\n @overload\n def __new__(cls: Type[_T], real: float = ..., imag: float = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], real: str | SupportsComplex | SupportsIndex | complex\n ) -> _T: ...\n @property\n def real(self) -> float: ...\n @property\n def imag(self) -> float: ...\n def __add__(self, x: complex) -> complex: ...\n def __sub__(self, x: complex) -> complex: ...\n def __mul__(self, x: complex) -> complex: ...\n def __pow__(self, x: complex, mod: None = ...) -> complex: ...\n def __truediv__(self, x: complex) -> complex: ...\n def __radd__(self, x: complex) -> complex: ...\n def __rsub__(self, x: complex) -> complex: ...\n def __rmul__(self, x: complex) -> complex: ...\n def __rpow__(self, x: complex, mod: None = ...) -> complex: ...\n def __rtruediv__(self, x: complex) -> complex: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __neg__(self) -> complex: ...\n def __pos__(self) -> complex: ...\n def __str__(self) -> str: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass str(Sequence[str]):\n @overload\n def __new__(cls: Type[_T], o: object = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], o: bytes, encoding: str = ..., errors: str = ...\n ) -> _T: ...\n def count(\n self,\n x: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def encode(self, encoding: str = ..., errors: str = ...) -> bytes: ...\n def endswith(\n self,\n __suffix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def format(self, *args: object, **kwargs: object) -> str: ...\n def index(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable: Iterable[str]) -> str: ...\n def lower(self) -> str: ...\n def lstrip(self, __chars: str | None = ...) -> str: ...\n def replace(self, __old: str, __new: str, __count: SupportsIndex = ...) -> str: ...\n def rfind(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def rstrip(self, __chars: str | None = ...) -> str: ...\n def split(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def startswith(\n self,\n __prefix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __chars: str | None = ...) -> str: ...\n def upper(self) -> str: ...\n def __add__(self, s: str) -> str: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: str) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ge__(self, x: str) -> bool: ...\n def __getitem__(self, i: int | slice) -> str: ...\n def __gt__(self, x: str) -> bool: ...\n def __hash__(self) -> int: ...\n def __iter__(self) -> Iterator[str]: ...\n def __le__(self, x: str) -> bool: ...\n def __len__(self) -> int: ...\n def __lt__(self, x: str) -> bool: ...\n def __mod__(self, x: Any) -> str: ...\n def __mul__(self, n: SupportsIndex) -> str: ...\n def __ne__(self, x: object) -> bool: ...\n def __repr__(self) -> str: ...\n def __rmul__(self, n: SupportsIndex) -> str: ...\n def __str__(self) -> str: ...\n def __getnewargs__(self) -> Tuple[str]: ...\n\nclass bytes(ByteString):\n @overload\n def __new__(cls: Type[_T], ints: Iterable[SupportsIndex]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], string: str, encoding: str, errors: str = ...) -> _T: ...\n @overload\n def __new__(cls: Type[_T], length: SupportsIndex) -> _T: ...\n @overload\n def __new__(cls: Type[_T]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], o: SupportsBytes) -> _T: ...\n def count(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def endswith(\n self,\n __suffix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def index(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable_of_bytes: Iterable[ByteString | memoryview]) -> bytes: ...\n def lower(self) -> bytes: ...\n def lstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def replace(\n self, __old: bytes, __new: bytes, __count: SupportsIndex = ...\n ) -> bytes: ...\n def rfind(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def rstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def split(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def startswith(\n self,\n __prefix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __bytes: bytes | None = ...) -> bytes: ...\n def upper(self) -> bytes: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytes: ...\n def __add__(self, s: bytes) -> bytes: ...\n def __mul__(self, n: SupportsIndex) -> bytes: ...\n def __rmul__(self, n: SupportsIndex) -> bytes: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n def __getnewargs__(self) -> Tuple[bytes]: ...\n\nclass bytearray:\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, ints: Iterable[SupportsIndex]) -> None: ...\n @overload\n def __init__(self, string: str, encoding: str, errors: str = ...) -> None: ...\n @overload\n def __init__(self, length: SupportsIndex) -> None: ...\n def append(self, __item: SupportsIndex) -> None: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def extend(self, __iterable_of_ints: Iterable[SupportsIndex]) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytearray: ...\n @overload\n def __setitem__(self, i: SupportsIndex, x: SupportsIndex) -> None: ...\n @overload\n def __setitem__(self, s: slice, x: Iterable[SupportsIndex] | bytes) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, s: bytes) -> bytearray: ...\n def __iadd__(self, s: Iterable[int]) -> bytearray: ...\n def __mul__(self, n: SupportsIndex) -> bytearray: ...\n def __rmul__(self, n: SupportsIndex) -> bytearray: ...\n def __imul__(self, n: SupportsIndex) -> bytearray: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n\nclass memoryview(Sized, Sequence[int]):\n def __init__(self, obj: ReadableBuffer) -> None: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> memoryview: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n def __len__(self) -> int: ...\n @overload\n def __setitem__(self, s: slice, o: bytes) -> None: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: SupportsIndex) -> None: ...\n\n@final\nclass bool(int):\n def __new__(cls: Type[_T], __o: object = ...) -> _T: ...\n @overload\n def __and__(self, x: bool) -> bool: ...\n @overload\n def __and__(self, x: int) -> int: ...\n @overload\n def __or__(self, x: bool) -> bool: ...\n @overload\n def __or__(self, x: int) -> int: ...\n @overload\n def __xor__(self, x: bool) -> bool: ...\n @overload\n def __xor__(self, x: int) -> int: ...\n @overload\n def __rand__(self, x: bool) -> bool: ...\n @overload\n def __rand__(self, x: int) -> int: ...\n @overload\n def __ror__(self, x: bool) -> bool: ...\n @overload\n def __ror__(self, x: int) -> int: ...\n @overload\n def __rxor__(self, x: bool) -> bool: ...\n @overload\n def __rxor__(self, x: int) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n\nclass slice(object):\n start: Any\n step: Any\n stop: Any\n __hash__: None # type: ignore\n def indices(self, len: SupportsIndex) -> Tuple[int, int, int]: ...\n\nclass tuple(Sequence[_T_co], Generic[_T_co]):\n def __new__(cls: Type[_T], iterable: Iterable[_T_co] = ...) -> _T: ...\n def __len__(self) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n @overload\n def __getitem__(self, x: int) -> _T_co: ...\n @overload\n def __getitem__(self, x: slice) -> Tuple[_T_co, ...]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __lt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __le__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __gt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __ge__(self, x: Tuple[_T_co, ...]) -> bool: ...\n @overload\n def __add__(self, x: Tuple[_T_co, ...]) -> Tuple[_T_co, ...]: ...\n @overload\n def __add__(self, x: Tuple[_T, ...]) -> Tuple[_T_co | _T, ...]: ...\n def __mul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def __rmul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def count(self, __value: Any) -> int: ...\n def index(\n self, __value: Any, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n\n# Can we remove this?\nclass function:\n # TODO not defined in builtins!\n __name__: str\n __module__: str\n __code__: CodeType\n __qualname__: str\n __annotations__: dict[str, Any]\n\nclass frozenset(AbstractSet[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls: type[Self]) -> Self: ...\n @overload\n def __new__(cls: type[Self], __iterable: Iterable[_T_co]) -> Self: ...\n def copy(self) -> FrozenSet[_T_co]: ...\n def difference(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def intersection(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def isdisjoint(self, s: Iterable[_T_co]) -> bool: ...\n def issubset(self, s: Iterable[object]) -> bool: ...\n def issuperset(self, s: Iterable[object]) -> bool: ...\n def symmetric_difference(self, s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def union(self, *s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __sub__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass list(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[_T]) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> list[_T]: ...\n def append(self, __object: _T) -> None: ...\n def extend(self, __iterable: Iterable[_T]) -> None: ...\n def pop(self, __index: SupportsIndex = ...) -> _T: ...\n def index(\n self, __value: _T, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n def count(self, __value: _T) -> int: ...\n def insert(self, __index: SupportsIndex, __object: _T) -> None: ...\n def remove(self, __value: _T) -> None: ...\n def reverse(self) -> None: ...\n @overload\n def sort(\n self: list[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n ) -> None: ...\n @overload\n def sort(\n self, *, key: Callable[[_T], SupportsLessThan], reverse: bool = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> list[_T]: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, x: list[_T]) -> list[_T]: ...\n def __iadd__(self: _S, x: Iterable[_T]) -> _S: ...\n def __mul__(self, n: SupportsIndex) -> list[_T]: ...\n def __rmul__(self, n: SupportsIndex) -> list[_T]: ...\n def __imul__(self: _S, n: SupportsIndex) -> _S: ...\n def __contains__(self, o: object) -> bool: ...\n def __reversed__(self) -> Iterator[_T]: ...\n def __gt__(self, x: list[_T]) -> bool: ...\n def __ge__(self, x: list[_T]) -> bool: ...\n def __lt__(self, x: list[_T]) -> bool: ...\n def __le__(self, x: list[_T]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass dict(MutableMapping[_KT, _VT], Generic[_KT, _VT]):\n @overload\n def __init__(self: dict[_KT, _VT]) -> None: ...\n @overload\n def __init__(self: dict[str, _VT], **kwargs: _VT) -> None: ...\n @overload\n def __init__(\n self, map: SupportsKeysAndGetItem[_KT, _VT], **kwargs: _VT\n ) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n def __new__(cls: Type[_T1], *args: Any, **kwargs: Any) -> _T1: ...\n def clear(self) -> None: ...\n def copy(self) -> dict[_KT, _VT]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, __key: _KT, __default: _VT = ...) -> _VT: ...\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT]: ...\n def items(self) -> ItemsView[_KT, _VT]: ...\n @classmethod\n @overload\n def fromkeys(\n cls, __iterable: Iterable[_T], __value: None = ...\n ) -> dict[_T, Any | None]: ...\n @classmethod\n @overload\n def fromkeys(cls, __iterable: Iterable[_T], __value: _S) -> dict[_T, _S]: ...\n def __len__(self) -> int: ...\n def __getitem__(self, k: _KT) -> _VT: ...\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n def __delitem__(self, v: _KT) -> None: ...\n def __iter__(self) -> Iterator[_KT]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __or__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ror__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ior__(self, __value: Mapping[_KT, _VT]) -> dict[_KT, _VT]: ... # type: ignore\n\nclass set(MutableSet[_T], Generic[_T]):\n def __init__(self, iterable: Iterable[_T] = ...) -> None: ...\n def add(self, element: _T) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> Set[_T]: ...\n def difference(self, *s: Iterable[Any]) -> Set[_T]: ...\n def difference_update(self, *s: Iterable[Any]) -> None: ...\n def discard(self, element: _T) -> None: ...\n def intersection(self, *s: Iterable[Any]) -> Set[_T]: ...\n def intersection_update(self, *s: Iterable[Any]) -> None: ...\n def isdisjoint(self, s: Iterable[Any]) -> bool: ...\n def issubset(self, s: Iterable[Any]) -> bool: ...\n def issuperset(self, s: Iterable[Any]) -> bool: ...\n def pop(self) -> _T: ...\n def remove(self, element: _T) -> None: ...\n def symmetric_difference(self, s: Iterable[_T]) -> Set[_T]: ...\n def symmetric_difference_update(self, s: Iterable[_T]) -> None: ...\n def union(self, *s: Iterable[_T]) -> Set[_T]: ...\n def update(self, *s: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __iand__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __or__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ior__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __sub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __isub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __xor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass enumerate(Iterator[Tuple[int, _T]], Generic[_T]):\n def __init__(self, iterable: Iterable[_T], start: int = ...) -> None: ...\n def __iter__(self) -> Iterator[Tuple[int, _T]]: ...\n def __next__(self) -> Tuple[int, _T]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass range(Sequence[int]):\n start: int\n stop: int\n step: int\n @overload\n def __init__(self, stop: SupportsIndex) -> None: ...\n @overload\n def __init__(\n self, start: SupportsIndex, stop: SupportsIndex, step: SupportsIndex = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> range: ...\n def __repr__(self) -> str: ...\n def __reversed__(self) -> Iterator[int]: ...\n\nclass property(object):\n fget: Callable[[Any], Any] | None\n fset: Callable[[Any, Any], None] | None\n fdel: Callable[[Any], None] | None\n def __init__(\n self,\n fget: Callable[[Any], Any] | None = ...,\n fset: Callable[[Any, Any], None] | None = ...,\n fdel: Callable[[Any], None] | None = ...,\n doc: str | None = ...,\n ) -> None: ...\n def getter(self, fget: Callable[[Any], Any]) -> property: ...\n def setter(self, fset: Callable[[Any, Any], None]) -> property: ...\n def deleter(self, fdel: Callable[[Any], None]) -> property: ...\n def __get__(self, obj: Any, type: type | None = ...) -> Any: ...\n def __set__(self, obj: Any, value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nclass _NotImplementedType(Any): # type: ignore\n # A little weird, but typing the __call__ as NotImplemented makes the error message\n # for NotImplemented() much better\n __call__: NotImplemented # type: ignore\n\nNotImplemented: _NotImplementedType\n\ndef abs(__x: SupportsAbs[_T]) -> _T: ...\ndef all(__iterable: Iterable[object]) -> bool: ...\ndef any(__iterable: Iterable[object]) -> bool: ...\ndef bin(__number: int | SupportsIndex) -> str: ...\n\nif sys.version_info >= (3, 7):\n def breakpoint(*args: Any, **kws: Any) -> None: ...\n\ndef callable(__obj: object) -> bool: ...\ndef chr(__i: int) -> str: ...\n\n# We define this here instead of using os.PathLike to avoid import cycle issues.\n# See https://github.com/python/typeshed/pull/991#issuecomment-288160993\n_AnyStr_co = TypeVar(\"_AnyStr_co\", str, bytes, covariant=True)\n\nclass _PathLike(Protocol[_AnyStr_co]):\n def __fspath__(self) -> _AnyStr_co: ...\n\nif sys.version_info >= (3, 10):\n def aiter(__iterable: AsyncIterable[_T]) -> AsyncIterator[_T]: ...\n @overload\n async def anext(__i: AsyncIterator[_T]) -> _T: ...\n @overload\n async def anext(__i: AsyncIterator[_T], default: _VT) -> _T | _VT: ...\n\ndef delattr(__obj: Any, __name: str) -> None: ...\ndef dir(__o: object = ...) -> list[str]: ...\n@overload\ndef divmod(__x: SupportsDivMod[_T_contra, _T_co], __y: _T_contra) -> _T_co: ...\n@overload\ndef divmod(__x: _T_contra, __y: SupportsRDivMod[_T_contra, _T_co]) -> _T_co: ...\ndef eval(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\ndef exec(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\n\nclass filter(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __function: None, __iterable: Iterable[_T | None]) -> None: ...\n @overload\n def __init__(\n self, __function: Callable[[_T], Any], __iterable: Iterable[_T]\n ) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\n@overload\ndef getattr(__o: object, name: str) -> Any: ...\n\n# While technically covered by the last overload, spelling out the types for None and bool\n# help mypy out in some tricky situations involving type context (aka bidirectional inference)\n@overload\ndef getattr(__o: object, name: str, __default: None) -> Any | None: ...\n@overload\ndef getattr(__o: object, name: str, __default: bool) -> Any | bool: ...\n@overload\ndef getattr(__o: object, name: str, __default: _T) -> Any | _T: ...\ndef globals() -> dict[str, Any]: ...\ndef hasattr(__obj: object, __name: str) -> bool: ...\ndef hash(__obj: object) -> int: ...\ndef help(*args: Any, **kwds: Any) -> None: ...\ndef hex(__number: int | SupportsIndex) -> str: ...\ndef id(__obj: object) -> int: ...\ndef input(__prompt: Any = ...) -> str: ...\n@overload\ndef iter(__iterable: Iterable[_T]) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T | None], __sentinel: None) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T], __sentinel: Any) -> Iterator[_T]: ...\n\nif sys.version_info >= (3, 10):\n def isinstance(\n __obj: object,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n def issubclass(\n __cls: type,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n\nelse:\n def isinstance(\n __obj: object, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n def issubclass(\n __cls: type, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n\ndef len(__obj: Sized) -> int: ...\ndef locals() -> dict[str, Any]: ...\n\nclass map(Iterator[_S], Generic[_S]):\n @overload\n def __init__(self, __func: Callable[[_T1], _S], __iter1: Iterable[_T1]) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4, _T5], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[..., _S],\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> None: ...\n def __iter__(self) -> Iterator[_S]: ...\n def __next__(self) -> _S: ...\n\n@overload\ndef max(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef max(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef max(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef max(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef min(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef min(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef min(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef min(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef next(__i: Iterator[_T]) -> _T: ...\n@overload\ndef next(__i: Iterator[_T], default: _VT) -> _T | _VT: ...\ndef oct(__number: int | SupportsIndex) -> str: ...\n\n_OpenFile = Union[StrOrBytesPath, int]\n_Opener = Callable[[str, int], int]\n\n# Text mode: always returns a TextIOWrapper\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenTextMode = ...,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> TextIO: ...\n\n# Unbuffered binary mode: returns a FileIO\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenBinaryMode,\n buffering: int = ...,\n encoding: None = ...,\n errors: None = ...,\n newline: None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> BinaryIO: ...\n\n# Fallback if mode is not specified\n@overload\ndef open(\n file: _OpenFile,\n mode: str,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> IO[Any]: ...\ndef ord(__c: str | bytes) -> int: ...\ndef print(\n *values: object,\n sep: str | None = ...,\n end: str | None = ...,\n file: SupportsWrite[str] | None = ...,\n flush: bool = ...,\n) -> None: ...\n\n_E = TypeVar(\"_E\", contravariant=True)\n_M = TypeVar(\"_M\", contravariant=True)\n\nclass _SupportsPow2(Protocol[_E, _T_co]):\n def __pow__(self, __other: _E) -> _T_co: ...\n\nclass _SupportsPow3(Protocol[_E, _M, _T_co]):\n def __pow__(self, __other: _E, __modulo: _M) -> _T_co: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def pow(\n base: int, exp: int, mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(base: int, exp: int, mod: int) -> int: ...\n @overload\n def pow(base: float, exp: float, mod: None = ...) -> float: ...\n @overload\n def pow(base: _SupportsPow2[_E, _T_co], exp: _E) -> _T_co: ...\n @overload\n def pow(base: _SupportsPow3[_E, _M, _T_co], exp: _E, mod: _M) -> _T_co: ...\n\nelse:\n @overload\n def pow(\n __base: int, __exp: int, __mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(__base: int, __exp: int, __mod: int) -> int: ...\n @overload\n def pow(__base: float, __exp: float, __mod: None = ...) -> float: ...\n @overload\n def pow(__base: _SupportsPow2[_E, _T_co], __exp: _E) -> _T_co: ...\n @overload\n def pow(__base: _SupportsPow3[_E, _M, _T_co], __exp: _E, __mod: _M) -> _T_co: ...\n\nclass reversed(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __sequence: Reversible[_T]) -> None: ...\n @overload\n def __init__(self, __sequence: SupportsLenAndGetItem[_T]) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\ndef repr(__obj: object) -> str: ...\n@overload\ndef round(number: SupportsRound[Any]) -> int: ...\n@overload\ndef round(number: SupportsRound[Any], ndigits: None) -> int: ...\n@overload\ndef round(number: SupportsRound[_T], ndigits: SupportsIndex) -> _T: ...\ndef setattr(__obj: object, __name: str, __value: Any) -> None: ...\n@overload\ndef sorted(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n) -> list[SupportsLessThanT]: ...\n@overload\ndef sorted(\n __iterable: Iterable[_T],\n *,\n key: Callable[[_T], SupportsLessThan],\n reverse: bool = ...,\n) -> list[_T]: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], start: _S) -> _T | _S: ...\n\nelse:\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], __start: _S) -> _T | _S: ...\n\nclass zip(Iterator[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls, __iter1: Iterable[_T1]) -> zip[Tuple[_T1]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2]\n ) -> zip[Tuple[_T1, _T2]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]\n ) -> zip[Tuple[_T1, _T2, _T3]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4, _T5]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> zip[Tuple[Any, ...]]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __next__(self) -> _T_co: ...\n\ndef __import__(\n name: str,\n globals: Mapping[str, Any] | None = ...,\n locals: Mapping[str, Any] | None = ...,\n fromlist: Sequence[str] = ...,\n level: int = ...,\n) -> Any: ...\n\n# Actually the type of Ellipsis is , but since it's\n# not exposed anywhere under that name, we make it private here.\nclass ellipsis: ...\n\nEllipsis: ellipsis\n\nclass BaseException(object):\n args: Tuple[Any, ...]\n __cause__: BaseException | None\n __context__: BaseException | None\n __suppress_context__: bool\n __traceback__: TracebackType | None\n def __init__(self, *args: object) -> None: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def with_traceback(self: _TBE, tb: TracebackType | None) -> _TBE: ...\n\nclass GeneratorExit(BaseException): ...\nclass KeyboardInterrupt(BaseException): ...\n\nclass SystemExit(BaseException):\n code: int\n\nclass Exception(BaseException): ...\n\nclass StopIteration(Exception):\n value: Any\n\n_StandardError = Exception\n\nclass OSError(Exception):\n errno: int\n strerror: str\n # filename, filename2 are actually str | bytes | None\n filename: Any\n filename2: Any\n if sys.platform == \"win32\":\n winerror: int\n\nif sys.platform == \"win32\":\n WindowsError = OSError\n\nclass ArithmeticError(_StandardError): ...\nclass AssertionError(_StandardError): ...\n\nclass AttributeError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n obj: object\n\nclass EOFError(_StandardError): ...\n\nclass ImportError(_StandardError):\n def __init__(\n self, *args: object, name: str | None = ..., path: str | None = ...\n ) -> None: ...\n name: str | None\n path: str | None\n msg: str # undocumented\n\nclass LookupError(_StandardError): ...\nclass MemoryError(_StandardError): ...\n\nclass NameError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n\nclass RuntimeError(_StandardError): ...\n\nclass StopAsyncIteration(Exception):\n value: Any\n\nclass SyntaxError(_StandardError):\n msg: str\n lineno: int | None\n offset: int | None\n text: str | None\n filename: str | None\n if sys.version_info >= (3, 10):\n end_lineno: int | None\n end_offset: int | None\n\nclass TypeError(_StandardError): ...\nclass ValueError(_StandardError): ...\nclass FloatingPointError(ArithmeticError): ...\nclass OverflowError(ArithmeticError): ...\nclass ZeroDivisionError(ArithmeticError): ...\nclass IndexError(LookupError): ...\nclass KeyError(LookupError): ...\nclass NotImplementedError(RuntimeError): ...\nclass IndentationError(SyntaxError): ...\nclass TabError(IndentationError): ...\n", + "/typeshed/stdlib/errno.pyi": "from typing import Mapping\n\nerrorcode: Mapping[int, str]\n\nEACCES: int\nEADDRINUSE: int\nEAGAIN: int\nEALREADY: int\nEBADF: int\nECONNABORTED: int\nECONNREFUSED: int\nECONNRESET: int\nEEXIST: int\nEHOSTUNREACH: int\nEINPROGRESS: int\nEINVAL: int\nEIO: int\nEISDIR: int\nENOBUFS: int\nENODEV: int\nENOENT: int\nENOMEM: int\nENOTCONN: int\nEOPNOTSUPP: int\nEPERM: int\nETIMEDOUT: int\n", + "/typeshed/stdlib/gc.pyi": "\"\"\"Steuerung des Garbage Collectors\"\"\"\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"Automatische Garbage Collection aktivieren.\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"Automatische Garbage Collection deaktivieren.\n\nHeap memory can still be allocated,\nand garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"Garbage Collection ausf\u00fchren.\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"Ermittelt die Anzahl der dem Heap-Speicher zugewiesen Bytes.\n\n:return: The number of bytes allocated.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"Gibt die Anzahl der Bytes des verf\u00fcgbaren dynamischen Speichers zur\u00fcck. -1 wird zur\u00fcckgegeben, wenn dieser Wert unbekannt ist.\n\n:return: The number of bytes free.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"Den zus\u00e4tzlichen GC-Zuteilungsschwellwert abfragen.\n\n:return: The GC allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"Den zus\u00e4tzlichen GC-Schwellenwert festlegen.\n\nNormally, a collection is triggered only when a new allocation\ncannot be satisfied, i.e. on an out-of-memory (OOM) condition.\nIf this function is called, in addition to OOM, a collection\nwill be triggered each time after ``amount`` bytes have been\nallocated (in total, since the previous time such an amount of bytes\nhave been allocated). ``amount`` is usually specified as less than the\nfull heap size, with the intention to trigger a collection earlier than when the\nheap becomes exhausted, and in the hope that an early collection will prevent\nexcessive memory fragmentation. This is a heuristic measure, the effect\nof which will vary from application to application, as well as\nthe optimal value of the ``amount`` parameter.\n\nA value of -1 means a disabled allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\n\n:param amount: Die Anzahl der Bytes, nach denen eine Garbage Collection ausgel\u00f6st werden soll.\"\"\"\n ...", + "/typeshed/stdlib/log.pyi": "\"\"\"Zeichne Daten auf deinem micro:bit V2 auf.\"\"\"\nfrom typing import Literal, Mapping, Optional, Union, overload\nMILLISECONDS = 1\n\"\"\"Millisekunden Zeitstempelformat. (millisekunden)\"\"\"\nSECONDS = 10\n\"\"\"Sekunden Zeitstempelformat. (sekunden)\"\"\"\nMINUTES = 600\n\"\"\"Minuten Zeitstempelformat. (minuten)\"\"\"\nHOURS = 36000\n\"\"\"Stunden Zeitstempelformat. (stunden)\"\"\"\nDAYS = 864000\n\"\"\"Tage Zeitstempelformat. (tage)\"\"\"\n\ndef set_labels(*labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]]=SECONDS) -> None:\n \"\"\"Den Logdatei-Header setzen (Beschriftungen festlegen)\n\nExample: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\nIdeally this function should be called a single time, before any data is\nlogged, to configure the data table header once.\n\nIf a log file already exists when the program starts, or if this function\nis called multiple times, it will check the labels already defined in the\nlog file. If this function call contains any new labels not already\npresent, it will generate a new header row with the additional columns.\n\nBy default the first column contains a timestamp for each row. The time\nunit can be selected via the timestamp argument.\n\n:param *labels: Eine beliebige Anzahl von Positionsargumenten, die jeweils einem Eintrag in der Kopfzeile des Logs entsprechen.\n:param timestamp: (Zeitstempel) W\u00e4hle die Zeitstempel-Einheit, die automatisch als erste Spalte in jeder Zeile hinzugef\u00fcgt wird. Der Zeitstempel kann einen der folgenden Werte annehmen: ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, ``log.HOURS``, ``log.DAYS`` oder ``None``, um den Zeitstempel zu deaktivieren. Der Standardwert ist ``log.SECONDS``.\"\"\"\n ...\n\n@overload\ndef add(data_dictionary: Optional[Mapping[str, Union[str, int, float]]]) -> None:\n \"\"\"F\u00fcge dem Protokoll eine Datenzeile hinzu, indem du ein Dictionary mit Kopfzeileneintr\u00e4gen und Werten \u00fcbergibst. (hinzuf\u00fcgen)\n\nExample: ``log.add({ 'temp': temperature() })``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\n\n:param data_dictionary: (daten w\u00f6rterbuch) Die zu protokollierenden Daten in Form eines Dictionarys mit einem Schl\u00fcssel f\u00fcr jeden Kopfzeileneintrag.\"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"F\u00fcge dem Protokoll eine Datenzeile mit Schl\u00fcsselw\u00f6rtern als Argumenten hinzu. (hinzuf\u00fcgen)\n\nExample: ``log.add(temp=temperature())``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"L\u00f6scht den Inhalt des Protokolls, einschlie\u00dflich der Kopfzeilen. (l\u00f6schen)\n\nExample: ``log.delete()``\n\nTo add the log headers again the ``set_labels`` function should to be called after this function.\n\nThere are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\nand \u201cfast\u201d invalidates the data without removing it.\n\n:param full: (vollst\u00e4ndig) Mit ``True`` wird ein \" vollst\u00e4ndiges\" L\u00f6schen und mit ``False`` die \"schnelle\" L\u00f6schmethode gew\u00e4hlt.\"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"Richte die Spiegelung der Datenprotokollierung auf dem seriellen Ausgang ein. (spiegeln)\n\nExample: ``log.set_mirroring(True)``\n\nSerial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n:param serial: (seriell) ``True`` aktiviert die Spiegelung von Daten auf dem seriellen Ausgang.\"\"\"\n ...", + "/typeshed/stdlib/love.pyi": "def badaboom() -> None: ...\n", + "/typeshed/stdlib/machine.pyi": "\"\"\"Low-Level-Utilities. (maschine)\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"Liefert eine Byte-Zeichenkette mit einem eindeutigen Bezeichner f\u00fcr ein Board. (Eindeutige ID)\n\nExample: ``machine.unique_id()``\n\n:return: An identifier that varies from one board instance to another.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Setzt das Ger\u00e4t zur\u00fcck, als w\u00fcrde man die externe RESET-Taste dr\u00fcckt. (zur\u00fccksetzen)\n\nExample: ``machine.reset()``\"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"Ermittelt die Taktfrequenz der CPU in Hertz.\n\nExample: ``machine.freq()``\n\n:return: The CPU frequency.\"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"Deaktiviere Interrupt-Anforderungen. (IRQ deaktivieren)\n\nExample: ``interrupt_state = machine.disable_irq()``\n\n:return: the previous IRQ state which should be considered an opaque value\n\nThe return value should be passed to the ``enable_irq`` function to restore\ninterrupts to their original state.\"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"Interrupt-Anfragen wieder aktivieren. (IRQ aktivieren)\n\nExample: ``machine.enable_irq(interrupt_state)``\n\n:param state: Der Wert, der beim letzten Aufruf der Funktion ``disable_irq`` zur\u00fcckgegeben wurde.\"\"\"\n ...\n\ndef time_pulse_us(pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int=1000000) -> int:\n \"\"\"Gibt die Dauer eines Impulses an einem Pin zur\u00fcck. (zeitimpuls us)\n\nExample: ``time_pulse_us(pin0, 1)``\n\nIf the current input value of the pin is different to ``pulse_level``, the\nfunction first waits until the pin input becomes equal to\n``pulse_level``, then times the duration that the pin is equal to\n``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\nstarts straight away.\n\n:param pin: Der zu verwendende Pin\n:param pulse_level: (pulsstufe) 0, um einen Low-Impuls oder 1, um einen High-Impuls zu messen\n:param timeout_us: Eine Verz\u00f6gerung in Mikrosekunden\n:return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\"\"\"\n ...\n\nclass mem:\n \"\"\"Die Klasse f\u00fcr die ``mem8``, ``mem16`` und ``mem32`` Speicheranzeigen.\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"Greife auf einen Wert im Speicher zu.\n\n:param address: (adresse) Die Speicheradresse.\n:return: The value at that address as an integer.\"\"\"\n ...\n\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"Setzt einen Wert an der angegebenen Adresse.\n\n:param address: (adresse) Die Speicheradresse.\n:param value: (wert) Der zu setzende Integer-Wert.\"\"\"\n ...\nmem8: mem\n\"\"\"8-Bit (Byte) Ansicht des Speichers.\"\"\"\nmem16: mem\n\"\"\"16-Bit (Byte) Ansicht des Speichers.\"\"\"\nmem32: mem\n\"\"\"32-Bit (Byte) Ansicht des Speichers.\"\"\"", + "/typeshed/stdlib/math.pyi": "\"\"\"Mathematische Funktionen.\"\"\"\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"Berechnet den Arkuskosinus.\n\nExample: ``math.acos(1)``\n\n:param x: Eine Zahl\n:return: The inverse cosine of ``x``\"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"Berechnet den Arkussinus.\n\nExample: ``math.asin(0)``\n\n:param x: Eine Zahl\n:return: The inverse sine of ``x``\"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"Berechnet den Arkustangens.\n\nExample: ``math.atan(0)``\n\n:param x: Eine Zahl\n:return: The inverse tangent of ``x``\"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"Berechnet den Hauptwert des Arkustangens von ``y/x``.\n\nExample: ``math.atan2(0, -1)``\n\n:param y: Eine Zahl\n:param x: Eine Zahl\n:return: The principal value of the inverse tangent of ``y/x``\"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"Rundet eine Zahl in Richtung positiver Unendlichkeit.\n\nExample: ``math.ceil(0.1)``\n\n:param x: Eine Zahl\n:return: ``x`` rounded towards positive infinity.\"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"Berechne ``x`` mit dem Vorzeichen von ``y``.\n\nExample: ``math.copysign(1, -1)``\n\n:param x: Eine Zahl\n:param y: Die Herkunft des Vorzeichens f\u00fcr den R\u00fcckgabewert\n:return: ``x`` with the sign of ``y``\"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"Berechnet den Kosinus von ``x``.\n\nExample: ``math.cos(0)``\n\n:param x: Eine Zahl\n:return: The cosine of ``x``\"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"Wandelt Bogenma\u00df (Radiant) in Grad um.\n\nExample: ``math.degrees(2 * math.pi)``\n\n:param x: Ein Wert in Radiant\n:return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"Berechnet den Exponentialwert von ``x``.\n\nExample: ``math.exp(1)``\n\n:param x: Eine Zahl\n:return: The exponential of ``x``.\"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"Gibt den absoluten Wert von ``x`` zur\u00fcck.\n\nExample: ``math.fabs(-0.1)``\n\n:param x: Eine Zahl\n:return: The absolute value of ``x``\"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"Rundet eine Zahl in Richtung negativer Unendlichkeit.\n\nExample: ``math.floor(0.9)``\n\n:param x: Eine Zahl\n:return: ``x`` rounded towards negative infinity.\"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"Berechne den Rest von ``x/y``.\n\nExample: ``math.fmod(10, 3)``\n\n:param x: Der Z\u00e4hler\n:param y: Der Nenner\"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"Zerlegt eine Gleitkommazahl in ihre Mantisse und ihren Exponenten.\n\nExample: ``mantissa, exponent = math.frexp(2)``\n\nThe returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\nexactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\nthe relation ``0.5 <= abs(m) < 1`` holds.\n\n:param x: Eine Flie\u00dfkommazahl\n:return: A tuple of length two containing its mantissa then exponent\"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob ein Wert endlich ist.\n\nExample: ``math.isfinite(float('inf'))``\n\n:param x: Eine Zahl.\n:return: ``True`` if ``x`` is finite, ``False`` otherwise.\"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob ein Wert unendlich ist.\n\nExample: ``math.isinf(float('-inf'))``\n\n:param x: Eine Zahl.\n:return: ``True`` if ``x`` is infinite, ``False`` otherwise.\"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"Pr\u00fcft, ob ein Wert keine Zahl (NaN ... Not A Number) ist.\n\nExample: ``math.isnan(float('nan'))``\n\n:param x: Eine Zahl\n:return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"Berechne ``x * (2**exp)``.\n\nExample: ``math.ldexp(0.5, 2)``\n\n:param x: Eine Zahl\n:param exp: Ganzzahl-Exponent\n:return: ``x * (2**exp)``\"\"\"\n ...\n\ndef log(x: float, base: float=e) -> float:\n \"\"\"Berechnet den Logarithmus von ``x`` zur angegebenen Basis (standardm\u00e4\u00dfig den nat\u00fcrlichen Logarithmus).\n\nExample: ``math.log(math.e)``\n\nWith one argument, return the natural logarithm of x (to base e).\n\nWith two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n:param x: Eine Zahl\n:param base: Die zu verwendende Basis\n:return: The natural logarithm of ``x``\"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"Berechne die gebrochenen und ganzzahligen Teile von ``x``.\n\nExample: ``fractional, integral = math.modf(1.5)``\n\n:param x: Eine Zahl\n:return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\nBoth the fractional and integral values have the same sign as ``x``.\"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"Gibt ``x`` hoch ``y`` zur\u00fcck.\n\nExample: ``math.pow(4, 0.5)``\n\n:param x: Eine Zahl\n:param y: Der Exponent\n:return: ``x`` to the power of ``y``\"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"Wandelt Grad in Bogenma\u00df (Radiant) um.\n\nExample: ``math.radians(360)``\n\n:param x: Ein Wert in Grad\n:return: The value converted to radians\"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"Berechnet den Sinus von ``x``.\n\nExample: ``math.sin(math.pi/2)``\n\n:param x: Eine Zahl\n:return: The sine of ``x``\"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"Berechnet die Quadratwurzel von ``x``.\n\nExample: ``math.sqrt(4)``\n\n:param x: Eine Zahl\n:return: The square root of ``x``\"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"Berechnet den Tangens von ``x``.\n\nExample: ``math.tan(0)``\n\n:param x: Eine Zahl\n:return: The tangent of ``x``.\"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"Rundet eine Zahl gegen 0 ab.\n\nExample: ``math.trunc(-0.9)``\n\n:param x: Eine Zahl\n:return: ``x`` rounded towards zero.\"\"\"\n ...\ne: float\n\"\"\"Basis des nat\u00fcrlichen Logarithmus\"\"\"\npi: float\n\"\"\"Das Verh\u00e4ltnis des Umfangs eines Kreises zu seinem Durchmesser\"\"\"", + "/typeshed/stdlib/micropython.pyi": "\"\"\"MicroPython Grundlagen.\"\"\"\nfrom typing import Any, TypeVar, overload\n_T = TypeVar('_T')\n\ndef const(expr: _T) -> _T:\n \"\"\"Wird verwendet, um zu deklarieren, dass der Ausdruck eine Konstante ist, damit der Compiler ihn optimieren kann.\n\nThe use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\nConstants declared this way are still accessible as global variables from\noutside the module they are declared in. On the other hand, if a constant\nbegins with an underscore then it is hidden, it is not available as a\nglobal variable, and does not take up any memory during execution.\n\n:param expr: Ein konstant bleibender Ausdruck.\"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"Ermittelt die aktuelle Optimierungsstufe f\u00fcr die Kompilierung von Skripten.\n\nExample: ``micropython.opt_level()``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n:return: An integer representing the current level.\"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"Legt die Optimierungsstufe f\u00fcr die nachfolgende Kompilierung von Skripten fest.\n\nExample: ``micropython.opt_level(1)``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\nThe default optimisation level is usually level 0.\n\n:param level: Eine ganzzahlige Optimierungsstufe.\"\"\"\n ...\n\ndef mem_info(verbose: Any=None) -> None:\n \"\"\"Gibt Informationen \u00fcber den aktuell verwendeten Speicher zur\u00fcck.\n\nExample: ``micropython.mem_info()``\n\n:param verbose: Wenn das Argument ``verbose`` angegeben wird, werden zus\u00e4tzliche Informationen ausgegeben.\"\"\"\n ...\n\ndef qstr_info(verbose: Any=None) -> None:\n \"\"\"Gibt Informationen zu aktuell eingebetteten Strings zur\u00fcck.\n\nExample: ``micropython.qstr_info()``\n\n:param verbose: Wenn das Argument ``verbose`` angegeben wird, werden zus\u00e4tzliche Informationen ausgegeben.\n\nThe information that is printed is implementation dependent, but currently\nincludes the number of interned strings and the amount of RAM they use. In\nverbose mode it prints out the names of all RAM-interned strings.\"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"Gibt einen Integerwert zur\u00fcck, der dem aktuell verwendeten Stack-Speicher entspricht.\n\nExample: ``micropython.stack_use()``\n\nThe absolute value of this is not particularly useful, rather it\nshould be used to compute differences in stack usage at different points.\n\n:return: An integer representing current stack use.\"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"Heap-Speicher sperren.\n\nExample: ``micropython.heap_lock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"Heap-Speicher entsperren.\n\nExample: ``micropython.heap_unlock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"Zeichen festlegen, das eine ``KeyboardInterrupt``-Exception ausl\u00f6st.\n\nExample: ``micropython.kbd_intr(-1)``\n\n:param chr: Zeichencode, um den Interrupt auszul\u00f6sen, oder -1, um die Erfassung von Ctrl-C zu deaktivieren.\n\nBy default this is set to 3 during script execution, corresponding to Ctrl-C.\nPassing -1 to this function will disable capture of Ctrl-C, and passing 3\nwill restore it.\n\nThis function can be used to prevent the capturing of Ctrl-C on the\nincoming stream of characters that is usually used for the REPL, in case\nthat stream is used for other purposes.\"\"\"\n ...", + "/typeshed/stdlib/music.pyi": "\"\"\"Erstelle und spiele Lieder. (Musik)\"\"\"\nfrom typing import Optional, Tuple, Union, List\nfrom .microbit import MicroBitDigitalPin, pin0\nDADADADUM: Tuple[str, ...]\n\"\"\"Melodie: der Anfang von Beethovens 5. Symphonie in c-Moll. (dadadadaam)\"\"\"\nENTERTAINER: Tuple[str, ...]\n\"\"\"Melodie: die ersten Takte des Ragtime-Klassikers \"The Entertainer\" von Scott Joplin. (Entertainer)\"\"\"\nPRELUDE: Tuple[str, ...]\n\"\"\"Melodie: Beginn des ersten Pr\u00e4ludiums in C-Dur der 48 Pr\u00e4ludien und Fugen von J.S. Bach.\"\"\"\nODE: Tuple[str, ...]\n\"\"\"Melodie: Die \u201eOde an die Freude\u201c von Beethovens neunter Symphonie in d-Moll. (Ode)\"\"\"\nNYAN: Tuple[str, ...]\n\"\"\"Melodie: Die Nyan-Katze (http://www.nyan.cat/) (Nyan)\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\nRINGTONE: Tuple[str, ...]\n\"\"\"Melodie: Etwas das wie ein Handy-Klingelton klingt. (Klingelton)\n\nTo be used to indicate an incoming message.\n\"\"\"\nFUNK: Tuple[str, ...]\n\"\"\"Melodie: eine funkige Basslinie f\u00fcr Geheimagenten und Superschurken. (Funk)\"\"\"\nBLUES: Tuple[str, ...]\n\"\"\"Melodie: ein 12-taktiger Boogie-Woogie-Blues mit Walking Bass. (Blues)\"\"\"\nBIRTHDAY: Tuple[str, ...]\n\"\"\"Melodie: \u201eAlles Gute zum Geburtstag\u2026\u201c (Geburtstag)\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\nWEDDING: Tuple[str, ...]\n\"\"\"Melodie: der Hochzeitschor aus Wagners Oper \"Lohengrin\". (Hochzeit)\"\"\"\nFUNERAL: Tuple[str, ...]\n\"\"\"Melodie: der \"Trauermarsch\", auch bekannt als Fr\u00e9d\u00e9ric Chopins Klaviersonate Nr. 2 in b-Moll, op. 35. (Beerdigung)\"\"\"\nPUNCHLINE: Tuple[str, ...]\n\"\"\"Melodie: ein lustiges Fragment, das anzeigt, dass ein Scherz gemacht worden ist.\"\"\"\nPYTHON: Tuple[str, ...]\n\"\"\"Melodie: John Philip Sousas Marsch \"Liberty Bell\", auch bekannt als das Thema von \"Monty Python's Flying Circus\" (nach dem die Programmiersprache Python benannt ist).\"\"\"\nBADDY: Tuple[str, ...]\n\"\"\"Melodie: Auftritt eines Stummfilm-B\u00f6sewichts.\"\"\"\nCHASE: Tuple[str, ...]\n\"\"\"Melodie: Stummfilm-Verfolgungsszene.\"\"\"\nBA_DING: Tuple[str, ...]\n\"\"\"Melodie: ein kurzes Signal, um anzuzeigen, dass etwas passiert ist.\"\"\"\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"Melody: Eine sehr traurige Posaune.\"\"\"\nJUMP_UP: Tuple[str, ...]\n\"\"\"Melodie: zur Verwendung in einem Spiel, um eine Aufw\u00e4rtsbewegung zu untermalen.\"\"\"\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"Melodie: zur Verwendung in einem Spiel, um eine Abw\u00e4rtsbewegung zu untermalen.\"\"\"\nPOWER_UP: Tuple[str, ...]\n\"\"\"Melodie: eine Fanfare, die einen Erfolg anzeigt oder dass etwas freigeschalten wurde.\"\"\"\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"Melodie: eine traurige Fanfare, wenn etwas nicht geklappt hat.\"\"\"\n\ndef set_tempo(ticks: int=4, bpm: int=120) -> None:\n \"\"\"Legt das ungef\u00e4hre Tempo f\u00fcr die Wiedergabe fest.\n\nExample: ``music.set_tempo(bpm=120)``\n\n:param ticks: Die Anzahl der Ticks in einem Beat.\n:param bpm: Ein Integerwert, der die Beats pro Minute angibt.\n\nSuggested default values allow the following useful behaviour:\n\n- music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n- music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n- music.set_tempo(bpm=180) \u2013 just change the tempo\n\nTo work out the length of a tick in milliseconds is very simple arithmetic:\n60000/bpm/ticks_per_beat. For the default values that\u2019s\n60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"Gibt das aktuelle Tempo als Tupel von Integerwerten zur\u00fcck: ``(ticks, bpm)``.\n\nExample: ``ticks, beats = music.get_tempo()``\n\n:return: The temp as a tuple with two integer values, the ticks then the beats per minute.\"\"\"\n ...\n\ndef play(music: Union[str, List[str], Tuple[str, ...]], pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True, loop: bool=False) -> None:\n \"\"\"Spielt Musik.\n\nExample: ``music.play(music.NYAN)``\n\n:param music: (Musik) Musik, die in `einer speziellen Notation `_ angegeben ist\n:param pin: der Ausgangspin zur Verwendung mit einem externen Lautsprecher (Voreinstellung ``pin0``), ``None`` f\u00fcr keinen Ton.\n:param wait: Wenn ``wait`` auf ``True`` gesetzt ist, stoppt diese Funktion die weitere Codeausf\u00fchrung.\n:param loop: Wenn ``loop`` auf ``True`` gesetzt ist, wird die Melodie wiederholt, bis ``stop`` aufgerufen oder der blockierende Aufruf unterbrochen wird.\n\nMany built-in melodies are defined in this module.\"\"\"\n ...\n\ndef pitch(frequency: int, duration: int=-1, pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True) -> None:\n \"\"\"Musiknoten spielen (Tonh\u00f6he)\n\nExample: ``music.pitch(185, 1000)``\n\n:param frequency: (Frequenz) Eine ganzzahlige Frequenz\n:param duration: (Dauer) Eine Dauer in Millisekunden. Bei negativem Wert erh\u00e4lt man bis zum n\u00e4chsten Aufruf oder einem Aufruf von ``stop`` einen Dauerton.\n:param pin: Optionaler Ausgabepin (Standard ``pin0``).\n:param wait: Wenn ``wait`` auf ``True`` gesetzt ist, stoppt diese Funktion die weitere Codeausf\u00fchrung.\n\nFor example, if the frequency is set to 440 and the length to\n1000 then we hear a standard concert A for one second.\n\nYou can only play one pitch on one pin at any one time.\"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"Stoppt die Musikwiedergabe \u00fcber den eingebauten Lautsprecher sowie jeden Pin, der Sound ausgibt.\n\nExample: ``music.stop()``\n\n:param pin: Ein optionales Argument kann zur Angabe eines Pins angegeben werden, z. B. ``music.stop(pin1)``.\"\"\"\n\ndef reset() -> None:\n \"\"\"Setzt Ticks, bpm, Dauer und Oktave auf ihre Standardwerte zur\u00fcck. (zur\u00fccksetzen)\n\nExample: ``music.reset()``\n\nValues:\n- ``ticks = 4``\n- ``bpm = 120``\n- ``duration = 4``\n- ``octave = 4``\"\"\"\n ...", + "/typeshed/stdlib/neopixel.pyi": "\"\"\"Individuell adressierbare RGB- und RGBW-LED-Streifen.\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"Initialisierung eines neuen Streifens von Neopixel-LEDs, die \u00fcber einen Pin gesteuert werden.\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: Der Pin, der den Neopixelstreifen steuert.\n:param n: Die Anzahl der Neopixel auf dem Streifen.\n:param bpp: Bytes pro Pixel. F\u00fcr die RGBW Neopixel-Unterst\u00fctzung, m\u00fcssen 4 statt der standardm\u00e4\u00dfigen 3 Bytes pro Pixel f\u00fcr RGB und GRB \u00fcbergeben werden.\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"L\u00f6sche alle Pixel. (l\u00f6schen)\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"Die Pixel anzeigen.\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"Pixel anzeigen (nur micro:bit V2) (schreiben)\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"Alle Pixel mit einem bestimmten RGB/RGBW-Wert f\u00e4rben.\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: (Farbe) Ein Tupel mit der gleichen L\u00e4nge wie die Anzahl der Bytes pro Pixel (bpp).\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"Eine Pixelfarbe festlegen.\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: Die Pixelnummer.\n:param value: (wert) Die Farbe.\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"Eine Pixelfarbe erfassen.\n\nExample: ``r, g, b = np[0]``\n\n:param key: Die Pixelnummer.\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"Erhalte die L\u00e4nge des Pixelstreifens.\n\nExample: ``len(np)``\"\"\"", + "/typeshed/stdlib/os.pyi": "\"\"\"Auf das Dateisystem zugreifen.\"\"\"\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"Dateien auflisten.\n\nExample: ``os.listdir()``\n\n:return: A list of the names of all the files contained within the local\npersistent on-device file system.\"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"Entferne (l\u00f6sche) eine Datei. (Entfernen)\n\nExample: ``os.remove('data.txt')``\n\n:param filename: (Dateiname) Die zu l\u00f6schende Datei.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"Gibt die Gr\u00f6\u00dfe einer Datei zur\u00fcck\n\nExample: ``os.size('data.txt')``\n\n:param filename: (Dateiname) Die Datei\n:return: The size in bytes.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"Ergebnis von ``os.uname()``\"\"\"\n sysname: str\n \"\"\"Name des Betriebssystems.\"\"\"\n nodename: str\n \"\"\"Name des Rechners im Netz (durch die Implementierung definiert). (Knotenname)\"\"\"\n release: str\n \"\"\"Betriebssystemver\u00f6ffentlichung. (Ver\u00f6ffentlichung)\"\"\"\n version: str\n \"\"\"Betriebssystemversion. (Version)\"\"\"\n machine: str\n \"\"\"Hardware-Kennung. (maschine)\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"Gibt Informationen zum aktuellen Betriebssystem zur\u00fcck.\n\nExample: ``os.uname()``\n\nThe return value is an object with five attributes:\n\n- ``sysname`` - operating system name\n- ``nodename`` - name of machine on network (implementation-defined)\n- ``release`` - operating system release\n- ``version`` - operating system version\n- ``machine`` - hardware identifier\n\nThere is no underlying operating system in MicroPython. As a result the\ninformation returned by the ``uname`` function is mostly useful for\nversioning details.\"\"\"\n ...", + "/typeshed/stdlib/power.pyi": "\"\"\"Manage the power modes of the micro:bit (V2 only).\n\"\"\"\n\nfrom microbit import MicroBitDigitalPin, Button\nfrom typing import Optional, Tuple, Union\n\ndef off() -> None:\n \"\"\"Power down the board to the lowest possible power mode.\n\n Example: ``power.off()``\n\n This is the equivalent to pressing the reset button for a few seconds,\n to set the board in \"Off mode\".\n\n The micro:bit will only wake up if the reset button is pressed or,\n if on battery power, when a USB cable is connected.\n\n When the board wakes up it will start for a reset state, so your program\n will start running from the beginning.\n \"\"\"\n ...\n\ndef deep_sleep(\n ms: Optional[int] = None,\n wake_on: Optional[\n Union[MicroBitDigitalPin, Button] | Tuple[MicroBitDigitalPin | Button, ...]\n ] = None,\n run_every: bool = True,\n) -> None:\n \"\"\"Set the micro:bit into a low power mode where it can wake up and continue operation.\n\n Example: ``power.deep_sleep(wake_on=(button_a, button_b))``\n\n The program state is preserved and when it wakes up it will resume\n operation where it left off.\n\n Deep Sleep mode will consume more battery power than Off mode.\n\n The wake up sources are configured via arguments.\n\n The board will always wake up when receiving UART data, when the reset\n button is pressed (which resets the board) or, in battery power,\n when the USB cable is inserted.\n\n When the ``run_every`` parameter is set to ``True`` (the default), any\n function scheduled with ``run_every`` will momentarily wake up the board\n to run and when it finishes it will go back to sleep.\n\n :param ms: A time in milliseconds to wait before it wakes up.\n :param wake_on: A single instance or a tuple of pins and/or buttons to wake up the board, e.g. ``deep_sleep(wake_on=button_a)`` or ``deep_sleep(wake_on=(pin0, pin2, button_b))``.\n :param run_every: A boolean to configure if the functions scheduled with ``microbit.run_every`` will continue to run while it sleeps.\n \"\"\"\n ...\n", + "/typeshed/stdlib/radio.pyi": "\"\"\"Kommunikation zwischen micro:bits mit dem integrierten Funk.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\nRATE_1MBIT: int\n\"\"\"Konstante zur Angabe eines Durchsatzes von 1 MBit pro Sekunde.\"\"\"\nRATE_2MBIT: int\n\"\"\"Konstante zur Angabe eines Durchsatzes von 2 MBit pro Sekunde.\"\"\"\n\ndef on() -> None:\n \"\"\"Schaltet den Funk ein. (an)\n\nExample: ``radio.on()``\n\nThis needs to be explicitly called since the radio draws power and takes\nup memory that you may otherwise need.\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Schaltet den Funk aus, um Strom und Speicherplatz zu sparen.\n\nExample: ``radio.off()``\"\"\"\n ...\n\ndef config(length: int=32, queue: int=3, channel: int=7, power: int=6, address: int=1969383796, group: int=0, data_rate: int=RATE_1MBIT) -> None:\n \"\"\"Konfiguriert den Funk.\n\nExample: ``radio.config(group=42)``\n\nThe default configuration is suitable for most use.\n\n:param length: (default=32) legt die maximale L\u00e4nge einer \u00fcber Funk gesendeten Nachricht in Bytes fest. Sie kann bis zu 251 Bytes lang sein (254 - 3 Bytes f\u00fcr S0, LENGTH und S1-Pr\u00e4ambel).\n:param queue: (default=3) gibt die Anzahl der Nachrichten an, die in der Warteschlange f\u00fcr eingehende Nachrichten gespeichert werden k\u00f6nnen. Wenn in der Warteschlange kein Platz mehr f\u00fcr eingehende Nachrichten ist, wird die eingehende Nachricht verworfen.\n:param channel: (default=7) ein Integer-Wert zwischen 0 und 83 (einschlie\u00dflich), der einen beliebigen \"Kanal\" definiert, auf den der Funk eingestellt ist.\nNachrichten werden \u00fcber diesen Kanal gesendet und nur Nachrichten, die \u00fcber diesen Kanal empfangen werden, werden in die Warteschlange der eingehenden Nachricht aufgenommen. Jeder Schritt ist 1MHz breit, beginnend mit 2400MHz.\n:param power: (default=6) ist ein ganzzahliger Wert von 0 bis 7 (einschlie\u00dflich), der die St\u00e4rke des Signals angibt, das beim Senden einer Nachricht verwendet wird. Je h\u00f6her der Wert, desto st\u00e4rker ist das Signal, aber desto mehr Strom wird vom Ger\u00e4t verbraucht. Die Nummerierung entspricht den Positionen in der folgenden Liste von dBm-Werten (Dezibel Milliwatt): -30, -20, -16, -12, -8, -4, 0, 4.\n:param address: (adresse) (default=0x75626974) ein beliebiger Name, ausgedr\u00fcckt als 32-Bit-Adresse, der verwendet wird, um eingehende Pakete auf der Hardware-Ebene zu filtern und nur diejenigen zu behalten, die mit der eingestellten Adresse \u00fcbereinstimmen. \nDie Standardeinstellung, die von anderen micro:bit-verwandten Plattformen verwendet wird, wird auch hier verwendet.\n:param group: (default=0) ein 8-Bit-Wert (0-255), der zusammen mit ``address`` beim Filtern von Nachrichten verwendet wird. \"address\" ist wie eine Haus-/B\u00fcroadresse und \"group\" ist wie die Person an dieser Adresse, an die die Nachricht gesendet werden soll.\n:param data_rate: (default=``radio.RATE_1MBIT``) zeigt die Geschwindigkeit an, mit der der Datendurchsatz stattfindet.\nKann eine der folgenden Konstanten sein, die im Modul ``radio`` definiert sind: ``RATE_250KBIT``, ``RATE_1MBIT`` oder ``RATE_2MBIT``.\n\nIf ``config`` is not called then the defaults described above are assumed.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Setzt die Einstellungen auf ihre Standardwerte zur\u00fcck. (zur\u00fccksetzen)\n\nExample: ``radio.reset()``\n\nThe defaults as as per the ``config`` function above.\"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"Sendet eine Nachricht bestehend aus Bytes.\n\nExample: ``radio.send_bytes(b'hello')``\n\n:param message: Die zu sendenden Bytes.\"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"Empf\u00e4ngt die n\u00e4chste eingehende Nachricht in der Nachrichtenwarteschlange.\n\nExample: ``radio.receive_bytes()``\n\n:return: The message bytes if any, otherwise ``None``.\"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"Kopiert die n\u00e4chste eingehende Nachricht in der Nachrichtenwarteschlange in einen Puffer.\n\nExample: ``radio.receive_bytes_info(buffer)``\n\n:param buffer: (Puffer) Der Zielpuffer. Die Nachricht wird abgeschnitten, wenn sie gr\u00f6\u00dfer als der Puffer ist.\n:return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"Sendet eine Nachricht als String.\n\nExample: ``radio.send('hello')``\n\nThis is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\nprepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n:param message: Der zu sendende String.\"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"Funktioniert genauso wie ``receive_bytes``, gibt aber zur\u00fcck, was gesendet wurde.\n\nExample: ``radio.receive()``\n\nEquivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\nthree bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\nmay target the micro:bit).\n\n:return: The message with the prepended bytes stripped and converted to a string.\n\nA ``ValueError`` exception is raised if conversion to string fails.\"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"Gibt ein Tupel mit drei Werten zur\u00fcck, die die n\u00e4chste eingehende Nachricht in der Nachrichtenwarteschlange darstellen.\n\nExample: ``radio.receive_full()``\n\nIf there are no pending messages then ``None`` is returned.\n\nThe three values in the tuple represent:\n\n- the next incoming message on the message queue as bytes.\n- the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n- a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\nFor example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\nThis function is useful for providing information needed for triangulation\nand/or trilateration with other micro:bit devices.\n\n:return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\"\"\"\n ...", + "/typeshed/stdlib/random.pyi": "\"\"\"Gibt eine Zufallszahl zur\u00fcck.\"\"\"\nfrom typing import TypeVar, Sequence, Union, overload\n\ndef getrandbits(n: int) -> int:\n \"\"\"Erzeugt einen Integerwert mit ``n`` zuf\u00e4lligen Bits.\n\nExample: ``random.getrandbits(1)``\n\n:param n: Ein Wert zwischen 1-30 (einschlie\u00dflich).\"\"\"\n ...\n\ndef seed(n: int) -> None:\n \"\"\"Initialisiert den Zufallszahlengenerator.\n\nExample: ``random.seed(0)``\n\n:param n: Der Integer-Seed\n\nThis will give you reproducibly deterministic randomness from a given starting\nstate (``n``).\"\"\"\n ...\n\ndef randint(a: int, b: int) -> int:\n \"\"\"W\u00e4hlt eine zuf\u00e4llige Ganzzahl zwischen ``a`` und ``b`` (einschlie\u00dflich) aus.\n\nExample: ``random.randint(0, 9)``\n\n:param a: Anfangswert f\u00fcr den Bereich (inklusiv)\n:param b: Endwert f\u00fcr den Bereich (inklusiv)\n\nAlias for ``randrange(a, b + 1)``.\"\"\"\n ...\n\n@overload\ndef randrange(stop: int) -> int:\n \"\"\"W\u00e4hlt eine zuf\u00e4llige Ganzzahl zwischen Null und ``stop`` (exklusiv) aus.\n\nExample: ``random.randrange(10)``\n\n:param stop: Endwert f\u00fcr den Bereich (exklusiv)\"\"\"\n ...\n\n@overload\ndef randrange(start: int, stop: int, step: int=1) -> int:\n \"\"\"W\u00e4hlt ein zuf\u00e4lliges Element aus ``range(start, stop, step)``.\n\nExample: ``random.randrange(0, 10)``\n\n:param start: Anfang des Bereichs (inklusiv)\n:param stop: Das Ende des Bereichs (exklusiv)\n:param step: Schrittweite\"\"\"\n ...\n_T = TypeVar('_T')\n\ndef choice(seq: Sequence[_T]) -> _T:\n \"\"\"W\u00e4hlt ein zuf\u00e4lliges Element aus der nicht leeren Sequenz ``seq``.\n\nExample: ``random.choice([Image.HAPPY, Image.SAD])``\n\n:param seq: Eine Sequenz.\n\nIf ``seq`` is empty, raises ``IndexError``.\"\"\"\n ...\n\ndef random() -> float:\n \"\"\"Erzeugt eine zuf\u00e4llige Flie\u00dfkommazahl im Bereich [0.0, 1.0).\n\nExample: ``random.random()``\n\n:return: The random floating point number\"\"\"\n ...\n\ndef uniform(a: float, b: float) -> float:\n \"\"\"Gibt eine zuf\u00e4llige Flie\u00dfkommazahl zwischen ``a`` und ``b`` inklusiv aus.\n\nExample: ``random.uniform(0, 9)``\n\n:param a: Anfangswert f\u00fcr den Bereich (inklusiv)\n:param b: Endwert f\u00fcr den Bereich (inklusiv)\"\"\"\n ...", + "/typeshed/stdlib/speech.pyi": "\"\"\"Bringe den micro:bit dazu zu Sprechen, zu Singen und andere sprach\u00e4hnliche Ger\u00e4usche zu machen.\"\"\"\nfrom typing import Optional\nfrom .microbit import MicroBitDigitalPin, pin0\n\ndef translate(words: str) -> str:\n \"\"\"\u00dcbersetze englische W\u00f6rter in Sprache.\n\nExample: ``speech.translate('hello world')``\n\n:param words: (W\u00f6rter) Ein String englischer W\u00f6rter.\n:return: A string containing a best guess at the appropriate phonemes to pronounce.\nThe output is generated from this `text to phoneme translation table `_.\n\nThis function should be used to generate a first approximation of phonemes\nthat can be further hand-edited to improve accuracy, inflection and\nemphasis.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef pronounce(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"Laute aussprechen.\n\nExample: ``speech.pronounce(' /HEHLOW WERLD')``\n\n:param phonemes: (Phoneme) Die auszusprechenden Phoneme als Zeichenkette\n:param pitch: (Tonh\u00f6he) Eine Zahl, die die Tonh\u00f6he der Stimme angibt\n:param speed: (tempo) Eine Zahl, die die Geschwindigkeit der Stimme angibt\n:param mouth: (Mund) Eine Zahl, die den Mund der Stimme repr\u00e4sentiert\n:param throat: (klang) Eine Zahl, die den Klang der Stimme angibt\n:param pin: Optionales Argument, um den Ausgangspin anzugeben, kann verwendet werden, um den Standardwert von ``pin0`` zu \u00fcberschreiben. Wenn wir keinen Ton \u00fcber die Pins abspielen wollen, k\u00f6nnen wir ``pin=None`` verwenden. nur micro:bit V2.\n\nOverride the optional pitch, speed, mouth and throat settings to change the\ntimbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef say(words: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"Sage englische W\u00f6rter (sage)\n\nExample: ``speech.say('hello world')``\n\n:param words: (W\u00f6rter) Der zu sagene String\n:param pitch: (Tonh\u00f6he) Eine Zahl, die die Tonh\u00f6he der Stimme angibt\n:param speed: (tempo) Eine Zahl, die die Geschwindigkeit der Stimme angibt\n:param mouth: (Mund) Eine Zahl, die den Mund der Stimme repr\u00e4sentiert\n:param throat: (klang) Eine Zahl, die den Klang der Stimme angibt\n:param pin: Optionales Argument, um den Ausgangspin anzugeben, kann verwendet werden, um den Standardwert von ``pin0`` zu \u00fcberschreiben. Wenn wir keinen Ton \u00fcber die Pins abspielen wollen, k\u00f6nnen wir ``pin=None`` verwenden. nur micro:bit V2.\n\nThe result is semi-accurate for English. Override the optional pitch, speed,\nmouth and throat settings to change the timbre (quality) of the voice.\n\nThis is a short-hand equivalent of:\n``speech.pronounce(speech.translate(words))``\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef sing(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"Singe Phoneme\n\nExample: ``speech.sing(' /HEHLOW WERLD')``\n\n:param phonemes: (Phoneme) Der zu singende String\n:param pitch: (Tonh\u00f6he) Eine Zahl, die die Tonh\u00f6he der Stimme angibt\n:param speed: (tempo) Eine Zahl, die die Geschwindigkeit der Stimme angibt\n:param mouth: (Mund) Eine Zahl, die den Mund der Stimme repr\u00e4sentiert\n:param throat: (klang) Eine Zahl, die den Klang der Stimme angibt\n:param pin: Optionales Argument, um den Ausgangspin anzugeben, kann verwendet werden, um den Standardwert von ``pin0`` zu \u00fcberschreiben. Wenn wir keinen Ton \u00fcber die Pins abspielen wollen, k\u00f6nnen wir ``pin=None`` verwenden. nur micro:bit V2.\n\nOverride the optional pitch, speed, mouth and throat settings to change\nthe timbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...", + "/typeshed/stdlib/struct.pyi": "\"\"\"Packe und entpacke primitive Datentypen. (struktur)\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom typing import Any, Tuple, Union\n\ndef calcsize(fmt: str) -> int:\n \"\"\"Rufe die Anzahl der ben\u00f6tigten Bytes ab, um den angegebenen ``fmt`` zu speichern.\n\nExample: ``struct.calcsize('hf')``\n\n:param fmt: Ein Format-String.\n:return The number of bytes needed to store such a value.\"\"\"\n ...\n\ndef pack(fmt: str, v1: Any, *vn: Any) -> bytes:\n \"\"\"Werte nach einem Format-String packen. (packen)\n\nExample: ``struct.pack('hf', 1, 3.1415)``\n\n:param fmt: Der Formatstring\n:param v1: Der erste Wert.\n:param *vn: Die verbleibenden Werte.\n:return A bytes object encoding the values.\"\"\"\n ...\n\ndef pack_into(fmt: str, buffer: WriteableBuffer, offset: int, v1: Any, *vn: Any) -> None:\n \"\"\"Werte nach einem Format-String packen. (packen in)\n\nExample: ``struct.pack_info('hf', buffer, 1, 3.1415)``\n\n:param fmt: Der Formatstring\n:param buffer: (Puffer) Der Buffer, in den geschrieben werden soll.\n:param offset: Der Offset in den Puffer. Kann negativ sein, um vom Ende des Puffers aus zu z\u00e4hlen.\n:param v1: Der erste Wert.\n:param *vn: Die verbleibenden Werte.\"\"\"\n ...\n\ndef unpack(fmt: str, data: ReadableBuffer) -> Tuple[Any, ...]:\n \"\"\"Daten nach einem Format-String entpacken.\n\nExample: ``v1, v2 = struct.unpack('hf', buffer)``\n\n:param fmt: Der Formatstring\n:param data: (Daten) Die Daten.\n:return: A tuple of the unpacked values.\"\"\"\n ...\n\ndef unpack_from(fmt: str, buffer: ReadableBuffer, offset: int=0) -> Tuple:\n \"\"\"Daten aus einem Puffer nach einem Format-String entpacken. (entpacken von)\n\nExample: ``v1, v2 = struct.unpack_from('hf', buffer)``\n\n:param fmt: Der Formatstring\n:param buffer: (Puffer) Der Quellpuffer, von dem gelesen werden soll.\n:param offset: Der Offset in den Puffer. Kann negativ sein, um vom Ende des Puffers aus zu z\u00e4hlen.\n:return: A tuple of the unpacked values.\"\"\"\n ...", + "/typeshed/stdlib/sys.pyi": "\"\"\"Systemspezifische Funktionen\"\"\"\nfrom typing import Any, Dict, List, NoReturn, TextIO, Tuple\n\ndef exit(retval: object=...) -> NoReturn:\n \"\"\"Ein Programm mit dem gegebenen Exit-Code beenden.\n\nExample: ``sys.exit(1)``\n\nThis function raises a ``SystemExit`` exception. If an argument is given, its\nvalue given as an argument to ``SystemExit``.\n\n:param retval: Der Exit-Code oder die Nachricht.\"\"\"\n ...\n\ndef print_exception(exc: Exception) -> None:\n \"\"\"Eine Ausnahme mit einem Traceback ausgeben. (Ausnahme ausgeben)\n\nExample: ``sys.print_exception(e)``\n\n:param exc: Die auszugebende Ausnahme\n\nThis is simplified version of a function which appears in the\n``traceback`` module in CPython.\"\"\"\nargv: List[str]\n\"\"\"Eine ver\u00e4nderbare Liste von Argumenten, mit denen das aktuelle Programm gestartet wurde.\"\"\"\nbyteorder: str\n\"\"\"Die Byte-Reihenfolge des Systems (``\"little\"`` oder ``\"big\"``).\"\"\"\n\nclass _implementation:\n name: str\n version: Tuple[int, int, int]\nimplementation: _implementation\n\"\"\"Objekt mit Informationen \u00fcber die aktuelle Python-Implementierung. (Implementierung)\n\nFor MicroPython, it has following attributes:\n\n- ``name`` - string \"micropython\"\n- ``version`` - tuple (major, minor, micro), e.g. (1, 7, 0)\n\nThis object is the recommended way to distinguish MicroPython from other\nPython implementations (note that it still may not exist in the very\nminimal ports).\n\nCPython mandates more attributes for this object, but the actual useful\nbare minimum is implemented in MicroPython.\n\"\"\"\nmaxsize: int\n\"\"\"\nMaximaler Wert, den ein nativer Integer-Typ auf der aktuellen Plattform halten kann, oder maximaler Wert, der durch den MicroPython-Integer-Typ darstellbar ist, wenn er kleiner ist als der maximale Plattformwert (das ist der Fall bei MicroPython-Ports ohne \"long int\"-Unterst\u00fctzung).\n\nThis attribute is useful for detecting \"bitness\" of a platform (32-bit vs\n64-bit, etc.). It's recommended to not compare this attribute to some\nvalue directly, but instead count number of bits in it::\n\n bits = 0\n v = sys.maxsize\n while v:\n bits += 1\n v >>= 1\n if bits > 32:\n # 64-bit (or more) platform\n ...\n else:\n # 32-bit (or less) platform\n # Note that on 32-bit platform, value of bits may be less than 32\n # (e.g. 31) due to peculiarities described above, so use \"> 16\",\n # \"> 32\", \"> 64\" style of comparisons.\n\"\"\"\nmodules: Dict[str, Any]\n\"\"\"W\u00f6rterbuch der geladenen Module. (module) \n\nOn some ports, it may not include builtin modules.\"\"\"\npath: List[str]\n\"\"\"Eine ver\u00e4nderbare Liste von Verzeichnissen zum Suchen nach importierten Modulen.\"\"\"\nplatform: str\n\"\"\"Die Plattform, auf der MicroPython l\u00e4uft. (plattform) \n\nFor OS/RTOS ports, this is usually an identifier of the OS, e.g. ``\"linux\"``.\nFor baremetal ports it is an identifier of a board, e.g. ``\"pyboard\"`` for \nthe original MicroPython reference board. It thus can be used to\ndistinguish one board from another.\n\nIf you need to check whether your program runs on MicroPython (vs other\nPython implementation), use ``sys.implementation`` instead.\n\"\"\"\nversion: str\n\"\"\"Python-Sprachversion, der diese Implementierung als String entspricht. (Version)\"\"\"\nversion_info: Tuple[int, int, int]\n\"\"\"Python-Sprachversion, der diese Implementierung als Tuple mit Ints entspricht. (Versionsinformationen)\n\nOnly the first three version numbers (major, minor, micro) are supported and\nthey can be referenced only by index, not by name.\n\"\"\"", + "/typeshed/stdlib/this.pyi": "def authors() -> str: ...\n", + "/typeshed/stdlib/time.pyi": "\"\"\"Messe Zeit und f\u00fcge Verz\u00f6gerung zu Programmen hinzu. (Zeit)\"\"\"\nfrom typing import Union\n\ndef sleep(seconds: Union[int, float]) -> None:\n \"\"\"Warte eine bestimmte Zahl in Sekunden.\n\nExample: ``time.sleep(1)``\n\n:param seconds: (sekunden) Die Anzahl der Sekunden f\u00fcr die der Ruhezustand angezeigt wird.\nBenutze eine Gleitkommazahl f\u00fcr eine Bruchzahl von Sekunden.\"\"\"\n ...\n\ndef sleep_ms(ms: int) -> None:\n \"\"\"Verz\u00f6gerung f\u00fcr die angegebene Anzahl von Millisekunden. (schlafe ms)\n\nExample: ``time.sleep_ms(1_000_000)``\n\n:param ms: Die Anzahl der zu wartenden Millisekunden (>= 0).\"\"\"\n ...\n\ndef sleep_us(us: int) -> None:\n \"\"\"Verz\u00f6gerung f\u00fcr die angegebene Anzahl von Mikrosekunden.\n\nExample: ``time.sleep_us(1000)``\n\n:param us: Die Anzahl der zu wartenden Mikrosekunden (>= 0).\"\"\"\n ...\n\ndef ticks_ms() -> int:\n \"\"\"Holt einen ansteigenden Millisekunden-Z\u00e4hler mit einem beliebigen Referenzpunkt, der nach einem bestimmten Wert weiterl\u00e4uft.\n\nExample: ``time.ticks_ms()``\n\n:return: The counter value in milliseconds.\"\"\"\n ...\n\ndef ticks_us() -> int:\n \"\"\"Holt einen ansteigenden Mikrosekunden-Z\u00e4hler mit einem beliebigen Referenzpunkt, der nach einem bestimmten Wert weiterl\u00e4uft.\n\nExample: ``time.ticks_us()``\n\n:return: The counter value in microseconds.\"\"\"\n ...\n\ndef ticks_add(ticks: int, delta: int) -> int:\n \"\"\"Versetzt den Tick-Wert um eine bestimmte Zahl, die entweder positiv oder negativ sein kann.\n\nExample: ``time.ticks_add(time.ticks_ms(), 200)``\n\nGiven a ticks value, this function allows to calculate ticks\nvalue delta ticks before or after it, following modular-arithmetic\ndefinition of tick values.\n\n:param ticks: Ein Tick-Wert\n:param delta: Ein ganzzahliger Offset\n\nExample::\n\n # Find out what ticks value there was 100ms ago\n print(ticks_add(time.ticks_ms(), -100))\n\n # Calculate deadline for operation and test for it\n deadline = ticks_add(time.ticks_ms(), 200)\n while ticks_diff(deadline, time.ticks_ms()) > 0:\n do_a_little_of_something()\n\n # Find out TICKS_MAX used by this port\n print(ticks_add(0, -1))\"\"\"\n ...\n\ndef ticks_diff(ticks1: int, ticks2: int) -> int:\n \"\"\"Messung der Ticks-Differenz zwischen den Werten, die von ``time.ticks_ms()`` oder ``ticks_us()`` zur\u00fcckgegeben werden, als vorzeichenbehafteter Wert der umgeschlagen werden kann.\n\nExample: ``time.ticks_diff(scheduled_time, now)``\n\n:param ticks1: Der zu subtrahierende Wert von\n:param ticks2: Der zu subtrahierende Wert\n\nThe argument order is the same as for subtraction operator,\n``ticks_diff(ticks1, ticks2)`` has the same meaning as ``ticks1 - ticks2``.\n\n``ticks_diff()`` is designed to accommodate various usage\npatterns, among them:\n\nPolling with timeout. In this case, the order of events is known, and you\nwill deal only with positive results of :func:`time.ticks_diff()`::\n\n # Wait for GPIO pin to be asserted, but at most 500us\n start = time.ticks_us()\n while pin.value() == 0:\n if time.ticks_diff(time.ticks_us(), start) > 500:\n raise TimeoutError\n\n\nScheduling events. In this case, :func:`time.ticks_diff()` result may be\nnegative if an event is overdue::\n\n # This code snippet is not optimized\n now = time.ticks_ms()\n scheduled_time = task.scheduled_time()\n if ticks_diff(scheduled_time, now) > 0:\n print(\"Too early, let's nap\")\n sleep_ms(ticks_diff(scheduled_time, now))\n task.run()\n elif ticks_diff(scheduled_time, now) == 0:\n print(\"Right at time!\")\n task.run()\n elif ticks_diff(scheduled_time, now) < 0:\n print(\"Oops, running late, tell task to run faster!\")\n task.run(run_faster=True)\"\"\"\n ...", + "/typeshed/stdlib/types.pyi": "import sys\nfrom typing import (\n Any,\n AsyncGenerator,\n Awaitable,\n Callable,\n Generator,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n Tuple,\n Type,\n TypeVar,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, final\n\n# Note, all classes \"defined\" here require special handling.\n\n_T = TypeVar(\"_T\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_V_co = TypeVar(\"_V_co\", covariant=True)\n\n@final\nclass _Cell:\n __hash__: None # type: ignore\n cell_contents: Any\n\n@final\nclass FunctionType:\n __closure__: Tuple[_Cell, ...] | None\n __code__: CodeType\n __defaults__: Tuple[Any, ...] | None\n __dict__: dict[str, Any]\n __globals__: dict[str, Any]\n __name__: str\n __qualname__: str\n __annotations__: dict[str, Any]\n __kwdefaults__: dict[str, Any]\n def __init__(\n self,\n code: CodeType,\n globals: dict[str, Any],\n name: str | None = ...,\n argdefs: Tuple[object, ...] | None = ...,\n closure: Tuple[_Cell, ...] | None = ...,\n ) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: object | None, type: type | None) -> MethodType: ...\n\nLambdaType = FunctionType\n\n@final\nclass CodeType:\n \"\"\"Create a code object. Not for the faint of heart.\"\"\"\n\n co_argcount: int\n if sys.version_info >= (3, 8):\n co_posonlyargcount: int\n co_kwonlyargcount: int\n co_nlocals: int\n co_stacksize: int\n co_flags: int\n co_code: bytes\n co_consts: Tuple[Any, ...]\n co_names: Tuple[str, ...]\n co_varnames: Tuple[str, ...]\n co_filename: str\n co_name: str\n co_firstlineno: int\n co_lnotab: bytes\n co_freevars: Tuple[str, ...]\n co_cellvars: Tuple[str, ...]\n if sys.version_info >= (3, 8):\n def __init__(\n self,\n argcount: int,\n posonlyargcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n else:\n def __init__(\n self,\n argcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n if sys.version_info >= (3, 8):\n def replace(\n self,\n *,\n co_argcount: int = ...,\n co_posonlyargcount: int = ...,\n co_kwonlyargcount: int = ...,\n co_nlocals: int = ...,\n co_stacksize: int = ...,\n co_flags: int = ...,\n co_firstlineno: int = ...,\n co_code: bytes = ...,\n co_consts: Tuple[Any, ...] = ...,\n co_names: Tuple[str, ...] = ...,\n co_varnames: Tuple[str, ...] = ...,\n co_freevars: Tuple[str, ...] = ...,\n co_cellvars: Tuple[str, ...] = ...,\n co_filename: str = ...,\n co_name: str = ...,\n co_lnotab: bytes = ...,\n ) -> CodeType: ...\n\n@final\nclass MappingProxyType(Mapping[_KT, _VT_co], Generic[_KT, _VT_co]):\n __hash__: None # type: ignore\n def __init__(self, mapping: Mapping[_KT, _VT_co]) -> None: ...\n def __getitem__(self, k: _KT) -> _VT_co: ...\n def __iter__(self) -> Iterator[_KT]: ...\n def __len__(self) -> int: ...\n def copy(self) -> dict[_KT, _VT_co]: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def items(self) -> ItemsView[_KT, _VT_co]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def __or__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n def __ror__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n\nclass SimpleNamespace:\n __hash__: None # type: ignore\n def __init__(self, **kwargs: Any) -> None: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __delattr__(self, name: str) -> None: ...\n\nclass ModuleType:\n __name__: str\n __file__: str\n __dict__: dict[str, Any]\n __package__: str | None\n def __init__(self, name: str, doc: str | None = ...) -> None: ...\n\n@final\nclass GeneratorType(Generator[_T_co, _T_contra, _V_co]):\n gi_code: CodeType\n gi_frame: FrameType\n gi_running: bool\n gi_yieldfrom: GeneratorType[_T_co, _T_contra, Any] | None\n def __iter__(self) -> GeneratorType[_T_co, _T_contra, _V_co]: ...\n def __next__(self) -> _T_co: ...\n def close(self) -> None: ...\n def send(self, __arg: _T_contra) -> _T_co: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> _T_co: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> _T_co: ...\n\n@final\nclass AsyncGeneratorType(AsyncGenerator[_T_co, _T_contra]):\n ag_await: Awaitable[Any] | None\n ag_frame: FrameType\n ag_running: bool\n ag_code: CodeType\n def __aiter__(self) -> AsyncGeneratorType[_T_co, _T_contra]: ...\n def __anext__(self) -> Awaitable[_T_co]: ...\n def asend(self, __val: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Awaitable[_T_co]: ...\n def aclose(self) -> Awaitable[None]: ...\n\n@final\nclass CoroutineType:\n cr_await: Any | None\n cr_code: CodeType\n cr_frame: FrameType\n cr_running: bool\n def close(self) -> None: ...\n def send(self, __arg: Any) -> Any: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Any: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Any: ...\n\nclass _StaticFunctionType:\n \"\"\"Fictional type to correct the type of MethodType.__func__.\n\n FunctionType is a descriptor, so mypy follows the descriptor protocol and\n converts MethodType.__func__ back to MethodType (the return type of\n FunctionType.__get__). But this is actually a special case; MethodType is\n implemented in C and its attribute access doesn't go through\n __getattribute__.\n\n By wrapping FunctionType in _StaticFunctionType, we get the right result;\n similar to wrapping a function in staticmethod() at runtime to prevent it\n being bound as a method.\n \"\"\"\n\n def __get__(self, obj: object | None, type: type | None) -> FunctionType: ...\n\n@final\nclass MethodType:\n __closure__: Tuple[_Cell, ...] | None # inherited from the added function\n __defaults__: Tuple[Any, ...] | None # inherited from the added function\n __func__: _StaticFunctionType\n __self__: object\n __name__: str # inherited from the added function\n __qualname__: str # inherited from the added function\n def __init__(self, func: Callable[..., Any], obj: object) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\n@final\nclass BuiltinFunctionType:\n __self__: object | ModuleType\n __name__: str\n __qualname__: str\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\nBuiltinMethodType = BuiltinFunctionType\n\nif sys.version_info >= (3, 7):\n @final\n class WrapperDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class MethodWrapperType:\n __self__: object\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __eq__(self, other: Any) -> bool: ...\n def __ne__(self, other: Any) -> bool: ...\n @final\n class MethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class ClassMethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n\n@final\nclass TracebackType:\n if sys.version_info >= (3, 7):\n def __init__(\n self,\n tb_next: TracebackType | None,\n tb_frame: FrameType,\n tb_lasti: int,\n tb_lineno: int,\n ) -> None: ...\n tb_next: TracebackType | None\n else:\n @property\n def tb_next(self) -> TracebackType | None: ...\n # the rest are read-only even in 3.7\n @property\n def tb_frame(self) -> FrameType: ...\n @property\n def tb_lasti(self) -> int: ...\n @property\n def tb_lineno(self) -> int: ...\n\n@final\nclass FrameType:\n f_back: FrameType | None\n f_builtins: dict[str, Any]\n f_code: CodeType\n f_globals: dict[str, Any]\n f_lasti: int\n f_lineno: int\n f_locals: dict[str, Any]\n f_trace: Callable[[FrameType, str, Any], Any] | None\n if sys.version_info >= (3, 7):\n f_trace_lines: bool\n f_trace_opcodes: bool\n def clear(self) -> None: ...\n\n@final\nclass GetSetDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\n@final\nclass MemberDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nif sys.version_info >= (3, 7):\n def new_class(\n name: str,\n bases: Iterable[object] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n def resolve_bases(bases: Iterable[object]) -> Tuple[Any, ...]: ...\n\nelse:\n def new_class(\n name: str,\n bases: Tuple[type, ...] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n\ndef prepare_class(\n name: str, bases: Tuple[type, ...] = ..., kwds: dict[str, Any] | None = ...\n) -> Tuple[type, dict[str, Any], dict[str, Any]]: ...\n\n# Actually a different type, but `property` is special and we want that too.\nDynamicClassAttribute = property\n\ndef coroutine(func: Callable[..., Any]) -> CoroutineType: ...\n\nif sys.version_info >= (3, 8):\n CellType = _Cell\n\nif sys.version_info >= (3, 9):\n class GenericAlias:\n __origin__: type\n __args__: Tuple[Any, ...]\n __parameters__: Tuple[Any, ...]\n def __init__(self, origin: type, args: Any) -> None: ...\n def __getattr__(self, name: str) -> Any: ... # incomplete\n\nif sys.version_info >= (3, 10):\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n EllipsisType = ellipsis # noqa F811 from builtins\n from builtins import _NotImplementedType\n\n NotImplementedType = _NotImplementedType # noqa F811 from builtins\n @final\n class UnionType:\n __args__: Tuple[Any, ...]\n def __or__(self, obj: Any) -> UnionType: ...\n def __ror__(self, obj: Any) -> UnionType: ...\n", + "/typeshed/stdlib/typing.pyi": "import collections # Needed by aliases like DefaultDict, see mypy issue 2986\nimport sys\nfrom abc import ABCMeta, abstractmethod\nfrom types import BuiltinFunctionType, CodeType, FrameType, FunctionType, MethodType, ModuleType, TracebackType\nfrom typing_extensions import Literal as _Literal\n\nif sys.version_info >= (3, 7):\n from types import MethodDescriptorType, MethodWrapperType, WrapperDescriptorType\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n# Definitions of special type checking related constructs. Their definitions\n# are not used, so their value does not matter.\n\nAny = object()\n\nclass TypeVar:\n __name__: str\n __bound__: Optional[Type[Any]]\n __constraints__: Tuple[Type[Any], ...]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self,\n name: str,\n *constraints: Type[Any],\n bound: Union[None, Type[Any], str] = ...,\n covariant: bool = ...,\n contravariant: bool = ...,\n ) -> None: ...\n\n_promote = object()\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> object: ...\n\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n\ndef overload(func: _F) -> _F: ...\n\nUnion: _SpecialForm = ...\nOptional: _SpecialForm = ...\nTuple: _SpecialForm = ...\nGeneric: _SpecialForm = ...\n# Protocol is only present in 3.8 and later, but mypy needs it unconditionally\nProtocol: _SpecialForm = ...\nCallable: _SpecialForm = ...\nType: _SpecialForm = ...\nClassVar: _SpecialForm = ...\nif sys.version_info >= (3, 8):\n Final: _SpecialForm = ...\n def final(f: _F) -> _F: ...\n Literal: _SpecialForm = ...\n # TypedDict is a (non-subscriptable) special form.\n TypedDict: object\n\nif sys.version_info < (3, 7):\n class GenericMeta(type): ...\n\nif sys.version_info >= (3, 10):\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Optional[Type[Any]]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: Union[None, Type[Any], str] = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n\n# Return type that indicates a function does not return.\n# This type is equivalent to the None type, but the no-op Union is necessary to\n# distinguish the None type from the None value.\nNoReturn = Union[None]\n\n# These type variables are used by the container types.\n_T = TypeVar(\"_T\")\n_S = TypeVar(\"_S\")\n_KT = TypeVar(\"_KT\") # Key type.\n_VT = TypeVar(\"_VT\") # Value type.\n_T_co = TypeVar(\"_T_co\", covariant=True) # Any type covariant containers.\n_V_co = TypeVar(\"_V_co\", covariant=True) # Any type covariant containers.\n_KT_co = TypeVar(\"_KT_co\", covariant=True) # Key type covariant containers.\n_VT_co = TypeVar(\"_VT_co\", covariant=True) # Value type covariant containers.\n_T_contra = TypeVar(\"_T_contra\", contravariant=True) # Ditto contravariant.\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\ndef no_type_check(arg: _F) -> _F: ...\ndef no_type_check_decorator(decorator: _F) -> _F: ...\n\n# Type aliases and type constructors\n\nclass _Alias:\n # Class for defining generic aliases for library types.\n def __getitem__(self, typeargs: Any) -> Any: ...\n\nList = _Alias()\nDict = _Alias()\nDefaultDict = _Alias()\nSet = _Alias()\nFrozenSet = _Alias()\nCounter = _Alias()\nDeque = _Alias()\nChainMap = _Alias()\n\nif sys.version_info >= (3, 7):\n OrderedDict = _Alias()\n\nif sys.version_info >= (3, 9):\n Annotated: _SpecialForm = ...\n\n# Predefined type variables.\nAnyStr = TypeVar(\"AnyStr\", str, bytes)\n\n# Abstract base classes.\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n@runtime_checkable\nclass SupportsInt(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __int__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsFloat(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __float__(self) -> float: ...\n\n@runtime_checkable\nclass SupportsComplex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __complex__(self) -> complex: ...\n\n@runtime_checkable\nclass SupportsBytes(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __bytes__(self) -> bytes: ...\n\nif sys.version_info >= (3, 8):\n @runtime_checkable\n class SupportsIndex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __index__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsAbs(Protocol[_T_co]):\n @abstractmethod\n def __abs__(self) -> _T_co: ...\n\n@runtime_checkable\nclass SupportsRound(Protocol[_T_co]):\n @overload\n @abstractmethod\n def __round__(self) -> int: ...\n @overload\n @abstractmethod\n def __round__(self, ndigits: int) -> _T_co: ...\n\n@runtime_checkable\nclass Sized(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __len__(self) -> int: ...\n\n@runtime_checkable\nclass Hashable(Protocol, metaclass=ABCMeta):\n # TODO: This is special, in that a subclass of a hashable class may not be hashable\n # (for example, list vs. object). It's not obvious how to represent this. This class\n # is currently mostly useless for static checking.\n @abstractmethod\n def __hash__(self) -> int: ...\n\n@runtime_checkable\nclass Iterable(Protocol[_T_co]):\n @abstractmethod\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Iterator(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __next__(self) -> _T_co: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Reversible(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass Generator(Iterator[_T_co], Generic[_T_co, _T_contra, _V_co]):\n def __next__(self) -> _T_co: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n def close(self) -> None: ...\n def __iter__(self) -> Generator[_T_co, _T_contra, _V_co]: ...\n @property\n def gi_code(self) -> CodeType: ...\n @property\n def gi_frame(self) -> FrameType: ...\n @property\n def gi_running(self) -> bool: ...\n @property\n def gi_yieldfrom(self) -> Optional[Generator[Any, Any, Any]]: ...\n\n@runtime_checkable\nclass Awaitable(Protocol[_T_co]):\n @abstractmethod\n def __await__(self) -> Generator[Any, None, _T_co]: ...\n\nclass Coroutine(Awaitable[_V_co], Generic[_T_co, _T_contra, _V_co]):\n __name__: str\n __qualname__: str\n @property\n def cr_await(self) -> Optional[Any]: ...\n @property\n def cr_code(self) -> CodeType: ...\n @property\n def cr_frame(self) -> FrameType: ...\n @property\n def cr_running(self) -> bool: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n @abstractmethod\n def close(self) -> None: ...\n\n# NOTE: This type does not exist in typing.py or PEP 484.\n# The parameters correspond to Generator, but the 4th is the original type.\nclass AwaitableGenerator(\n Awaitable[_V_co], Generator[_T_co, _T_contra, _V_co], Generic[_T_co, _T_contra, _V_co, _S], metaclass=ABCMeta\n): ...\n\n@runtime_checkable\nclass AsyncIterable(Protocol[_T_co]):\n @abstractmethod\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\n@runtime_checkable\nclass AsyncIterator(AsyncIterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\nclass AsyncGenerator(AsyncIterator[_T_co], Generic[_T_co, _T_contra]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n @abstractmethod\n def asend(self, __value: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> Awaitable[_T_co]: ...\n @abstractmethod\n def aclose(self) -> Awaitable[None]: ...\n @abstractmethod\n def __aiter__(self) -> AsyncGenerator[_T_co, _T_contra]: ...\n @property\n def ag_await(self) -> Any: ...\n @property\n def ag_code(self) -> CodeType: ...\n @property\n def ag_frame(self) -> FrameType: ...\n @property\n def ag_running(self) -> bool: ...\n\n@runtime_checkable\nclass Container(Protocol[_T_co]):\n @abstractmethod\n def __contains__(self, __x: object) -> bool: ...\n\n@runtime_checkable\nclass Collection(Iterable[_T_co], Container[_T_co], Protocol[_T_co]):\n # Implement Sized (but don't have it as a base class).\n @abstractmethod\n def __len__(self) -> int: ...\n\n_Collection = Collection[_T_co]\n\nclass Sequence(_Collection[_T_co], Reversible[_T_co], Generic[_T_co]):\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T_co: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> Sequence[_T_co]: ...\n # Mixin methods\n def index(self, value: Any, start: int = ..., stop: int = ...) -> int: ...\n def count(self, value: Any) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass MutableSequence(Sequence[_T], Generic[_T]):\n @abstractmethod\n def insert(self, index: int, value: _T) -> None: ...\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> MutableSequence[_T]: ...\n @overload\n @abstractmethod\n def __setitem__(self, i: int, o: _T) -> None: ...\n @overload\n @abstractmethod\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: int) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: slice) -> None: ...\n # Mixin methods\n def append(self, value: _T) -> None: ...\n def clear(self) -> None: ...\n def extend(self, values: Iterable[_T]) -> None: ...\n def reverse(self) -> None: ...\n def pop(self, index: int = ...) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __iadd__(self, x: Iterable[_T]) -> MutableSequence[_T]: ...\n\nclass AbstractSet(_Collection[_T_co], Generic[_T_co]):\n @abstractmethod\n def __contains__(self, x: object) -> bool: ...\n # Mixin methods\n def __le__(self, s: AbstractSet[Any]) -> bool: ...\n def __lt__(self, s: AbstractSet[Any]) -> bool: ...\n def __gt__(self, s: AbstractSet[Any]) -> bool: ...\n def __ge__(self, s: AbstractSet[Any]) -> bool: ...\n def __and__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def __sub__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def isdisjoint(self, other: Iterable[Any]) -> bool: ...\n\nclass MutableSet(AbstractSet[_T], Generic[_T]):\n @abstractmethod\n def add(self, value: _T) -> None: ...\n @abstractmethod\n def discard(self, value: _T) -> None: ...\n # Mixin methods\n def clear(self) -> None: ...\n def pop(self) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __ior__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __iand__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __isub__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n\nclass MappingView(Sized):\n def __init__(self, mapping: Mapping[Any, Any]) -> None: ... # undocumented\n def __len__(self) -> int: ...\n\nclass ItemsView(MappingView, AbstractSet[Tuple[_KT_co, _VT_co]], Generic[_KT_co, _VT_co]):\n def __init__(self, mapping: Mapping[_KT_co, _VT_co]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n\nclass KeysView(MappingView, AbstractSet[_KT_co], Generic[_KT_co]):\n def __init__(self, mapping: Mapping[_KT_co, Any]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_KT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT_co]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n\nclass ValuesView(MappingView, Iterable[_VT_co], Generic[_VT_co]):\n def __init__(self, mapping: Mapping[Any, _VT_co]) -> None: ... # undocumented\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_VT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_VT_co]: ...\n\n@runtime_checkable\nclass ContextManager(Protocol[_T_co]):\n def __enter__(self) -> _T_co: ...\n def __exit__(\n self,\n __exc_type: Optional[Type[BaseException]],\n __exc_value: Optional[BaseException],\n __traceback: Optional[TracebackType],\n ) -> Optional[bool]: ...\n\n@runtime_checkable\nclass AsyncContextManager(Protocol[_T_co]):\n def __aenter__(self) -> Awaitable[_T_co]: ...\n def __aexit__(\n self, exc_type: Optional[Type[BaseException]], exc_value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Awaitable[Optional[bool]]: ...\n\nclass Mapping(_Collection[_KT], Generic[_KT, _VT_co]):\n # TODO: We wish the key type could also be covariant, but that doesn't work,\n # see discussion in https: //github.com/python/typing/pull/273.\n @abstractmethod\n def __getitem__(self, k: _KT) -> _VT_co: ...\n # Mixin methods\n @overload\n def get(self, key: _KT) -> Optional[_VT_co]: ...\n @overload\n def get(self, key: _KT, default: Union[_VT_co, _T]) -> Union[_VT_co, _T]: ...\n def items(self) -> AbstractSet[Tuple[_KT, _VT_co]]: ...\n def keys(self) -> AbstractSet[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def __contains__(self, o: object) -> bool: ...\n\nclass MutableMapping(Mapping[_KT, _VT], Generic[_KT, _VT]):\n @abstractmethod\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n @abstractmethod\n def __delitem__(self, v: _KT) -> None: ...\n def clear(self) -> None: ...\n @overload\n def pop(self, key: _KT) -> _VT: ...\n @overload\n def pop(self, key: _KT, default: Union[_VT, _T] = ...) -> Union[_VT, _T]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, key: _KT, default: _VT = ...) -> _VT: ...\n # 'update' used to take a Union, but using overloading is better.\n # The second overloaded type here is a bit too general, because\n # Mapping[Tuple[_KT, _VT], W] is a subclass of Iterable[Tuple[_KT, _VT]],\n # but will always have the behavior of the first overloaded type\n # at runtime, leading to keys of a mix of types _KT and Tuple[_KT, _VT].\n # We don't currently have any way of forcing all Mappings to use\n # the first overload, but by using overloading rather than a Union,\n # mypy will commit to using the first overload when the argument is\n # known to be a Mapping with unknown type parameters, which is closer\n # to the behavior we want. See mypy issue #1430.\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n\nText = str\n\nTYPE_CHECKING = True\n\nclass IO(Iterator[AnyStr], Generic[AnyStr]):\n # TODO use abstract properties\n @property\n def mode(self) -> str: ...\n @property\n def name(self) -> str: ...\n @abstractmethod\n def close(self) -> None: ...\n @property\n def closed(self) -> bool: ...\n @abstractmethod\n def fileno(self) -> int: ...\n @abstractmethod\n def flush(self) -> None: ...\n @abstractmethod\n def isatty(self) -> bool: ...\n @abstractmethod\n def read(self, n: int = ...) -> AnyStr: ...\n @abstractmethod\n def readable(self) -> bool: ...\n @abstractmethod\n def readline(self, limit: int = ...) -> AnyStr: ...\n @abstractmethod\n def readlines(self, hint: int = ...) -> list[AnyStr]: ...\n @abstractmethod\n def seek(self, offset: int, whence: int = ...) -> int: ...\n @abstractmethod\n def seekable(self) -> bool: ...\n @abstractmethod\n def tell(self) -> int: ...\n @abstractmethod\n def truncate(self, size: Optional[int] = ...) -> int: ...\n @abstractmethod\n def writable(self) -> bool: ...\n @abstractmethod\n def write(self, s: AnyStr) -> int: ...\n @abstractmethod\n def writelines(self, lines: Iterable[AnyStr]) -> None: ...\n @abstractmethod\n def __next__(self) -> AnyStr: ...\n @abstractmethod\n def __iter__(self) -> Iterator[AnyStr]: ...\n @abstractmethod\n def __enter__(self) -> IO[AnyStr]: ...\n @abstractmethod\n def __exit__(\n self, t: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Optional[bool]: ...\n\nclass BinaryIO(IO[bytes]):\n @abstractmethod\n def __enter__(self) -> BinaryIO: ...\n\nclass TextIO(IO[str]):\n # TODO use abstractproperty\n @property\n def buffer(self) -> BinaryIO: ...\n @property\n def encoding(self) -> str: ...\n @property\n def errors(self) -> Optional[str]: ...\n @property\n def line_buffering(self) -> int: ... # int on PyPy, bool on CPython\n @property\n def newlines(self) -> Any: ... # None, str or tuple\n @abstractmethod\n def __enter__(self) -> TextIO: ...\n\nclass ByteString(Sequence[int], metaclass=ABCMeta): ...\n\nclass Match(Generic[AnyStr]):\n pos: int\n endpos: int\n lastindex: Optional[int]\n lastgroup: Optional[AnyStr]\n string: AnyStr\n\n # The regular expression object whose match() or search() method produced\n # this match instance.\n re: Pattern[AnyStr]\n def expand(self, template: AnyStr) -> AnyStr: ...\n # group() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def group(self, __group: _Literal[0] = ...) -> AnyStr: ...\n @overload\n def group(self, __group: str | int) -> AnyStr | Any: ...\n @overload\n def group(self, __group1: str | int, __group2: str | int, *groups: str | int) -> Tuple[AnyStr | Any, ...]: ...\n # Each item of groups()'s return tuple is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groups(self) -> Tuple[AnyStr | Any, ...]: ...\n @overload\n def groups(self, default: _T) -> Tuple[AnyStr | _T, ...]: ...\n # Each value in groupdict()'s return dict is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groupdict(self) -> dict[str, AnyStr | Any]: ...\n @overload\n def groupdict(self, default: _T) -> dict[str, AnyStr | _T]: ...\n def start(self, __group: Union[int, str] = ...) -> int: ...\n def end(self, __group: Union[int, str] = ...) -> int: ...\n def span(self, __group: Union[int, str] = ...) -> Tuple[int, int]: ...\n @property\n def regs(self) -> Tuple[Tuple[int, int], ...]: ... # undocumented\n # __getitem__() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def __getitem__(self, __key: _Literal[0]) -> AnyStr: ...\n @overload\n def __getitem__(self, __key: int | str) -> AnyStr | Any: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass Pattern(Generic[AnyStr]):\n flags: int\n groupindex: Mapping[str, int]\n groups: int\n pattern: AnyStr\n def search(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def match(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def fullmatch(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def split(self, string: AnyStr, maxsplit: int = ...) -> list[AnyStr]: ...\n def findall(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> list[Any]: ...\n def finditer(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Iterator[Match[AnyStr]]: ...\n @overload\n def sub(self, repl: AnyStr, string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def sub(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def subn(self, repl: AnyStr, string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n @overload\n def subn(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\n# Functions\n\nif sys.version_info >= (3, 7):\n _get_type_hints_obj_allowed_types = Union[\n object,\n Callable[..., Any],\n FunctionType,\n BuiltinFunctionType,\n MethodType,\n ModuleType,\n WrapperDescriptorType,\n MethodWrapperType,\n MethodDescriptorType,\n ]\nelse:\n _get_type_hints_obj_allowed_types = Union[\n object, Callable[..., Any], FunctionType, BuiltinFunctionType, MethodType, ModuleType,\n ]\n\nif sys.version_info >= (3, 9):\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types,\n globalns: Optional[Dict[str, Any]] = ...,\n localns: Optional[Dict[str, Any]] = ...,\n include_extras: bool = ...,\n ) -> Dict[str, Any]: ...\n\nelse:\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types, globalns: Optional[Dict[str, Any]] = ..., localns: Optional[Dict[str, Any]] = ...\n ) -> Dict[str, Any]: ...\n\nif sys.version_info >= (3, 8):\n def get_origin(tp: Any) -> Optional[Any]: ...\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n\n@overload\ndef cast(typ: Type[_T], val: Any) -> _T: ...\n@overload\ndef cast(typ: str, val: Any) -> Any: ...\n@overload\ndef cast(typ: object, val: Any) -> Any: ...\n\n# Type constructors\n\n# NamedTuple is special-cased in the type checker\nclass NamedTuple(Tuple[Any, ...]):\n _field_types: collections.OrderedDict[str, Type[Any]]\n _field_defaults: Dict[str, Any] = ...\n _fields: Tuple[str, ...]\n _source: str\n def __init__(self, typename: str, fields: Iterable[Tuple[str, Any]] = ..., **kwargs: Any) -> None: ...\n @classmethod\n def _make(cls: Type[_T], iterable: Iterable[Any]) -> _T: ...\n if sys.version_info >= (3, 8):\n def _asdict(self) -> Dict[str, Any]: ...\n else:\n def _asdict(self) -> collections.OrderedDict[str, Any]: ...\n def _replace(self: _T, **kwargs: Any) -> _T: ...\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __or__(self: _T, __value: _T) -> _T: ...\n def __ior__(self: _T, __value: _T) -> _T: ...\n\ndef NewType(name: str, tp: Type[_T]) -> Type[_T]: ...\n\n# This itself is only available during type checking\ndef type_check_only(func_or_cls: _F) -> _F: ...\n\nif sys.version_info >= (3, 7):\n class ForwardRef:\n __forward_arg__: str\n __forward_code__: CodeType\n __forward_evaluated__: bool\n __forward_value__: Optional[Any]\n __forward_is_argument__: bool\n def __init__(self, arg: str, is_argument: bool = ...) -> None: ...\n def _evaluate(self, globalns: Optional[Dict[str, Any]], localns: Optional[Dict[str, Any]]) -> Optional[Any]: ...\n def __eq__(self, other: Any) -> bool: ...\n def __hash__(self) -> int: ...\n def __repr__(self) -> str: ...\n\nif sys.version_info >= (3, 10):\n def is_typeddict(tp: Any) -> bool: ...\n", + "/typeshed/stdlib/typing_extensions.pyi": "import abc\nimport sys\nfrom typing import (\n TYPE_CHECKING as TYPE_CHECKING,\n Any,\n AsyncContextManager as AsyncContextManager,\n AsyncGenerator as AsyncGenerator,\n AsyncIterable as AsyncIterable,\n AsyncIterator as AsyncIterator,\n Awaitable as Awaitable,\n Callable,\n ChainMap as ChainMap,\n ClassVar as ClassVar,\n ContextManager as ContextManager,\n Coroutine as Coroutine,\n Counter as Counter,\n DefaultDict as DefaultDict,\n Deque as Deque,\n ItemsView,\n KeysView,\n Mapping,\n NewType as NewType,\n NoReturn as NoReturn,\n Text as Text,\n Tuple,\n Type as Type,\n TypeVar,\n ValuesView,\n _Alias,\n overload as overload,\n)\n\n_T = TypeVar(\"_T\")\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> Any: ...\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n\n# This alias for above is kept here for backwards compatibility.\nruntime = runtime_checkable\nProtocol: _SpecialForm = ...\nFinal: _SpecialForm = ...\n\ndef final(f: _F) -> _F: ...\n\nLiteral: _SpecialForm = ...\n\ndef IntVar(name: str) -> Any: ... # returns a new TypeVar\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=abc.ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n\n# TypedDict is a (non-subscriptable) special form.\nTypedDict: object = ...\n\nOrderedDict = _Alias()\n\ndef get_type_hints(\n obj: Callable[..., Any],\n globalns: dict[str, Any] | None = ...,\n localns: dict[str, Any] | None = ...,\n include_extras: bool = ...,\n) -> dict[str, Any]: ...\n\nif sys.version_info >= (3, 7):\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n def get_origin(tp: Any) -> Any | None: ...\n\nAnnotated: _SpecialForm = ...\n_AnnotatedAlias: Any = ... # undocumented\n\n@runtime_checkable\nclass SupportsIndex(Protocol, metaclass=abc.ABCMeta):\n @abc.abstractmethod\n def __index__(self) -> int: ...\n\n# PEP 612 support for Python < 3.9\nif sys.version_info >= (3, 10):\n from typing import Concatenate as Concatenate, ParamSpec as ParamSpec, TypeAlias as TypeAlias, TypeGuard as TypeGuard\nelse:\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Type[Any] | None\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: None | Type[Any] | str = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n", + "/typeshed/stdlib/uarray.pyi": "from array import *\n", + "/typeshed/stdlib/ucollections.pyi": "from collections import *\n", + "/typeshed/stdlib/uerrno.pyi": "from errno import *\n", + "/typeshed/stdlib/urandom.pyi": "from random import *\n", + "/typeshed/stdlib/ustruct.pyi": "from struct import *\n", + "/typeshed/stdlib/usys.pyi": "from sys import *\n", + "/typeshed/stdlib/utime.pyi": "from time import *\n", + "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", + "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Pins, Bilder, T\u00f6ne, Temperatur und Lautst\u00e4rke.\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Plant die Ausf\u00fchrung einer Funktion in dem durch die Zeitargumente festgelegten Intervall **nur V2**.\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: Funktion, die in dem angegebenen Intervall aufgerufen wird. Bei Verwendung als Dekorator weglassen.\n:param days: (tage) Legt den Tag f\u00fcr die Planung fest.\n:param h: Legt die Uhrzeit f\u00fcr die Planung fest.\n:param min: Legt die Minute f\u00fcr die Planung fest.\n:param s: Legt die Sekunde f\u00fcr die Planung fest.\n:param ms: Legt die Millisekunde f\u00fcr die Planung fest.\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"In einen Panik-Modus gehen.\n\nExample: ``panic(127)``\n\n:param n: Eine beliebige ganze Zahl <= 255, um einen Status anzugeben.\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"Board neu starten.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Konvertiert einen Wert aus einem Bereich in einen Ganzzahlenbereich.\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: (wert) Eine umzurechnende Zahl.\n:param from_: Ein Tupel, das den Bereich definiert, aus dem konvertiert werden soll.\n:param to: Ein Tupel, das den Bereich definiert, in den konvertiert werden soll.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Konvertiert einen Wert von einem Bereich in einen Gleitkommabereich.\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: (wert) Eine umzurechnende Zahl.\n:param from_: Ein Tupel, das den Bereich definiert, aus dem konvertiert werden soll.\n:param to: Ein Tupel, das den Bereich definiert, in den konvertiert werden soll.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Warte auf ``n`` Millisekunden.\n\nExample: ``sleep(1000)``\n\n:param n: Die Anzahl der zu wartenden Millisekunden\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"Ermittelt die Laufzeit des Boards.\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"Ermittelt die Temperatur des micro:bit in Grad Celcius.\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"Legt die Lautst\u00e4rke fest.\n\nExample: ``set_volume(127)``\n\n:param v: ein Wert zwischen 0 (niedrig) und 255 (hoch).\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"Die Klasse f\u00fcr die Tasten ``button_a`` und ``button_b``.\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob die Taste gedr\u00fcckt ist.\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob die Taste seit dem Start des Ger\u00e4ts oder dem letzten Aufruf dieser Methode gedr\u00fcckt wurde.\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"Ermittelt die Gesamtzahl der Tastendr\u00fccke und setzt diese Summe auf Null zur\u00fcck, bevor sie zur\u00fcckgegeben wird.\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"Das ``Button``-Objekt der linken Taste.\"\"\"\nbutton_b: Button\n\"\"\"Das ``Button``-Objekt der rechten Taste.\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"Ein digitaler Pin.\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"Ermittelt den digitalen Wert des Pins.\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"Stellt den digitalen Wert des Pins ein. (digital schreiben)\n\nExample: ``pin0.write_digital(1)``\n\n:param value: (wert) 1, um den Pin zu aktivieren, oder 0, um den Pin zu deaktivieren\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"Setze den Status des Pull-Widerstands auf einen von drei m\u00f6glichen Werten: ``PULL_UP``, ``PULL_DOWN`` oder ``NO_PULL``. (setze Pull-Widerstand)\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: (wert) Der Status des Pull-Widerstands vom relevanten Pin, z.B. ``pin0.PULL_UP``.\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"Abrufen des Status des Pull-Widerstands eines Pins. (gib Pull-Widerstand)\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"Gibt den Pin-Modus zur\u00fcck. (gib Pin-Modus)\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"Erzeugt ein PWM-Signal am Pin mit der Einschaltdauer proportional zu ``value``. (analog schreiben)\n\nExample: ``pin0.write_analog(254)``\n\n:param value: (wert) Eine Ganzzahl oder eine Gleitpunktzahl zwischen 0 (0% Einschaltdauer) und 1023 (100% Einschaltdauer).\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"Setzt die Periodendauer des PWM-Signals, das ausgegeben wird, auf ``period`` in Millisekunden. (setze analoge Periodendauer)\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: (Periodendauer) Der Periodendauer in Millisekunden mit einem Mindestwert von 1ms.\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"Setze die Periodendauer f\u00fcr die Ausgabe des PWM-Signals auf ``period`` in Mikrosekunden. (setze analoge Periodendauer)\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: (Periodendauer) Die Periodendauer in Mikrosekunden mit einem Mindestwert von 256\u03bcs.\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"Ein Pin, der analogen und digitalen Signale erlaubt.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Einlesen der Spannung, die am Pin anliegt. (analog lesen)\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"Ein Pin mit analogen, digitalen und Touchfunktionen.\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob der Pin ber\u00fchrt wird. (wird ber\u00fchrt)\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"Legt den Touchmodus f\u00fcr den Pin fest. (definiert Ber\u00fchrungsmodus)\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: (wert) ``CAPACITIVE`` oder ``RESISTIVE`` Touchmodus des entsprechenden Pins.\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"Pin mit digitalen, analogen und Touchfunktionen.\"\"\"\npin1: MicroBitTouchPin\n\"\"\"Pin mit digitalen, analogen und Touchfunktionen.\"\"\"\npin2: MicroBitTouchPin\n\"\"\"Pin mit digitalen, analogen und Touchfunktionen.\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"Pin mit digitalen und analogen Funktionen.\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"Pin mit digitalen und analogen Funktionen.\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"Pin mit Unterst\u00fctzung f\u00fcr digitale Signale.\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"Pin mit Unterst\u00fctzung f\u00fcr digitale Signale.\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"Pin mit digitalen und analogen Funktionen.\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"Ein ber\u00fchrungsempfindlicher Logo-Pin auf der Vorderseite des micro:bit, der standardm\u00e4\u00dfig auf den kapazitiven Touch-Modus eingestellt ist.\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"Ein Pin zur Ansteuerung des micro:bit Lautsprechers.\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"Ein Bild, das auf dem micro:bit LED-Display angezeigt werden soll.\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"Herz-Bild.\"\"\"\n HEART_SMALL: Image\n \"\"\"Kleines Herz-Bild.\"\"\"\n HAPPY: Image\n \"\"\"Gl\u00fcckliches Gesichtsbild.\"\"\"\n SMILE: Image\n \"\"\"L\u00e4chelndes Gesichtsbild.\"\"\"\n SAD: Image\n \"\"\"Trauriges Gesichtsbild.\"\"\"\n CONFUSED: Image\n \"\"\"Verwirrtes Gesichtsbild.\"\"\"\n ANGRY: Image\n \"\"\"W\u00fctendes Gesichtsbild.\"\"\"\n ASLEEP: Image\n \"\"\"Schlafendes Gesichtsbild.\"\"\"\n SURPRISED: Image\n \"\"\"\u00dcberraschtes Gesichtsbild.\"\"\"\n SILLY: Image\n \"\"\"Albernes Gesichtsbild.\"\"\"\n FABULOUS: Image\n \"\"\"Bild mit Sonnenbrillengesicht. (fabelhaft)\"\"\"\n MEH: Image\n \"\"\"Gleichg\u00fcltiges Gesicht Bild.\"\"\"\n YES: Image\n \"\"\"abgehakt-Bild\"\"\"\n NO: Image\n \"\"\"angekreuzt-Bild\"\"\"\n CLOCK12: Image\n \"\"\"Bild mit Linie, die auf 12 Uhr zeigt.\"\"\"\n CLOCK11: Image\n \"\"\"Bild mit Linie, die auf 11 Uhr zeigt.\"\"\"\n CLOCK10: Image\n \"\"\"Bild mit Linie, die auf 10 Uhr zeigt.\"\"\"\n CLOCK9: Image\n \"\"\"Bild mit Linie, die auf 9 Uhr zeigt.\"\"\"\n CLOCK8: Image\n \"\"\"Bild mit Linie, die auf 8 Uhr zeigt.\"\"\"\n CLOCK7: Image\n \"\"\"Bild mit Linie, die auf 7 Uhr zeigt.\"\"\"\n CLOCK6: Image\n \"\"\"Bild mit Linie, die auf 6 Uhr zeigt.\"\"\"\n CLOCK5: Image\n \"\"\"Bild mit Linie, die auf 5 Uhr zeigt.\"\"\"\n CLOCK4: Image\n \"\"\"Bild mit Linie, die auf 4 Uhr zeigt.\"\"\"\n CLOCK3: Image\n \"\"\"Bild mit Linie, die auf 3 Uhr zeigt.\"\"\"\n CLOCK2: Image\n \"\"\"Bild mit Linie, die auf 2 Uhr zeigt.\"\"\"\n CLOCK1: Image\n \"\"\"Bild mit Linie, die auf 1 Uhr zeigt.\"\"\"\n ARROW_N: Image\n \"\"\"Bild eines Pfeils, der nach Norden zeigt.\"\"\"\n ARROW_NE: Image\n \"\"\"Bild eines Pfeils, der nach Nordosten zeigt.\"\"\"\n ARROW_E: Image\n \"\"\"Bild eines Pfeils, der nach Osten zeigt.\"\"\"\n ARROW_SE: Image\n \"\"\"Bild eines Pfeils, der nach S\u00fcdosten zeigt.\"\"\"\n ARROW_S: Image\n \"\"\"Bild eines Pfeils, der nach S\u00fcden zeigt.\"\"\"\n ARROW_SW: Image\n \"\"\"Bild eines Pfeils, der nach S\u00fcdwesten zeigt.\"\"\"\n ARROW_W: Image\n \"\"\"Bild eines Pfeils, der nach Westen zeigt.\"\"\"\n ARROW_NW: Image\n \"\"\"Bild eines Pfeils, der nach Nordwesten zeigt.\"\"\"\n TRIANGLE: Image\n \"\"\"Bild eines Dreiecks, das nach oben zeigt.\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"Bild eines Dreiecks in der linken Ecke.\"\"\"\n CHESSBOARD: Image\n \"\"\"Abwechselnd leuchtende LEDs in einem Schachbrettmuster.\"\"\"\n DIAMOND: Image\n \"\"\"Diamant-Bild.\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"Kleines Diamant-Bild.\"\"\"\n SQUARE: Image\n \"\"\"Quadrat-Bild\"\"\"\n SQUARE_SMALL: Image\n \"\"\"Kleines Quadrat-Bild.\"\"\"\n RABBIT: Image\n \"\"\"Kaninchen-Bild.\"\"\"\n COW: Image\n \"\"\"Kuh-Bild.\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"Viertelnoten-Bild.\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"Achtelnoten-Bild.\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"Achtelnotenpaar-Bild.\"\"\"\n PITCHFORK: Image\n \"\"\"Heugabel-Bild\"\"\"\n XMAS: Image\n \"\"\"Weihnachtsbaum-Bild.\"\"\"\n PACMAN: Image\n \"\"\"Pac-Man Spielfigurenbild.\"\"\"\n TARGET: Image\n \"\"\"Ziel-Bild\"\"\"\n TSHIRT: Image\n \"\"\"T-Shirt-Bild.\"\"\"\n ROLLERSKATE: Image\n \"\"\"Rollerskate-Bild.\"\"\"\n DUCK: Image\n \"\"\"Ente-Bild\"\"\"\n HOUSE: Image\n \"\"\"Haus-Bild\"\"\"\n TORTOISE: Image\n \"\"\"Schildkr\u00f6te-Bild\"\"\"\n BUTTERFLY: Image\n \"\"\"Schmetterling-Bild.\"\"\"\n STICKFIGURE: Image\n \"\"\"Strichm\u00e4nnchen-Bild.\"\"\"\n GHOST: Image\n \"\"\"Geist-Bild.\"\"\"\n SWORD: Image\n \"\"\"Schwert-Bild\"\"\"\n GIRAFFE: Image\n \"\"\"Giraffe-Bild.\"\"\"\n SKULL: Image\n \"\"\"Sch\u00e4del-Bild.\"\"\"\n UMBRELLA: Image\n \"\"\"Bild eines Schirms.\"\"\"\n SNAKE: Image\n \"\"\"Bild einer Schlange. (Schlange)\"\"\"\n SCISSORS: Image\n \"\"\"BIld einer Schere. (Schere)\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"Eine Liste mit allen CLOCK_ Bildern. (alle Uhren)\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"Eine Liste mit allen ARROW_ Bildern. (alle Pfeile)\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Erstellen Sie ein Bild aus einer Zeichenkette, die beschreibt, welche LEDs leuchten.\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: (Zeichenkette) Eine Zeichenkette, die das Bild beschreibt.\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"Erstelle ein leeres Bild mit ``width`` Spalten und ``height`` Zeilen.\n\n:param width: (Breite) Optionale Breite des Bildes\n:param height: (H\u00f6he) Optionale H\u00f6he des Bildes\n:param buffer: (Puffer) Optionales Array oder Bytes von ``width``\u00d7``height`` Ganzzahlen im Bereich 0-9 um das Bild zu initialisieren\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"Ermittelt die Anzahl der Spalten. (Breite)\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"Ermittelt die Anzahl der Zeilen. (H\u00f6he)\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"Legt die Helligkeit eines Pixels fest. (Pixelwerte setzen)\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: Die Spaltennummer\n:param y: Die Zeilennummer\n:param value: (wert) Die Helligkeit als Ganzzahl zwischen 0 (dunkel) und 9 (hell)\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"Ermittle die Helligkeit eines Pixels. (Pixelwerte holen)\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: Die Spaltennummer\n:param y: Die Zeilennummer\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"Erstellen Sie ein neues Bild, indem Sie das Bild nach links verschieben. (links verschieben)\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: Die Anzahl der Spalten um die verschoben wird\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"Erstellen Sie ein neues Bild, indem Sie das Bild nach rechts verschieben. (rechts verschieben)\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: Die Anzahl der Spalten um die verschoben wird\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"Erstellen Sie ein neues Bild, indem Sie das Bild nach oben verschoben wird. (nach oben verschieben)\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: Die Anzahl der Zeilen um die verschoben wird\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"Erstellen Sie ein neues Bild, indem Sie das Bild nach unten verschoben wird. (nach unten verschieben)\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: Die Anzahl der Zeilen um die verschoben wird\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Erstellen Sie ein neues Bild, indem das Bild zugeschnitten wird.\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: Die Offset-Spalte des Zuschneidens\n:param y: Die Offset-Zeile des Zuschneidens\n:param w: Die Zuschneide-Breite\n:param h: Die Zuschneide-H\u00f6he\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"Erstellt eine exakte Kopie des Bildes. (kopieren)\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"Erstellt ein neues Bild, indem es die Helligkeit der Pixel des Ausgangsbildes invertiert.\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"Legt die Helligkeit f\u00fcr alle Pixel des Bildes fest.\n\nExample: ``my_image.fill(5)``\n\n:param value: Die neue Helligkeit als Zahl zwischen 0 (dunkel) und 9 (hell).\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"Kopiert einen Bereich aus einem anderen Bild in dieses Bild.\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: Das Ausgangsbild\n:param x: Der Anfangsspalten-Offset im Ausgangsbild\n:param y: Der Anfangszeilen-Offset im Ausgangsbild\n:param w: Die Anzahl der zu kopierenden Spalten\n:param h: Die Anzahl der zu kopierenden Zeilen\n:param xdest: Der Spalten-Offset, der in diesem Bild ge\u00e4ndert werden soll\n:param ydest: Der Zeilen-Offset, der in diesem Bild ge\u00e4ndert werden soll\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"Liefert eine kompakte Stringrepr\u00e4sentation des Bildes.\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"Liefert eine lesbare String-Repr\u00e4sentation des Bildes.\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"Erstellt ein neues Bild, indem f\u00fcr jedes Pixel die Helligkeitswerte der beiden Bilder addiert werden.\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: Das zu addierende Bild.\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"Erstellt ein neues Bild, indem f\u00fcr jedes Pixel die Helligkeitswerte der beiden Bilder subtrahiert werden.\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: Das zu subtrahierende Bild.\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"Erstellt ein neues Bild, indem der Helligkeitswert jedes Pixels mit ``n`` multipliziert wird.\n\nExample: ``Image.HEART * 0.5``\n\n:param n: Der Wert, mit dem multipliziert werden soll.\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"Erstellt ein neues Bild, indem der Helligkeitswert jedes Pixels durch ``n`` dividiert wird.\n\nExample: ``Image.HEART / 2``\n\n:param n: Der Wert, durch den dividiert werden soll.\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Stellt den \u00dcbergang von Klangereignissen von ``quiet`` auf ``loud`` dar; wie beim Klatschen oder Rufen.\"\"\"\n QUIET: SoundEvent\n \"\"\"Stellt den \u00dcbergang von akustischen Ereignissen, wie Sprechen oder Hintergrundmusik, von ``loud`` zu ``quiet`` dar. (stumm)\"\"\"\n\nclass Sound:\n \"\"\"Die eingebauten Kl\u00e4nge k\u00f6nnen mit ``audio.play(Sound.NAME)`` aufgerufen werden.\"\"\"\n GIGGLE: Sound\n \"\"\"Kichern-Sound.\"\"\"\n HAPPY: Sound\n \"\"\"Happy-Sound.\"\"\"\n HELLO: Sound\n \"\"\"Begr\u00fc\u00dfung-Sound\"\"\"\n MYSTERIOUS: Sound\n \"\"\"Geheimnisvoll-Sound\"\"\"\n SAD: Sound\n \"\"\"Traurig-Sound.\"\"\"\n SLIDE: Sound\n \"\"\"Gleitender Ton.\"\"\"\n SOARING: Sound\n \"\"\"Aufsteigender Klang. (aufsteigend)\"\"\"\n SPRING: Sound\n \"\"\"Springfeder Klang (Sppringfeder)\"\"\"\n TWINKLE: Sound\n \"\"\"Funkeln Klang (Funkeln)\"\"\"\n YAWN: Sound\n \"\"\"G\u00e4hnen Klang\"\"\"", + "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"Messen Sie die Beschleunigung des micro:bit und erkennen Sie Gesten. (Beschleunigungssensor)\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"Erhalte die Beschleunigungsmessung in der ``x`` -Achse in Milli-g. (erhalte x)\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Erhalte die Beschleunigungsmessung in der ``y`` -Achse in Milli-g. (erhalte y)\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Erhalte die Beschleunigungsmessung in der ``z`` -Achse in Milli-g. (erhalte z)\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"Erhalten Sie die Beschleunigungsmessungen in allen Achsen auf einmal als Tupel. (Werte erhalten)\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Erhalte die Beschleunigungsmessung aller Achsen als positive Ganzzahl. Dies ist die euklidische Summe der X-, Y- und Z-Achsen. (erhalte St\u00e4rke)\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"Erhalte den Namen der aktuellen Geste. (derzeitige Geste)\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob die benannte Geste derzeit aktiv ist. (ist Geste)\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: Der Name der Geste.\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob die benannte Geste seit dem letzten Aufruf aktiv war. (war Geste)\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: Der Name der Geste.\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"Gibt ein Tupel der vergangenen Gesten zur\u00fcck. (erhalte Gesten)\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Legen Sie den Bereich des Beschleunigungsmessers in g (Fallbeschleunigung) auf den n\u00e4chstgelegenen Wert fest, welcher von der Hardware unterst\u00fctzt wird. Diese sind ``2``, ``4``oder ``8`` g. (Bereich einstellen)\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: (wert) Neuer Bereich f\u00fcr den Beschleunigungssensor, eine Ganzzahl in ``g``.\"\"\"", + "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"T\u00f6ne mit dem micro:bit abspielen (Importiere ``audio`` f\u00fcr V1-Kompatibilit\u00e4t). (Audio)\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Wiedergeben eines eingebauten Sounds, Soundeffekts oder benutzerdefinierten Aufnahme .\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: (Quelle) Ein eingebauter ``Sound`` wie ``Sound.GIGGLE``, ein ``SoundEffect`` oder Beispieldaten als Teil eines ``AudioFrame`` Objekts.\n:param wait: Wenn ``wait`` ``True`` ist, wird diese Funktion blockiert, bis der Klang abgeschlossen ist.\n:param pin: Ein optionales Argument f\u00fcr den Ausgabepin kann angegeben werden, um die Standardeinstellung von ``pin0``zu \u00fcberschreiben. Wenn kein Ton wiedergegeben werden soll, kann ``pin=None`` verwendet werden.\n:param return_pin: (erhalte Pin) Bestimmt einen Pin, mit dem der externen Lautsprecher anstatt mit Ground verbunden wird. Dies wird bei der **V2** Revision ignoriert.\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"\u00dcberpr\u00fcfen Sie, ob ein Ton abgespielt wird. (spielt gerade)\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Stoppe jede Audio-Wiedergabe. (Stop)\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"Ein Soundeffekt, zusammengestellt aus einer Reihe von Parametern, die \u00fcber den Konstruktor oder durch Attribute konfiguriert werden.\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Sinuswelle als Parameter f\u00fcr ``waveform``. (Sinuswelle)\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"S\u00e4gezahnkurve als Parameter f\u00fcr ``waveform``. (S\u00e4gezahnkurve)\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Dreiecksignal als Parameter f\u00fcr ``waveform``. (Dreiecksignal)\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Rechtecksignal als Parameter f\u00fcr ``waveform``. (Rechtecksignal)\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Rauschsignal als Parameter f\u00fcr ``waveform``. (Rauschsignal)\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Lineare Interpolation als Parameter f\u00fcr ``shape``. (lineare Interpolation)\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Kurven-Interpolation als Parameter f\u00fcr ``shape``. (geschwungene Kurve)\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Logarithmische Interpolation als Parameter f\u00fcr ``shape``. (logarithmische Interpolation)\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"Kein Effekt f\u00fcr ``fx`` verwendet. (kein fx)\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Tremelo-Effekt als Parameter f\u00fcr ``fx``. (fx Tremolo)\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Vibrato-Effekt als Parameter f\u00fcr ``fx``. (fx Vibrato)\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Triller-Effekt als Parameter f\u00fcr ``fx``. (fx Trillereffekt)\"\"\"\n freq_start: int\n \"\"\"Startfrequenz in Hertz (Hz), eine Zahl zwischen ``0`` und ``9999`` (Startfrequenz)\"\"\"\n freq_end: int\n \"\"\"Endfrequenz in Hertz (Hz), eine Zahl zwischen ``0`` und ``9999`` (Endfrequenz)\"\"\"\n duration: int\n \"\"\"Dauer des Klangs in Millisekunden, eine Zahl zwischen ``0`` und ``9999`` (Dauer)\"\"\"\n vol_start: int\n \"\"\"Startlautst\u00e4rke, eine Zahl zwischen ``0`` und ``255`` (vol Start)\"\"\"\n vol_end: int\n \"\"\"Endlautst\u00e4rke, eine Nummer zwischen ``0`` und ``255`` (vol Ende)\"\"\"\n waveform: int\n \"\"\"Typ der Sinuswelle, einer dieser Werte: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (zuf\u00e4llig generiertes Ger\u00e4usch)\"\"\"\n fx: int\n \"\"\"Effekt, der dem Sound hinzugef\u00fcgt werden soll, in Frage kommende Werte: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, oder ``FX_NONE``\"\"\"\n shape: int\n \"\"\"Die Art der Interpolationskurve zwischen der Anfangs- und der Endfrequenz. Verschiedene Wellenformen haben unterschiedliche Frequenz\u00e4nderungsraten. In Frage kommende Werte: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Erstelle einen neuen Soundeffekt.\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: (Startfrequenz) Startfrequenz in Hertz (Hz), eine Zahl zwischen ``0`` und ``9999``.\n:param freq_end: (Endfrequenz) Endfrequenz in Hertz (Hz), eine Zahl zwischen ``0`` und ``9999``.\n:param duration: (Dauer) Dauer des Tons in Millisekunden, eine Zahl zwischen ``0`` und ``9999``.\n:param vol_start: (vol Start) Startlautst\u00e4rke, eine Zahl zwischen ``0`` und ``255``.\n:param vol_end: (vol Ende) Endlautst\u00e4rke, eine Nummer zwischen ``0`` und ``255``.\n:param waveform: Typ der Sinuswelle, einer dieser Werte: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (zuf\u00e4llig generiertes Ger\u00e4usch).\n:param fx: Effekt, der dem Sound hinzugef\u00fcgt werden soll, in Frage kommende Werte: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, oder ``FX_NONE``.\n:param shape: Die Art der Interpolationskurve zwischen der Anfangs- und der Endfrequenz. Verschiedene Wellenformen haben unterschiedliche Frequenz\u00e4nderungsraten. In Frage kommende Werte: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Erstelle eine Kopie dieses ``SoundEffect``. (kopieren)\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"Ein ``AudioFrame``-Objekt ist eine Liste von 32 Samples, von denen jedes ein vorzeichenloses Byte ist \n(ganze Zahl zwischen 0 und 255).\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"\u00dcberschreibe die Daten in diesem ``AudioFrame`` mit den Daten einer anderen ``AudioFrame`` Instanz.\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: ``AudioFrame`` Instanz von der die Daten kopiert werden sollen.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", + "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"Benutze den eingebauten Kompass. (Kompass)\"\"\"\n\ndef calibrate() -> None:\n \"\"\"Startet den Kalibrierungsprozess.\n\nExample: ``compass.calibrate()``\n\nAn instructive message will be scrolled to the user after which they will need\nto rotate the device in order to draw a circle on the LED display.\"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"\u00dcberpr\u00fcfe, dass der Kompass kalibriert ist. (ist kalibriert)\n\nExample: ``compass.is_calibrated()``\n\n:return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"Setzt die Kalibrierung zur\u00fcck, sodass der Kompass nicht mehr kalibriert ist.\n\nExample: ``compass.clear_calibration()``\"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"Ermittle die Magnetfeldst\u00e4rke der ``x``-Achse. (erhalte x)\n\nExample: ``compass.get_x()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Ermittle die Magnetfeldst\u00e4rke der ``y``-Achse. (erhalte y)\n\nExample: ``compass.get_y()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Ermittle die Magnetfeldst\u00e4rke der ``z``-Achse. (erhalte z)\n\nExample: ``compass.get_z()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"Ermittle die Kompassrichtung. (Ausrichtung)\n\nExample: ``compass.heading()``\n\n:return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"Ermittle die Gr\u00f6\u00dfe des Magnetfelds um das Ger\u00e4t herum.\n\nExample: ``compass.get_field_strength()``\n\n:return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...", + "/typeshed/stdlib/microbit/display.pyi": "\"\"\"Texte, Bilder und Animationen auf dem 5x5 LED-Display anzeigen. (Display)\"\"\"\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"Ermittle die Helligkeit der LED auf Spalte ``x`` und Zeile ``y``. (Pixelwerte holen)\n\nExample: ``display.get_pixel(0, 0)``\n\n:param x: Die Anzeige-Spalte (0..4)\n:param y: Die Anzeigezeile (0..4)\n:return: A number between 0 (off) and 9 (bright)\"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"\u00c4ndere die Helligkeit der LED auf Spalte ``x`` und Zeile ``y``. (Pixelwerte setzen)\n\nExample: ``display.set_pixel(0, 0, 9)``\n\n:param x: Die Anzeige-Spalte (0..4)\n:param y: Die Anzeigezeile (0..4)\n:param value: (wert) Die Helligkeit zwischen 0 (aus) und 9 (am hellsten)\"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"Setzt die Helligkeit aller LEDs auf 0 (aus). (l\u00f6schen)\n\nExample: ``display.clear()``\"\"\"\n ...\n\ndef show(image: Union[str, float, int, Image, Iterable[Image]], delay: int=400, wait: bool=True, loop: bool=False, clear: bool=False) -> None:\n \"\"\"Zeigt Bilder, Buchstaben oder Ziffern auf der LED-Anzeige an.\n\nExample: ``display.show(Image.HEART)``\n\nWhen ``image`` is an image or a list of images then each image is displayed in turn.\nIf ``image`` is a string or number, each letter or digit is displayed in turn.\n\n:param image: Eine Zeichenkette, Nummer, Bild oder Liste der anzuzeigenden Bilder.\n:param delay: (Verz\u00f6gerung) Jeder Buchstabe, Ziffer oder Bild wird mit ``delay`` Millisekunden zwischen ihnen angezeigt.\n:param wait: Wenn ``wait`` ``True``ist, wird diese Funktion blockiert, bis die Animation beendet ist, andernfalls wird die Animation im Hintergrund stattfinden.\n:param loop: Wenn ``loop`` ``True``ist, wird sich die Animation f\u00fcr immer wiederholen.\n:param clear: (l\u00f6schen) Wenn ``clear`` ``True``ist, wird die Anzeige ausgeschaltet, nachdem die Sequenz beendet ist.\n\nThe ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\"\"\"\n ...\n\ndef scroll(text: Union[str, float, int], delay: int=150, wait: bool=True, loop: bool=False, monospace: bool=False) -> None:\n \"\"\"Scrollt eine Zahl oder einen Text auf dem LED-Display. (scrollen)\n\nExample: ``display.scroll('micro:bit')``\n\n:param text: Der zu wiederzugebende String. Wenn ``text`` eine Ganzzahl oder ein Float ist, wird er zuerst mit ``str()`` in einen String konvertiert.\n:param delay: (Verz\u00f6gerung) Der ``delay`` -Parameter bestimmt, wie schnell der Text scrollt.\n:param wait: Wenn ``wait`` ``True``ist, wird diese Funktion blockiert, bis die Animation beendet ist, andernfalls wird die Animation im Hintergrund stattfinden.\n:param loop: Wenn ``loop`` ``True``ist, wird sich die Animation f\u00fcr immer wiederholen.\n:param monospace: (Monospace) Wenn ``monospace`` ``True``ist, werden alle Zeichen 5 Pixel breit sein. Zwischen den Zeichen gibt es beim scrollen genau 1 leere Pixelspalte.\n\nThe ``wait``, ``loop`` and ``monospace`` arguments must be specified\nusing their keyword.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Schalten Sie das LED-Display ein. (an)\n\nExample: ``display.on()``\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Schalten Sie die LED-Anzeige aus (das Deaktivieren des Displays erlaubt es Ihnen, die GPIO-Pins f\u00fcr andere Zwecke zu verwenden).\n\nExample: ``display.off()``\"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"\u00dcberpr\u00fcfen Sie, ob die LED-Anzeige aktiviert ist. (ist an)\n\nExample: ``display.is_on()``\n\n:return: ``True`` if the display is on, otherwise returns ``False``.\"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"Bestimmt die Lichtintensit\u00e4t. (bestimme Licht Intensit\u00e4t)\n\nExample: ``display.read_light_level()``\n\nUses the display's LEDs in reverse-bias mode to sense the amount of light\nfalling on the display.\n\n:return: An integer between 0 and 255 representing the light level, with larger meaning more light.\"\"\"\n ...", + "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Kommunikation mit Ger\u00e4ten \u00fcber das I2C-Busprotokoll.\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"Eine Peripherie neu initialisieren.\n\nExample: ``i2c.init()``\n\n:param freq: Taktfrequenz\n:param sda: ``sda`` Pin (standardm\u00e4\u00dfig 20)\n:param scl: ``scl`` Pin (standardm\u00e4\u00dfig 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Scannt den Bus nach Ger\u00e4ten.\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"Liest Bytes von einem Ger\u00e4t..\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: Die 7-Bit-Adresse des Ger\u00e4ts\n:param n: Die Anzahl der zu lesenden Bytes\n:param repeat: (wiederholen) Wenn ``True``wird kein Stop-Bit gesendet\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"Schreibe Bytes auf ein Ger\u00e4t. (schreiben)\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: Die 7-Bit-Adresse des Ger\u00e4ts\n:param buf: Ein Puffer mit den zu schreibenden Bytes\n:param repeat: (wiederholen) Wenn ``True``wird kein Stop-Bit gesendet\"\"\"\n ...", + "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"Reagiere auf Ton mithilfe des integrierten Mikrofons (nur V2). (Mikrofon)\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"Abrufen des letzten aufgezeichneten Sound-Ereignisses\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"\u00dcberpr\u00fcfung, ob seit dem letzten Anruf mindestens einmal ein Ger\u00e4usch geh\u00f6rt wurde.\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: Das Ereignis, auf das gepr\u00fcft werden soll, z. B. ``SoundEvent.LOUD`` oder ``SoundEvent.QUIET``\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"\u00dcberpr\u00fcfe das zuletzt erkannte Sound-Ereignis.\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: Das Ereignis, auf das gepr\u00fcft werden soll, z. B. ``SoundEvent.LOUD`` oder ``SoundEvent.QUIET``\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"Liefert den Verlauf der Sound-Ereignisse in Form eines Tupels.\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"Legt den Schwellenwert f\u00fcr ein Sound-Ereignis fest.\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: Ein Sound-Ereignis, wie ``SoundEvent.LOUD`` oder ``SoundEvent.QUIET``.\n:param value: (wert) Der Schwellenwert im Bereich 0-255.\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Ermittle den Schalldruckpegel. (Lautst\u00e4rke)\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", + "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Steuere den integrierten Lautsprecher (nur V2). (Lautsprecher)\"\"\"\n\ndef off() -> None:\n \"\"\"Lautsprecher ausschalten.\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Lautsprecher einschalten. (an)\n\nExample: ``speaker.on()``\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Kommunikation mit Ger\u00e4ten \u00fcber die serielle Schnittstelle (SPI).\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"SPI-Kommunikation initialisieren.\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: Die \u00dcbertragungsgeschwindigkeit.\n:param bits: Die Breite in Bits jeder \u00dcbertragung. Derzeit wird nur ``bits=8`` unterst\u00fctzt. Dies kann sich jedoch in Zukunft \u00e4ndern.\n:param mode: Legt die Kombination aus Taktpolarit\u00e4t und Phase fest - `siehe Online-Tabelle `_.\n:param sclk: SCLK Pin (standardm\u00e4\u00dfig 13)\n:param mosi: MOSI Pin (standardm\u00e4\u00dfig 15)\n:param miso: miso pin (Voreinstellung 14)\"\"\"\n ...\n\ndef read(nbytes: int) -> bytes:\n \"\"\"Bytes lesen.\n\nExample: ``spi.read(64)``\n\n:param nbytes: Maximum der zu lesenden Bytes.\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Schreibe Bytes auf den Bus. (schreiben)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: (Puffer) Ein Puffer, von dem Daten gelesen werden.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Schreibe den ``out`` Zwischenspeicher (Buffer) auf den Bus und lies jede Antwort in den ``in_`` Buffer.\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: Der Puffer, in den eine Antwort geschrieben werden soll.\n:param in_: Der Puffer, von dem Daten gelesen werden.\"\"\"\n ...", + "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Verbindet mit einem Ger\u00e4t \u00fcber eine serielle Schnittstelle.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"Ungerade Parit\u00e4t\"\"\"\nEVEN: int\n\"\"\"Gerade Parit\u00e4t (gerade)\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"Initialisiere die serielle Kommunikation.\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: (Baudrate) Die \u00dcbertragungsgeschwindigkeit.\n:param bits: (Bits) Die Gr\u00f6\u00dfe der Bytes die \u00fcbertragen werden. micro:bit unterst\u00fctzt nur 8.\n:param parity: (Parit\u00e4t) Wie Parit\u00e4t gepr\u00fcft wird, ``None``, ``uart.ODD`` oder ``uart.EVEN``.\n:param stop: (Stop) Die Anzahl der Stopbits, muss 1 f\u00fcr micro:bit sein.\n:param tx: Sendepin.\n:param rx: Empfangspin.\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"\u00dcberpr\u00fcfen Sie, ob irgendwelche Daten warten.\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"Bytes lesen.\n\nExample: ``uart.read()``\n\n:param nbytes: Wenn ``nbytes`` angegeben ist, werden h\u00f6chstens so viele Bytes gelesen. Andernfalls werden so viele Bytes wie m\u00f6glich gelesen.\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"Lese Bytes in ``buf``.\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: Der Puffer, in den geschrieben werden soll.\n:param nbytes: Wenn ``nbytes`` angegeben ist, werden h\u00f6chstens so viele Bytes gelesen. Andernfalls werden ``len(buf)`` Bytes gelesen.\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Liest eine Zeile bis zum Zeilenumbruch.\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"Schreibt einen Puffer auf den Bus. (schreiben)\n\nExample: ``uart.write('hello world')``\n\n:param buf: Ein Byte-Objekt oder ein String.\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", + "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", + "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" + } +} \ No newline at end of file diff --git a/src/micropython/beta/typeshed.en.json b/src/micropython/beta/typeshed.en.json new file mode 100644 index 000000000..d3bcbd04f --- /dev/null +++ b/src/micropython/beta/typeshed.en.json @@ -0,0 +1,51 @@ +{ + "files": { + "/typeshed/stdlib/VERSIONS": "# The structure of this file is as follows:\n# - Blank lines and comments starting with `#` are ignored.\n# - Lines contain the name of a module, followed by a colon,\n# a space, and a version range (for example: `symbol: 2.7-3.9`).\n#\n# Version ranges may be of the form \"X.Y-A.B\" or \"X.Y-\". The\n# first form means that a module was introduced in version X.Y and last\n# available in version A.B. The second form means that the module was\n# introduced in version X.Y and is still available in the latest\n# version of Python.\n#\n# If a submodule is not listed separately, it has the same lifetime as\n# its parent module.\n#\n# Python versions before 2.7 are ignored, so any module that was already\n# present in 2.7 will have \"2.7\" as its minimum version. Version ranges\n# for unsupported versions of Python 3 (currently 3.5 and lower) are\n# generally accurate but we do not guarantee their correctness.\n\nantigravity: 3.0-\narray: 3.0-\naudio: 3.0-\nbuiltins: 3.0-\nerrno: 3.0-\ngc: 3.0-\nlove: 3.0-\nmachine: 3.0-\nmath: 3.0-\nmicrobit: 3.0-\nmicropython: 3.0-\nmusic: 3.0-\nneopixel: 3.0-\nos: 3.0-\nradio: 3.0-\nrandom: 3.0-\nspeech: 3.0-\nstruct: 3.0-\nsys: 3.0-\nthis: 3.0-\ntime: 3.0-\ntyping_extensions: 3.0-\ntyping: 3.0-\nuarray: 3.0-\nucollections: 3.0-\nuerrno: 3.0-\nuos: 3.0-\nurandom: 3.0-\nustruct: 3.0-\nusys: 3.0-\nutime: 3.0-", + "/typeshed/stdlib/abc.pyi": "from _typeshed import SupportsWrite\nfrom typing import Any, Callable, Tuple, Type, TypeVar\n\n_T = TypeVar(\"_T\")\n_FuncT = TypeVar(\"_FuncT\", bound=Callable[..., Any])\n\n# These definitions have special processing in mypy\nclass ABCMeta(type):\n __abstractmethods__: frozenset[str]\n def __init__(\n self, name: str, bases: Tuple[type, ...], namespace: dict[str, Any]\n ) -> None: ...\n def __instancecheck__(cls: ABCMeta, instance: Any) -> Any: ...\n def __subclasscheck__(cls: ABCMeta, subclass: Any) -> Any: ...\n def _dump_registry(cls: ABCMeta, file: SupportsWrite[str] | None = ...) -> None: ...\n def register(cls: ABCMeta, subclass: Type[_T]) -> Type[_T]: ...\n\ndef abstractmethod(funcobj: _FuncT) -> _FuncT: ...\n\nclass abstractproperty(property): ...\n\n# These two are deprecated and not supported by mypy\ndef abstractstaticmethod(callable: _FuncT) -> _FuncT: ...\ndef abstractclassmethod(callable: _FuncT) -> _FuncT: ...\n\nclass ABC(metaclass=ABCMeta): ...\n\ndef get_cache_token() -> object: ...\n", + "/typeshed/stdlib/antigravity.pyi": "", + "/typeshed/stdlib/array.pyi": "from typing import Generic, Iterable, MutableSequence, TypeVar, Union, overload\nfrom typing_extensions import Literal\n\n_IntTypeCode = Literal[\"b\", \"B\", \"h\", \"H\", \"i\", \"I\", \"l\", \"L\", \"q\", \"Q\"]\n_FloatTypeCode = Literal[\"f\", \"d\"]\n_TypeCode = Union[_IntTypeCode, _FloatTypeCode]\n\n_T = TypeVar(\"_T\", int, float)\n\nclass array(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(\n self: array[int],\n typecode: _IntTypeCode,\n __initializer: Union[bytes, Iterable[_T]] = ...,\n ) -> None: ...\n @overload\n def __init__(\n self: array[float],\n typecode: _FloatTypeCode,\n __initializer: Union[bytes, Iterable[_T]] = ...,\n ) -> None: ...\n @overload\n def __init__(\n self, typecode: str, __initializer: Union[bytes, Iterable[_T]] = ...\n ) -> None: ...\n def append(self, __v: _T) -> None: ...\n def decode(self) -> str: ...\n def extend(self, __bb: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n @overload\n def __getitem__(self, i: int) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> array[_T]: ...\n @overload # type: ignore # Overrides MutableSequence\n def __setitem__(self, i: int, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: array[_T]) -> None: ...\n def __add__(self, x: array[_T]) -> array[_T]: ...\n def __iadd__(self, x: array[_T]) -> array[_T]: ... # type: ignore # Overrides MutableSequence\n\nArrayType = array\n", + "/typeshed/stdlib/audio.pyi": "\"\"\"Play sounds using the micro:bit (import ``audio`` for V1 compatibility).\n\"\"\"\n\n# Re-export for V1 compatibility.\nfrom .microbit.audio import (\n is_playing as is_playing,\n play as play,\n stop as stop,\n AudioRecording as AudioRecording,\n AudioTrack as AudioTrack,\n AudioFrame as AudioFrame,\n SoundEffect as SoundEffect,\n)\n", + "/typeshed/stdlib/builtins.pyi": "import sys\nimport types\nfrom _typeshed import (\n OpenBinaryMode,\n OpenTextMode,\n ReadableBuffer,\n Self,\n StrOrBytesPath,\n SupportsDivMod,\n SupportsKeysAndGetItem,\n SupportsLenAndGetItem,\n SupportsLessThan,\n SupportsLessThanT,\n SupportsRDivMod,\n SupportsWrite,\n)\nfrom types import CodeType, TracebackType\nfrom typing import (\n IO,\n AbstractSet,\n Any,\n AsyncIterable,\n AsyncIterator,\n BinaryIO,\n ByteString,\n Callable,\n FrozenSet,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n MutableMapping,\n MutableSequence,\n MutableSet,\n NoReturn,\n Protocol,\n Reversible,\n Sequence,\n Set,\n Sized,\n SupportsAbs,\n SupportsBytes,\n SupportsComplex,\n SupportsFloat,\n SupportsInt,\n SupportsRound,\n TextIO,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, SupportsIndex, final\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\nclass _SupportsTrunc(Protocol):\n def __trunc__(self) -> int: ...\n\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n_S = TypeVar(\"_S\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T3 = TypeVar(\"_T3\")\n_T4 = TypeVar(\"_T4\")\n_T5 = TypeVar(\"_T5\")\n_TT = TypeVar(\"_TT\", bound=\"type\")\n_TBE = TypeVar(\"_TBE\", bound=\"BaseException\")\n\nclass object:\n __doc__: str | None\n __dict__: dict[str, Any]\n __slots__: str | Iterable[str]\n __module__: str\n __annotations__: dict[str, Any]\n @property\n def __class__(self: _T) -> Type[_T]: ...\n # Ignore errors about type mismatch between property getter and setter\n @__class__.setter\n def __class__(self, __type: Type[object]) -> None: ... # type: ignore # noqa: F811\n def __init__(self) -> None: ...\n def __new__(cls: Type[_T]) -> _T: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __eq__(self, o: object) -> bool: ...\n def __ne__(self, o: object) -> bool: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n def __format__(self, format_spec: str) -> str: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __delattr__(self, name: str) -> None: ...\n def __sizeof__(self) -> int: ...\n def __reduce__(self) -> str | Tuple[Any, ...]: ...\n if sys.version_info >= (3, 8):\n def __reduce_ex__(self, protocol: SupportsIndex) -> str | Tuple[Any, ...]: ...\n else:\n def __reduce_ex__(self, protocol: int) -> str | Tuple[Any, ...]: ...\n def __dir__(self) -> Iterable[str]: ...\n def __init_subclass__(cls) -> None: ...\n\nclass staticmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass classmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass type(object):\n __base__: type\n __bases__: Tuple[type, ...]\n __basicsize__: int\n __dict__: dict[str, Any]\n __dictoffset__: int\n __flags__: int\n __itemsize__: int\n __module__: str\n __name__: str\n __qualname__: str\n __text_signature__: str | None\n __weakrefoffset__: int\n @overload\n def __init__(self, o: object) -> None: ...\n @overload\n def __init__(\n self, name: str, bases: Tuple[type, ...], dict: dict[str, Any], **kwds: Any\n ) -> None: ...\n @overload\n def __new__(cls, o: object) -> type: ...\n @overload\n def __new__(\n cls: Type[_TT],\n name: str,\n bases: Tuple[type, ...],\n namespace: dict[str, Any],\n **kwds: Any,\n ) -> _TT: ...\n def __call__(self, *args: Any, **kwds: Any) -> Any: ...\n def __subclasses__(self: _TT) -> list[_TT]: ...\n def __instancecheck__(self, instance: Any) -> bool: ...\n def __subclasscheck__(self, subclass: type) -> bool: ...\n @classmethod\n def __prepare__(\n metacls, __name: str, __bases: Tuple[type, ...], **kwds: Any\n ) -> Mapping[str, Any]: ...\n if sys.version_info >= (3, 10):\n def __or__(self, t: Any) -> types.UnionType: ...\n def __ror__(self, t: Any) -> types.UnionType: ...\n\nclass super(object):\n @overload\n def __init__(self, t: Any, obj: Any) -> None: ...\n @overload\n def __init__(self, t: Any) -> None: ...\n @overload\n def __init__(self) -> None: ...\n\nclass int:\n @overload\n def __new__(\n cls: Type[_T],\n x: str | bytes | SupportsInt | SupportsIndex | _SupportsTrunc = ...,\n ) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], x: str | bytes | bytearray, base: SupportsIndex\n ) -> _T: ...\n def to_bytes(\n self,\n length: SupportsIndex,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> bytes: ...\n @classmethod\n def from_bytes(\n cls,\n bytes: Iterable[SupportsIndex] | SupportsBytes,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> int: ... # TODO buffer object argument\n def __add__(self, x: int) -> int: ...\n def __sub__(self, x: int) -> int: ...\n def __mul__(self, x: int) -> int: ...\n def __floordiv__(self, x: int) -> int: ...\n def __truediv__(self, x: int) -> float: ...\n def __mod__(self, x: int) -> int: ...\n def __divmod__(self, x: int) -> Tuple[int, int]: ...\n def __radd__(self, x: int) -> int: ...\n def __rsub__(self, x: int) -> int: ...\n def __rmul__(self, x: int) -> int: ...\n def __rfloordiv__(self, x: int) -> int: ...\n def __rtruediv__(self, x: int) -> float: ...\n def __rmod__(self, x: int) -> int: ...\n def __rdivmod__(self, x: int) -> Tuple[int, int]: ...\n @overload\n def __pow__(self, __x: Literal[2], __modulo: int | None = ...) -> int: ...\n @overload\n def __pow__(\n self, __x: int, __modulo: int | None = ...\n ) -> Any: ... # Return type can be int or float, depending on x.\n def __rpow__(self, x: int, mod: int | None = ...) -> Any: ...\n def __and__(self, n: int) -> int: ...\n def __or__(self, n: int) -> int: ...\n def __xor__(self, n: int) -> int: ...\n def __lshift__(self, n: int) -> int: ...\n def __rshift__(self, n: int) -> int: ...\n def __rand__(self, n: int) -> int: ...\n def __ror__(self, n: int) -> int: ...\n def __rxor__(self, n: int) -> int: ...\n def __rlshift__(self, n: int) -> int: ...\n def __rrshift__(self, n: int) -> int: ...\n def __neg__(self) -> int: ...\n def __pos__(self) -> int: ...\n def __invert__(self) -> int: ...\n def __trunc__(self) -> int: ...\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n def __round__(self, ndigits: SupportsIndex = ...) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: int) -> bool: ...\n def __le__(self, x: int) -> bool: ...\n def __gt__(self, x: int) -> bool: ...\n def __ge__(self, x: int) -> bool: ...\n def __str__(self) -> str: ...\n def __float__(self) -> float: ...\n def __int__(self) -> int: ...\n def __abs__(self) -> int: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n def __index__(self) -> int: ...\n\nclass float:\n def __new__(\n cls: Type[_T], x: SupportsFloat | SupportsIndex | str | bytes | bytearray = ...\n ) -> _T: ...\n def __add__(self, x: float) -> float: ...\n def __sub__(self, x: float) -> float: ...\n def __mul__(self, x: float) -> float: ...\n def __floordiv__(self, x: float) -> float: ...\n def __truediv__(self, x: float) -> float: ...\n def __mod__(self, x: float) -> float: ...\n def __divmod__(self, x: float) -> Tuple[float, float]: ...\n def __pow__(\n self, x: float, mod: None = ...\n ) -> float: ... # In Python 3, returns complex if self is negative and x is not whole\n def __radd__(self, x: float) -> float: ...\n def __rsub__(self, x: float) -> float: ...\n def __rmul__(self, x: float) -> float: ...\n def __rfloordiv__(self, x: float) -> float: ...\n def __rtruediv__(self, x: float) -> float: ...\n def __rmod__(self, x: float) -> float: ...\n def __rdivmod__(self, x: float) -> Tuple[float, float]: ...\n def __rpow__(self, x: float, mod: None = ...) -> float: ...\n def __getnewargs__(self) -> Tuple[float]: ...\n def __trunc__(self) -> int: ...\n if sys.version_info >= (3, 9):\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n @overload\n def __round__(self, ndigits: None = ...) -> int: ...\n @overload\n def __round__(self, ndigits: SupportsIndex) -> float: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: float) -> bool: ...\n def __le__(self, x: float) -> bool: ...\n def __gt__(self, x: float) -> bool: ...\n def __ge__(self, x: float) -> bool: ...\n def __neg__(self) -> float: ...\n def __pos__(self) -> float: ...\n def __str__(self) -> str: ...\n def __int__(self) -> int: ...\n def __float__(self) -> float: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass complex:\n @overload\n def __new__(cls: Type[_T], real: float = ..., imag: float = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], real: str | SupportsComplex | SupportsIndex | complex\n ) -> _T: ...\n @property\n def real(self) -> float: ...\n @property\n def imag(self) -> float: ...\n def __add__(self, x: complex) -> complex: ...\n def __sub__(self, x: complex) -> complex: ...\n def __mul__(self, x: complex) -> complex: ...\n def __pow__(self, x: complex, mod: None = ...) -> complex: ...\n def __truediv__(self, x: complex) -> complex: ...\n def __radd__(self, x: complex) -> complex: ...\n def __rsub__(self, x: complex) -> complex: ...\n def __rmul__(self, x: complex) -> complex: ...\n def __rpow__(self, x: complex, mod: None = ...) -> complex: ...\n def __rtruediv__(self, x: complex) -> complex: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __neg__(self) -> complex: ...\n def __pos__(self) -> complex: ...\n def __str__(self) -> str: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass str(Sequence[str]):\n @overload\n def __new__(cls: Type[_T], o: object = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], o: bytes, encoding: str = ..., errors: str = ...\n ) -> _T: ...\n def count(\n self,\n x: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def encode(self, encoding: str = ..., errors: str = ...) -> bytes: ...\n def endswith(\n self,\n __suffix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def format(self, *args: object, **kwargs: object) -> str: ...\n def index(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable: Iterable[str]) -> str: ...\n def lower(self) -> str: ...\n def lstrip(self, __chars: str | None = ...) -> str: ...\n def replace(self, __old: str, __new: str, __count: SupportsIndex = ...) -> str: ...\n def rfind(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def rstrip(self, __chars: str | None = ...) -> str: ...\n def split(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def startswith(\n self,\n __prefix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __chars: str | None = ...) -> str: ...\n def upper(self) -> str: ...\n def __add__(self, s: str) -> str: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: str) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ge__(self, x: str) -> bool: ...\n def __getitem__(self, i: int | slice) -> str: ...\n def __gt__(self, x: str) -> bool: ...\n def __hash__(self) -> int: ...\n def __iter__(self) -> Iterator[str]: ...\n def __le__(self, x: str) -> bool: ...\n def __len__(self) -> int: ...\n def __lt__(self, x: str) -> bool: ...\n def __mod__(self, x: Any) -> str: ...\n def __mul__(self, n: SupportsIndex) -> str: ...\n def __ne__(self, x: object) -> bool: ...\n def __repr__(self) -> str: ...\n def __rmul__(self, n: SupportsIndex) -> str: ...\n def __str__(self) -> str: ...\n def __getnewargs__(self) -> Tuple[str]: ...\n\nclass bytes(ByteString):\n @overload\n def __new__(cls: Type[_T], ints: Iterable[SupportsIndex]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], string: str, encoding: str, errors: str = ...) -> _T: ...\n @overload\n def __new__(cls: Type[_T], length: SupportsIndex) -> _T: ...\n @overload\n def __new__(cls: Type[_T]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], o: SupportsBytes) -> _T: ...\n def count(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def endswith(\n self,\n __suffix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def index(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable_of_bytes: Iterable[ByteString | memoryview]) -> bytes: ...\n def lower(self) -> bytes: ...\n def lstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def replace(\n self, __old: bytes, __new: bytes, __count: SupportsIndex = ...\n ) -> bytes: ...\n def rfind(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def rstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def split(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def startswith(\n self,\n __prefix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __bytes: bytes | None = ...) -> bytes: ...\n def upper(self) -> bytes: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytes: ...\n def __add__(self, s: bytes) -> bytes: ...\n def __mul__(self, n: SupportsIndex) -> bytes: ...\n def __rmul__(self, n: SupportsIndex) -> bytes: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n def __getnewargs__(self) -> Tuple[bytes]: ...\n\nclass bytearray:\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, ints: Iterable[SupportsIndex]) -> None: ...\n @overload\n def __init__(self, string: str, encoding: str, errors: str = ...) -> None: ...\n @overload\n def __init__(self, length: SupportsIndex) -> None: ...\n def append(self, __item: SupportsIndex) -> None: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def extend(self, __iterable_of_ints: Iterable[SupportsIndex]) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytearray: ...\n @overload\n def __setitem__(self, i: SupportsIndex, x: SupportsIndex) -> None: ...\n @overload\n def __setitem__(self, s: slice, x: Iterable[SupportsIndex] | bytes) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, s: bytes) -> bytearray: ...\n def __iadd__(self, s: Iterable[int]) -> bytearray: ...\n def __mul__(self, n: SupportsIndex) -> bytearray: ...\n def __rmul__(self, n: SupportsIndex) -> bytearray: ...\n def __imul__(self, n: SupportsIndex) -> bytearray: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n\nclass memoryview(Sized, Sequence[int]):\n def __init__(self, obj: ReadableBuffer) -> None: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> memoryview: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n def __len__(self) -> int: ...\n @overload\n def __setitem__(self, s: slice, o: bytes) -> None: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: SupportsIndex) -> None: ...\n\n@final\nclass bool(int):\n def __new__(cls: Type[_T], __o: object = ...) -> _T: ...\n @overload\n def __and__(self, x: bool) -> bool: ...\n @overload\n def __and__(self, x: int) -> int: ...\n @overload\n def __or__(self, x: bool) -> bool: ...\n @overload\n def __or__(self, x: int) -> int: ...\n @overload\n def __xor__(self, x: bool) -> bool: ...\n @overload\n def __xor__(self, x: int) -> int: ...\n @overload\n def __rand__(self, x: bool) -> bool: ...\n @overload\n def __rand__(self, x: int) -> int: ...\n @overload\n def __ror__(self, x: bool) -> bool: ...\n @overload\n def __ror__(self, x: int) -> int: ...\n @overload\n def __rxor__(self, x: bool) -> bool: ...\n @overload\n def __rxor__(self, x: int) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n\nclass slice(object):\n start: Any\n step: Any\n stop: Any\n __hash__: None # type: ignore\n def indices(self, len: SupportsIndex) -> Tuple[int, int, int]: ...\n\nclass tuple(Sequence[_T_co], Generic[_T_co]):\n def __new__(cls: Type[_T], iterable: Iterable[_T_co] = ...) -> _T: ...\n def __len__(self) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n @overload\n def __getitem__(self, x: int) -> _T_co: ...\n @overload\n def __getitem__(self, x: slice) -> Tuple[_T_co, ...]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __lt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __le__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __gt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __ge__(self, x: Tuple[_T_co, ...]) -> bool: ...\n @overload\n def __add__(self, x: Tuple[_T_co, ...]) -> Tuple[_T_co, ...]: ...\n @overload\n def __add__(self, x: Tuple[_T, ...]) -> Tuple[_T_co | _T, ...]: ...\n def __mul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def __rmul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def count(self, __value: Any) -> int: ...\n def index(\n self, __value: Any, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n\n# Can we remove this?\nclass function:\n # TODO not defined in builtins!\n __name__: str\n __module__: str\n __code__: CodeType\n __qualname__: str\n __annotations__: dict[str, Any]\n\nclass frozenset(AbstractSet[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls: type[Self]) -> Self: ...\n @overload\n def __new__(cls: type[Self], __iterable: Iterable[_T_co]) -> Self: ...\n def copy(self) -> FrozenSet[_T_co]: ...\n def difference(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def intersection(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def isdisjoint(self, s: Iterable[_T_co]) -> bool: ...\n def issubset(self, s: Iterable[object]) -> bool: ...\n def issuperset(self, s: Iterable[object]) -> bool: ...\n def symmetric_difference(self, s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def union(self, *s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __sub__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass list(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[_T]) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> list[_T]: ...\n def append(self, __object: _T) -> None: ...\n def extend(self, __iterable: Iterable[_T]) -> None: ...\n def pop(self, __index: SupportsIndex = ...) -> _T: ...\n def index(\n self, __value: _T, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n def count(self, __value: _T) -> int: ...\n def insert(self, __index: SupportsIndex, __object: _T) -> None: ...\n def remove(self, __value: _T) -> None: ...\n def reverse(self) -> None: ...\n @overload\n def sort(\n self: list[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n ) -> None: ...\n @overload\n def sort(\n self, *, key: Callable[[_T], SupportsLessThan], reverse: bool = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> list[_T]: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, x: list[_T]) -> list[_T]: ...\n def __iadd__(self: _S, x: Iterable[_T]) -> _S: ...\n def __mul__(self, n: SupportsIndex) -> list[_T]: ...\n def __rmul__(self, n: SupportsIndex) -> list[_T]: ...\n def __imul__(self: _S, n: SupportsIndex) -> _S: ...\n def __contains__(self, o: object) -> bool: ...\n def __reversed__(self) -> Iterator[_T]: ...\n def __gt__(self, x: list[_T]) -> bool: ...\n def __ge__(self, x: list[_T]) -> bool: ...\n def __lt__(self, x: list[_T]) -> bool: ...\n def __le__(self, x: list[_T]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass dict(MutableMapping[_KT, _VT], Generic[_KT, _VT]):\n @overload\n def __init__(self: dict[_KT, _VT]) -> None: ...\n @overload\n def __init__(self: dict[str, _VT], **kwargs: _VT) -> None: ...\n @overload\n def __init__(\n self, map: SupportsKeysAndGetItem[_KT, _VT], **kwargs: _VT\n ) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n def __new__(cls: Type[_T1], *args: Any, **kwargs: Any) -> _T1: ...\n def clear(self) -> None: ...\n def copy(self) -> dict[_KT, _VT]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, __key: _KT, __default: _VT = ...) -> _VT: ...\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT]: ...\n def items(self) -> ItemsView[_KT, _VT]: ...\n @classmethod\n @overload\n def fromkeys(\n cls, __iterable: Iterable[_T], __value: None = ...\n ) -> dict[_T, Any | None]: ...\n @classmethod\n @overload\n def fromkeys(cls, __iterable: Iterable[_T], __value: _S) -> dict[_T, _S]: ...\n def __len__(self) -> int: ...\n def __getitem__(self, k: _KT) -> _VT: ...\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n def __delitem__(self, v: _KT) -> None: ...\n def __iter__(self) -> Iterator[_KT]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __or__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ror__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ior__(self, __value: Mapping[_KT, _VT]) -> dict[_KT, _VT]: ... # type: ignore\n\nclass set(MutableSet[_T], Generic[_T]):\n def __init__(self, iterable: Iterable[_T] = ...) -> None: ...\n def add(self, element: _T) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> Set[_T]: ...\n def difference(self, *s: Iterable[Any]) -> Set[_T]: ...\n def difference_update(self, *s: Iterable[Any]) -> None: ...\n def discard(self, element: _T) -> None: ...\n def intersection(self, *s: Iterable[Any]) -> Set[_T]: ...\n def intersection_update(self, *s: Iterable[Any]) -> None: ...\n def isdisjoint(self, s: Iterable[Any]) -> bool: ...\n def issubset(self, s: Iterable[Any]) -> bool: ...\n def issuperset(self, s: Iterable[Any]) -> bool: ...\n def pop(self) -> _T: ...\n def remove(self, element: _T) -> None: ...\n def symmetric_difference(self, s: Iterable[_T]) -> Set[_T]: ...\n def symmetric_difference_update(self, s: Iterable[_T]) -> None: ...\n def union(self, *s: Iterable[_T]) -> Set[_T]: ...\n def update(self, *s: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __iand__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __or__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ior__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __sub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __isub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __xor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass enumerate(Iterator[Tuple[int, _T]], Generic[_T]):\n def __init__(self, iterable: Iterable[_T], start: int = ...) -> None: ...\n def __iter__(self) -> Iterator[Tuple[int, _T]]: ...\n def __next__(self) -> Tuple[int, _T]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass range(Sequence[int]):\n start: int\n stop: int\n step: int\n @overload\n def __init__(self, stop: SupportsIndex) -> None: ...\n @overload\n def __init__(\n self, start: SupportsIndex, stop: SupportsIndex, step: SupportsIndex = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> range: ...\n def __repr__(self) -> str: ...\n def __reversed__(self) -> Iterator[int]: ...\n\nclass property(object):\n fget: Callable[[Any], Any] | None\n fset: Callable[[Any, Any], None] | None\n fdel: Callable[[Any], None] | None\n def __init__(\n self,\n fget: Callable[[Any], Any] | None = ...,\n fset: Callable[[Any, Any], None] | None = ...,\n fdel: Callable[[Any], None] | None = ...,\n doc: str | None = ...,\n ) -> None: ...\n def getter(self, fget: Callable[[Any], Any]) -> property: ...\n def setter(self, fset: Callable[[Any, Any], None]) -> property: ...\n def deleter(self, fdel: Callable[[Any], None]) -> property: ...\n def __get__(self, obj: Any, type: type | None = ...) -> Any: ...\n def __set__(self, obj: Any, value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nclass _NotImplementedType(Any): # type: ignore\n # A little weird, but typing the __call__ as NotImplemented makes the error message\n # for NotImplemented() much better\n __call__: NotImplemented # type: ignore\n\nNotImplemented: _NotImplementedType\n\ndef abs(__x: SupportsAbs[_T]) -> _T: ...\ndef all(__iterable: Iterable[object]) -> bool: ...\ndef any(__iterable: Iterable[object]) -> bool: ...\ndef bin(__number: int | SupportsIndex) -> str: ...\n\nif sys.version_info >= (3, 7):\n def breakpoint(*args: Any, **kws: Any) -> None: ...\n\ndef callable(__obj: object) -> bool: ...\ndef chr(__i: int) -> str: ...\n\n# We define this here instead of using os.PathLike to avoid import cycle issues.\n# See https://github.com/python/typeshed/pull/991#issuecomment-288160993\n_AnyStr_co = TypeVar(\"_AnyStr_co\", str, bytes, covariant=True)\n\nclass _PathLike(Protocol[_AnyStr_co]):\n def __fspath__(self) -> _AnyStr_co: ...\n\nif sys.version_info >= (3, 10):\n def aiter(__iterable: AsyncIterable[_T]) -> AsyncIterator[_T]: ...\n @overload\n async def anext(__i: AsyncIterator[_T]) -> _T: ...\n @overload\n async def anext(__i: AsyncIterator[_T], default: _VT) -> _T | _VT: ...\n\ndef delattr(__obj: Any, __name: str) -> None: ...\ndef dir(__o: object = ...) -> list[str]: ...\n@overload\ndef divmod(__x: SupportsDivMod[_T_contra, _T_co], __y: _T_contra) -> _T_co: ...\n@overload\ndef divmod(__x: _T_contra, __y: SupportsRDivMod[_T_contra, _T_co]) -> _T_co: ...\ndef eval(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\ndef exec(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\n\nclass filter(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __function: None, __iterable: Iterable[_T | None]) -> None: ...\n @overload\n def __init__(\n self, __function: Callable[[_T], Any], __iterable: Iterable[_T]\n ) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\n@overload\ndef getattr(__o: object, name: str) -> Any: ...\n\n# While technically covered by the last overload, spelling out the types for None and bool\n# help mypy out in some tricky situations involving type context (aka bidirectional inference)\n@overload\ndef getattr(__o: object, name: str, __default: None) -> Any | None: ...\n@overload\ndef getattr(__o: object, name: str, __default: bool) -> Any | bool: ...\n@overload\ndef getattr(__o: object, name: str, __default: _T) -> Any | _T: ...\ndef globals() -> dict[str, Any]: ...\ndef hasattr(__obj: object, __name: str) -> bool: ...\ndef hash(__obj: object) -> int: ...\ndef help(*args: Any, **kwds: Any) -> None: ...\ndef hex(__number: int | SupportsIndex) -> str: ...\ndef id(__obj: object) -> int: ...\ndef input(__prompt: Any = ...) -> str: ...\n@overload\ndef iter(__iterable: Iterable[_T]) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T | None], __sentinel: None) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T], __sentinel: Any) -> Iterator[_T]: ...\n\nif sys.version_info >= (3, 10):\n def isinstance(\n __obj: object,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n def issubclass(\n __cls: type,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n\nelse:\n def isinstance(\n __obj: object, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n def issubclass(\n __cls: type, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n\ndef len(__obj: Sized) -> int: ...\ndef locals() -> dict[str, Any]: ...\n\nclass map(Iterator[_S], Generic[_S]):\n @overload\n def __init__(self, __func: Callable[[_T1], _S], __iter1: Iterable[_T1]) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4, _T5], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[..., _S],\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> None: ...\n def __iter__(self) -> Iterator[_S]: ...\n def __next__(self) -> _S: ...\n\n@overload\ndef max(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef max(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef max(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef max(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef min(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef min(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef min(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef min(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef next(__i: Iterator[_T]) -> _T: ...\n@overload\ndef next(__i: Iterator[_T], default: _VT) -> _T | _VT: ...\ndef oct(__number: int | SupportsIndex) -> str: ...\n\n_OpenFile = Union[StrOrBytesPath, int]\n_Opener = Callable[[str, int], int]\n\n# Text mode: always returns a TextIOWrapper\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenTextMode = ...,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> TextIO: ...\n\n# Unbuffered binary mode: returns a FileIO\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenBinaryMode,\n buffering: int = ...,\n encoding: None = ...,\n errors: None = ...,\n newline: None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> BinaryIO: ...\n\n# Fallback if mode is not specified\n@overload\ndef open(\n file: _OpenFile,\n mode: str,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> IO[Any]: ...\ndef ord(__c: str | bytes) -> int: ...\ndef print(\n *values: object,\n sep: str | None = ...,\n end: str | None = ...,\n file: SupportsWrite[str] | None = ...,\n flush: bool = ...,\n) -> None: ...\n\n_E = TypeVar(\"_E\", contravariant=True)\n_M = TypeVar(\"_M\", contravariant=True)\n\nclass _SupportsPow2(Protocol[_E, _T_co]):\n def __pow__(self, __other: _E) -> _T_co: ...\n\nclass _SupportsPow3(Protocol[_E, _M, _T_co]):\n def __pow__(self, __other: _E, __modulo: _M) -> _T_co: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def pow(\n base: int, exp: int, mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(base: int, exp: int, mod: int) -> int: ...\n @overload\n def pow(base: float, exp: float, mod: None = ...) -> float: ...\n @overload\n def pow(base: _SupportsPow2[_E, _T_co], exp: _E) -> _T_co: ...\n @overload\n def pow(base: _SupportsPow3[_E, _M, _T_co], exp: _E, mod: _M) -> _T_co: ...\n\nelse:\n @overload\n def pow(\n __base: int, __exp: int, __mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(__base: int, __exp: int, __mod: int) -> int: ...\n @overload\n def pow(__base: float, __exp: float, __mod: None = ...) -> float: ...\n @overload\n def pow(__base: _SupportsPow2[_E, _T_co], __exp: _E) -> _T_co: ...\n @overload\n def pow(__base: _SupportsPow3[_E, _M, _T_co], __exp: _E, __mod: _M) -> _T_co: ...\n\nclass reversed(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __sequence: Reversible[_T]) -> None: ...\n @overload\n def __init__(self, __sequence: SupportsLenAndGetItem[_T]) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\ndef repr(__obj: object) -> str: ...\n@overload\ndef round(number: SupportsRound[Any]) -> int: ...\n@overload\ndef round(number: SupportsRound[Any], ndigits: None) -> int: ...\n@overload\ndef round(number: SupportsRound[_T], ndigits: SupportsIndex) -> _T: ...\ndef setattr(__obj: object, __name: str, __value: Any) -> None: ...\n@overload\ndef sorted(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n) -> list[SupportsLessThanT]: ...\n@overload\ndef sorted(\n __iterable: Iterable[_T],\n *,\n key: Callable[[_T], SupportsLessThan],\n reverse: bool = ...,\n) -> list[_T]: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], start: _S) -> _T | _S: ...\n\nelse:\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], __start: _S) -> _T | _S: ...\n\nclass zip(Iterator[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls, __iter1: Iterable[_T1]) -> zip[Tuple[_T1]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2]\n ) -> zip[Tuple[_T1, _T2]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]\n ) -> zip[Tuple[_T1, _T2, _T3]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4, _T5]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> zip[Tuple[Any, ...]]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __next__(self) -> _T_co: ...\n\ndef __import__(\n name: str,\n globals: Mapping[str, Any] | None = ...,\n locals: Mapping[str, Any] | None = ...,\n fromlist: Sequence[str] = ...,\n level: int = ...,\n) -> Any: ...\n\n# Actually the type of Ellipsis is , but since it's\n# not exposed anywhere under that name, we make it private here.\nclass ellipsis: ...\n\nEllipsis: ellipsis\n\nclass BaseException(object):\n args: Tuple[Any, ...]\n __cause__: BaseException | None\n __context__: BaseException | None\n __suppress_context__: bool\n __traceback__: TracebackType | None\n def __init__(self, *args: object) -> None: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def with_traceback(self: _TBE, tb: TracebackType | None) -> _TBE: ...\n\nclass GeneratorExit(BaseException): ...\nclass KeyboardInterrupt(BaseException): ...\n\nclass SystemExit(BaseException):\n code: int\n\nclass Exception(BaseException): ...\n\nclass StopIteration(Exception):\n value: Any\n\n_StandardError = Exception\n\nclass OSError(Exception):\n errno: int\n strerror: str\n # filename, filename2 are actually str | bytes | None\n filename: Any\n filename2: Any\n if sys.platform == \"win32\":\n winerror: int\n\nif sys.platform == \"win32\":\n WindowsError = OSError\n\nclass ArithmeticError(_StandardError): ...\nclass AssertionError(_StandardError): ...\n\nclass AttributeError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n obj: object\n\nclass EOFError(_StandardError): ...\n\nclass ImportError(_StandardError):\n def __init__(\n self, *args: object, name: str | None = ..., path: str | None = ...\n ) -> None: ...\n name: str | None\n path: str | None\n msg: str # undocumented\n\nclass LookupError(_StandardError): ...\nclass MemoryError(_StandardError): ...\n\nclass NameError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n\nclass RuntimeError(_StandardError): ...\n\nclass StopAsyncIteration(Exception):\n value: Any\n\nclass SyntaxError(_StandardError):\n msg: str\n lineno: int | None\n offset: int | None\n text: str | None\n filename: str | None\n if sys.version_info >= (3, 10):\n end_lineno: int | None\n end_offset: int | None\n\nclass TypeError(_StandardError): ...\nclass ValueError(_StandardError): ...\nclass FloatingPointError(ArithmeticError): ...\nclass OverflowError(ArithmeticError): ...\nclass ZeroDivisionError(ArithmeticError): ...\nclass IndexError(LookupError): ...\nclass KeyError(LookupError): ...\nclass NotImplementedError(RuntimeError): ...\nclass IndentationError(SyntaxError): ...\nclass TabError(IndentationError): ...\n", + "/typeshed/stdlib/errno.pyi": "from typing import Mapping\n\nerrorcode: Mapping[int, str]\n\nEACCES: int\nEADDRINUSE: int\nEAGAIN: int\nEALREADY: int\nEBADF: int\nECONNABORTED: int\nECONNREFUSED: int\nECONNRESET: int\nEEXIST: int\nEHOSTUNREACH: int\nEINPROGRESS: int\nEINVAL: int\nEIO: int\nEISDIR: int\nENOBUFS: int\nENODEV: int\nENOENT: int\nENOMEM: int\nENOTCONN: int\nEOPNOTSUPP: int\nEPERM: int\nETIMEDOUT: int\n", + "/typeshed/stdlib/gc.pyi": "\"\"\"Control the garbage collector\"\"\"\n\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"Enable automatic garbage collection.\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"Disable automatic garbage collection.\n\n Heap memory can still be allocated,\n and garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"Run a garbage collection.\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"Get the number of bytes of heap RAM that are allocated.\n\n :return: The number of bytes allocated.\n\n This function is MicroPython extension.\n \"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"Get the number of bytes of available heap RAM, or -1 if this amount is not known.\n\n :return: The number of bytes free.\n\n This function is MicroPython extension.\n \"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"Query the additional GC allocation threshold.\n\n :return: The GC allocation threshold.\n\n This function is a MicroPython extension. CPython has a similar\n function - ``set_threshold()``, but due to different GC\n implementations, its signature and semantics are different.\n \"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"Set the additional GC allocation threshold.\n\n Normally, a collection is triggered only when a new allocation\n cannot be satisfied, i.e. on an out-of-memory (OOM) condition.\n If this function is called, in addition to OOM, a collection\n will be triggered each time after ``amount`` bytes have been\n allocated (in total, since the previous time such an amount of bytes\n have been allocated). ``amount`` is usually specified as less than the\n full heap size, with the intention to trigger a collection earlier than when the\n heap becomes exhausted, and in the hope that an early collection will prevent\n excessive memory fragmentation. This is a heuristic measure, the effect\n of which will vary from application to application, as well as\n the optimal value of the ``amount`` parameter.\n\n A value of -1 means a disabled allocation threshold.\n\n This function is a MicroPython extension. CPython has a similar\n function - ``set_threshold()``, but due to different GC\n implementations, its signature and semantics are different.\n\n :param amount: The number of bytes after which a garbage collection should be triggered.\n \"\"\"\n ...\n", + "/typeshed/stdlib/log.pyi": "\"\"\"Log data to your micro:bit V2.\"\"\"\n\nfrom typing import Literal, Mapping, Optional, Union, overload\n\nMILLISECONDS = 1\n\"\"\"Milliseconds timestamp format.\"\"\"\n\nSECONDS = 10\n\"\"\"Seconds timestamp format.\"\"\"\n\nMINUTES = 600\n\"\"\"Minutes timestamp format.\"\"\"\n\nHOURS = 36000\n\"\"\"Hours timestamp format.\"\"\"\n\nDAYS = 864000\n\"\"\"Days timestamp format.\"\"\"\n\ndef set_labels(\n *labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]] = SECONDS\n) -> None:\n \"\"\"Set up the log file header.\n\n Example: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\n Ideally this function should be called a single time, before any data is\n logged, to configure the data table header once.\n\n If a log file already exists when the program starts, or if this function\n is called multiple times, it will check the labels already defined in the\n log file. If this function call contains any new labels not already\n present, it will generate a new header row with the additional columns.\n\n By default the first column contains a timestamp for each row. The time\n unit can be selected via the timestamp argument.\n\n :param *labels: Any number of positional arguments, each corresponding to an entry in the log header.\n :param timestamp: Select the timestamp unit that will be automatically added as the first column in every row. Timestamp values can be one of ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, ``log.HOURS``, ``log.DAYS`` or ``None`` to disable the timestamp. The default value is ``log.SECONDS``.\n \"\"\"\n ...\n\n@overload\ndef add(\n data_dictionary: Optional[Mapping[str, Union[str, int, float]]],\n) -> None:\n \"\"\"Add a data row to the log by passing a dictionary of headers and values.\n\n Example: ``log.add({ 'temp': temperature() })``\n\n Each call to this function adds a row to the log.\n\n New labels not previously specified via the set_labels function, or by a\n previous call to this function, will trigger a new header entry to be added\n to the log with the extra labels.\n\n Labels previously specified and not present in a call to this function will\n be skipped with an empty value in the log row.\n\n :param data_dictionary: The data to log as a dictionary with a key for each header.\n \"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"Add a data row to the log using keyword arguments.\n\n Example: ``log.add(temp=temperature())``\n\n Each call to this function adds a row to the log.\n\n New labels not previously specified via the set_labels function, or by a\n previous call to this function, will trigger a new header entry to be added\n to the log with the extra labels.\n\n Labels previously specified and not present in a call to this function will\n be skipped with an empty value in the log row.\n \"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"Deletes the contents of the log, including headers.\n\n Example: ``log.delete()``\n\n To add the log headers again the ``set_labels`` function should to be called after this function.\n\n There are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\n and \u201cfast\u201d invalidates the data without removing it.\n\n :param full: ``True`` selects a \u201cfull\u201d erase and ``False`` selects the \u201cfast\u201d erase method.\n \"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"Configure mirroring of the data logging activity to the serial output.\n\n Example: ``log.set_mirroring(True)``\n\n Serial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n :param serial: ``True`` enables mirroring data to the serial output.\n \"\"\"\n ...\n", + "/typeshed/stdlib/love.pyi": "def badaboom() -> None: ...\n", + "/typeshed/stdlib/machine.pyi": "\"\"\"Low-level utilities.\n\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"Get a byte string with a unique identifier of a board.\n\n Example: ``machine.unique_id()``\n\n :return: An identifier that varies from one board instance to another.\n \"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Reset the device in a manner similar to pushing the external RESET button.\n\n Example: ``machine.reset()``\n \"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"Get the CPU frequency in hertz.\n\n Example: ``machine.freq()``\n\n :return: The CPU frequency.\n \"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"Disable interrupt requests.\n\n Example: ``interrupt_state = machine.disable_irq()``\n\n :return: the previous IRQ state which should be considered an opaque value\n\n The return value should be passed to the ``enable_irq`` function to restore\n interrupts to their original state.\n \"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"Re-enable interrupt requests.\n\n Example: ``machine.enable_irq(interrupt_state)``\n\n :param state: The value that was returned from the most recent call to the ``disable_irq`` function.\n \"\"\"\n ...\n\ndef time_pulse_us(\n pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int = 1000000\n) -> int:\n \"\"\"Time a pulse on a pin.\n\n Example: ``time_pulse_us(pin0, 1)``\n\n If the current input value of the pin is different to ``pulse_level``, the\n function first waits until the pin input becomes equal to\n ``pulse_level``, then times the duration that the pin is equal to\n ``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\n starts straight away.\n\n :param pin: The pin to use\n :param pulse_level: 0 to time a low pulse or 1 to time a high pulse\n :param timeout_us: A microsecond timeout\n :return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\n \"\"\"\n ...\n\nclass mem:\n \"\"\"The class for the ``mem8``, ``mem16`` and ``mem32`` memory views.\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"Access a value from memory.\n\n :param address: The memory address.\n :return: The value at that address as an integer.\n \"\"\"\n ...\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"Set a value at the given address.\n\n :param address: The memory address.\n :param value: The integer value to set.\n \"\"\"\n ...\n\nmem8: mem\n\"\"\"8-bit (byte) view of memory.\"\"\"\n\nmem16: mem\n\"\"\"16-bit view of memory.\"\"\"\n\nmem32: mem\n\"\"\"32-bit view of memory.\"\"\"\n", + "/typeshed/stdlib/math.pyi": "\"\"\"Mathematical functions.\n\"\"\"\n\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"Calculate the inverse cosine.\n\n Example: ``math.acos(1)``\n\n :param x: A number\n :return: The inverse cosine of ``x``\n \"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"Calculate the inverse sine.\n\n Example: ``math.asin(0)``\n\n :param x: A number\n :return: The inverse sine of ``x``\n \"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"Calculate the inverse tangent.\n\n Example: ``math.atan(0)``\n\n :param x: A number\n :return: The inverse tangent of ``x``\n \"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"Calculate the principal value of the inverse tangent of ``y/x``.\n\n Example: ``math.atan2(0, -1)``\n\n :param y: A number\n :param x: A number\n :return: The principal value of the inverse tangent of ``y/x``\n \"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"Round a number towards positive infinity.\n\n Example: ``math.ceil(0.1)``\n\n :param x: A number\n :return: ``x`` rounded towards positive infinity.\n \"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"Calculate ``x`` with the sign of ``y``.\n\n Example: ``math.copysign(1, -1)``\n\n :param x: A number\n :param y: The source of the sign for the return value\n :return: ``x`` with the sign of ``y``\n \"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"Calculate the cosine of ``x``.\n\n Example: ``math.cos(0)``\n\n :param x: A number\n :return: The cosine of ``x``\n \"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"Convert radians to degrees.\n\n Example: ``math.degrees(2 * math.pi)``\n\n :param x: A value in radians\n :return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"Calculate the exponential of ``x``.\n\n Example: ``math.exp(1)``\n\n :param x: A number\n :return: The exponential of ``x``.\n \"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"Return the absolute value of ``x``.\n\n Example: ``math.fabs(-0.1)``\n\n :param x: A number\n :return: The absolute value of ``x``\n \"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"Round a number towards negative infinity.\n\n Example: ``math.floor(0.9)``\n\n :param x: A number\n :return: ``x`` rounded towards negative infinity.\n \"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"Calculate the remainder of ``x/y``.\n\n Example: ``math.fmod(10, 3)``\n\n :param x: The numerator\n :param y: The denominator\n \"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"Decomposes a floating-point number into its mantissa and exponent.\n\n Example: ``mantissa, exponent = math.frexp(2)``\n\n The returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\n exactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\n the relation ``0.5 <= abs(m) < 1`` holds.\n\n :param x: A floating-point number\n :return: A tuple of length two containing its mantissa then exponent\n \"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"Check if a value is finite.\n\n Example: ``math.isfinite(float('inf'))``\n\n :param x: A number.\n :return: ``True`` if ``x`` is finite, ``False`` otherwise.\n \"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"Check if a value is infinite.\n\n Example: ``math.isinf(float('-inf'))``\n\n :param x: A number.\n :return: ``True`` if ``x`` is infinite, ``False`` otherwise.\n \"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"Check if a value is not-a-number (NaN).\n\n Example: ``math.isnan(float('nan'))``\n\n :param x: A number\n :return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"Calculate ``x * (2**exp)``.\n\n Example: ``math.ldexp(0.5, 2)``\n\n :param x: A number\n :param exp: Integer exponent\n :return: ``x * (2**exp)``\n \"\"\"\n ...\n\ndef log(x: float, base: float = e) -> float:\n \"\"\"Calculate the logarithm of ``x`` to the given base (defaults to natural logorithm).\n\n Example: ``math.log(math.e)``\n\n With one argument, return the natural logarithm of x (to base e).\n\n With two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n :param x: A number\n :param base: The base to use\n :return: The natural logarithm of ``x``\n \"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"Calculate the fractional and integral parts of ``x``.\n\n Example: ``fractional, integral = math.modf(1.5)``\n\n :param x: A number\n :return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\n Both the fractional and integral values have the same sign as ``x``.\n \"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"Returns ``x`` to the power of ``y``.\n\n Example: ``math.pow(4, 0.5)``\n\n :param x: A number\n :param y: The exponent\n :return: ``x`` to the power of ``y``\n \"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"Convert a degrees to radians.\n\n Example: ``math.radians(360)``\n\n :param x: A value in degrees\n :return: The value converted to radians\n \"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"Calculate the sine of ``x``.\n\n Example: ``math.sin(math.pi/2)``\n\n :param x: A number\n :return: The sine of ``x``\n \"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"Calculate the square root of ``x``.\n\n Example: ``math.sqrt(4)``\n\n :param x: A number\n :return: The square root of ``x``\n \"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"Calculate the tangent of ``x``.\n\n Example: ``math.tan(0)``\n\n :param x: A number\n :return: The tangent of ``x``.\n \"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"Round a number towards 0.\n\n Example: ``math.trunc(-0.9)``\n\n :param x: A number\n :return: ``x`` rounded towards zero.\n \"\"\"\n ...\n\ne: float\n\"\"\"Base of the natural logarithm\"\"\"\n\npi: float\n\"\"\"The ratio of a circle's circumference to its diameter\"\"\"\n", + "/typeshed/stdlib/micropython.pyi": "\"\"\"MicroPython internals.\"\"\"\n\nfrom typing import Any, TypeVar, overload\n\n_T = TypeVar(\"_T\")\n\ndef const(expr: _T) -> _T:\n \"\"\"Used to declare that the expression is a constant so that the compiler can\n optimise it.\n\n The use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\n Constants declared this way are still accessible as global variables from\n outside the module they are declared in. On the other hand, if a constant\n begins with an underscore then it is hidden, it is not available as a\n global variable, and does not take up any memory during execution.\n\n :param expr: A constant expression.\n \"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"Get the current optimisation level for the compilation of scripts.\n\n Example: ``micropython.opt_level()``\n\n The optimisation level controls the following compilation features:\n\n - Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n - Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n - Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n :return: An integer representing the current level.\n \"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"Sets the optimisation level for subsequent compilation of scripts.\n\n Example: ``micropython.opt_level(1)``\n\n The optimisation level controls the following compilation features:\n\n - Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n - Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n - Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n The default optimisation level is usually level 0.\n\n :param level: An integer optimisation level.\n \"\"\"\n ...\n\ndef mem_info(verbose: Any = None) -> None:\n \"\"\"Print information about currently used memory.\n\n Example: ``micropython.mem_info()``\n\n :param verbose: If the ``verbose`` argument is given then extra information is printed.\n \"\"\"\n ...\n\ndef qstr_info(verbose: Any = None) -> None:\n \"\"\"Print information about currently interned strings.\n\n Example: ``micropython.qstr_info()``\n\n :param verbose: If the ``verbose`` argument is given then extra information is printed.\n\n The information that is printed is implementation dependent, but currently\n includes the number of interned strings and the amount of RAM they use. In\n verbose mode it prints out the names of all RAM-interned strings.\n \"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"Return an integer representing the current amount of stack that is being\n used.\n\n Example: ``micropython.stack_use()``\n\n The absolute value of this is not particularly useful, rather it\n should be used to compute differences in stack usage at different points.\n\n :return: An integer representing current stack use.\n \"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"Lock the heap.\n\n Example: ``micropython.heap_lock()``\n\n When locked no memory allocation can occur and a ``MemoryError`` will be\n raised if any heap allocation is attempted.\n \"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"Unlock the heap.\n\n Example: ``micropython.heap_unlock()``\n\n When locked no memory allocation can occur and a ``MemoryError`` will be\n raised if any heap allocation is attempted.\n \"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"Set the character that will raise a ``KeyboardInterrupt`` exception.\n\n Example: ``micropython.kbd_intr(-1)``\n\n :param chr: Character code to raise the interrupt or -1 to disable capture of Ctrl-C.\n\n By default this is set to 3 during script execution, corresponding to Ctrl-C.\n Passing -1 to this function will disable capture of Ctrl-C, and passing 3\n will restore it.\n\n This function can be used to prevent the capturing of Ctrl-C on the\n incoming stream of characters that is usually used for the REPL, in case\n that stream is used for other purposes.\n \"\"\"\n ...\n", + "/typeshed/stdlib/music.pyi": "\"\"\"Create and play melodies.\n\"\"\"\nfrom typing import Optional, Tuple, Union, List\n\nfrom .microbit import MicroBitDigitalPin, pin0\n\nDADADADUM: Tuple[str, ...]\n\"\"\"Melody: the opening to Beethoven\u2019s 5th Symphony in C minor.\"\"\"\n\nENTERTAINER: Tuple[str, ...]\n\"\"\"Melody: the opening fragment of Scott Joplin\u2019s Ragtime classic \u201cThe Entertainer\u201d.\"\"\"\n\nPRELUDE: Tuple[str, ...]\n\"\"\"Melody: the opening of the first Prelude in C Major of J.S.Bach\u2019s 48 Preludes and Fugues.\"\"\"\n\nODE: Tuple[str, ...]\n\"\"\"Melody: the \u201cOde to Joy\u201d theme from Beethoven\u2019s 9th Symphony in D minor.\"\"\"\n\nNYAN: Tuple[str, ...]\n\"\"\"Melody: the Nyan Cat theme (http://www.nyan.cat/).\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\n\nRINGTONE: Tuple[str, ...]\n\"\"\"Melody: something that sounds like a mobile phone ringtone.\n\nTo be used to indicate an incoming message.\n\"\"\"\n\nFUNK: Tuple[str, ...]\n\"\"\"Melody: a funky bass line for secret agents and criminal masterminds.\"\"\"\n\nBLUES: Tuple[str, ...]\n\"\"\"Melody: a boogie-woogie 12-bar blues walking bass.\"\"\"\n\nBIRTHDAY: Tuple[str, ...]\n\"\"\"Melody: \u201cHappy Birthday to You\u2026\u201d\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\n\nWEDDING: Tuple[str, ...]\n\"\"\"Melody: the bridal chorus from Wagner\u2019s opera \u201cLohengrin\u201d.\"\"\"\n\nFUNERAL: Tuple[str, ...]\n\"\"\"Melody: the \u201cfuneral march\u201d otherwise known as Fr\u00e9d\u00e9ric Chopin\u2019s Piano Sonata No. 2 in B\u266d minor, Op. 35.\"\"\"\n\nPUNCHLINE: Tuple[str, ...]\n\"\"\"Melody: a fun fragment that signifies a joke has been made.\"\"\"\n\nPYTHON: Tuple[str, ...]\n\"\"\"Melody: John Philip Sousa\u2019s march \u201cLiberty Bell\u201d aka, the theme for \u201cMonty Python\u2019s Flying Circus\u201d (after which the Python programming language is named).\"\"\"\n\nBADDY: Tuple[str, ...]\n\"\"\"Melody: silent movie era entrance of a baddy.\"\"\"\n\nCHASE: Tuple[str, ...]\n\"\"\"Melody: silent movie era chase scene.\"\"\"\n\nBA_DING: Tuple[str, ...]\n\"\"\"Melody: a short signal to indicate something has happened.\"\"\"\n\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"Melody: a very sad trombone.\"\"\"\n\nJUMP_UP: Tuple[str, ...]\n\"\"\"Melody: for use in a game, indicating upward movement.\"\"\"\n\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"Melody: for use in a game, indicating downward movement.\"\"\"\n\nPOWER_UP: Tuple[str, ...]\n\"\"\"Melody: a fanfare to indicate an achievement unlocked.\"\"\"\n\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"Melody: a sad fanfare to indicate an achievement lost.\"\"\"\n\ndef set_tempo(ticks: int = 4, bpm: int = 120) -> None:\n \"\"\"Sets the approximate tempo for playback.\n\n Example: ``music.set_tempo(bpm=120)``\n\n :param ticks: The number of ticks constituting a beat.\n :param bpm: An integer determining how many beats per minute.\n\n Suggested default values allow the following useful behaviour:\n\n - music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n - music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n - music.set_tempo(bpm=180) \u2013 just change the tempo\n\n To work out the length of a tick in milliseconds is very simple arithmetic:\n 60000/bpm/ticks_per_beat. For the default values that\u2019s\n 60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\n \"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"Gets the current tempo as a tuple of integers: ``(ticks, bpm)``.\n\n Example: ``ticks, beats = music.get_tempo()``\n\n :return: The temp as a tuple with two integer values, the ticks then the beats per minute.\n \"\"\"\n ...\n\ndef play(\n music: Union[str, List[str], Tuple[str, ...]],\n pin: Optional[MicroBitDigitalPin] = pin0,\n wait: bool = True,\n loop: bool = False,\n) -> None:\n \"\"\"Plays music.\n\n Example: ``music.play(music.NYAN)``\n\n :param music: music specified in `a special notation `_\n :param pin: the output pin for use with an external speaker (default ``pin0``), ``None`` for no sound.\n :param wait: If ``wait`` is set to ``True``, this function is blocking.\n :param loop: If ``loop`` is set to ``True``, the tune repeats until ``stop`` is called or the blocking call is interrupted.\n\n Many built-in melodies are defined in this module.\n \"\"\"\n ...\n\ndef pitch(\n frequency: int,\n duration: int = -1,\n pin: Optional[MicroBitDigitalPin] = pin0,\n wait: bool = True,\n) -> None:\n \"\"\"Play a note.\n\n Example: ``music.pitch(185, 1000)``\n\n :param frequency: An integer frequency\n :param duration: A millisecond duration. If negative then sound is continuous until the next call or a call to ``stop``.\n :param pin: Optional output pin (default ``pin0``).\n :param wait: If ``wait`` is set to ``True``, this function is blocking.\n\n For example, if the frequency is set to 440 and the length to\n 1000 then we hear a standard concert A for one second.\n\n You can only play one pitch on one pin at any one time.\n \"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin] = pin0) -> None:\n \"\"\"Stops all music playback on the built-in speaker and any pin outputting sound.\n\n Example: ``music.stop()``\n\n :param pin: An optional argument can be provided to specify a pin, e.g. ``music.stop(pin1)``.\n \"\"\"\n\ndef reset() -> None:\n \"\"\"Resets ticks, bpm, duration and octave to their default values.\n\n Example: ``music.reset()``\n\n Values:\n - ``ticks = 4``\n - ``bpm = 120``\n - ``duration = 4``\n - ``octave = 4``\n \"\"\"\n ...\n", + "/typeshed/stdlib/neopixel.pyi": "\"\"\"Individually addressable RGB and RGBW LED strips.\n\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int = 3) -> None:\n \"\"\"Initialise a new strip of neopixel LEDs controlled via a pin.\n\n Example: ``np = neopixel.NeoPixel(pin0, 8)``\n\n To support RGBW neopixels, a third argument can be passed to\n ``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\n For RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\n Each pixel is addressed by a position (starting from 0). Neopixels are\n given RGB (red, green, blue) / RGBW (red, green, blue, white) values\n between 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\n white. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\n See `the online docs `_ for warnings and other advice.\n\n :param pin: The pin controlling the neopixel strip.\n :param n: The number of neopixels in the strip.\n :param bpp: Bytes per pixel. For RGBW neopixel support, pass 4 rather than the default of 3 for RGB and GRB.\n \"\"\"\n ...\n def clear(self) -> None:\n \"\"\"Clear all the pixels.\n\n Example: ``np.clear()``\n \"\"\"\n ...\n def show(self) -> None:\n \"\"\"Show the pixels.\n\n Example: ``np.show()``\n\n Must be called for any updates to become visible.\n \"\"\"\n ...\n def write(self) -> None:\n \"\"\"Show the pixels (micro:bit V2 only).\n\n Example: ``np.write()``\n\n Must be called for any updates to become visible.\n\n Equivalent to ``show``.\n \"\"\"\n ...\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"Colour all pixels a given RGB/RGBW value (micro:bit V2 only).\n\n Example: ``np.fill((0, 0, 255))``\n\n :param colour: A tuple of the same length as the number of bytes per pixel (bpp).\n\n Use in conjunction with ``show()`` to update the neopixels.\n \"\"\"\n ...\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"Set a pixel colour.\n\n Example: ``np[0] = (255, 0, 0)``\n\n :param key: The pixel number.\n :param value: The colour.\n \"\"\"\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"Get a pixel colour.\n\n Example: ``r, g, b = np[0]``\n\n :param key: The pixel number.\n :return: The colour tuple.\n \"\"\"\n def __len__(self) -> int:\n \"\"\"Get length of this pixel strip.\n\n Example: ``len(np)``\n \"\"\"\n", + "/typeshed/stdlib/os.pyi": "\"\"\"Access the file system.\n\"\"\"\n\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"List files.\n\n Example: ``os.listdir()``\n\n :return: A list of the names of all the files contained within the local\n persistent on-device file system.\n \"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"Remove (delete) a file.\n\n Example: ``os.remove('data.txt')``\n\n :param filename: The file to delete.\n\n If the file does not exist an ``OSError`` exception will occur.\n \"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"Returns the size of a file.\n\n Example: ``os.size('data.txt')``\n\n :param filename: The file\n :return: The size in bytes.\n\n If the file does not exist an ``OSError`` exception will occur.\n \"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"Result of ``os.uname()``\"\"\"\n sysname: str\n \"\"\"Operating system name.\"\"\"\n\n nodename: str\n \"\"\"Name of machine on network (implementation-defined).\"\"\"\n\n release: str\n \"\"\"Operating system release.\"\"\"\n \n version: str\n \"\"\"Operating system version.\"\"\"\n \n machine: str\n \"\"\"Hardware identifier.\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"Returns information identifying the current operating system.\n\n Example: ``os.uname()``\n\n The return value is an object with five attributes:\n\n - ``sysname`` - operating system name\n - ``nodename`` - name of machine on network (implementation-defined)\n - ``release`` - operating system release\n - ``version`` - operating system version\n - ``machine`` - hardware identifier\n\n There is no underlying operating system in MicroPython. As a result the\n information returned by the ``uname`` function is mostly useful for\n versioning details.\n \"\"\"\n ...\n", + "/typeshed/stdlib/power.pyi": "\"\"\"Manage the power modes of the micro:bit (V2 only).\n\"\"\"\n\nfrom microbit import MicroBitDigitalPin, Button\nfrom typing import Optional, Tuple, Union\n\ndef off() -> None:\n \"\"\"Power down the board to the lowest possible power mode.\n\n Example: ``power.off()``\n\n This is the equivalent to pressing the reset button for a few seconds,\n to set the board in \"Off mode\".\n\n The micro:bit will only wake up if the reset button is pressed or,\n if on battery power, when a USB cable is connected.\n\n When the board wakes up it will start for a reset state, so your program\n will start running from the beginning.\n \"\"\"\n ...\n\ndef deep_sleep(\n ms: Optional[int] = None,\n wake_on: Optional[\n Union[MicroBitDigitalPin, Button] | Tuple[MicroBitDigitalPin | Button, ...]\n ] = None,\n run_every: bool = True,\n) -> None:\n \"\"\"Set the micro:bit into a low power mode where it can wake up and continue operation.\n\n Example: ``power.deep_sleep(wake_on=(button_a, button_b))``\n\n The program state is preserved and when it wakes up it will resume\n operation where it left off.\n\n Deep Sleep mode will consume more battery power than Off mode.\n\n The wake up sources are configured via arguments.\n\n The board will always wake up when receiving UART data, when the reset\n button is pressed (which resets the board) or, in battery power,\n when the USB cable is inserted.\n\n When the ``run_every`` parameter is set to ``True`` (the default), any\n function scheduled with ``run_every`` will momentarily wake up the board\n to run and when it finishes it will go back to sleep.\n\n :param ms: A time in milliseconds to wait before it wakes up.\n :param wake_on: A single instance or a tuple of pins and/or buttons to wake up the board, e.g. ``deep_sleep(wake_on=button_a)`` or ``deep_sleep(wake_on=(pin0, pin2, button_b))``.\n :param run_every: A boolean to configure if the functions scheduled with ``microbit.run_every`` will continue to run while it sleeps.\n \"\"\"\n ...\n", + "/typeshed/stdlib/radio.pyi": "\"\"\"Communicate between micro:bits with the built-in radio.\n\"\"\"\n\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\n\nRATE_1MBIT: int\n\"\"\"Constant used to indicate a throughput of 1 MBit a second.\"\"\"\n\nRATE_2MBIT: int\n\"\"\"Constant used to indicate a throughput of 2 MBit a second.\"\"\"\n\ndef on() -> None:\n \"\"\"Turns the radio on.\n\n Example: ``radio.on()``\n\n This needs to be explicitly called since the radio draws power and takes\n up memory that you may otherwise need.\n \"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Turns off the radio, saving power and memory.\n\n Example: ``radio.off()``\n \"\"\"\n ...\n\ndef config(\n length: int = 32,\n queue: int = 3,\n channel: int = 7,\n power: int = 6,\n address: int = 0x75626974,\n group: int = 0,\n data_rate: int = RATE_1MBIT,\n) -> None:\n \"\"\"Configures the radio.\n\n Example: ``radio.config(group=42)``\n\n The default configuration is suitable for most use.\n\n :param length: (default=32) defines the maximum length, in bytes, of a message sent via the radio.\n It can be up to 251 bytes long (254 - 3 bytes for S0, LENGTH and S1 preamble).\n :param queue: (default=3) specifies the number of messages that can be stored on the incoming message queue.\n If there are no spaces left on the queue for incoming messages, then the incoming message is dropped.\n :param channel: (default=7) an integer value from 0 to 83 (inclusive) that defines an arbitrary \"channel\" to which the radio is tuned.\n Messages will be sent via this channel and only messages received via this channel will be put onto the incoming message queue. Each step is 1MHz wide, based at 2400MHz.\n :param power: (default=6) is an integer value from 0 to 7 (inclusive) to indicate the strength of signal used when broadcasting a message.\n The higher the value the stronger the signal, but the more power is consumed by the device. The numbering translates to positions in the following list of dBm (decibel milliwatt) values: -30, -20, -16, -12, -8, -4, 0, 4.\n :param address: (default=0x75626974) an arbitrary name, expressed as a 32-bit address, that's used to filter incoming packets at the hardware level, keeping only those that match the address you set.\n The default used by other micro:bit related platforms is the default setting used here.\n :param group: (default=0) an 8-bit value (0-255) used with the ``address`` when filtering messages.\n Conceptually, \"address\" is like a house/office address and \"group\" is like the person at that address to which you want to send your message.\n :param data_rate: (default=``radio.RATE_1MBIT``) indicates the speed at which data throughput takes place.\n Can be one of the following constants defined in the ``radio`` module: ``RATE_250KBIT``, ``RATE_1MBIT`` or ``RATE_2MBIT``.\n\n If ``config`` is not called then the defaults described above are assumed.\n \"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Reset the settings to their default values.\n\n Example: ``radio.reset()``\n\n The defaults as as per the ``config`` function above.\n \"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"Sends a message containing bytes.\n\n Example: ``radio.send_bytes(b'hello')``\n\n :param message: The bytes to send.\n \"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"Receive the next incoming message on the message queue.\n\n Example: ``radio.receive_bytes()``\n\n :return: The message bytes if any, otherwise ``None``.\n \"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"Copy the next incoming message on the message queue into a buffer.\n\n Example: ``radio.receive_bytes_info(buffer)``\n\n :param buffer: The target buffer. The message is truncated if larger than the buffer.\n :return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\n \"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"Sends a message string.\n\n Example: ``radio.send('hello')``\n\n This is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\n prepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n :param message: The string to send.\n \"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"Works in exactly the same way as ``receive_bytes`` but returns whatever was sent.\n\n Example: ``radio.receive()``\n\n Equivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\n three bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\n may target the micro:bit).\n\n :return: The message with the prepended bytes stripped and converted to a string.\n\n A ``ValueError`` exception is raised if conversion to string fails.\n \"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"Returns a tuple containing three values representing the next incoming message on the message queue.\n\n Example: ``radio.receive_full()``\n\n If there are no pending messages then ``None`` is returned.\n\n The three values in the tuple represent:\n\n - the next incoming message on the message queue as bytes.\n - the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n - a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\n For example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\n This function is useful for providing information needed for triangulation\n and/or trilateration with other micro:bit devices.\n\n :return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\n \"\"\"\n ...\n", + "/typeshed/stdlib/random.pyi": "\"\"\"Generate random numbers.\n\"\"\"\nfrom typing import TypeVar, Sequence, Union, overload\n\ndef getrandbits(n: int) -> int:\n \"\"\"Generate an integer with ``n`` random bits.\n\n Example: ``random.getrandbits(1)``\n\n :param n: A value between 1-30 (inclusive).\n \"\"\"\n ...\n\ndef seed(n: int) -> None:\n \"\"\"Initialize the random number generator.\n\n Example: ``random.seed(0)``\n\n :param n: The integer seed\n\n This will give you reproducibly deterministic randomness from a given starting\n state (``n``).\n \"\"\"\n ...\n\ndef randint(a: int, b: int) -> int:\n \"\"\"Choose a random integer between ``a`` and ``b`` inclusive.\n\n Example: ``random.randint(0, 9)``\n\n :param a: Start value for the range (inclusive)\n :param b: End value for the range (inclusive)\n\n Alias for ``randrange(a, b + 1)``.\n \"\"\"\n ...\n\n@overload\ndef randrange(stop: int) -> int:\n \"\"\"Choose a randomly selected integer between zero and up to (but not\n including) ``stop``.\n\n Example: ``random.randrange(10)``\n\n :param stop: End value for the range (exclusive)\n \"\"\"\n ...\n\n@overload\ndef randrange(start: int, stop: int, step: int = 1) -> int:\n \"\"\"\n Choose a randomly selected element from ``range(start, stop, step)``.\n\n Example: ``random.randrange(0, 10)``\n\n :param start: The start of the range (inclusive)\n :param stop: The end of the range (exclusive)\n :param step: The step.\n \"\"\"\n ...\n\n_T = TypeVar(\"_T\")\n\ndef choice(seq: Sequence[_T]) -> _T:\n \"\"\"Choose a random element from the non-empty sequence ``seq``.\n\n Example: ``random.choice([Image.HAPPY, Image.SAD])``\n\n :param seq: A sequence.\n\n If ``seq`` is empty, raises ``IndexError``.\n \"\"\"\n ...\n\ndef random() -> float:\n \"\"\"Generate a random floating point number in the range [0.0, 1.0).\n\n Example: ``random.random()``\n\n :return: The random floating point number\n \"\"\"\n ...\n\ndef uniform(a: float, b: float) -> float:\n \"\"\"\n Return a random floating point number between ``a`` and ``b`` inclusive.\n\n Example: ``random.uniform(0, 9)``\n\n :param a: Start value for the range (inclusive)\n :param b: End value for the range (inclusive)\n \"\"\"\n ...\n", + "/typeshed/stdlib/speech.pyi": "\"\"\"Make the micro:bit talk, sing and make other speech like sounds.\n\"\"\"\n\nfrom typing import Optional\nfrom .microbit import MicroBitDigitalPin, pin0\n\ndef translate(words: str) -> str:\n \"\"\"Translate English words to phonemes.\n\n Example: ``speech.translate('hello world')``\n\n :param words: A string of English words.\n :return: A string containing a best guess at the appropriate phonemes to pronounce.\n The output is generated from this `text to phoneme translation table `_.\n\n This function should be used to generate a first approximation of phonemes\n that can be further hand-edited to improve accuracy, inflection and\n emphasis.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef pronounce(\n phonemes: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: Optional[MicroBitDigitalPin] = pin0,\n) -> None:\n \"\"\"Pronounce phonemes.\n\n Example: ``speech.pronounce(' /HEHLOW WERLD')``\n\n :param phonemes: The string of phonemes to pronounce\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n Override the optional pitch, speed, mouth and throat settings to change the\n timbre (quality) of the voice.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef say(\n words: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: MicroBitDigitalPin = pin0,\n) -> None:\n \"\"\"Say English words.\n\n Example: ``speech.say('hello world')``\n\n :param words: The string of words to say.\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n The result is semi-accurate for English. Override the optional pitch, speed,\n mouth and throat settings to change the timbre (quality) of the voice.\n\n This is a short-hand equivalent of:\n ``speech.pronounce(speech.translate(words))``\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef sing(\n phonemes: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: MicroBitDigitalPin = pin0,\n) -> None:\n \"\"\"Sing phonemes.\n\n Example: ``speech.sing(' /HEHLOW WERLD')``\n\n :param phonemes: The string of words to sing.\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n Override the optional pitch, speed, mouth and throat settings to change\n the timbre (quality) of the voice.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n", + "/typeshed/stdlib/struct.pyi": "\"\"\"Pack and unpack primitive data types.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom typing import Any, Tuple, Union\n\ndef calcsize(fmt: str) -> int:\n \"\"\"Get the number of bytes needed to store the given ``fmt``.\n\n Example: ``struct.calcsize('hf')``\n\n :param fmt: A format string.\n :return The number of bytes needed to store such a value.\n \"\"\"\n ...\n\ndef pack(fmt: str, v1: Any, *vn: Any) -> bytes:\n \"\"\"Pack values according to a format string.\n\n Example: ``struct.pack('hf', 1, 3.1415)``\n\n :param fmt: The format string.\n :param v1: The first value.\n :param *vn: The remaining values.\n :return A bytes object encoding the values.\n \"\"\"\n ...\n\ndef pack_into(\n fmt: str, buffer: WriteableBuffer, offset: int, v1: Any, *vn: Any\n) -> None:\n \"\"\"Pack values according to a format string.\n\n Example: ``struct.pack_info('hf', buffer, 1, 3.1415)``\n\n :param fmt: The format string.\n :param buffer: The target buffer to write into.\n :param offset: The offset into the buffer. May be negative to count from the end of the buffer.\n :param v1: The first value.\n :param *vn: The remaining values.\n \"\"\"\n ...\n\ndef unpack(fmt: str, data: ReadableBuffer) -> Tuple[Any, ...]:\n \"\"\"Unpack data according to a format string.\n\n Example: ``v1, v2 = struct.unpack('hf', buffer)``\n\n :param fmt: The format string.\n :param data: The data.\n :return: A tuple of the unpacked values.\n \"\"\"\n ...\n\ndef unpack_from(fmt: str, buffer: ReadableBuffer, offset: int = 0) -> Tuple:\n \"\"\"Unpack data from a buffer according to a format string.\n\n Example: ``v1, v2 = struct.unpack_from('hf', buffer)``\n\n :param fmt: The format string.\n :param buffer: The source buffer to read from.\n :param offset: The offset into the buffer. May be negative to count from the end of the buffer.\n :return: A tuple of the unpacked values.\n \"\"\"\n ...\n", + "/typeshed/stdlib/sys.pyi": "\"\"\"System specific functions\"\"\"\n\nfrom typing import Any, Dict, List, NoReturn, TextIO, Tuple\n\ndef exit(retval: object = ...) -> NoReturn:\n \"\"\"Terminate current program with a given exit code.\n\n Example: ``sys.exit(1)``\n\n This function raises a ``SystemExit`` exception. If an argument is given, its\n value given as an argument to ``SystemExit``.\n\n :param retval: The exit code or message.\n \"\"\"\n ...\n\ndef print_exception(exc: Exception) -> None:\n \"\"\"\n Print an exception with a traceback.\n\n Example: ``sys.print_exception(e)``\n\n :param exc: The exception to print\n\n This is simplified version of a function which appears in the\n ``traceback`` module in CPython.\n \"\"\"\n\nargv: List[str]\n\"\"\"A mutable list of arguments the current program was started with.\"\"\"\n\nbyteorder: str\n\"\"\"The byte order of the system (``\"little\"`` or ``\"big\"``).\"\"\"\n\nclass _implementation:\n name: str\n version: Tuple[int, int, int]\n\nimplementation: _implementation\n\"\"\"Object with information about the current Python implementation.\n\nFor MicroPython, it has following attributes:\n\n- ``name`` - string \"micropython\"\n- ``version`` - tuple (major, minor, micro), e.g. (1, 7, 0)\n\nThis object is the recommended way to distinguish MicroPython from other\nPython implementations (note that it still may not exist in the very\nminimal ports).\n\nCPython mandates more attributes for this object, but the actual useful\nbare minimum is implemented in MicroPython.\n\"\"\"\n\nmaxsize: int\n\"\"\"\nMaximum value which a native integer type can hold on the current platform,\nor maximum value representable by MicroPython integer type, if it's smaller\nthan platform max value (that is the case for MicroPython ports without\nlong int support).\n\nThis attribute is useful for detecting \"bitness\" of a platform (32-bit vs\n64-bit, etc.). It's recommended to not compare this attribute to some\nvalue directly, but instead count number of bits in it::\n\n bits = 0\n v = sys.maxsize\n while v:\n bits += 1\n v >>= 1\n if bits > 32:\n # 64-bit (or more) platform\n ...\n else:\n # 32-bit (or less) platform\n # Note that on 32-bit platform, value of bits may be less than 32\n # (e.g. 31) due to peculiarities described above, so use \"> 16\",\n # \"> 32\", \"> 64\" style of comparisons.\n\"\"\"\n\nmodules: Dict[str, Any]\n\"\"\"Dictionary of loaded modules. \n\nOn some ports, it may not include builtin modules.\"\"\"\n\npath: List[str]\n\"\"\"A mutable list of directories to search for imported modules.\"\"\"\n\nplatform: str\n\"\"\"The platform that MicroPython is running on. \n\nFor OS/RTOS ports, this is usually an identifier of the OS, e.g. ``\"linux\"``.\nFor baremetal ports it is an identifier of a board, e.g. ``\"pyboard\"`` for \nthe original MicroPython reference board. It thus can be used to\ndistinguish one board from another.\n\nIf you need to check whether your program runs on MicroPython (vs other\nPython implementation), use ``sys.implementation`` instead.\n\"\"\"\n\nversion: str\n\"\"\"Python language version that this implementation conforms to, as a string.\"\"\"\n\nversion_info: Tuple[int, int, int]\n\"\"\"Python language version that this implementation conforms to, as a tuple of ints.\n\nOnly the first three version numbers (major, minor, micro) are supported and\nthey can be referenced only by index, not by name.\n\"\"\"\n", + "/typeshed/stdlib/this.pyi": "def authors() -> str: ...\n", + "/typeshed/stdlib/time.pyi": "\"\"\"Measure time and add delays to programs.\n\"\"\"\n\nfrom typing import Union\n\ndef sleep(seconds: Union[int, float]) -> None:\n \"\"\"\n Delay a number of seconds.\n\n Example: ``time.sleep(1)``\n\n :param seconds: The number of seconds to sleep for.\n Use a floating-point number to sleep for a fractional number of seconds.\n \"\"\"\n ...\n\ndef sleep_ms(ms: int) -> None:\n \"\"\"\n Delay for given number of milliseconds.\n\n Example: ``time.sleep_ms(1_000_000)``\n\n :param ms: The number of milliseconds delay (>= 0).\n \"\"\"\n ...\n\ndef sleep_us(us: int) -> None:\n \"\"\"\n Delay for given number of microseconds.\n\n Example: ``time.sleep_us(1000)``\n\n :param us: The number of microseconds delay (>= 0).\n \"\"\"\n ...\n\ndef ticks_ms() -> int:\n \"\"\"\n Get an increasing, millisecond counter with an arbitrary reference point,\n that wraps around after some value.\n\n Example: ``time.ticks_ms()``\n\n :return: The counter value in milliseconds.\n \"\"\"\n ...\n\ndef ticks_us() -> int:\n \"\"\"\n Get an increasing, microsecond counter with an arbitrary reference point,\n that wraps around after some value.\n\n Example: ``time.ticks_us()``\n\n :return: The counter value in microseconds.\n \"\"\"\n ...\n\ndef ticks_cpu() -> int:\n \"\"\"\n Similar to ticks_ms and ticks_us, but with higher resolution in CPU cycles.\n\n Example: ``time.ticks_cpu()``\n\n :return: The counter value in CPU cycles.\n \"\"\"\n ...\n\ndef ticks_add(ticks: int, delta: int) -> int:\n \"\"\"\n Offset ticks value by a given number, which can be either positive or\n negative.\n\n Example: ``time.ticks_add(time.ticks_ms(), 200)``\n\n Given a ticks value, this function allows to calculate ticks\n value delta ticks before or after it, following modular-arithmetic\n definition of tick values.\n\n :param ticks: A ticks value\n :param delta: An integer offset\n\n Example::\n\n # Find out what ticks value there was 100ms ago\n print(ticks_add(time.ticks_ms(), -100))\n\n # Calculate deadline for operation and test for it\n deadline = ticks_add(time.ticks_ms(), 200)\n while ticks_diff(deadline, time.ticks_ms()) > 0:\n do_a_little_of_something()\n\n # Find out TICKS_MAX used by this port\n print(ticks_add(0, -1))\n \"\"\"\n ...\n\ndef ticks_diff(ticks1: int, ticks2: int) -> int:\n \"\"\"\n Measure ticks difference between values returned from\n ``time.ticks_ms()`` or ``ticks_us()``, as a signed value\n which may wrap around.\n\n Example: ``time.ticks_diff(scheduled_time, now)``\n\n :param ticks1: The value to subtract from\n :param ticks2: The value to subtract\n\n The argument order is the same as for subtraction operator,\n ``ticks_diff(ticks1, ticks2)`` has the same meaning as ``ticks1 - ticks2``.\n\n ``ticks_diff()`` is designed to accommodate various usage\n patterns, among them:\n\n Polling with timeout. In this case, the order of events is known, and you\n will deal only with positive results of :func:`time.ticks_diff()`::\n\n # Wait for GPIO pin to be asserted, but at most 500us\n start = time.ticks_us()\n while pin.value() == 0:\n if time.ticks_diff(time.ticks_us(), start) > 500:\n raise TimeoutError\n\n\n Scheduling events. In this case, :func:`time.ticks_diff()` result may be\n negative if an event is overdue::\n\n # This code snippet is not optimized\n now = time.ticks_ms()\n scheduled_time = task.scheduled_time()\n if ticks_diff(scheduled_time, now) > 0:\n print(\"Too early, let's nap\")\n sleep_ms(ticks_diff(scheduled_time, now))\n task.run()\n elif ticks_diff(scheduled_time, now) == 0:\n print(\"Right at time!\")\n task.run()\n elif ticks_diff(scheduled_time, now) < 0:\n print(\"Oops, running late, tell task to run faster!\")\n task.run(run_faster=True)\n \"\"\"\n ...\n", + "/typeshed/stdlib/types.pyi": "import sys\nfrom typing import (\n Any,\n AsyncGenerator,\n Awaitable,\n Callable,\n Generator,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n Tuple,\n Type,\n TypeVar,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, final\n\n# Note, all classes \"defined\" here require special handling.\n\n_T = TypeVar(\"_T\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_V_co = TypeVar(\"_V_co\", covariant=True)\n\n@final\nclass _Cell:\n __hash__: None # type: ignore\n cell_contents: Any\n\n@final\nclass FunctionType:\n __closure__: Tuple[_Cell, ...] | None\n __code__: CodeType\n __defaults__: Tuple[Any, ...] | None\n __dict__: dict[str, Any]\n __globals__: dict[str, Any]\n __name__: str\n __qualname__: str\n __annotations__: dict[str, Any]\n __kwdefaults__: dict[str, Any]\n def __init__(\n self,\n code: CodeType,\n globals: dict[str, Any],\n name: str | None = ...,\n argdefs: Tuple[object, ...] | None = ...,\n closure: Tuple[_Cell, ...] | None = ...,\n ) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: object | None, type: type | None) -> MethodType: ...\n\nLambdaType = FunctionType\n\n@final\nclass CodeType:\n \"\"\"Create a code object. Not for the faint of heart.\"\"\"\n\n co_argcount: int\n if sys.version_info >= (3, 8):\n co_posonlyargcount: int\n co_kwonlyargcount: int\n co_nlocals: int\n co_stacksize: int\n co_flags: int\n co_code: bytes\n co_consts: Tuple[Any, ...]\n co_names: Tuple[str, ...]\n co_varnames: Tuple[str, ...]\n co_filename: str\n co_name: str\n co_firstlineno: int\n co_lnotab: bytes\n co_freevars: Tuple[str, ...]\n co_cellvars: Tuple[str, ...]\n if sys.version_info >= (3, 8):\n def __init__(\n self,\n argcount: int,\n posonlyargcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n else:\n def __init__(\n self,\n argcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n if sys.version_info >= (3, 8):\n def replace(\n self,\n *,\n co_argcount: int = ...,\n co_posonlyargcount: int = ...,\n co_kwonlyargcount: int = ...,\n co_nlocals: int = ...,\n co_stacksize: int = ...,\n co_flags: int = ...,\n co_firstlineno: int = ...,\n co_code: bytes = ...,\n co_consts: Tuple[Any, ...] = ...,\n co_names: Tuple[str, ...] = ...,\n co_varnames: Tuple[str, ...] = ...,\n co_freevars: Tuple[str, ...] = ...,\n co_cellvars: Tuple[str, ...] = ...,\n co_filename: str = ...,\n co_name: str = ...,\n co_lnotab: bytes = ...,\n ) -> CodeType: ...\n\n@final\nclass MappingProxyType(Mapping[_KT, _VT_co], Generic[_KT, _VT_co]):\n __hash__: None # type: ignore\n def __init__(self, mapping: Mapping[_KT, _VT_co]) -> None: ...\n def __getitem__(self, k: _KT) -> _VT_co: ...\n def __iter__(self) -> Iterator[_KT]: ...\n def __len__(self) -> int: ...\n def copy(self) -> dict[_KT, _VT_co]: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def items(self) -> ItemsView[_KT, _VT_co]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def __or__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n def __ror__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n\nclass SimpleNamespace:\n __hash__: None # type: ignore\n def __init__(self, **kwargs: Any) -> None: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __delattr__(self, name: str) -> None: ...\n\nclass ModuleType:\n __name__: str\n __file__: str\n __dict__: dict[str, Any]\n __package__: str | None\n def __init__(self, name: str, doc: str | None = ...) -> None: ...\n\n@final\nclass GeneratorType(Generator[_T_co, _T_contra, _V_co]):\n gi_code: CodeType\n gi_frame: FrameType\n gi_running: bool\n gi_yieldfrom: GeneratorType[_T_co, _T_contra, Any] | None\n def __iter__(self) -> GeneratorType[_T_co, _T_contra, _V_co]: ...\n def __next__(self) -> _T_co: ...\n def close(self) -> None: ...\n def send(self, __arg: _T_contra) -> _T_co: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> _T_co: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> _T_co: ...\n\n@final\nclass AsyncGeneratorType(AsyncGenerator[_T_co, _T_contra]):\n ag_await: Awaitable[Any] | None\n ag_frame: FrameType\n ag_running: bool\n ag_code: CodeType\n def __aiter__(self) -> AsyncGeneratorType[_T_co, _T_contra]: ...\n def __anext__(self) -> Awaitable[_T_co]: ...\n def asend(self, __val: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Awaitable[_T_co]: ...\n def aclose(self) -> Awaitable[None]: ...\n\n@final\nclass CoroutineType:\n cr_await: Any | None\n cr_code: CodeType\n cr_frame: FrameType\n cr_running: bool\n def close(self) -> None: ...\n def send(self, __arg: Any) -> Any: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Any: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Any: ...\n\nclass _StaticFunctionType:\n \"\"\"Fictional type to correct the type of MethodType.__func__.\n\n FunctionType is a descriptor, so mypy follows the descriptor protocol and\n converts MethodType.__func__ back to MethodType (the return type of\n FunctionType.__get__). But this is actually a special case; MethodType is\n implemented in C and its attribute access doesn't go through\n __getattribute__.\n\n By wrapping FunctionType in _StaticFunctionType, we get the right result;\n similar to wrapping a function in staticmethod() at runtime to prevent it\n being bound as a method.\n \"\"\"\n\n def __get__(self, obj: object | None, type: type | None) -> FunctionType: ...\n\n@final\nclass MethodType:\n __closure__: Tuple[_Cell, ...] | None # inherited from the added function\n __defaults__: Tuple[Any, ...] | None # inherited from the added function\n __func__: _StaticFunctionType\n __self__: object\n __name__: str # inherited from the added function\n __qualname__: str # inherited from the added function\n def __init__(self, func: Callable[..., Any], obj: object) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\n@final\nclass BuiltinFunctionType:\n __self__: object | ModuleType\n __name__: str\n __qualname__: str\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\nBuiltinMethodType = BuiltinFunctionType\n\nif sys.version_info >= (3, 7):\n @final\n class WrapperDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class MethodWrapperType:\n __self__: object\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __eq__(self, other: Any) -> bool: ...\n def __ne__(self, other: Any) -> bool: ...\n @final\n class MethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class ClassMethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n\n@final\nclass TracebackType:\n if sys.version_info >= (3, 7):\n def __init__(\n self,\n tb_next: TracebackType | None,\n tb_frame: FrameType,\n tb_lasti: int,\n tb_lineno: int,\n ) -> None: ...\n tb_next: TracebackType | None\n else:\n @property\n def tb_next(self) -> TracebackType | None: ...\n # the rest are read-only even in 3.7\n @property\n def tb_frame(self) -> FrameType: ...\n @property\n def tb_lasti(self) -> int: ...\n @property\n def tb_lineno(self) -> int: ...\n\n@final\nclass FrameType:\n f_back: FrameType | None\n f_builtins: dict[str, Any]\n f_code: CodeType\n f_globals: dict[str, Any]\n f_lasti: int\n f_lineno: int\n f_locals: dict[str, Any]\n f_trace: Callable[[FrameType, str, Any], Any] | None\n if sys.version_info >= (3, 7):\n f_trace_lines: bool\n f_trace_opcodes: bool\n def clear(self) -> None: ...\n\n@final\nclass GetSetDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\n@final\nclass MemberDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nif sys.version_info >= (3, 7):\n def new_class(\n name: str,\n bases: Iterable[object] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n def resolve_bases(bases: Iterable[object]) -> Tuple[Any, ...]: ...\n\nelse:\n def new_class(\n name: str,\n bases: Tuple[type, ...] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n\ndef prepare_class(\n name: str, bases: Tuple[type, ...] = ..., kwds: dict[str, Any] | None = ...\n) -> Tuple[type, dict[str, Any], dict[str, Any]]: ...\n\n# Actually a different type, but `property` is special and we want that too.\nDynamicClassAttribute = property\n\ndef coroutine(func: Callable[..., Any]) -> CoroutineType: ...\n\nif sys.version_info >= (3, 8):\n CellType = _Cell\n\nif sys.version_info >= (3, 9):\n class GenericAlias:\n __origin__: type\n __args__: Tuple[Any, ...]\n __parameters__: Tuple[Any, ...]\n def __init__(self, origin: type, args: Any) -> None: ...\n def __getattr__(self, name: str) -> Any: ... # incomplete\n\nif sys.version_info >= (3, 10):\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n EllipsisType = ellipsis # noqa F811 from builtins\n from builtins import _NotImplementedType\n\n NotImplementedType = _NotImplementedType # noqa F811 from builtins\n @final\n class UnionType:\n __args__: Tuple[Any, ...]\n def __or__(self, obj: Any) -> UnionType: ...\n def __ror__(self, obj: Any) -> UnionType: ...\n", + "/typeshed/stdlib/typing.pyi": "import collections # Needed by aliases like DefaultDict, see mypy issue 2986\nimport sys\nfrom abc import ABCMeta, abstractmethod\nfrom types import BuiltinFunctionType, CodeType, FrameType, FunctionType, MethodType, ModuleType, TracebackType\nfrom typing_extensions import Literal as _Literal\n\nif sys.version_info >= (3, 7):\n from types import MethodDescriptorType, MethodWrapperType, WrapperDescriptorType\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n# Definitions of special type checking related constructs. Their definitions\n# are not used, so their value does not matter.\n\nAny = object()\n\nclass TypeVar:\n __name__: str\n __bound__: Optional[Type[Any]]\n __constraints__: Tuple[Type[Any], ...]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self,\n name: str,\n *constraints: Type[Any],\n bound: Union[None, Type[Any], str] = ...,\n covariant: bool = ...,\n contravariant: bool = ...,\n ) -> None: ...\n\n_promote = object()\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> object: ...\n\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n\ndef overload(func: _F) -> _F: ...\n\nUnion: _SpecialForm = ...\nOptional: _SpecialForm = ...\nTuple: _SpecialForm = ...\nGeneric: _SpecialForm = ...\n# Protocol is only present in 3.8 and later, but mypy needs it unconditionally\nProtocol: _SpecialForm = ...\nCallable: _SpecialForm = ...\nType: _SpecialForm = ...\nClassVar: _SpecialForm = ...\nif sys.version_info >= (3, 8):\n Final: _SpecialForm = ...\n def final(f: _F) -> _F: ...\n Literal: _SpecialForm = ...\n # TypedDict is a (non-subscriptable) special form.\n TypedDict: object\n\nif sys.version_info < (3, 7):\n class GenericMeta(type): ...\n\nif sys.version_info >= (3, 10):\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Optional[Type[Any]]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: Union[None, Type[Any], str] = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n\n# Return type that indicates a function does not return.\n# This type is equivalent to the None type, but the no-op Union is necessary to\n# distinguish the None type from the None value.\nNoReturn = Union[None]\n\n# These type variables are used by the container types.\n_T = TypeVar(\"_T\")\n_S = TypeVar(\"_S\")\n_KT = TypeVar(\"_KT\") # Key type.\n_VT = TypeVar(\"_VT\") # Value type.\n_T_co = TypeVar(\"_T_co\", covariant=True) # Any type covariant containers.\n_V_co = TypeVar(\"_V_co\", covariant=True) # Any type covariant containers.\n_KT_co = TypeVar(\"_KT_co\", covariant=True) # Key type covariant containers.\n_VT_co = TypeVar(\"_VT_co\", covariant=True) # Value type covariant containers.\n_T_contra = TypeVar(\"_T_contra\", contravariant=True) # Ditto contravariant.\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\ndef no_type_check(arg: _F) -> _F: ...\ndef no_type_check_decorator(decorator: _F) -> _F: ...\n\n# Type aliases and type constructors\n\nclass _Alias:\n # Class for defining generic aliases for library types.\n def __getitem__(self, typeargs: Any) -> Any: ...\n\nList = _Alias()\nDict = _Alias()\nDefaultDict = _Alias()\nSet = _Alias()\nFrozenSet = _Alias()\nCounter = _Alias()\nDeque = _Alias()\nChainMap = _Alias()\n\nif sys.version_info >= (3, 7):\n OrderedDict = _Alias()\n\nif sys.version_info >= (3, 9):\n Annotated: _SpecialForm = ...\n\n# Predefined type variables.\nAnyStr = TypeVar(\"AnyStr\", str, bytes)\n\n# Abstract base classes.\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n@runtime_checkable\nclass SupportsInt(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __int__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsFloat(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __float__(self) -> float: ...\n\n@runtime_checkable\nclass SupportsComplex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __complex__(self) -> complex: ...\n\n@runtime_checkable\nclass SupportsBytes(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __bytes__(self) -> bytes: ...\n\nif sys.version_info >= (3, 8):\n @runtime_checkable\n class SupportsIndex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __index__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsAbs(Protocol[_T_co]):\n @abstractmethod\n def __abs__(self) -> _T_co: ...\n\n@runtime_checkable\nclass SupportsRound(Protocol[_T_co]):\n @overload\n @abstractmethod\n def __round__(self) -> int: ...\n @overload\n @abstractmethod\n def __round__(self, ndigits: int) -> _T_co: ...\n\n@runtime_checkable\nclass Sized(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __len__(self) -> int: ...\n\n@runtime_checkable\nclass Hashable(Protocol, metaclass=ABCMeta):\n # TODO: This is special, in that a subclass of a hashable class may not be hashable\n # (for example, list vs. object). It's not obvious how to represent this. This class\n # is currently mostly useless for static checking.\n @abstractmethod\n def __hash__(self) -> int: ...\n\n@runtime_checkable\nclass Iterable(Protocol[_T_co]):\n @abstractmethod\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Iterator(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __next__(self) -> _T_co: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Reversible(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass Generator(Iterator[_T_co], Generic[_T_co, _T_contra, _V_co]):\n def __next__(self) -> _T_co: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n def close(self) -> None: ...\n def __iter__(self) -> Generator[_T_co, _T_contra, _V_co]: ...\n @property\n def gi_code(self) -> CodeType: ...\n @property\n def gi_frame(self) -> FrameType: ...\n @property\n def gi_running(self) -> bool: ...\n @property\n def gi_yieldfrom(self) -> Optional[Generator[Any, Any, Any]]: ...\n\n@runtime_checkable\nclass Awaitable(Protocol[_T_co]):\n @abstractmethod\n def __await__(self) -> Generator[Any, None, _T_co]: ...\n\nclass Coroutine(Awaitable[_V_co], Generic[_T_co, _T_contra, _V_co]):\n __name__: str\n __qualname__: str\n @property\n def cr_await(self) -> Optional[Any]: ...\n @property\n def cr_code(self) -> CodeType: ...\n @property\n def cr_frame(self) -> FrameType: ...\n @property\n def cr_running(self) -> bool: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n @abstractmethod\n def close(self) -> None: ...\n\n# NOTE: This type does not exist in typing.py or PEP 484.\n# The parameters correspond to Generator, but the 4th is the original type.\nclass AwaitableGenerator(\n Awaitable[_V_co], Generator[_T_co, _T_contra, _V_co], Generic[_T_co, _T_contra, _V_co, _S], metaclass=ABCMeta\n): ...\n\n@runtime_checkable\nclass AsyncIterable(Protocol[_T_co]):\n @abstractmethod\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\n@runtime_checkable\nclass AsyncIterator(AsyncIterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\nclass AsyncGenerator(AsyncIterator[_T_co], Generic[_T_co, _T_contra]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n @abstractmethod\n def asend(self, __value: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> Awaitable[_T_co]: ...\n @abstractmethod\n def aclose(self) -> Awaitable[None]: ...\n @abstractmethod\n def __aiter__(self) -> AsyncGenerator[_T_co, _T_contra]: ...\n @property\n def ag_await(self) -> Any: ...\n @property\n def ag_code(self) -> CodeType: ...\n @property\n def ag_frame(self) -> FrameType: ...\n @property\n def ag_running(self) -> bool: ...\n\n@runtime_checkable\nclass Container(Protocol[_T_co]):\n @abstractmethod\n def __contains__(self, __x: object) -> bool: ...\n\n@runtime_checkable\nclass Collection(Iterable[_T_co], Container[_T_co], Protocol[_T_co]):\n # Implement Sized (but don't have it as a base class).\n @abstractmethod\n def __len__(self) -> int: ...\n\n_Collection = Collection[_T_co]\n\nclass Sequence(_Collection[_T_co], Reversible[_T_co], Generic[_T_co]):\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T_co: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> Sequence[_T_co]: ...\n # Mixin methods\n def index(self, value: Any, start: int = ..., stop: int = ...) -> int: ...\n def count(self, value: Any) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass MutableSequence(Sequence[_T], Generic[_T]):\n @abstractmethod\n def insert(self, index: int, value: _T) -> None: ...\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> MutableSequence[_T]: ...\n @overload\n @abstractmethod\n def __setitem__(self, i: int, o: _T) -> None: ...\n @overload\n @abstractmethod\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: int) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: slice) -> None: ...\n # Mixin methods\n def append(self, value: _T) -> None: ...\n def clear(self) -> None: ...\n def extend(self, values: Iterable[_T]) -> None: ...\n def reverse(self) -> None: ...\n def pop(self, index: int = ...) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __iadd__(self, x: Iterable[_T]) -> MutableSequence[_T]: ...\n\nclass AbstractSet(_Collection[_T_co], Generic[_T_co]):\n @abstractmethod\n def __contains__(self, x: object) -> bool: ...\n # Mixin methods\n def __le__(self, s: AbstractSet[Any]) -> bool: ...\n def __lt__(self, s: AbstractSet[Any]) -> bool: ...\n def __gt__(self, s: AbstractSet[Any]) -> bool: ...\n def __ge__(self, s: AbstractSet[Any]) -> bool: ...\n def __and__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def __sub__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def isdisjoint(self, other: Iterable[Any]) -> bool: ...\n\nclass MutableSet(AbstractSet[_T], Generic[_T]):\n @abstractmethod\n def add(self, value: _T) -> None: ...\n @abstractmethod\n def discard(self, value: _T) -> None: ...\n # Mixin methods\n def clear(self) -> None: ...\n def pop(self) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __ior__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __iand__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __isub__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n\nclass MappingView(Sized):\n def __init__(self, mapping: Mapping[Any, Any]) -> None: ... # undocumented\n def __len__(self) -> int: ...\n\nclass ItemsView(MappingView, AbstractSet[Tuple[_KT_co, _VT_co]], Generic[_KT_co, _VT_co]):\n def __init__(self, mapping: Mapping[_KT_co, _VT_co]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n\nclass KeysView(MappingView, AbstractSet[_KT_co], Generic[_KT_co]):\n def __init__(self, mapping: Mapping[_KT_co, Any]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_KT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT_co]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n\nclass ValuesView(MappingView, Iterable[_VT_co], Generic[_VT_co]):\n def __init__(self, mapping: Mapping[Any, _VT_co]) -> None: ... # undocumented\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_VT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_VT_co]: ...\n\n@runtime_checkable\nclass ContextManager(Protocol[_T_co]):\n def __enter__(self) -> _T_co: ...\n def __exit__(\n self,\n __exc_type: Optional[Type[BaseException]],\n __exc_value: Optional[BaseException],\n __traceback: Optional[TracebackType],\n ) -> Optional[bool]: ...\n\n@runtime_checkable\nclass AsyncContextManager(Protocol[_T_co]):\n def __aenter__(self) -> Awaitable[_T_co]: ...\n def __aexit__(\n self, exc_type: Optional[Type[BaseException]], exc_value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Awaitable[Optional[bool]]: ...\n\nclass Mapping(_Collection[_KT], Generic[_KT, _VT_co]):\n # TODO: We wish the key type could also be covariant, but that doesn't work,\n # see discussion in https: //github.com/python/typing/pull/273.\n @abstractmethod\n def __getitem__(self, k: _KT) -> _VT_co: ...\n # Mixin methods\n @overload\n def get(self, key: _KT) -> Optional[_VT_co]: ...\n @overload\n def get(self, key: _KT, default: Union[_VT_co, _T]) -> Union[_VT_co, _T]: ...\n def items(self) -> AbstractSet[Tuple[_KT, _VT_co]]: ...\n def keys(self) -> AbstractSet[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def __contains__(self, o: object) -> bool: ...\n\nclass MutableMapping(Mapping[_KT, _VT], Generic[_KT, _VT]):\n @abstractmethod\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n @abstractmethod\n def __delitem__(self, v: _KT) -> None: ...\n def clear(self) -> None: ...\n @overload\n def pop(self, key: _KT) -> _VT: ...\n @overload\n def pop(self, key: _KT, default: Union[_VT, _T] = ...) -> Union[_VT, _T]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, key: _KT, default: _VT = ...) -> _VT: ...\n # 'update' used to take a Union, but using overloading is better.\n # The second overloaded type here is a bit too general, because\n # Mapping[Tuple[_KT, _VT], W] is a subclass of Iterable[Tuple[_KT, _VT]],\n # but will always have the behavior of the first overloaded type\n # at runtime, leading to keys of a mix of types _KT and Tuple[_KT, _VT].\n # We don't currently have any way of forcing all Mappings to use\n # the first overload, but by using overloading rather than a Union,\n # mypy will commit to using the first overload when the argument is\n # known to be a Mapping with unknown type parameters, which is closer\n # to the behavior we want. See mypy issue #1430.\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n\nText = str\n\nTYPE_CHECKING = True\n\nclass IO(Iterator[AnyStr], Generic[AnyStr]):\n # TODO use abstract properties\n @property\n def mode(self) -> str: ...\n @property\n def name(self) -> str: ...\n @abstractmethod\n def close(self) -> None: ...\n @property\n def closed(self) -> bool: ...\n @abstractmethod\n def fileno(self) -> int: ...\n @abstractmethod\n def flush(self) -> None: ...\n @abstractmethod\n def isatty(self) -> bool: ...\n @abstractmethod\n def read(self, n: int = ...) -> AnyStr: ...\n @abstractmethod\n def readable(self) -> bool: ...\n @abstractmethod\n def readline(self, limit: int = ...) -> AnyStr: ...\n @abstractmethod\n def readlines(self, hint: int = ...) -> list[AnyStr]: ...\n @abstractmethod\n def seek(self, offset: int, whence: int = ...) -> int: ...\n @abstractmethod\n def seekable(self) -> bool: ...\n @abstractmethod\n def tell(self) -> int: ...\n @abstractmethod\n def truncate(self, size: Optional[int] = ...) -> int: ...\n @abstractmethod\n def writable(self) -> bool: ...\n @abstractmethod\n def write(self, s: AnyStr) -> int: ...\n @abstractmethod\n def writelines(self, lines: Iterable[AnyStr]) -> None: ...\n @abstractmethod\n def __next__(self) -> AnyStr: ...\n @abstractmethod\n def __iter__(self) -> Iterator[AnyStr]: ...\n @abstractmethod\n def __enter__(self) -> IO[AnyStr]: ...\n @abstractmethod\n def __exit__(\n self, t: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Optional[bool]: ...\n\nclass BinaryIO(IO[bytes]):\n @abstractmethod\n def __enter__(self) -> BinaryIO: ...\n\nclass TextIO(IO[str]):\n # TODO use abstractproperty\n @property\n def buffer(self) -> BinaryIO: ...\n @property\n def encoding(self) -> str: ...\n @property\n def errors(self) -> Optional[str]: ...\n @property\n def line_buffering(self) -> int: ... # int on PyPy, bool on CPython\n @property\n def newlines(self) -> Any: ... # None, str or tuple\n @abstractmethod\n def __enter__(self) -> TextIO: ...\n\nclass ByteString(Sequence[int], metaclass=ABCMeta): ...\n\nclass Match(Generic[AnyStr]):\n pos: int\n endpos: int\n lastindex: Optional[int]\n lastgroup: Optional[AnyStr]\n string: AnyStr\n\n # The regular expression object whose match() or search() method produced\n # this match instance.\n re: Pattern[AnyStr]\n def expand(self, template: AnyStr) -> AnyStr: ...\n # group() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def group(self, __group: _Literal[0] = ...) -> AnyStr: ...\n @overload\n def group(self, __group: str | int) -> AnyStr | Any: ...\n @overload\n def group(self, __group1: str | int, __group2: str | int, *groups: str | int) -> Tuple[AnyStr | Any, ...]: ...\n # Each item of groups()'s return tuple is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groups(self) -> Tuple[AnyStr | Any, ...]: ...\n @overload\n def groups(self, default: _T) -> Tuple[AnyStr | _T, ...]: ...\n # Each value in groupdict()'s return dict is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groupdict(self) -> dict[str, AnyStr | Any]: ...\n @overload\n def groupdict(self, default: _T) -> dict[str, AnyStr | _T]: ...\n def start(self, __group: Union[int, str] = ...) -> int: ...\n def end(self, __group: Union[int, str] = ...) -> int: ...\n def span(self, __group: Union[int, str] = ...) -> Tuple[int, int]: ...\n @property\n def regs(self) -> Tuple[Tuple[int, int], ...]: ... # undocumented\n # __getitem__() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def __getitem__(self, __key: _Literal[0]) -> AnyStr: ...\n @overload\n def __getitem__(self, __key: int | str) -> AnyStr | Any: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass Pattern(Generic[AnyStr]):\n flags: int\n groupindex: Mapping[str, int]\n groups: int\n pattern: AnyStr\n def search(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def match(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def fullmatch(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def split(self, string: AnyStr, maxsplit: int = ...) -> list[AnyStr]: ...\n def findall(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> list[Any]: ...\n def finditer(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Iterator[Match[AnyStr]]: ...\n @overload\n def sub(self, repl: AnyStr, string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def sub(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def subn(self, repl: AnyStr, string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n @overload\n def subn(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\n# Functions\n\nif sys.version_info >= (3, 7):\n _get_type_hints_obj_allowed_types = Union[\n object,\n Callable[..., Any],\n FunctionType,\n BuiltinFunctionType,\n MethodType,\n ModuleType,\n WrapperDescriptorType,\n MethodWrapperType,\n MethodDescriptorType,\n ]\nelse:\n _get_type_hints_obj_allowed_types = Union[\n object, Callable[..., Any], FunctionType, BuiltinFunctionType, MethodType, ModuleType,\n ]\n\nif sys.version_info >= (3, 9):\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types,\n globalns: Optional[Dict[str, Any]] = ...,\n localns: Optional[Dict[str, Any]] = ...,\n include_extras: bool = ...,\n ) -> Dict[str, Any]: ...\n\nelse:\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types, globalns: Optional[Dict[str, Any]] = ..., localns: Optional[Dict[str, Any]] = ...\n ) -> Dict[str, Any]: ...\n\nif sys.version_info >= (3, 8):\n def get_origin(tp: Any) -> Optional[Any]: ...\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n\n@overload\ndef cast(typ: Type[_T], val: Any) -> _T: ...\n@overload\ndef cast(typ: str, val: Any) -> Any: ...\n@overload\ndef cast(typ: object, val: Any) -> Any: ...\n\n# Type constructors\n\n# NamedTuple is special-cased in the type checker\nclass NamedTuple(Tuple[Any, ...]):\n _field_types: collections.OrderedDict[str, Type[Any]]\n _field_defaults: Dict[str, Any] = ...\n _fields: Tuple[str, ...]\n _source: str\n def __init__(self, typename: str, fields: Iterable[Tuple[str, Any]] = ..., **kwargs: Any) -> None: ...\n @classmethod\n def _make(cls: Type[_T], iterable: Iterable[Any]) -> _T: ...\n if sys.version_info >= (3, 8):\n def _asdict(self) -> Dict[str, Any]: ...\n else:\n def _asdict(self) -> collections.OrderedDict[str, Any]: ...\n def _replace(self: _T, **kwargs: Any) -> _T: ...\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __or__(self: _T, __value: _T) -> _T: ...\n def __ior__(self: _T, __value: _T) -> _T: ...\n\ndef NewType(name: str, tp: Type[_T]) -> Type[_T]: ...\n\n# This itself is only available during type checking\ndef type_check_only(func_or_cls: _F) -> _F: ...\n\nif sys.version_info >= (3, 7):\n class ForwardRef:\n __forward_arg__: str\n __forward_code__: CodeType\n __forward_evaluated__: bool\n __forward_value__: Optional[Any]\n __forward_is_argument__: bool\n def __init__(self, arg: str, is_argument: bool = ...) -> None: ...\n def _evaluate(self, globalns: Optional[Dict[str, Any]], localns: Optional[Dict[str, Any]]) -> Optional[Any]: ...\n def __eq__(self, other: Any) -> bool: ...\n def __hash__(self) -> int: ...\n def __repr__(self) -> str: ...\n\nif sys.version_info >= (3, 10):\n def is_typeddict(tp: Any) -> bool: ...\n", + "/typeshed/stdlib/typing_extensions.pyi": "import abc\nimport sys\nfrom typing import (\n TYPE_CHECKING as TYPE_CHECKING,\n Any,\n AsyncContextManager as AsyncContextManager,\n AsyncGenerator as AsyncGenerator,\n AsyncIterable as AsyncIterable,\n AsyncIterator as AsyncIterator,\n Awaitable as Awaitable,\n Callable,\n ChainMap as ChainMap,\n ClassVar as ClassVar,\n ContextManager as ContextManager,\n Coroutine as Coroutine,\n Counter as Counter,\n DefaultDict as DefaultDict,\n Deque as Deque,\n ItemsView,\n KeysView,\n Mapping,\n NewType as NewType,\n NoReturn as NoReturn,\n Text as Text,\n Tuple,\n Type as Type,\n TypeVar,\n ValuesView,\n _Alias,\n overload as overload,\n)\n\n_T = TypeVar(\"_T\")\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> Any: ...\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n\n# This alias for above is kept here for backwards compatibility.\nruntime = runtime_checkable\nProtocol: _SpecialForm = ...\nFinal: _SpecialForm = ...\n\ndef final(f: _F) -> _F: ...\n\nLiteral: _SpecialForm = ...\n\ndef IntVar(name: str) -> Any: ... # returns a new TypeVar\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=abc.ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n\n# TypedDict is a (non-subscriptable) special form.\nTypedDict: object = ...\n\nOrderedDict = _Alias()\n\ndef get_type_hints(\n obj: Callable[..., Any],\n globalns: dict[str, Any] | None = ...,\n localns: dict[str, Any] | None = ...,\n include_extras: bool = ...,\n) -> dict[str, Any]: ...\n\nif sys.version_info >= (3, 7):\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n def get_origin(tp: Any) -> Any | None: ...\n\nAnnotated: _SpecialForm = ...\n_AnnotatedAlias: Any = ... # undocumented\n\n@runtime_checkable\nclass SupportsIndex(Protocol, metaclass=abc.ABCMeta):\n @abc.abstractmethod\n def __index__(self) -> int: ...\n\n# PEP 612 support for Python < 3.9\nif sys.version_info >= (3, 10):\n from typing import Concatenate as Concatenate, ParamSpec as ParamSpec, TypeAlias as TypeAlias, TypeGuard as TypeGuard\nelse:\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Type[Any] | None\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: None | Type[Any] | str = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n", + "/typeshed/stdlib/uarray.pyi": "from array import *\n", + "/typeshed/stdlib/ucollections.pyi": "from collections import *\n", + "/typeshed/stdlib/uerrno.pyi": "from errno import *\n", + "/typeshed/stdlib/urandom.pyi": "from random import *\n", + "/typeshed/stdlib/ustruct.pyi": "from struct import *\n", + "/typeshed/stdlib/usys.pyi": "from sys import *\n", + "/typeshed/stdlib/utime.pyi": "from time import *\n", + "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", + "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Pins, images, sounds, temperature and volume.\n\"\"\"\n\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\n\nfrom _typeshed import ReadableBuffer\n\n# V2 only\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(\n callback: Optional[Callable[[], None]] = None,\n days: int = 0,\n h: int = 0,\n min: int = 0,\n s: int = 0,\n ms: int = 0,\n) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Schedule to run a function at the interval specified by the time arguments **V2 only**.\n\n Example: ``run_every(my_logging, min=5)``\n\n ``run_every`` can be used in two ways:\n\n As a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(days=1, h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\n As a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\n Each argument corresponds to a different time unit and they are additive.\n So ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\n When an exception is thrown inside the callback function it deschedules the\n function. To avoid this you can catch exceptions with ``try/except``.\n\n :param callback: Function to call at the provided interval. Omit when using as a decorator.\n :param days: Sets the day mark for the scheduling.\n :param h: Sets the hour mark for the scheduling.\n :param min: Sets the minute mark for the scheduling.\n :param s: Sets the second mark for the scheduling.\n :param ms: Sets the millisecond mark for the scheduling.\n \"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"Enter a panic mode.\n\n Example: ``panic(127)``\n\n :param n: An arbitrary integer <= 255 to indicate a status.\n\n Requires restart.\n \"\"\"\n\ndef reset() -> None:\n \"\"\"Restart the board.\"\"\"\n\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Converts a value from a range to an integer range.\n\n Example: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\n For example, to convert an accelerometer X value to a speaker volume.\n\n If one of the numbers in the ``to`` parameter is a floating point\n (i.e a decimal number like ``10.0``), this function will return a\n floating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n :param value: A number to convert.\n :param from_: A tuple to define the range to convert from.\n :param to: A tuple to define the range to convert to.\n :return: The ``value`` converted to the ``to`` range.\n \"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Converts a value from a range to a floating point range.\n\n Example: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\n For example, to convert temperature from a Celsius scale to Fahrenheit.\n\n If one of the numbers in the ``to`` parameter is a floating point\n (i.e a decimal number like ``10.0``), this function will return a\n floating point number.\n If they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n :param value: A number to convert.\n :param from_: A tuple to define the range to convert from.\n :param to: A tuple to define the range to convert to.\n :return: The ``value`` converted to the ``to`` range.\n \"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Wait for ``n`` milliseconds.\n\n Example: ``sleep(1000)``\n\n :param n: The number of milliseconds to wait\n\n One second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\n will pause the execution for one second.\n \"\"\"\n\ndef running_time() -> int:\n \"\"\"Get the running time of the board.\n\n :return: The number of milliseconds since the board was switched on or restarted.\n \"\"\"\n\ndef temperature() -> int:\n \"\"\"Get the temperature of the micro:bit in degrees Celsius.\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"Sets the volume.\n\n Example: ``set_volume(127)``\n\n :param v: a value between 0 (low) and 255 (high).\n\n Out of range values will be clamped to 0 or 255.\n\n **V2** only.\n \"\"\"\n ...\n\nclass Button:\n \"\"\"The class for the buttons ``button_a`` and ``button_b``.\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"Check if the button is pressed.\n\n :return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\n \"\"\"\n ...\n def was_pressed(self) -> bool:\n \"\"\"Check if the button was pressed since the device started or the last time this method was called.\n\n Calling this method will clear the press state so\n that the button must be pressed again before this method will return\n ``True`` again.\n\n :return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\n \"\"\"\n ...\n def get_presses(self) -> int:\n \"\"\"Get the running total of button presses, and resets this total\n to zero before returning.\n\n :return: The number of presses since the device started or the last time this method was called\n \"\"\"\n ...\n\nbutton_a: Button\n\"\"\"The left button ``Button`` object.\"\"\"\n\nbutton_b: Button\n\"\"\"The right button ``Button`` object.\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"A digital pin.\n\n Some pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\n \"\"\"\n\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n def read_digital(self) -> int:\n \"\"\"Get the digital value of the pin.\n\n Example: ``value = pin0.read_digital()``\n\n :return: 1 if the pin is high, and 0 if it's low.\n \"\"\"\n ...\n def write_digital(self, value: int) -> None:\n \"\"\"Set the digital value of the pin.\n\n Example: ``pin0.write_digital(1)``\n\n :param value: 1 to set the pin high or 0 to set the pin low\"\"\"\n ...\n def set_pull(self, value: int) -> None:\n \"\"\"Set the pull state to one of three possible values: ``PULL_UP``, ``PULL_DOWN`` or ``NO_PULL``.\n\n Example: ``pin0.set_pull(pin0.PULL_UP)``\n\n :param value: The pull state from the relevant pin, e.g. ``pin0.PULL_UP``.\n \"\"\"\n ...\n def get_pull(self) -> int:\n \"\"\"Get the pull state on a pin.\n\n Example: ``pin0.get_pull()``\n\n :return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\n These are set using the ``set_pull()`` method or automatically configured\n when a pin mode requires it.\n \"\"\"\n ...\n def get_mode(self) -> str:\n \"\"\"Returns the pin mode.\n\n Example: ``pin0.get_mode()``\n\n When a pin is used for a specific function, like\n writing a digital value, or reading an analog value, the pin mode\n changes.\n\n :return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\n \"\"\"\n ...\n def write_analog(self, value: int) -> None:\n \"\"\"Output a PWM signal on the pin, with the duty cycle proportional to ``value``.\n\n Example: ``pin0.write_analog(254)``\n\n :param value: An integer or a floating point number between 0 (0% duty cycle) and 1023 (100% duty).\n \"\"\"\n def set_analog_period(self, period: int) -> None:\n \"\"\"Set the period of the PWM signal being output to ``period`` in milliseconds.\n\n Example: ``pin0.set_analog_period(10)``\n\n :param period: The period in milliseconds with a minimum valid value of 1ms.\n \"\"\"\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"Set the period of the PWM signal being output to ``period`` in microseconds.\n\n Example: ``pin0.set_analog_period_microseconds(512)``\n\n :param period: The period in microseconds with a minimum valid value of 256\u00b5s.\n \"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"A pin with analog and digital features.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Read the voltage applied to the pin.\n\n Example: ``pin0.read_analog()``\n\n :return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\n \"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"A pin with analog, digital and touch features.\"\"\"\n\n CAPACITIVE: int\n RESISTIVE: int\n def is_touched(self) -> bool:\n \"\"\"Check if the pin is being touched.\n\n Example: ``pin0.is_touched()``\n\n :return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\n \"\"\"\n ...\n\n def was_touched(self) -> bool:\n \"\"\"Check if the pin was touched since the last time this method was called.\n\n Example: ``pin0.was_touched()``\n\n :return: ``True`` or ``False`` to indicate if the pin was touched since the device started or since the last time this method was called.\n \"\"\"\n ...\n \n def get_touches(self) -> int:\n \"\"\"Get the number of times the pin was touched since the last time this method was called.\n\n Example: ``pin0.get_touches()``\n\n :return: The number of times the pin was touched since the device started or since the last time this method was called.\n \"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"Set the touch mode for the pin.\n\n Example: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\n The default touch mode for the pins on the edge connector is\n ``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n **Resistive touch**\n This test is done by measuring how much resistance there is between the\n pin and ground. A low resistance gives a reading of ``True``. To get\n a reliable reading using a finger you may need to touch the ground pin\n with another part of your body, for example your other hand.\n\n **Capacitive touch**\n This test is done by interacting with the electric field of a capacitor\n using a finger as a conductor. `Capacitive touch\n `_\n does not require you to make a ground connection as part of a circuit.\n\n :param value: ``CAPACITIVE`` or ``RESISTIVE`` from the relevant pin.\n \"\"\"\n ...\n\npin0: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin1: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin2: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin3: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin4: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin5: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin6: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin7: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin8: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin9: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin10: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin11: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin12: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin13: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin14: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin15: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin16: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin19: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin20: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin_logo: MicroBitTouchPin\n\"\"\"A touch sensitive logo pin on the front of the micro:bit, which by default is set to capacitive touch mode.\"\"\"\n\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"A pin to address the micro:bit speaker.\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"An image to show on the micro:bit LED display.\n\n Given an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\n \"\"\"\n\n HEART: Image\n \"\"\"Heart image.\"\"\"\n\n HEART_SMALL: Image\n \"\"\"Small heart image.\"\"\"\n\n HAPPY: Image\n \"\"\"Happy face image.\"\"\"\n\n SMILE: Image\n \"\"\"Smiling face image.\"\"\"\n\n SAD: Image\n \"\"\"Sad face image.\"\"\"\n\n CONFUSED: Image\n \"\"\"Confused face image.\"\"\"\n\n ANGRY: Image\n \"\"\"Angry face image.\"\"\"\n\n ASLEEP: Image\n \"\"\"Sleeping face image.\"\"\"\n\n SURPRISED: Image\n \"\"\"Surprised face image.\"\"\"\n\n SILLY: Image\n \"\"\"Silly face image.\"\"\"\n\n FABULOUS: Image\n \"\"\"Sunglasses face image.\"\"\"\n\n MEH: Image\n \"\"\"Unimpressed face image.\"\"\"\n\n YES: Image\n \"\"\"Tick image.\"\"\"\n\n NO: Image\n \"\"\"Cross image.\"\"\"\n\n CLOCK12: Image\n \"\"\"Image with line pointing to 12 o'clock.\"\"\"\n\n CLOCK11: Image\n \"\"\"Image with line pointing to 11 o'clock.\"\"\"\n\n CLOCK10: Image\n \"\"\"Image with line pointing to 10 o'clock.\"\"\"\n\n CLOCK9: Image\n \"\"\"Image with line pointing to 9 o'clock.\"\"\"\n\n CLOCK8: Image\n \"\"\"Image with line pointing to 8 o'clock.\"\"\"\n\n CLOCK7: Image\n \"\"\"Image with line pointing to 7 o'clock.\"\"\"\n\n CLOCK6: Image\n \"\"\"Image with line pointing to 6 o'clock.\"\"\"\n\n CLOCK5: Image\n \"\"\"Image with line pointing to 5 o'clock.\"\"\"\n\n CLOCK4: Image\n \"\"\"Image with line pointing to 4 o'clock.\"\"\"\n\n CLOCK3: Image\n \"\"\"Image with line pointing to 3 o'clock.\"\"\"\n\n CLOCK2: Image\n \"\"\"Image with line pointing to 2 o'clock.\"\"\"\n\n CLOCK1: Image\n \"\"\"Image with line pointing to 1 o'clock.\"\"\"\n\n ARROW_N: Image\n \"\"\"Image of arrow pointing north.\"\"\"\n\n ARROW_NE: Image\n \"\"\"Image of arrow pointing north east.\"\"\"\n\n ARROW_E: Image\n \"\"\"Image of arrow pointing east.\"\"\"\n\n ARROW_SE: Image\n \"\"\"Image of arrow pointing south east.\"\"\"\n\n ARROW_S: Image\n \"\"\"Image of arrow pointing south.\"\"\"\n\n ARROW_SW: Image\n \"\"\"Image of arrow pointing south west.\"\"\"\n\n ARROW_W: Image\n \"\"\"Image of arrow pointing west.\"\"\"\n\n ARROW_NW: Image\n \"\"\"Image of arrow pointing north west.\"\"\"\n\n TRIANGLE: Image\n \"\"\"Image of a triangle pointing up.\"\"\"\n\n TRIANGLE_LEFT: Image\n \"\"\"Image of a triangle in the left corner.\"\"\"\n\n CHESSBOARD: Image\n \"\"\"Alternate LEDs lit in a chessboard pattern.\"\"\"\n\n DIAMOND: Image\n \"\"\"Diamond image.\"\"\"\n\n DIAMOND_SMALL: Image\n \"\"\"Small diamond image.\"\"\"\n\n SQUARE: Image\n \"\"\"Square image.\"\"\"\n\n SQUARE_SMALL: Image\n \"\"\"Small square image.\"\"\"\n\n RABBIT: Image\n \"\"\"Rabbit image.\"\"\"\n\n COW: Image\n \"\"\"Cow image.\"\"\"\n\n MUSIC_CROTCHET: Image\n \"\"\"Crotchet note image.\"\"\"\n\n MUSIC_QUAVER: Image\n \"\"\"Quaver note image.\"\"\"\n\n MUSIC_QUAVERS: Image\n \"\"\"Pair of quavers note image.\"\"\"\n\n PITCHFORK: Image\n \"\"\"Pitchfork image.\"\"\"\n\n XMAS: Image\n \"\"\"Christmas tree image.\"\"\"\n\n PACMAN: Image\n \"\"\"Pac-Man arcade character image.\"\"\"\n\n TARGET: Image\n \"\"\"Target image.\"\"\"\n\n TSHIRT: Image\n \"\"\"T-shirt image.\"\"\"\n\n ROLLERSKATE: Image\n \"\"\"Rollerskate image.\"\"\"\n\n DUCK: Image\n \"\"\"Duck image.\"\"\"\n\n HOUSE: Image\n \"\"\"House image.\"\"\"\n\n TORTOISE: Image\n \"\"\"Tortoise image.\"\"\"\n\n BUTTERFLY: Image\n \"\"\"Butterfly image.\"\"\"\n\n STICKFIGURE: Image\n \"\"\"Stick figure image.\"\"\"\n\n GHOST: Image\n \"\"\"Ghost image.\"\"\"\n\n SWORD: Image\n \"\"\"Sword image.\"\"\"\n\n GIRAFFE: Image\n \"\"\"Giraffe image.\"\"\"\n\n SKULL: Image\n \"\"\"Skull image.\"\"\"\n\n UMBRELLA: Image\n \"\"\"Umbrella image.\"\"\"\n\n SNAKE: Image\n \"\"\"Snake image.\"\"\"\n\n SCISSORS: Image\n \"\"\"Scissors image.\"\"\"\n\n ALL_CLOCKS: List[Image]\n \"\"\"A list containing all the CLOCK_ images in sequence.\"\"\"\n\n ALL_ARROWS: List[Image]\n \"\"\"A list containing all the ARROW_ images in sequence.\"\"\"\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Create an image from a string describing which LEDs are lit.\n\n ``string`` has to consist of digits 0-9 arranged into lines,\n describing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\n will create a 5\u00d75 image of an X. The end of a line is indicated by a\n colon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n :param string: The string describing the image.\n \"\"\"\n ...\n @overload\n def __init__(\n self, width: int = 5, height: int = 5, buffer: ReadableBuffer = None\n ) -> None:\n \"\"\"Create an empty image with ``width`` columns and ``height`` rows.\n\n :param width: Optional width of the image\n :param height: Optional height of the image\n :param buffer: Optional array or bytes of ``width``\u00d7``height`` integers in range 0-9 to initialize the image\n\n Examples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\n These create 2 x 2 pixel images at full brightness.\n \"\"\"\n ...\n def width(self) -> int:\n \"\"\"Get the number of columns.\n\n :return: The number of columns in the image\n \"\"\"\n ...\n def height(self) -> int:\n \"\"\"Get the number of rows.\n\n :return: The number of rows in the image\n \"\"\"\n ...\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"Set the brightness of a pixel.\n\n Example: ``my_image.set_pixel(0, 0, 9)``\n\n :param x: The column number\n :param y: The row number\n :param value: The brightness as an integer between 0 (dark) and 9 (bright)\n\n This method will raise an exception when called on any of the built-in\n read-only images, like ``Image.HEART``.\n \"\"\"\n ...\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"Get the brightness of a pixel.\n\n Example: ``my_image.get_pixel(0, 0)``\n\n :param x: The column number\n :param y: The row number\n :return: The brightness as an integer between 0 and 9.\n \"\"\"\n ...\n def shift_left(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture left.\n\n Example: ``Image.HEART_SMALL.shift_left(1)``\n\n :param n: The number of columns to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_right(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture right.\n\n Example: ``Image.HEART_SMALL.shift_right(1)``\n\n :param n: The number of columns to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_up(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture up.\n\n Example: ``Image.HEART_SMALL.shift_up(1)``\n\n :param n: The number of rows to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_down(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture down.\n\n Example: ``Image.HEART_SMALL.shift_down(1)``\n\n :param n: The number of rows to shift by\n :return: The shifted image\n \"\"\"\n ...\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Create a new image by cropping the picture.\n\n Example: ``Image.HEART.crop(1, 1, 3, 3)``\n\n :param x: The crop offset column\n :param y: The crop offset row\n :param w: The crop width\n :param h: The crop height\n :return: The new image\n \"\"\"\n ...\n def copy(self) -> Image:\n \"\"\"Create an exact copy of the image.\n\n Example: ``Image.HEART.copy()``\n\n :return: The new image\n \"\"\"\n ...\n def invert(self) -> Image:\n \"\"\"Create a new image by inverting the brightness of the pixels in the\n source image.\n\n Example: ``Image.SMALL_HEART.invert()``\n\n :return: The new image.\n \"\"\"\n ...\n def fill(self, value: int) -> None:\n \"\"\"Set the brightness of all the pixels in the image.\n\n Example: ``my_image.fill(5)``\n\n :param value: The new brightness as a number between 0 (dark) and 9 (bright).\n\n This method will raise an exception when called on any of the built-in\n read-only images, like ``Image.HEART``.\n \"\"\"\n ...\n def blit(\n self,\n src: Image,\n x: int,\n y: int,\n w: int,\n h: int,\n xdest: int = 0,\n ydest: int = 0,\n ) -> None:\n \"\"\"Copy an area from another image into this image.\n\n Example: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n :param src: The source image\n :param x: The starting column offset in the source image\n :param y: The starting row offset in the source image\n :param w: The number of columns to copy\n :param h: The number of rows to copy\n :param xdest: The column offset to modify in this image\n :param ydest: The row offset to modify in this image\n\n Pixels outside the source image are treated as having a brightness of 0.\n\n ``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\n and ``crop()`` can are all implemented by using ``blit()``.\n\n For example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\n \"\"\"\n ...\n def __repr__(self) -> str:\n \"\"\"Get a compact string representation of the image.\"\"\"\n ...\n def __str__(self) -> str:\n \"\"\"Get a readable string representation of the image.\"\"\"\n ...\n def __add__(self, other: Image) -> Image:\n \"\"\"Create a new image by adding the brightness values from the two\n images for each pixel.\n\n Example: ``Image.HEART + Image.HAPPY``\n\n :param other: The image to add.\n \"\"\"\n ...\n def __sub__(self, other: Image) -> Image:\n \"\"\"Create a new image by subtracting the brightness values of the\n other image from this image.\n\n Example: ``Image.HEART - Image.HEART_SMALL``\n\n :param other: The image to subtract.\n \"\"\"\n ...\n def __mul__(self, n: float) -> Image:\n \"\"\"Create a new image by multiplying the brightness of each pixel by\n ``n``.\n\n Example: ``Image.HEART * 0.5``\n\n :param n: The value to multiply by.\n \"\"\"\n ...\n def __truediv__(self, n: float) -> Image:\n \"\"\"Create a new image by dividing the brightness of each pixel by\n ``n``.\n\n Example: ``Image.HEART / 2``\n\n :param n: The value to divide by.\n \"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Represents the transition of sound events, from ``quiet`` to ``loud`` like clapping or shouting.\"\"\"\n\n QUIET: SoundEvent\n \"\"\"Represents the transition of sound events, from ``loud`` to ``quiet`` like speaking or background music.\"\"\"\n\nclass Sound:\n \"\"\"The built-in sounds can be called using ``audio.play(Sound.NAME)``.\"\"\"\n\n GIGGLE: Sound\n \"\"\"Giggling sound.\"\"\"\n\n HAPPY: Sound\n \"\"\"Happy sound.\"\"\"\n\n HELLO: Sound\n \"\"\"Greeting sound.\"\"\"\n\n MYSTERIOUS: Sound\n \"\"\"Mysterious sound.\"\"\"\n\n SAD: Sound\n \"\"\"Sad sound.\"\"\"\n\n SLIDE: Sound\n \"\"\"Sliding sound.\"\"\"\n\n SOARING: Sound\n \"\"\"Soaring sound.\"\"\"\n\n SPRING: Sound\n \"\"\"Spring sound.\"\"\"\n\n TWINKLE: Sound\n \"\"\"Twinkling sound.\"\"\"\n\n YAWN: Sound\n \"\"\"Yawning sound.\"\"\"\n", + "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"Measure the acceleration of the micro:bit and recognise gestures.\n\"\"\"\n\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"Get the acceleration measurement in the ``x`` axis in milli-g.\n\n Example: ``accelerometer.get_x()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Get the acceleration measurement in the ``y`` axis in milli-g.\n\n Example: ``accelerometer.get_y()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Get the acceleration measurement in the ``z`` axis in milli-g.\n\n Example: ``accelerometer.get_z()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"Get the acceleration measurements in all axes at once as a tuple.\n\n Example: ``x, y, z = accelerometer.get_values()``\n\n :return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\n \"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Get the acceleration measurement of all axes combined, as a positive integer. This is the Pythagorean sum of the X, Y and Z axes.\n\n Example: ``accelerometer.get_strength()``\n\n :return: The combined acceleration strength of all the axes, in milli-g.\n \"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"Get the name of the current gesture.\n\n Example: ``accelerometer.current_gesture()``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :return: The current gesture\n \"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"Check if the named gesture is currently active.\n\n Example: ``accelerometer.is_gesture('shake')``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :param name: The gesture name.\n :return: ``True`` if the gesture is active, ``False`` otherwise.\n \"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"Check if the named gesture was active since the last call.\n\n Example: ``accelerometer.was_gesture('shake')``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :param name: The gesture name.\n :return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\n \"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"Return a tuple of the gesture history.\n\n Example: ``accelerometer.get_gestures()``\n\n Clears the gesture history before returning.\n\n Gestures are not updated in the background so there needs to be constant\n calls to some accelerometer method to do the gesture detection. Usually\n gestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n :return: The history as a tuple, most recent last.\n \"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Set the accelerometer sensitivity range, in g (standard gravity), to the closest values supported by the hardware, so it rounds to either ``2``, ``4``, or ``8`` g.\n\n Example: ``accelerometer.set_range(8)``\n\n :param value: New range for the accelerometer, an integer in ``g``.\n \"\"\"\n", + "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"Play sounds using the micro:bit (import ``audio`` for V1 compatibility).\n\"\"\"\n\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Optional, Union, overload\n\ndef play(\n source: Union[AudioFrame, Iterable[AudioFrame], AudioRecording, AudioTrack, Sound, SoundEffect],\n wait: bool = True,\n pin: MicroBitDigitalPin = pin0,\n return_pin: Union[MicroBitDigitalPin, None] = None,\n) -> None:\n \"\"\"Play a built-in sound, sound effect or audio samples.\n\n Example: ``audio.play(Sound.GIGGLE)``\n\n :param source: A built-in ``Sound`` such as ``Sound.GIGGLE``, a ``SoundEffect`` or sample data as an ``AudioFrame``, ``AudioRecording`` or ``AudioTrack`` object or an iterable of ``AudioFrame`` objects.\n :param wait: If ``wait`` is ``True``, this function will block until the sound is complete.\n :param pin: An optional argument to specify the output pin can be used to override the default of ``pin0``. If we do not want any sound to play we can use ``pin=None``.\n :param return_pin: Specifies a differential edge connector pin to connect to an external speaker instead of ground. This is ignored for the **V2** revision.\n \"\"\"\n\ndef is_playing() -> bool:\n \"\"\"Check whether a sound is playing.\n\n Example: ``audio.is_playing()``\n\n :return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Returns the sound pressure level produced by audio currently being played.\n\n Example: ``audio.sound_level()``\n\n :return: A representation of the output sound pressure level in the range 0 to 255.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Stop all audio playback.\n\n Example: ``audio.stop()``\n \"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"A sound effect, composed by a set of parameters configured via the constructor or attributes.\"\"\"\n\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Sine wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Sawtooth wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Triangle wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Square wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Noise option used for the ``waveform`` parameter.\"\"\"\n\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Linear interpolation option used for the ``shape`` parameter.\"\"\"\n\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Curve interpolation option used for the ``shape`` parameter.\"\"\"\n\n SHAPE_LOG: ClassVar[int]\n \"\"\"Logarithmic interpolation option used for the ``shape`` parameter.\"\"\"\n\n FX_NONE: ClassVar[int]\n \"\"\"No effect option used for the ``fx`` parameter.\"\"\"\n\n FX_TREMOLO: ClassVar[int]\n \"\"\"Tremolo effect option used for the ``fx`` parameter.\"\"\"\n\n FX_VIBRATO: ClassVar[int]\n \"\"\"Vibrato effect option used for the ``fx`` parameter.\"\"\"\n\n FX_WARBLE: ClassVar[int]\n \"\"\"Warble effect option used for the ``fx`` parameter.\"\"\"\n\n freq_start: int\n \"\"\"Start frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n\n freq_end: int\n \"\"\"End frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n\n duration: int\n \"\"\"Duration of the sound in milliseconds, a number between ``0`` and ``9999``\"\"\"\n\n vol_start: int\n \"\"\"Start volume value, a number between ``0`` and ``255``\"\"\"\n\n vol_end: int\n \"\"\"End volume value, a number between ``0`` and ``255``\"\"\"\n\n waveform: int\n \"\"\"Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise)\"\"\"\n\n fx: int\n \"\"\"Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``\"\"\"\n\n shape: int\n \"\"\"The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(\n self,\n freq_start: int = 500,\n freq_end: int = 2500,\n duration: int = 500,\n vol_start: int = 255,\n vol_end: int = 0,\n waveform: int = WAVEFORM_SQUARE,\n fx: int = FX_NONE,\n shape: int = SHAPE_LOG,\n ):\n \"\"\"Create a new sound effect.\n\n Example: ``my_effect = SoundEffect(duration=1000)``\n\n All the parameters are optional, with default values as shown above, and\n they can all be modified via attributes of the same name. For example, we\n can first create an effect ``my_effect = SoundEffect(duration=1000)``,\n and then change its attributes ``my_effect.duration = 500``.\n\n :param freq_start: Start frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n :param freq_end: End frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n :param duration: Duration of the sound in milliseconds, a number between ``0`` and ``9999``.\n :param vol_start: Start volume value, a number between ``0`` and ``255``.\n :param vol_end: End volume value, a number between ``0`` and ``255``.\n :param waveform: Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise).\n :param fx: Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``.\n :param shape: The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\n \"\"\"\n def copy(self) -> SoundEffect:\n \"\"\"Create a copy of this ``SoundEffect``.\n\n Example: ``sound_2 = sound_1.copy()``\n\n :return: A copy of the SoundEffect.\n \"\"\"\n\n\nclass AudioRecording:\n \"\"\"The ``AudioRecording`` object contains audio data and the sampling rate\n associated to it (V2 only).\n\n The size of the internal buffer will depend on the ``rate``\n (number of samples per second) and ``duration`` parameters.\n The larger these values are, the more memory that will be used.\n\n When an ``AudioRecording`` is used to record data from the microphone,\n a higher sampling rate produces better sound quality,\n but it also uses more memory.\n\n During playback, increasing the sampling rate speeds up the sound\n and decreasing the sample rate slows it down.\n \n The data inside an ``AudioRecording`` is not easy to modify, so the\n ``AudioTrack`` class is provided to help access the audio data like a list.\n The method ``AudioRecording.track()`` can be used to create an ``AudioTrack``,\n and its arguments ``start_ms`` and ``end_ms`` can be used to slice portions\n of the data.\n \"\"\"\n\n def __init__(\n self,\n duration: int = -1,\n rate: int = 11_000\n ):\n \"\"\"Create a new ``AudioRecording``.\n\n Example: ``my_recording = AudioRecording(duration=5000)``\n\n :param duration: Indicates how many milliseconds of audio this instance can store.\n :param rate: The sampling rate at which data will be stored via the microphone, or played via the ``audio.play()`` function.\n \"\"\"\n\n def copy(self) -> None:\n \"\"\"Create a copy of the ``AudioRecording``.\n\n Example: ``copy = my_recording.copy()``\n\n :return: A copy of the ``AudioRecording``.\n \"\"\"\n\n def track(self, start_ms: int = 0, end_ms: int = -1) -> AudioTrack:\n \"\"\"Create an ``AudioTrack`` instance from a portion of the data in this ``AudioRecording`` instance.\n\n Example: ``first_second = my_recording.track(0, 1000)``\n\n :param start_ms: (default=0) Where to start of the track in milliseconds.\n :param end_ms: (default=-1) The end of the track in milliseconds. If the default value of ``-1`` is provided it will end the track at the end of the AudioRecording.\n :return: An ``AudioTrack`` backed by the sample data between ``start_ms`` and ``end_ms``.\n \"\"\"\n\nclass AudioTrack:\n \"\"\" The ``AudioTrack`` object points to the data provided by the input buffer,\n which can be an ``AudioRecording``, another ``AudioTrack``,\n or a buffer-like object like a ``bytearray`` (V2 only).\n \"\"\"\n\n def __init__(\n self,\n buffer: Union[bytearray, AudioRecording, AudioTrack],\n rate: Optional[int] = None\n ):\n \"\"\"Create a new ``AudioTrack``.\n\n When the input buffer has an associated rate (e.g. an ``AudioRecording``\n or ``AudioTrack``), the rate is copied. If the buffer object does not have\n a rate, the default value of 11_000 is used.\n\n Example: ``my_track = AudioTrack(bytearray(4096))``\n\n An ``AudioTrack`` can be created from an ``AudioRecording``, another\n ``AudioTrack``, or a ``bytearray`` and individual bytes can be accessed and\n modified like elements in a list::\n\n my_track = AudioTrack(bytearray(100))\n # Create a square wave\n half_length = len(my_track) // 2\n for i in range(half_length):\n my_track[i] = 255\n for i in range(half_length, len(my_track)):\n my_track[i] = 0\n\n Or smaller AudioTracks can be created using slices, useful to send them\n via radio or serial::\n\n recording = microphone.record(duration=2000)\n track = AudioTrack(recording)\n packet_size = 32\n for i in range(0, len(track), packet_size):\n radio.send_bytes(track[i:i+packet_size])\n\n :param buffer: The buffer containing the audio data.\n :param rate: (default=None) The sampling rate at which data will be stored via the microphone, or played via the ``audio.play()`` function. \n \"\"\"\n\n def set_rate(self, sample_rate: int) -> None:\n \"\"\"Configure the sampling rate associated with the data in the\n ``AudioTrack`` instance.\n\n\n Changes to an ``AudioTrack`` rate won't affect the original source rate,\n so multiple instances pointing to the same buffer can have different\n rates and the original buffer rate would stay unmodified.\n\n Example: ``my_track.set_rate(22_000)``\n \"\"\"\n\n def get_rate(self) -> int:\n \"\"\"Get the sampling rate associated with the data in the\n ``AudioRecording`` instance.\n\n Example: ``current_rate = my_track.get_rate()``\n\n :return: The configured sample rate.\n \"\"\"\n\n def copyfrom(self, other: Union[bytearray, AudioRecording, AudioTrack]) -> None:\n \"\"\"Overwrite the data in this ``AudioTrack`` with the data from another\n ``AudioTrack``, ``AudioRecording``, or buffer-like object like a\n ``bytearray`` instance.\n\n If the input buffer is smaller than the available space in this\n instance, the rest of the data is left untouched.\n If it is larger, it will stop copying once this instance is filled.\n \n :param other: Buffer-like instance from which to copy the data.\n \"\"\"\n\n def __len__(self) -> int: ...\n\n\n @overload\n def __getitem__(self, i: int) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> AudioTrack: ...\n def __setitem__(self, i: int, x: int) -> None: ...\n\n def __add__(self, v: AudioTrack) -> AudioTrack: ...\n def __iadd__(self, v: AudioTrack) -> AudioTrack: ...\n def __sub__(self, v: AudioTrack) -> AudioTrack: ...\n def __isub__(self, v: AudioTrack) -> AudioTrack: ...\n def __mul__(self, v: float) -> AudioTrack: ...\n def __imul__(self, v: float) -> AudioTrack: ...\n\n\nclass AudioFrame:\n \"\"\"An ``AudioFrame`` object is a list of 32 samples each of which is a unsigned byte\n (whole number between 0 and 255).\n\n It takes just over 4 ms to play a single frame.\n\n Example::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\n \"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Overwrite the data in this ``AudioFrame`` with the data from another ``AudioFrame`` instance.\n\n Example: ``my_frame.copyfrom(source_frame)``\n\n :param other: ``AudioFrame`` instance from which to copy the data.\n \"\"\"\n def __len__(self) -> int: ...\n def __setitem__(self, key: int, value: int) -> None: ...\n def __getitem__(self, key: int) -> int: ...", + "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"Use the built-in compass.\n\"\"\"\n\ndef calibrate() -> None:\n \"\"\"Starts the calibration process.\n\n Example: ``compass.calibrate()``\n\n An instructive message will be scrolled to the user after which they will need\n to rotate the device in order to draw a circle on the LED display.\n \"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"Check is the compass is calibrated.\n\n Example: ``compass.is_calibrated()``\n\n :return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\n \"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"Undoes the calibration, making the compass uncalibrated again.\n\n Example: ``compass.clear_calibration()``\n \"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"Get the magnetic field strength on the ``x`` axis.\n\n Example: ``compass.get_x()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Get the magnetic field strength on the ``y`` axis.\n\n Example: ``compass.get_y()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Get the magnetic field strength on the ``z`` axis.\n\n Example: ``compass.get_z()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"Get the compass heading.\n\n Example: ``compass.heading()``\n\n :return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\n \"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"Get the magnitude of the magnetic field around the device.\n\n Example: ``compass.get_field_strength()``\n\n :return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...\n", + "/typeshed/stdlib/microbit/display.pyi": "\"\"\"Show text, images and animations on the 5\u00d75 LED display.\n\"\"\"\n\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"Get the brightness of the LED at column ``x`` and row ``y``.\n\n Example: ``display.get_pixel(0, 0)``\n\n :param x: The display column (0..4)\n :param y: The display row (0..4)\n :return: A number between 0 (off) and 9 (bright)\n \"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"Set the brightness of the LED at column ``x`` and row ``y``.\n\n Example: ``display.set_pixel(0, 0, 9)``\n\n :param x: The display column (0..4)\n :param y: The display row (0..4)\n :param value: The brightness between 0 (off) and 9 (bright)\n \"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"Set the brightness of all LEDs to 0 (off).\n\n Example: ``display.clear()``\n \"\"\"\n ...\n\ndef show(\n image: Union[str, float, int, Image, Iterable[Image]],\n delay: int = 400,\n wait: bool = True,\n loop: bool = False,\n clear: bool = False,\n) -> None:\n \"\"\"Shows images, letters or digits on the LED display.\n\n Example: ``display.show(Image.HEART)``\n\n When ``image`` is an image or a list of images then each image is displayed in turn.\n If ``image`` is a string or number, each letter or digit is displayed in turn.\n\n :param image: A string, number, image or list of images to show.\n :param delay: Each letter, digit or image is shown with ``delay`` milliseconds between them.\n :param wait: If ``wait`` is ``True``, this function will block until the animation is finished, otherwise the animation will happen in the background.\n :param loop: If ``loop`` is ``True``, the animation will repeat forever.\n :param clear: If ``clear`` is ``True``, the display will be cleared after the sequence has finished.\n\n The ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\n \"\"\"\n ...\n\ndef scroll(\n text: Union[str, float, int],\n delay: int = 150,\n wait: bool = True,\n loop: bool = False,\n monospace: bool = False,\n) -> None:\n \"\"\"Scrolls a number or text on the LED display.\n\n Example: ``display.scroll('micro:bit')``\n\n :param text: The string to scroll. If ``text`` is an integer or float it is first converted to a string using ``str()``.\n :param delay: The ``delay`` parameter controls how fast the text is scrolling.\n :param wait: If ``wait`` is ``True``, this function will block until the animation is finished, otherwise the animation will happen in the background.\n :param loop: If ``loop`` is ``True``, the animation will repeat forever.\n :param monospace: If ``monospace`` is ``True``, the characters will all take up 5 pixel-columns in width, otherwise there will be exactly 1 blank pixel-column between each character as they scroll.\n\n The ``wait``, ``loop`` and ``monospace`` arguments must be specified\n using their keyword.\n \"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Turn on the LED display.\n\n Example: ``display.on()``\n \"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Turn off the LED display (disabling the display allows you to re-use the GPIO pins for other purposes).\n\n Example: ``display.off()``\n \"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"Check whether the LED display is enabled.\n\n Example: ``display.is_on()``\n\n :return: ``True`` if the display is on, otherwise returns ``False``.\n \"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"Read the light level.\n\n Example: ``display.read_light_level()``\n\n Uses the display's LEDs in reverse-bias mode to sense the amount of light\n falling on the display.\n\n :return: An integer between 0 and 255 representing the light level, with larger meaning more light.\n \"\"\"\n ...\n", + "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Communicate with devices using the I\u00b2C bus protocol.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(\n freq: int = 100000, sda: MicroBitDigitalPin = pin20, scl: MicroBitDigitalPin = pin19\n) -> None:\n \"\"\"Re-initialize a peripheral.\n\n Example: ``i2c.init()``\n\n :param freq: clock frequency\n :param sda: ``sda`` pin (default 20)\n :param scl: ``scl`` pin (default 19)\n\n On a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\n the accelerometer and compass stop working, as they are connected\n internally to those pins. This warning does not apply to the **V2**\n revision of the micro:bit as this has `separate I\u00b2C lines `_\n for the motion sensors and the edge connector.\n \"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Scan the bus for devices.\n\n Example: ``i2c.scan()``\n\n :return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\n \"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool = False) -> bytes:\n \"\"\"Read bytes from a device.\n\n Example: ``i2c.read(0x50, 64)``\n\n :param addr: The 7-bit address of the device\n :param n: The number of bytes to read\n :param repeat: If ``True``, no stop bit will be sent\n :return: The bytes read\n \"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool = False) -> None:\n \"\"\"Write bytes to a device.\n\n Example: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n :param addr: The 7-bit address of the device\n :param buf: A buffer containing the bytes to write\n :param repeat: If ``True``, no stop bit will be sent\n \"\"\"\n ...\n", + "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"Respond to sound using the built-in microphone (V2 only).\n\"\"\"\n\nfrom typing import Optional, Tuple, Union\nfrom ..microbit import SoundEvent\nfrom ..microbit.audio import AudioRecording, AudioTrack\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"Get the last recorded sound event\n\n Example: ``microphone.current_event()``\n\n :return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\n \"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"Check if a sound was heard at least once since the last call.\n\n Example: ``microphone.was_event(SoundEvent.LOUD)``\n\n This call clears the sound history before returning.\n\n :param event: The event to check for, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``\n :return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\n \"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"Check the most recent sound event detected.\n\n Example: ``microphone.is_event(SoundEvent.LOUD)``\n\n This call does not clear the sound event history.\n\n :param event: The event to check for, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``\n :return: ``True`` if sound was the most recent heard, ``False`` otherwise.\n \"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"Get the sound event history as a tuple.\n\n Example: ``microphone.get_events()``\n\n This call clears the sound history before returning.\n\n :return: A tuple of the event history with the most recent event last.\n \"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"Set the threshold for a sound event.\n\n Example: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\n The ``SoundEvent.LOUD`` event is triggered when the sound level crosses the \n threshold from \"quiet\" to \"loud\", and the ``SoundEvent.QUIET`` event is \n triggered when the sound level crosses from \"loud\" to \"quiet\".\n\n If the ``SoundEvent.LOUD`` threshold is set lower than the \n ``SoundEvent.QUIET`` threshold, then the ``SoundEvent.QUIET`` threshold \n will decrease by one unit below the ``SoundEvent.LOUD`` threshold. If the \n ``SoundEvent.QUIET`` threshold is set higher than the ``SoundEvent.LOUD``\n threshold, then the ``SoundEvent.LOUD`` threshold will increase by one unit \n above the ``SoundEvent.QUIET`` threshold.\n\n :param event: A sound event, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``.\n :param value: The threshold level in the range 0-255. Values outside this range will be clamped.\n \"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Get the sound pressure level in the range 0 to 255.\n\n Example: ``microphone.sound_level()``\n\n :return: A representation of the sound pressure level in the range 0 to 255.\n \"\"\"\n ...\n\ndef sound_level_db() -> int:\n \"\"\"Get the sound pressure level in decibels.\n\n Example: ``microphone.sound_level_db()``\n\n :return: A representation of the sound pressure level in decibels (dB).\n \"\"\"\n ...\n\ndef record(duration: int, rate: int = 11_000) -> AudioRecording:\n \"\"\"Record sound into an ``AudioRecording`` for the amount of time indicated by\n ``duration`` at the sampling rate indicated by ``rate``.\n\n The amount of memory consumed is directly related to the length of the\n recording and the sampling rate. The higher these values, the more memory\n it will use.\n\n A lower sampling rate will reduce both memory consumption and sound\n quality.\n\n If there isn't enough memory available a ``MemoryError`` will be raised.\n\n :param duration: How long to record in milliseconds.\n :param rate: Number of samples to capture per second.\n :returns: An ``AudioRecording`` with the sound samples.\n \"\"\"\n ...\n\ndef record_into(buffer: Union[AudioRecording, AudioTrack], wait: bool = True) -> AudioTrack:\n \"\"\"Record sound into an existing ``AudioRecording`` or ``AudioTrack``\n until it is filled, or the ``stop_recording()`` function is called.\n\n This function also returns an ``AudioTrack`` created from the provided\n input buffer, which length matches the recording duration.\n This is useful when recording with ``wait`` set to ``False``, and the\n recording is stopped before the input buffer is filled.\n\n :param buffer: ``AudioRecording`` or ``AudioTrack`` to record sound into.\n :param wait: When set to ``True`` it blocks until the recording is\n done, if it is set to ``False`` it will run in the background.\n :returns: An ``AudioTrack`` which ends where the recording ended.\n \"\"\"\n ...\n\ndef is_recording() -> bool:\n \"\"\"Checks whether the microphone is currently recording.\n\n Example: ``is_recording = microphone.is_recording()``\n\n :return: ``True`` if the microphone is currently recording sound, otherwise returns ``False``.\n \"\"\"\n ...\n\ndef stop_recording() -> None:\n \"\"\"Stops a recording running in the background.\n\n Example: ``microphone.stop_recording()``\n \"\"\"\n ...\n\nSENSITIVITY_LOW: float;\n\"\"\"Low microphone sensitivity.\"\"\"\n\nSENSITIVITY_MEDIUM: float;\n\"\"\"Medium microphone sensitivity.\"\"\"\n\nSENSITIVITY_HIGH: float;\n\"\"\"High microphone sensitivity.\"\"\"\n\n\ndef set_sensitivity(gain: float) -> None:\n \"\"\"Configure the microphone sensitivity.\n\n Example: ``microphone.set_sensitivity(microphone.SENSITIVITY_HIGH)``\n\n The default sensitivity is ``microphone.SENSITIVITY_MEDIUM``.\n\n :param gain: The microphone gain. Use ``microphone.SENSITIVITY_LOW``, ``microphone.SENSITIVITY_MEDIUM``, ``microphone.SENSITIVITY_HIGH``, or a value between these levels.\n \"\"\"\n ...", + "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Control the built-in speaker (V2 only).\n\"\"\"\n\ndef off() -> None:\n \"\"\"Turn the speaker off.\n\n Example: ``speaker.off()``\n\n This does not disable sound output to an edge connector pin.\n \"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Turn the speaker on.\n\n Example: ``speaker.on()``\n \"\"\"\n ...\n", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Communicate with devices using the serial peripheral interface (SPI) bus.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(\n baudrate: int = 1000000,\n bits: int = 8,\n mode: int = 0,\n sclk: MicroBitDigitalPin = pin13,\n mosi: MicroBitDigitalPin = pin15,\n miso: MicroBitDigitalPin = pin14,\n) -> None:\n \"\"\"Initialize SPI communication.\n\n Example: ``spi.init()``\n\n For correct communication, the parameters have to be the same on both communicating devices.\n\n :param baudrate: The speed of communication.\n :param bits: The width in bits of each transfer. Currently only ``bits=8`` is supported. However, this may change in the future.\n :param mode: Determines the combination of clock polarity and phase - `see online table `_.\n :param sclk: sclk pin (default 13)\n :param mosi: mosi pin (default 15)\n :param miso: miso pin (default 14)\n \"\"\"\n ...\n\ndef read(nbytes: int) -> bytes:\n \"\"\"Read bytes.\n\n Example: ``spi.read(64)``\n\n :param nbytes: Maximum number of bytes to read.\n :return: The bytes read.\n \"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Write bytes to the bus.\n\n Example: ``spi.write(bytes([1, 2, 3]))``\n\n :param buffer: A buffer to read data from.\n \"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Write the ``out`` buffer to the bus and read any response into the ``in_`` buffer.\n\n Example: ``spi.write_readinto(out_buffer, in_buffer)``\n\n The length of the buffers should be the same. The buffers can be the same object.\n\n :param out: The buffer to write any response to.\n :param in_: The buffer to read data from.\n \"\"\"\n ...\n", + "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Communicate with a device using a serial interface.\n\"\"\"\n\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\n\nODD: int\n\"\"\"Odd parity\"\"\"\n\nEVEN: int\n\"\"\"Even parity\"\"\"\n\ndef init(\n baudrate: int = 9600,\n bits: int = 8,\n parity: Optional[int] = None,\n stop: int = 1,\n tx: Optional[MicroBitDigitalPin] = None,\n rx: Optional[MicroBitDigitalPin] = None,\n) -> None:\n \"\"\"Initialize serial communication.\n\n Example: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n :param baudrate: The speed of communication.\n :param bits: The size of bytes being transmitted. micro:bit only supports 8.\n :param parity: How parity is checked, ``None``, ``uart.ODD`` or ``uart.EVEN``.\n :param stop: The number of stop bits, has to be 1 for micro:bit.\n :param tx: Transmitting pin.\n :param rx: Receiving pin.\n\n Initializing the UART on external pins will cause the Python console on\n USB to become unaccessible, as it uses the same hardware. To bring the\n console back you must reinitialize the UART without passing anything for\n ``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\n that calling ``uart.init(115200)`` is enough to restore the Python console.\n\n For more details see `the online documentation `_.\n \"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"Check if any data is waiting.\n\n Example: ``uart.any()``\n\n :return: ``True`` if any data is waiting, else ``False``.\n \"\"\"\n ...\n\ndef read(nbytes: Optional[int] = None) -> Optional[bytes]:\n \"\"\"Read bytes.\n\n Example: ``uart.read()``\n\n :param nbytes: If ``nbytes`` is specified then read at most that many bytes, otherwise read as many bytes as possible\n :return: A bytes object or ``None`` on timeout\n \"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int] = None) -> Optional[int]:\n \"\"\"Read bytes into the ``buf``.\n\n Example: ``uart.readinto(input_buffer)``\n\n :param buf: The buffer to write to.\n :param nbytes: If ``nbytes`` is specified then read at most that many bytes, otherwise read ``len(buf)`` bytes.\n :return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\n \"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Read a line, ending in a newline character.\n\n Example: ``uart.readline()``\n\n :return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\n \"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"Write a buffer to the bus.\n\n Example: ``uart.write('hello world')``\n\n :param buf: A bytes object or a string.\n :return: The number of bytes written, or ``None`` on timeout.\n\n Examples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\n \"\"\"\n ...\n", + "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", + "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" + } +} \ No newline at end of file diff --git a/src/micropython/beta/typeshed.es-es.json b/src/micropython/beta/typeshed.es-es.json new file mode 100644 index 000000000..fa2e1cd07 --- /dev/null +++ b/src/micropython/beta/typeshed.es-es.json @@ -0,0 +1,51 @@ +{ + "files": { + "/typeshed/stdlib/VERSIONS": "# The structure of this file is as follows:\n# - Blank lines and comments starting with `#` are ignored.\n# - Lines contain the name of a module, followed by a colon,\n# a space, and a version range (for example: `symbol: 2.7-3.9`).\n#\n# Version ranges may be of the form \"X.Y-A.B\" or \"X.Y-\". The\n# first form means that a module was introduced in version X.Y and last\n# available in version A.B. The second form means that the module was\n# introduced in version X.Y and is still available in the latest\n# version of Python.\n#\n# If a submodule is not listed separately, it has the same lifetime as\n# its parent module.\n#\n# Python versions before 2.7 are ignored, so any module that was already\n# present in 2.7 will have \"2.7\" as its minimum version. Version ranges\n# for unsupported versions of Python 3 (currently 3.5 and lower) are\n# generally accurate but we do not guarantee their correctness.\n\nantigravity: 3.0-\narray: 3.0-\naudio: 3.0-\nbuiltins: 3.0-\nerrno: 3.0-\ngc: 3.0-\nlove: 3.0-\nmachine: 3.0-\nmath: 3.0-\nmicrobit: 3.0-\nmicropython: 3.0-\nmusic: 3.0-\nneopixel: 3.0-\nos: 3.0-\nradio: 3.0-\nrandom: 3.0-\nspeech: 3.0-\nstruct: 3.0-\nsys: 3.0-\nthis: 3.0-\ntime: 3.0-\ntyping_extensions: 3.0-\ntyping: 3.0-\nuarray: 3.0-\nucollections: 3.0-\nuerrno: 3.0-\nuos: 3.0-\nurandom: 3.0-\nustruct: 3.0-\nusys: 3.0-\nutime: 3.0-", + "/typeshed/stdlib/abc.pyi": "from _typeshed import SupportsWrite\nfrom typing import Any, Callable, Tuple, Type, TypeVar\n\n_T = TypeVar(\"_T\")\n_FuncT = TypeVar(\"_FuncT\", bound=Callable[..., Any])\n\n# These definitions have special processing in mypy\nclass ABCMeta(type):\n __abstractmethods__: frozenset[str]\n def __init__(\n self, name: str, bases: Tuple[type, ...], namespace: dict[str, Any]\n ) -> None: ...\n def __instancecheck__(cls: ABCMeta, instance: Any) -> Any: ...\n def __subclasscheck__(cls: ABCMeta, subclass: Any) -> Any: ...\n def _dump_registry(cls: ABCMeta, file: SupportsWrite[str] | None = ...) -> None: ...\n def register(cls: ABCMeta, subclass: Type[_T]) -> Type[_T]: ...\n\ndef abstractmethod(funcobj: _FuncT) -> _FuncT: ...\n\nclass abstractproperty(property): ...\n\n# These two are deprecated and not supported by mypy\ndef abstractstaticmethod(callable: _FuncT) -> _FuncT: ...\ndef abstractclassmethod(callable: _FuncT) -> _FuncT: ...\n\nclass ABC(metaclass=ABCMeta): ...\n\ndef get_cache_token() -> object: ...\n", + "/typeshed/stdlib/antigravity.pyi": "", + "/typeshed/stdlib/array.pyi": "from typing import Generic, Iterable, MutableSequence, TypeVar, Union, overload\nfrom typing_extensions import Literal\n\n_IntTypeCode = Literal[\"b\", \"B\", \"h\", \"H\", \"i\", \"I\", \"l\", \"L\", \"q\", \"Q\"]\n_FloatTypeCode = Literal[\"f\", \"d\"]\n_TypeCode = Union[_IntTypeCode, _FloatTypeCode]\n\n_T = TypeVar(\"_T\", int, float)\n\nclass array(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(\n self: array[int],\n typecode: _IntTypeCode,\n __initializer: Union[bytes, Iterable[_T]] = ...,\n ) -> None: ...\n @overload\n def __init__(\n self: array[float],\n typecode: _FloatTypeCode,\n __initializer: Union[bytes, Iterable[_T]] = ...,\n ) -> None: ...\n @overload\n def __init__(\n self, typecode: str, __initializer: Union[bytes, Iterable[_T]] = ...\n ) -> None: ...\n def append(self, __v: _T) -> None: ...\n def decode(self) -> str: ...\n def extend(self, __bb: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n @overload\n def __getitem__(self, i: int) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> array[_T]: ...\n @overload # type: ignore # Overrides MutableSequence\n def __setitem__(self, i: int, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: array[_T]) -> None: ...\n def __add__(self, x: array[_T]) -> array[_T]: ...\n def __iadd__(self, x: array[_T]) -> array[_T]: ... # type: ignore # Overrides MutableSequence\n\nArrayType = array\n", + "/typeshed/stdlib/audio.pyi": "\"\"\"Play sounds using the micro:bit (import ``audio`` for V1 compatibility).\n\"\"\"\n\n# Re-export for V1 compatibility.\nfrom .microbit.audio import (\n is_playing as is_playing,\n play as play,\n stop as stop,\n AudioFrame as AudioFrame,\n SoundEffect as SoundEffect,\n)\n", + "/typeshed/stdlib/builtins.pyi": "import sys\nimport types\nfrom _typeshed import (\n OpenBinaryMode,\n OpenTextMode,\n ReadableBuffer,\n Self,\n StrOrBytesPath,\n SupportsDivMod,\n SupportsKeysAndGetItem,\n SupportsLenAndGetItem,\n SupportsLessThan,\n SupportsLessThanT,\n SupportsRDivMod,\n SupportsWrite,\n)\nfrom types import CodeType, TracebackType\nfrom typing import (\n IO,\n AbstractSet,\n Any,\n AsyncIterable,\n AsyncIterator,\n BinaryIO,\n ByteString,\n Callable,\n FrozenSet,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n MutableMapping,\n MutableSequence,\n MutableSet,\n NoReturn,\n Protocol,\n Reversible,\n Sequence,\n Set,\n Sized,\n SupportsAbs,\n SupportsBytes,\n SupportsComplex,\n SupportsFloat,\n SupportsInt,\n SupportsRound,\n TextIO,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, SupportsIndex, final\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\nclass _SupportsTrunc(Protocol):\n def __trunc__(self) -> int: ...\n\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n_S = TypeVar(\"_S\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T3 = TypeVar(\"_T3\")\n_T4 = TypeVar(\"_T4\")\n_T5 = TypeVar(\"_T5\")\n_TT = TypeVar(\"_TT\", bound=\"type\")\n_TBE = TypeVar(\"_TBE\", bound=\"BaseException\")\n\nclass object:\n __doc__: str | None\n __dict__: dict[str, Any]\n __slots__: str | Iterable[str]\n __module__: str\n __annotations__: dict[str, Any]\n @property\n def __class__(self: _T) -> Type[_T]: ...\n # Ignore errors about type mismatch between property getter and setter\n @__class__.setter\n def __class__(self, __type: Type[object]) -> None: ... # type: ignore # noqa: F811\n def __init__(self) -> None: ...\n def __new__(cls: Type[_T]) -> _T: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __eq__(self, o: object) -> bool: ...\n def __ne__(self, o: object) -> bool: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n def __format__(self, format_spec: str) -> str: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __delattr__(self, name: str) -> None: ...\n def __sizeof__(self) -> int: ...\n def __reduce__(self) -> str | Tuple[Any, ...]: ...\n if sys.version_info >= (3, 8):\n def __reduce_ex__(self, protocol: SupportsIndex) -> str | Tuple[Any, ...]: ...\n else:\n def __reduce_ex__(self, protocol: int) -> str | Tuple[Any, ...]: ...\n def __dir__(self) -> Iterable[str]: ...\n def __init_subclass__(cls) -> None: ...\n\nclass staticmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass classmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass type(object):\n __base__: type\n __bases__: Tuple[type, ...]\n __basicsize__: int\n __dict__: dict[str, Any]\n __dictoffset__: int\n __flags__: int\n __itemsize__: int\n __module__: str\n __name__: str\n __qualname__: str\n __text_signature__: str | None\n __weakrefoffset__: int\n @overload\n def __init__(self, o: object) -> None: ...\n @overload\n def __init__(\n self, name: str, bases: Tuple[type, ...], dict: dict[str, Any], **kwds: Any\n ) -> None: ...\n @overload\n def __new__(cls, o: object) -> type: ...\n @overload\n def __new__(\n cls: Type[_TT],\n name: str,\n bases: Tuple[type, ...],\n namespace: dict[str, Any],\n **kwds: Any,\n ) -> _TT: ...\n def __call__(self, *args: Any, **kwds: Any) -> Any: ...\n def __subclasses__(self: _TT) -> list[_TT]: ...\n def __instancecheck__(self, instance: Any) -> bool: ...\n def __subclasscheck__(self, subclass: type) -> bool: ...\n @classmethod\n def __prepare__(\n metacls, __name: str, __bases: Tuple[type, ...], **kwds: Any\n ) -> Mapping[str, Any]: ...\n if sys.version_info >= (3, 10):\n def __or__(self, t: Any) -> types.UnionType: ...\n def __ror__(self, t: Any) -> types.UnionType: ...\n\nclass super(object):\n @overload\n def __init__(self, t: Any, obj: Any) -> None: ...\n @overload\n def __init__(self, t: Any) -> None: ...\n @overload\n def __init__(self) -> None: ...\n\nclass int:\n @overload\n def __new__(\n cls: Type[_T],\n x: str | bytes | SupportsInt | SupportsIndex | _SupportsTrunc = ...,\n ) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], x: str | bytes | bytearray, base: SupportsIndex\n ) -> _T: ...\n def to_bytes(\n self,\n length: SupportsIndex,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> bytes: ...\n @classmethod\n def from_bytes(\n cls,\n bytes: Iterable[SupportsIndex] | SupportsBytes,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> int: ... # TODO buffer object argument\n def __add__(self, x: int) -> int: ...\n def __sub__(self, x: int) -> int: ...\n def __mul__(self, x: int) -> int: ...\n def __floordiv__(self, x: int) -> int: ...\n def __truediv__(self, x: int) -> float: ...\n def __mod__(self, x: int) -> int: ...\n def __divmod__(self, x: int) -> Tuple[int, int]: ...\n def __radd__(self, x: int) -> int: ...\n def __rsub__(self, x: int) -> int: ...\n def __rmul__(self, x: int) -> int: ...\n def __rfloordiv__(self, x: int) -> int: ...\n def __rtruediv__(self, x: int) -> float: ...\n def __rmod__(self, x: int) -> int: ...\n def __rdivmod__(self, x: int) -> Tuple[int, int]: ...\n @overload\n def __pow__(self, __x: Literal[2], __modulo: int | None = ...) -> int: ...\n @overload\n def __pow__(\n self, __x: int, __modulo: int | None = ...\n ) -> Any: ... # Return type can be int or float, depending on x.\n def __rpow__(self, x: int, mod: int | None = ...) -> Any: ...\n def __and__(self, n: int) -> int: ...\n def __or__(self, n: int) -> int: ...\n def __xor__(self, n: int) -> int: ...\n def __lshift__(self, n: int) -> int: ...\n def __rshift__(self, n: int) -> int: ...\n def __rand__(self, n: int) -> int: ...\n def __ror__(self, n: int) -> int: ...\n def __rxor__(self, n: int) -> int: ...\n def __rlshift__(self, n: int) -> int: ...\n def __rrshift__(self, n: int) -> int: ...\n def __neg__(self) -> int: ...\n def __pos__(self) -> int: ...\n def __invert__(self) -> int: ...\n def __trunc__(self) -> int: ...\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n def __round__(self, ndigits: SupportsIndex = ...) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: int) -> bool: ...\n def __le__(self, x: int) -> bool: ...\n def __gt__(self, x: int) -> bool: ...\n def __ge__(self, x: int) -> bool: ...\n def __str__(self) -> str: ...\n def __float__(self) -> float: ...\n def __int__(self) -> int: ...\n def __abs__(self) -> int: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n def __index__(self) -> int: ...\n\nclass float:\n def __new__(\n cls: Type[_T], x: SupportsFloat | SupportsIndex | str | bytes | bytearray = ...\n ) -> _T: ...\n def __add__(self, x: float) -> float: ...\n def __sub__(self, x: float) -> float: ...\n def __mul__(self, x: float) -> float: ...\n def __floordiv__(self, x: float) -> float: ...\n def __truediv__(self, x: float) -> float: ...\n def __mod__(self, x: float) -> float: ...\n def __divmod__(self, x: float) -> Tuple[float, float]: ...\n def __pow__(\n self, x: float, mod: None = ...\n ) -> float: ... # In Python 3, returns complex if self is negative and x is not whole\n def __radd__(self, x: float) -> float: ...\n def __rsub__(self, x: float) -> float: ...\n def __rmul__(self, x: float) -> float: ...\n def __rfloordiv__(self, x: float) -> float: ...\n def __rtruediv__(self, x: float) -> float: ...\n def __rmod__(self, x: float) -> float: ...\n def __rdivmod__(self, x: float) -> Tuple[float, float]: ...\n def __rpow__(self, x: float, mod: None = ...) -> float: ...\n def __getnewargs__(self) -> Tuple[float]: ...\n def __trunc__(self) -> int: ...\n if sys.version_info >= (3, 9):\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n @overload\n def __round__(self, ndigits: None = ...) -> int: ...\n @overload\n def __round__(self, ndigits: SupportsIndex) -> float: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: float) -> bool: ...\n def __le__(self, x: float) -> bool: ...\n def __gt__(self, x: float) -> bool: ...\n def __ge__(self, x: float) -> bool: ...\n def __neg__(self) -> float: ...\n def __pos__(self) -> float: ...\n def __str__(self) -> str: ...\n def __int__(self) -> int: ...\n def __float__(self) -> float: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass complex:\n @overload\n def __new__(cls: Type[_T], real: float = ..., imag: float = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], real: str | SupportsComplex | SupportsIndex | complex\n ) -> _T: ...\n @property\n def real(self) -> float: ...\n @property\n def imag(self) -> float: ...\n def __add__(self, x: complex) -> complex: ...\n def __sub__(self, x: complex) -> complex: ...\n def __mul__(self, x: complex) -> complex: ...\n def __pow__(self, x: complex, mod: None = ...) -> complex: ...\n def __truediv__(self, x: complex) -> complex: ...\n def __radd__(self, x: complex) -> complex: ...\n def __rsub__(self, x: complex) -> complex: ...\n def __rmul__(self, x: complex) -> complex: ...\n def __rpow__(self, x: complex, mod: None = ...) -> complex: ...\n def __rtruediv__(self, x: complex) -> complex: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __neg__(self) -> complex: ...\n def __pos__(self) -> complex: ...\n def __str__(self) -> str: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass str(Sequence[str]):\n @overload\n def __new__(cls: Type[_T], o: object = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], o: bytes, encoding: str = ..., errors: str = ...\n ) -> _T: ...\n def count(\n self,\n x: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def encode(self, encoding: str = ..., errors: str = ...) -> bytes: ...\n def endswith(\n self,\n __suffix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def format(self, *args: object, **kwargs: object) -> str: ...\n def index(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable: Iterable[str]) -> str: ...\n def lower(self) -> str: ...\n def lstrip(self, __chars: str | None = ...) -> str: ...\n def replace(self, __old: str, __new: str, __count: SupportsIndex = ...) -> str: ...\n def rfind(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def rstrip(self, __chars: str | None = ...) -> str: ...\n def split(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def startswith(\n self,\n __prefix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __chars: str | None = ...) -> str: ...\n def upper(self) -> str: ...\n def __add__(self, s: str) -> str: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: str) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ge__(self, x: str) -> bool: ...\n def __getitem__(self, i: int | slice) -> str: ...\n def __gt__(self, x: str) -> bool: ...\n def __hash__(self) -> int: ...\n def __iter__(self) -> Iterator[str]: ...\n def __le__(self, x: str) -> bool: ...\n def __len__(self) -> int: ...\n def __lt__(self, x: str) -> bool: ...\n def __mod__(self, x: Any) -> str: ...\n def __mul__(self, n: SupportsIndex) -> str: ...\n def __ne__(self, x: object) -> bool: ...\n def __repr__(self) -> str: ...\n def __rmul__(self, n: SupportsIndex) -> str: ...\n def __str__(self) -> str: ...\n def __getnewargs__(self) -> Tuple[str]: ...\n\nclass bytes(ByteString):\n @overload\n def __new__(cls: Type[_T], ints: Iterable[SupportsIndex]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], string: str, encoding: str, errors: str = ...) -> _T: ...\n @overload\n def __new__(cls: Type[_T], length: SupportsIndex) -> _T: ...\n @overload\n def __new__(cls: Type[_T]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], o: SupportsBytes) -> _T: ...\n def count(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def endswith(\n self,\n __suffix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def index(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable_of_bytes: Iterable[ByteString | memoryview]) -> bytes: ...\n def lower(self) -> bytes: ...\n def lstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def replace(\n self, __old: bytes, __new: bytes, __count: SupportsIndex = ...\n ) -> bytes: ...\n def rfind(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def rstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def split(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def startswith(\n self,\n __prefix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __bytes: bytes | None = ...) -> bytes: ...\n def upper(self) -> bytes: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytes: ...\n def __add__(self, s: bytes) -> bytes: ...\n def __mul__(self, n: SupportsIndex) -> bytes: ...\n def __rmul__(self, n: SupportsIndex) -> bytes: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n def __getnewargs__(self) -> Tuple[bytes]: ...\n\nclass bytearray:\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, ints: Iterable[SupportsIndex]) -> None: ...\n @overload\n def __init__(self, string: str, encoding: str, errors: str = ...) -> None: ...\n @overload\n def __init__(self, length: SupportsIndex) -> None: ...\n def append(self, __item: SupportsIndex) -> None: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def extend(self, __iterable_of_ints: Iterable[SupportsIndex]) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytearray: ...\n @overload\n def __setitem__(self, i: SupportsIndex, x: SupportsIndex) -> None: ...\n @overload\n def __setitem__(self, s: slice, x: Iterable[SupportsIndex] | bytes) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, s: bytes) -> bytearray: ...\n def __iadd__(self, s: Iterable[int]) -> bytearray: ...\n def __mul__(self, n: SupportsIndex) -> bytearray: ...\n def __rmul__(self, n: SupportsIndex) -> bytearray: ...\n def __imul__(self, n: SupportsIndex) -> bytearray: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n\nclass memoryview(Sized, Sequence[int]):\n def __init__(self, obj: ReadableBuffer) -> None: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> memoryview: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n def __len__(self) -> int: ...\n @overload\n def __setitem__(self, s: slice, o: bytes) -> None: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: SupportsIndex) -> None: ...\n\n@final\nclass bool(int):\n def __new__(cls: Type[_T], __o: object = ...) -> _T: ...\n @overload\n def __and__(self, x: bool) -> bool: ...\n @overload\n def __and__(self, x: int) -> int: ...\n @overload\n def __or__(self, x: bool) -> bool: ...\n @overload\n def __or__(self, x: int) -> int: ...\n @overload\n def __xor__(self, x: bool) -> bool: ...\n @overload\n def __xor__(self, x: int) -> int: ...\n @overload\n def __rand__(self, x: bool) -> bool: ...\n @overload\n def __rand__(self, x: int) -> int: ...\n @overload\n def __ror__(self, x: bool) -> bool: ...\n @overload\n def __ror__(self, x: int) -> int: ...\n @overload\n def __rxor__(self, x: bool) -> bool: ...\n @overload\n def __rxor__(self, x: int) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n\nclass slice(object):\n start: Any\n step: Any\n stop: Any\n __hash__: None # type: ignore\n def indices(self, len: SupportsIndex) -> Tuple[int, int, int]: ...\n\nclass tuple(Sequence[_T_co], Generic[_T_co]):\n def __new__(cls: Type[_T], iterable: Iterable[_T_co] = ...) -> _T: ...\n def __len__(self) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n @overload\n def __getitem__(self, x: int) -> _T_co: ...\n @overload\n def __getitem__(self, x: slice) -> Tuple[_T_co, ...]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __lt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __le__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __gt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __ge__(self, x: Tuple[_T_co, ...]) -> bool: ...\n @overload\n def __add__(self, x: Tuple[_T_co, ...]) -> Tuple[_T_co, ...]: ...\n @overload\n def __add__(self, x: Tuple[_T, ...]) -> Tuple[_T_co | _T, ...]: ...\n def __mul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def __rmul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def count(self, __value: Any) -> int: ...\n def index(\n self, __value: Any, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n\n# Can we remove this?\nclass function:\n # TODO not defined in builtins!\n __name__: str\n __module__: str\n __code__: CodeType\n __qualname__: str\n __annotations__: dict[str, Any]\n\nclass frozenset(AbstractSet[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls: type[Self]) -> Self: ...\n @overload\n def __new__(cls: type[Self], __iterable: Iterable[_T_co]) -> Self: ...\n def copy(self) -> FrozenSet[_T_co]: ...\n def difference(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def intersection(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def isdisjoint(self, s: Iterable[_T_co]) -> bool: ...\n def issubset(self, s: Iterable[object]) -> bool: ...\n def issuperset(self, s: Iterable[object]) -> bool: ...\n def symmetric_difference(self, s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def union(self, *s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __sub__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass list(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[_T]) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> list[_T]: ...\n def append(self, __object: _T) -> None: ...\n def extend(self, __iterable: Iterable[_T]) -> None: ...\n def pop(self, __index: SupportsIndex = ...) -> _T: ...\n def index(\n self, __value: _T, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n def count(self, __value: _T) -> int: ...\n def insert(self, __index: SupportsIndex, __object: _T) -> None: ...\n def remove(self, __value: _T) -> None: ...\n def reverse(self) -> None: ...\n @overload\n def sort(\n self: list[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n ) -> None: ...\n @overload\n def sort(\n self, *, key: Callable[[_T], SupportsLessThan], reverse: bool = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> list[_T]: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, x: list[_T]) -> list[_T]: ...\n def __iadd__(self: _S, x: Iterable[_T]) -> _S: ...\n def __mul__(self, n: SupportsIndex) -> list[_T]: ...\n def __rmul__(self, n: SupportsIndex) -> list[_T]: ...\n def __imul__(self: _S, n: SupportsIndex) -> _S: ...\n def __contains__(self, o: object) -> bool: ...\n def __reversed__(self) -> Iterator[_T]: ...\n def __gt__(self, x: list[_T]) -> bool: ...\n def __ge__(self, x: list[_T]) -> bool: ...\n def __lt__(self, x: list[_T]) -> bool: ...\n def __le__(self, x: list[_T]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass dict(MutableMapping[_KT, _VT], Generic[_KT, _VT]):\n @overload\n def __init__(self: dict[_KT, _VT]) -> None: ...\n @overload\n def __init__(self: dict[str, _VT], **kwargs: _VT) -> None: ...\n @overload\n def __init__(\n self, map: SupportsKeysAndGetItem[_KT, _VT], **kwargs: _VT\n ) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n def __new__(cls: Type[_T1], *args: Any, **kwargs: Any) -> _T1: ...\n def clear(self) -> None: ...\n def copy(self) -> dict[_KT, _VT]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, __key: _KT, __default: _VT = ...) -> _VT: ...\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT]: ...\n def items(self) -> ItemsView[_KT, _VT]: ...\n @classmethod\n @overload\n def fromkeys(\n cls, __iterable: Iterable[_T], __value: None = ...\n ) -> dict[_T, Any | None]: ...\n @classmethod\n @overload\n def fromkeys(cls, __iterable: Iterable[_T], __value: _S) -> dict[_T, _S]: ...\n def __len__(self) -> int: ...\n def __getitem__(self, k: _KT) -> _VT: ...\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n def __delitem__(self, v: _KT) -> None: ...\n def __iter__(self) -> Iterator[_KT]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __or__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ror__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ior__(self, __value: Mapping[_KT, _VT]) -> dict[_KT, _VT]: ... # type: ignore\n\nclass set(MutableSet[_T], Generic[_T]):\n def __init__(self, iterable: Iterable[_T] = ...) -> None: ...\n def add(self, element: _T) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> Set[_T]: ...\n def difference(self, *s: Iterable[Any]) -> Set[_T]: ...\n def difference_update(self, *s: Iterable[Any]) -> None: ...\n def discard(self, element: _T) -> None: ...\n def intersection(self, *s: Iterable[Any]) -> Set[_T]: ...\n def intersection_update(self, *s: Iterable[Any]) -> None: ...\n def isdisjoint(self, s: Iterable[Any]) -> bool: ...\n def issubset(self, s: Iterable[Any]) -> bool: ...\n def issuperset(self, s: Iterable[Any]) -> bool: ...\n def pop(self) -> _T: ...\n def remove(self, element: _T) -> None: ...\n def symmetric_difference(self, s: Iterable[_T]) -> Set[_T]: ...\n def symmetric_difference_update(self, s: Iterable[_T]) -> None: ...\n def union(self, *s: Iterable[_T]) -> Set[_T]: ...\n def update(self, *s: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __iand__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __or__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ior__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __sub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __isub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __xor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass enumerate(Iterator[Tuple[int, _T]], Generic[_T]):\n def __init__(self, iterable: Iterable[_T], start: int = ...) -> None: ...\n def __iter__(self) -> Iterator[Tuple[int, _T]]: ...\n def __next__(self) -> Tuple[int, _T]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass range(Sequence[int]):\n start: int\n stop: int\n step: int\n @overload\n def __init__(self, stop: SupportsIndex) -> None: ...\n @overload\n def __init__(\n self, start: SupportsIndex, stop: SupportsIndex, step: SupportsIndex = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> range: ...\n def __repr__(self) -> str: ...\n def __reversed__(self) -> Iterator[int]: ...\n\nclass property(object):\n fget: Callable[[Any], Any] | None\n fset: Callable[[Any, Any], None] | None\n fdel: Callable[[Any], None] | None\n def __init__(\n self,\n fget: Callable[[Any], Any] | None = ...,\n fset: Callable[[Any, Any], None] | None = ...,\n fdel: Callable[[Any], None] | None = ...,\n doc: str | None = ...,\n ) -> None: ...\n def getter(self, fget: Callable[[Any], Any]) -> property: ...\n def setter(self, fset: Callable[[Any, Any], None]) -> property: ...\n def deleter(self, fdel: Callable[[Any], None]) -> property: ...\n def __get__(self, obj: Any, type: type | None = ...) -> Any: ...\n def __set__(self, obj: Any, value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nclass _NotImplementedType(Any): # type: ignore\n # A little weird, but typing the __call__ as NotImplemented makes the error message\n # for NotImplemented() much better\n __call__: NotImplemented # type: ignore\n\nNotImplemented: _NotImplementedType\n\ndef abs(__x: SupportsAbs[_T]) -> _T: ...\ndef all(__iterable: Iterable[object]) -> bool: ...\ndef any(__iterable: Iterable[object]) -> bool: ...\ndef bin(__number: int | SupportsIndex) -> str: ...\n\nif sys.version_info >= (3, 7):\n def breakpoint(*args: Any, **kws: Any) -> None: ...\n\ndef callable(__obj: object) -> bool: ...\ndef chr(__i: int) -> str: ...\n\n# We define this here instead of using os.PathLike to avoid import cycle issues.\n# See https://github.com/python/typeshed/pull/991#issuecomment-288160993\n_AnyStr_co = TypeVar(\"_AnyStr_co\", str, bytes, covariant=True)\n\nclass _PathLike(Protocol[_AnyStr_co]):\n def __fspath__(self) -> _AnyStr_co: ...\n\nif sys.version_info >= (3, 10):\n def aiter(__iterable: AsyncIterable[_T]) -> AsyncIterator[_T]: ...\n @overload\n async def anext(__i: AsyncIterator[_T]) -> _T: ...\n @overload\n async def anext(__i: AsyncIterator[_T], default: _VT) -> _T | _VT: ...\n\ndef delattr(__obj: Any, __name: str) -> None: ...\ndef dir(__o: object = ...) -> list[str]: ...\n@overload\ndef divmod(__x: SupportsDivMod[_T_contra, _T_co], __y: _T_contra) -> _T_co: ...\n@overload\ndef divmod(__x: _T_contra, __y: SupportsRDivMod[_T_contra, _T_co]) -> _T_co: ...\ndef eval(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\ndef exec(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\n\nclass filter(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __function: None, __iterable: Iterable[_T | None]) -> None: ...\n @overload\n def __init__(\n self, __function: Callable[[_T], Any], __iterable: Iterable[_T]\n ) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\n@overload\ndef getattr(__o: object, name: str) -> Any: ...\n\n# While technically covered by the last overload, spelling out the types for None and bool\n# help mypy out in some tricky situations involving type context (aka bidirectional inference)\n@overload\ndef getattr(__o: object, name: str, __default: None) -> Any | None: ...\n@overload\ndef getattr(__o: object, name: str, __default: bool) -> Any | bool: ...\n@overload\ndef getattr(__o: object, name: str, __default: _T) -> Any | _T: ...\ndef globals() -> dict[str, Any]: ...\ndef hasattr(__obj: object, __name: str) -> bool: ...\ndef hash(__obj: object) -> int: ...\ndef help(*args: Any, **kwds: Any) -> None: ...\ndef hex(__number: int | SupportsIndex) -> str: ...\ndef id(__obj: object) -> int: ...\ndef input(__prompt: Any = ...) -> str: ...\n@overload\ndef iter(__iterable: Iterable[_T]) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T | None], __sentinel: None) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T], __sentinel: Any) -> Iterator[_T]: ...\n\nif sys.version_info >= (3, 10):\n def isinstance(\n __obj: object,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n def issubclass(\n __cls: type,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n\nelse:\n def isinstance(\n __obj: object, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n def issubclass(\n __cls: type, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n\ndef len(__obj: Sized) -> int: ...\ndef locals() -> dict[str, Any]: ...\n\nclass map(Iterator[_S], Generic[_S]):\n @overload\n def __init__(self, __func: Callable[[_T1], _S], __iter1: Iterable[_T1]) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4, _T5], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[..., _S],\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> None: ...\n def __iter__(self) -> Iterator[_S]: ...\n def __next__(self) -> _S: ...\n\n@overload\ndef max(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef max(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef max(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef max(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef min(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef min(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef min(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef min(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef next(__i: Iterator[_T]) -> _T: ...\n@overload\ndef next(__i: Iterator[_T], default: _VT) -> _T | _VT: ...\ndef oct(__number: int | SupportsIndex) -> str: ...\n\n_OpenFile = Union[StrOrBytesPath, int]\n_Opener = Callable[[str, int], int]\n\n# Text mode: always returns a TextIOWrapper\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenTextMode = ...,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> TextIO: ...\n\n# Unbuffered binary mode: returns a FileIO\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenBinaryMode,\n buffering: int = ...,\n encoding: None = ...,\n errors: None = ...,\n newline: None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> BinaryIO: ...\n\n# Fallback if mode is not specified\n@overload\ndef open(\n file: _OpenFile,\n mode: str,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> IO[Any]: ...\ndef ord(__c: str | bytes) -> int: ...\ndef print(\n *values: object,\n sep: str | None = ...,\n end: str | None = ...,\n file: SupportsWrite[str] | None = ...,\n flush: bool = ...,\n) -> None: ...\n\n_E = TypeVar(\"_E\", contravariant=True)\n_M = TypeVar(\"_M\", contravariant=True)\n\nclass _SupportsPow2(Protocol[_E, _T_co]):\n def __pow__(self, __other: _E) -> _T_co: ...\n\nclass _SupportsPow3(Protocol[_E, _M, _T_co]):\n def __pow__(self, __other: _E, __modulo: _M) -> _T_co: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def pow(\n base: int, exp: int, mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(base: int, exp: int, mod: int) -> int: ...\n @overload\n def pow(base: float, exp: float, mod: None = ...) -> float: ...\n @overload\n def pow(base: _SupportsPow2[_E, _T_co], exp: _E) -> _T_co: ...\n @overload\n def pow(base: _SupportsPow3[_E, _M, _T_co], exp: _E, mod: _M) -> _T_co: ...\n\nelse:\n @overload\n def pow(\n __base: int, __exp: int, __mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(__base: int, __exp: int, __mod: int) -> int: ...\n @overload\n def pow(__base: float, __exp: float, __mod: None = ...) -> float: ...\n @overload\n def pow(__base: _SupportsPow2[_E, _T_co], __exp: _E) -> _T_co: ...\n @overload\n def pow(__base: _SupportsPow3[_E, _M, _T_co], __exp: _E, __mod: _M) -> _T_co: ...\n\nclass reversed(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __sequence: Reversible[_T]) -> None: ...\n @overload\n def __init__(self, __sequence: SupportsLenAndGetItem[_T]) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\ndef repr(__obj: object) -> str: ...\n@overload\ndef round(number: SupportsRound[Any]) -> int: ...\n@overload\ndef round(number: SupportsRound[Any], ndigits: None) -> int: ...\n@overload\ndef round(number: SupportsRound[_T], ndigits: SupportsIndex) -> _T: ...\ndef setattr(__obj: object, __name: str, __value: Any) -> None: ...\n@overload\ndef sorted(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n) -> list[SupportsLessThanT]: ...\n@overload\ndef sorted(\n __iterable: Iterable[_T],\n *,\n key: Callable[[_T], SupportsLessThan],\n reverse: bool = ...,\n) -> list[_T]: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], start: _S) -> _T | _S: ...\n\nelse:\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], __start: _S) -> _T | _S: ...\n\nclass zip(Iterator[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls, __iter1: Iterable[_T1]) -> zip[Tuple[_T1]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2]\n ) -> zip[Tuple[_T1, _T2]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]\n ) -> zip[Tuple[_T1, _T2, _T3]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4, _T5]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> zip[Tuple[Any, ...]]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __next__(self) -> _T_co: ...\n\ndef __import__(\n name: str,\n globals: Mapping[str, Any] | None = ...,\n locals: Mapping[str, Any] | None = ...,\n fromlist: Sequence[str] = ...,\n level: int = ...,\n) -> Any: ...\n\n# Actually the type of Ellipsis is , but since it's\n# not exposed anywhere under that name, we make it private here.\nclass ellipsis: ...\n\nEllipsis: ellipsis\n\nclass BaseException(object):\n args: Tuple[Any, ...]\n __cause__: BaseException | None\n __context__: BaseException | None\n __suppress_context__: bool\n __traceback__: TracebackType | None\n def __init__(self, *args: object) -> None: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def with_traceback(self: _TBE, tb: TracebackType | None) -> _TBE: ...\n\nclass GeneratorExit(BaseException): ...\nclass KeyboardInterrupt(BaseException): ...\n\nclass SystemExit(BaseException):\n code: int\n\nclass Exception(BaseException): ...\n\nclass StopIteration(Exception):\n value: Any\n\n_StandardError = Exception\n\nclass OSError(Exception):\n errno: int\n strerror: str\n # filename, filename2 are actually str | bytes | None\n filename: Any\n filename2: Any\n if sys.platform == \"win32\":\n winerror: int\n\nif sys.platform == \"win32\":\n WindowsError = OSError\n\nclass ArithmeticError(_StandardError): ...\nclass AssertionError(_StandardError): ...\n\nclass AttributeError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n obj: object\n\nclass EOFError(_StandardError): ...\n\nclass ImportError(_StandardError):\n def __init__(\n self, *args: object, name: str | None = ..., path: str | None = ...\n ) -> None: ...\n name: str | None\n path: str | None\n msg: str # undocumented\n\nclass LookupError(_StandardError): ...\nclass MemoryError(_StandardError): ...\n\nclass NameError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n\nclass RuntimeError(_StandardError): ...\n\nclass StopAsyncIteration(Exception):\n value: Any\n\nclass SyntaxError(_StandardError):\n msg: str\n lineno: int | None\n offset: int | None\n text: str | None\n filename: str | None\n if sys.version_info >= (3, 10):\n end_lineno: int | None\n end_offset: int | None\n\nclass TypeError(_StandardError): ...\nclass ValueError(_StandardError): ...\nclass FloatingPointError(ArithmeticError): ...\nclass OverflowError(ArithmeticError): ...\nclass ZeroDivisionError(ArithmeticError): ...\nclass IndexError(LookupError): ...\nclass KeyError(LookupError): ...\nclass NotImplementedError(RuntimeError): ...\nclass IndentationError(SyntaxError): ...\nclass TabError(IndentationError): ...\n", + "/typeshed/stdlib/errno.pyi": "from typing import Mapping\n\nerrorcode: Mapping[int, str]\n\nEACCES: int\nEADDRINUSE: int\nEAGAIN: int\nEALREADY: int\nEBADF: int\nECONNABORTED: int\nECONNREFUSED: int\nECONNRESET: int\nEEXIST: int\nEHOSTUNREACH: int\nEINPROGRESS: int\nEINVAL: int\nEIO: int\nEISDIR: int\nENOBUFS: int\nENODEV: int\nENOENT: int\nENOMEM: int\nENOTCONN: int\nEOPNOTSUPP: int\nEPERM: int\nETIMEDOUT: int\n", + "/typeshed/stdlib/gc.pyi": "\"\"\"Controlar el recolector de basura (rb)\"\"\"\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"Activar la recolecci\u00f3n autom\u00e1tica de basura. (habilitado)\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"Desactiva la recolecci\u00f3n autom\u00e1tica de basura. (deshabilitar)\n\nHeap memory can still be allocated,\nand garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"Ejecuta una recolecci\u00f3n de basura. (recoger)\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"Obtiene el n\u00famero de bytes asignados a la RAM din\u00e1mica. (memoria asignada)\n\n:return: The number of bytes allocated.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"Obtiene el n\u00famero de bytes de la RAM din\u00e1mica disponible o -1 si se desconoce esta cantidad. (memoria libre)\n\n:return: The number of bytes free.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"Consulta el umbral de asignaci\u00f3n de GC (recolector de basura) adicional. (l\u00edmite)\n\n:return: The GC allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"Establece el umbral de asignaci\u00f3n de GC (recolector de basura) adicional. (l\u00edmite)\n\nNormally, a collection is triggered only when a new allocation\ncannot be satisfied, i.e. on an out-of-memory (OOM) condition.\nIf this function is called, in addition to OOM, a collection\nwill be triggered each time after ``amount`` bytes have been\nallocated (in total, since the previous time such an amount of bytes\nhave been allocated). ``amount`` is usually specified as less than the\nfull heap size, with the intention to trigger a collection earlier than when the\nheap becomes exhausted, and in the hope that an early collection will prevent\nexcessive memory fragmentation. This is a heuristic measure, the effect\nof which will vary from application to application, as well as\nthe optimal value of the ``amount`` parameter.\n\nA value of -1 means a disabled allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\n\n:param amount: (cantidad) N\u00famero de bytes despu\u00e9s de los cuales se debe activar una recolecci\u00f3n de basura.\"\"\"\n ...", + "/typeshed/stdlib/log.pyi": "\"\"\"Registra datos en el micro:bit V2. (registrar)\"\"\"\nfrom typing import Literal, Mapping, Optional, Union, overload\nMILLISECONDS = 1\n\"\"\"Formato de marca temporal en milisegundos. (milisegundos)\"\"\"\nSECONDS = 10\n\"\"\"Formato de marca temporal en segundos. (segundos)\"\"\"\nMINUTES = 600\n\"\"\"Formato de marca temporal en minutos. (minutos)\"\"\"\nHOURS = 36000\n\"\"\"Formato de marca temporal en horas. (horas)\"\"\"\nDAYS = 864000\n\"\"\"Formato de marca temporal en d\u00edas. (d\u00edas)\"\"\"\n\ndef set_labels(*labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]]=SECONDS) -> None:\n \"\"\"Configura la cabecera del archivo de registro. (configurar etiquetas)\n\nExample: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\nIdeally this function should be called a single time, before any data is\nlogged, to configure the data table header once.\n\nIf a log file already exists when the program starts, or if this function\nis called multiple times, it will check the labels already defined in the\nlog file. If this function call contains any new labels not already\npresent, it will generate a new header row with the additional columns.\n\nBy default the first column contains a timestamp for each row. The time\nunit can be selected via the timestamp argument.\n\n:param *labels: (*Etiquetas) Cualquier n\u00famero de argumentos posicionales, cada uno correspondiente a una entrada en el encabezado del registro.\n:param timestamp: (marca de tiempo) Seleccione la unidad de marca de tiempo que se a\u00f1adir\u00e1 autom\u00e1ticamente como la primera columna de cada fila. Los valores de la marca de tiempo pueden ser ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, ``log.HOURS``, ``log.DAYS`` o ``None`` para desactivar la marca de tiempo. El valor por defecto es ``log.SECONDS``.\"\"\"\n ...\n\n@overload\ndef add(data_dictionary: Optional[Mapping[str, Union[str, int, float]]]) -> None:\n \"\"\"A\u00f1ade una fila de datos al registro pasando un diccionario de cabeceras y valores. (a\u00f1adir)\n\nExample: ``log.add({ 'temp': temperature() })``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\n\n:param data_dictionary: (diccionario de datos) Los datos a registrar como un diccionario con una clave para cada cabecera.\"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"A\u00f1ade una fila de datos al registro usando argumentos de palabra clave. (a\u00f1adir)\n\nExample: ``log.add(temp=temperature())``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"Elimina el contenido del registro, incluyendo las cabeceras. (eliminar)\n\nExample: ``log.delete()``\n\nTo add the log headers again the ``set_labels`` function should to be called after this function.\n\nThere are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\nand \u201cfast\u201d invalidates the data without removing it.\n\n:param full: (completo) ``True`` selecciona un borrador \u201ccompleto\u201d y ``False`` selecciona el m\u00e9todo de borrado \u201cr\u00e1pido\u201d.\"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"Configure la duplicaci\u00f3n de la actividad de registro de datos en la salida en serie. (configurar replicaci\u00f3n)\n\nExample: ``log.set_mirroring(True)``\n\nSerial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n:param serial: (serie) ``True`` habilita la reproducci\u00f3n de datos en la salida de serie.\"\"\"\n ...", + "/typeshed/stdlib/love.pyi": "def badaboom() -> None: ...\n", + "/typeshed/stdlib/machine.pyi": "\"\"\"Utilidades de bajo nivel. (m\u00e1quina)\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"Obtiene una cadena de bytes con un identificador \u00fanico de una placa. (id \u00fanico)\n\nExample: ``machine.unique_id()``\n\n:return: An identifier that varies from one board instance to another.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Restablece el dispositivo de una forma similar a pulsar el bot\u00f3n externo RESET. (restablecer)\n\nExample: ``machine.reset()``\"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"Obtiene la frecuencia de la CPU en hercios. (frec)\n\nExample: ``machine.freq()``\n\n:return: The CPU frequency.\"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"Desactiva las solicitudes de interrupci\u00f3n. (desactivar irq)\n\nExample: ``interrupt_state = machine.disable_irq()``\n\n:return: the previous IRQ state which should be considered an opaque value\n\nThe return value should be passed to the ``enable_irq`` function to restore\ninterrupts to their original state.\"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"Reactiva las solicitudes de interrupci\u00f3n. (activar irq)\n\nExample: ``machine.enable_irq(interrupt_state)``\n\n:param state: (estado) Valor devuelto por la llamada m\u00e1s reciente a la funci\u00f3n ``disable_irq``.\"\"\"\n ...\n\ndef time_pulse_us(pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int=1000000) -> int:\n \"\"\"Cronometra el estado de un pin. (cronometrar estado us)\n\nExample: ``time_pulse_us(pin0, 1)``\n\nIf the current input value of the pin is different to ``pulse_level``, the\nfunction first waits until the pin input becomes equal to\n``pulse_level``, then times the duration that the pin is equal to\n``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\nstarts straight away.\n\n:param pin: Pin a usar\n:param pulse_level: (nivel de estado) 0 para cronometrar un estado bajo o 1 para un estado alto\n:param timeout_us: (tiempo de espera us) Tiempo de espera en microsegundos\n:return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\"\"\"\n ...\n\nclass mem:\n \"\"\"Clase para las vistas de memoria ``mem8``, ``mem16`` y ``mem32``.\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"Accede a un valor de la memoria. (obtener elemento)\n\n:param address: (direcci\u00f3n) La direcci\u00f3n de memoria.\n:return: The value at that address as an integer.\"\"\"\n ...\n\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"Establece un valor en la direcci\u00f3n dada. (configurar elemento)\n\n:param address: (direcci\u00f3n) La direcci\u00f3n de memoria.\n:param value: (valor) El valor entero a establecer.\"\"\"\n ...\nmem8: mem\n\"\"\"Vista de memoria de 8 bits (byte).\"\"\"\nmem16: mem\n\"\"\"Vista de memoria de 16 bits.\"\"\"\nmem32: mem\n\"\"\"Vista de memoria de 32 bits.\"\"\"", + "/typeshed/stdlib/math.pyi": "\"\"\"Funciones matem\u00e1ticas. (matem\u00e1ticas)\"\"\"\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"Calcula el inverso del coseno.\n\nExample: ``math.acos(1)``\n\n:param x: Un n\u00famero\n:return: The inverse cosine of ``x``\"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"Calcula el inverso del seno. (asen)\n\nExample: ``math.asin(0)``\n\n:param x: Un n\u00famero\n:return: The inverse sine of ``x``\"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"Calcula el inverso de la tangente.\n\nExample: ``math.atan(0)``\n\n:param x: Un n\u00famero\n:return: The inverse tangent of ``x``\"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"Calcula el valor principal del inverso de la tangente de ``y/x``.\n\nExample: ``math.atan2(0, -1)``\n\n:param y: Un n\u00famero\n:param x: Un n\u00famero\n:return: The principal value of the inverse tangent of ``y/x``\"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"Redondea un n\u00famero hacia el infinito positivo. (hacia arriba)\n\nExample: ``math.ceil(0.1)``\n\n:param x: Un n\u00famero\n:return: ``x`` rounded towards positive infinity.\"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"Calcula ``x`` con el signo de ``y``.\n\nExample: ``math.copysign(1, -1)``\n\n:param x: Un n\u00famero\n:param y: Procedencia del signo para el valor que devuelve\n:return: ``x`` with the sign of ``y``\"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"Calcula el coseno de ``x``.\n\nExample: ``math.cos(0)``\n\n:param x: Un n\u00famero\n:return: The cosine of ``x``\"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"Convierte radianes a grados. (grados)\n\nExample: ``math.degrees(2 * math.pi)``\n\n:param x: Un valor en radianes\n:return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"Calcular el exponencial de ``x``.\n\nExample: ``math.exp(1)``\n\n:param x: Un n\u00famero\n:return: The exponential of ``x``.\"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"Devuelve el valor absoluto de ``x``.\n\nExample: ``math.fabs(-0.1)``\n\n:param x: Un n\u00famero\n:return: The absolute value of ``x``\"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"Redondea un n\u00famero hacia el infinito negativo. (hacia abajo)\n\nExample: ``math.floor(0.9)``\n\n:param x: Un n\u00famero\n:return: ``x`` rounded towards negative infinity.\"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"Calcula el resto de ``x/y``.\n\nExample: ``math.fmod(10, 3)``\n\n:param x: El numerador\n:param y: El denominador\"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"Descompone un n\u00famero de coma flotante en su mantisa y exponente.\n\nExample: ``mantissa, exponent = math.frexp(2)``\n\nThe returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\nexactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\nthe relation ``0.5 <= abs(m) < 1`` holds.\n\n:param x: Un n\u00famero de coma flotante\n:return: A tuple of length two containing its mantissa then exponent\"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"Comprueba si un valor es finito. (esfinito)\n\nExample: ``math.isfinite(float('inf'))``\n\n:param x: Un n\u00famero.\n:return: ``True`` if ``x`` is finite, ``False`` otherwise.\"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"Compruebe si un valor es infinito. (esinf)\n\nExample: ``math.isinf(float('-inf'))``\n\n:param x: Un n\u00famero.\n:return: ``True`` if ``x`` is infinite, ``False`` otherwise.\"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"Comprueba si un valor no es un n\u00famero (NaN, not-a-number en ingl\u00e9s). (esnan)\n\nExample: ``math.isnan(float('nan'))``\n\n:param x: Un n\u00famero\n:return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"Calcula ``x * (2**exp)``.\n\nExample: ``math.ldexp(0.5, 2)``\n\n:param x: Un n\u00famero\n:param exp: Exponente entero\n:return: ``x * (2**exp)``\"\"\"\n ...\n\ndef log(x: float, base: float=e) -> float:\n \"\"\"Calcula el logaritmo de ``x`` en la base dada (por defecto, el logaritmo natural). (registrar)\n\nExample: ``math.log(math.e)``\n\nWith one argument, return the natural logarithm of x (to base e).\n\nWith two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n:param x: Un n\u00famero\n:param base: La base a usar\n:return: The natural logarithm of ``x``\"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"Calcula la parte fraccionaria y entera de ``x``.\n\nExample: ``fractional, integral = math.modf(1.5)``\n\n:param x: Un n\u00famero\n:return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\nBoth the fractional and integral values have the same sign as ``x``.\"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"Devuelve ``x`` elevado a ``y``.\n\nExample: ``math.pow(4, 0.5)``\n\n:param x: Un n\u00famero\n:param y: El exponente\n:return: ``x`` to the power of ``y``\"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"Convierte grados a radianes. (radianes)\n\nExample: ``math.radians(360)``\n\n:param x: Un valor en grados\n:return: The value converted to radians\"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"Calcula el seno de ``x``. (sen)\n\nExample: ``math.sin(math.pi/2)``\n\n:param x: Un n\u00famero\n:return: The sine of ``x``\"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"Calcula la ra\u00edz cuadrada de ``x``.\n\nExample: ``math.sqrt(4)``\n\n:param x: Un n\u00famero\n:return: The square root of ``x``\"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"Calcula la tangente de ``x``.\n\nExample: ``math.tan(0)``\n\n:param x: Un n\u00famero\n:return: The tangent of ``x``.\"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"Redondea un n\u00famero hacia 0.\n\nExample: ``math.trunc(-0.9)``\n\n:param x: Un n\u00famero\n:return: ``x`` rounded towards zero.\"\"\"\n ...\ne: float\n\"\"\"Base del logaritmo natural\"\"\"\npi: float\n\"\"\"La relaci\u00f3n entre la longitud de una circunferencia y su di\u00e1metro\"\"\"", + "/typeshed/stdlib/micropython.pyi": "\"\"\"Componentes internos de MicroPython.\"\"\"\nfrom typing import Any, TypeVar, overload\n_T = TypeVar('_T')\n\ndef const(expr: _T) -> _T:\n \"\"\"Se usa para declarar que la expresi\u00f3n es una constante para que el compilador pueda\noptimizarla.\n\nThe use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\nConstants declared this way are still accessible as global variables from\noutside the module they are declared in. On the other hand, if a constant\nbegins with an underscore then it is hidden, it is not available as a\nglobal variable, and does not take up any memory during execution.\n\n:param expr: Una expresi\u00f3n constante.\"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"Obtiene el nivel actual de optimizaci\u00f3n para la compilaci\u00f3n de scripts. (nivel de opt)\n\nExample: ``micropython.opt_level()``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n:return: An integer representing the current level.\"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"Establece el nivel de optimizaci\u00f3n para la posterior compilaci\u00f3n de scripts. (nivel de opt)\n\nExample: ``micropython.opt_level(1)``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\nThe default optimisation level is usually level 0.\n\n:param level: (nivel) Un entero que representa el nivel de optimizaci\u00f3n.\"\"\"\n ...\n\ndef mem_info(verbose: Any=None) -> None:\n \"\"\"Imprime informaci\u00f3n sobre la memoria usada en este momento. (info de mem)\n\nExample: ``micropython.mem_info()``\n\n:param verbose: Si se pasa el argumento ``verbose``, se imprime informaci\u00f3n adicional.\"\"\"\n ...\n\ndef qstr_info(verbose: Any=None) -> None:\n \"\"\"Imprime informaci\u00f3n sobre las cadenas internadas en este momento. (info de cad actual)\n\nExample: ``micropython.qstr_info()``\n\n:param verbose: Si se pasa el argumento ``verbose``, se imprime informaci\u00f3n adicional.\n\nThe information that is printed is implementation dependent, but currently\nincludes the number of interned strings and the amount of RAM they use. In\nverbose mode it prints out the names of all RAM-interned strings.\"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"Devuelve un entero que representa la cantidad de pila que se est\u00e1 usando en este momento. (pila usada)\n\nExample: ``micropython.stack_use()``\n\nThe absolute value of this is not particularly useful, rather it\nshould be used to compute differences in stack usage at different points.\n\n:return: An integer representing current stack use.\"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"Bloquea el mont\u00f3n. (bloquear mont\u00f3n)\n\nExample: ``micropython.heap_lock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"Desbloquea el mont\u00f3n. (desbloquear el mont\u00f3n)\n\nExample: ``micropython.heap_unlock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"Establece qu\u00e9 car\u00e1cter lanzar\u00e1 una excepci\u00f3n ``KeyboardInterrupt``. (intr tecl)\n\nExample: ``micropython.kbd_intr(-1)``\n\n:param chr: (car) C\u00f3digo de car\u00e1cter que lanzar\u00e1 la interrupci\u00f3n o -1 para desactivar la captura de Ctrl + C.\n\nBy default this is set to 3 during script execution, corresponding to Ctrl-C.\nPassing -1 to this function will disable capture of Ctrl-C, and passing 3\nwill restore it.\n\nThis function can be used to prevent the capturing of Ctrl-C on the\nincoming stream of characters that is usually used for the REPL, in case\nthat stream is used for other purposes.\"\"\"\n ...", + "/typeshed/stdlib/music.pyi": "\"\"\"Crear y reproducir melod\u00edas. (m\u00fasica)\"\"\"\nfrom typing import Optional, Tuple, Union, List\nfrom .microbit import MicroBitDigitalPin, pin0\nDADADADUM: Tuple[str, ...]\n\"\"\"Melod\u00eda: apertura de la \"Sinfon\u00eda n.\u00ba 5 en do menor\" de Beethoven.\"\"\"\nENTERTAINER: Tuple[str, ...]\n\"\"\"Melod\u00eda: fragmento inicial del cl\u00e1sico Ragtime de Scott Joplin \u201cThe Entertainer\u201d.\"\"\"\nPRELUDE: Tuple[str, ...]\n\"\"\"Melod\u00eda: apertura del primer \"Preludio en do mayor\" de los 48 Preludios y Fugas de J. S. Bach. (preludio)\"\"\"\nODE: Tuple[str, ...]\n\"\"\"Melod\u00eda: tema \u201cOda a la alegr\u00eda\u201d de la \"Sinfon\u00eda n.\u00ba 9 en re menor\" de Beethoven. (oda)\"\"\"\nNYAN: Tuple[str, ...]\n\"\"\"Melod\u00eda: el tema de Nyan Cat (http://www.nyan.cat/).\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\nRINGTONE: Tuple[str, ...]\n\"\"\"Melod\u00eda: algo que suena como un tono de llamada de un tel\u00e9fono m\u00f3vil. (tono de llamada)\n\nTo be used to indicate an incoming message.\n\"\"\"\nFUNK: Tuple[str, ...]\n\"\"\"Melod\u00eda: una l\u00ednea de bajo funky para agentes secretos y maestros criminales.\"\"\"\nBLUES: Tuple[str, ...]\n\"\"\"Melod\u00eda: \"walking bass\" con un blues boogie-woogie de 12 compases.\"\"\"\nBIRTHDAY: Tuple[str, ...]\n\"\"\"Melod\u00eda: \u201cCumplea\u00f1os feliz\u201d (cumplea\u00f1os)\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\nWEDDING: Tuple[str, ...]\n\"\"\"Melod\u00eda: coro nupcial de la \u00f3pera de Wagner \"Lohengrin\". (boda)\"\"\"\nFUNERAL: Tuple[str, ...]\n\"\"\"Melod\u00eda: \u201cMarcha f\u00fanebre\u201d, conocida tambi\u00e9n como \"Sonata para piano n.\u00ba 2 en si bemol menor, Op. 35\" de Fr\u00e9d\u00e9ric Chopin.\"\"\"\nPUNCHLINE: Tuple[str, ...]\n\"\"\"Melod\u00eda: un fragmento divertido que representa que se ha hecho un chiste. (remate)\"\"\"\nPYTHON: Tuple[str, ...]\n\"\"\"Melod\u00eda: la marcha de John Philip Sousa \u201cLiberty Bell\u201d, tambi\u00e9n conocida por ser el tema del \u201cMonty Python Flying Circus\u201d (de donde obtiene su nombre el lenguaje de programaci\u00f3n Python).\"\"\"\nBADDY: Tuple[str, ...]\n\"\"\"Melod\u00eda: entrada de un malote en la \u00e9poca del cine mudo. (malote)\"\"\"\nCHASE: Tuple[str, ...]\n\"\"\"Melod\u00eda: escena de persecuci\u00f3n en la \u00e9poca del cine mudo. (persecuci\u00f3n)\"\"\"\nBA_DING: Tuple[str, ...]\n\"\"\"Melod\u00eda: una se\u00f1al corta para indicar que algo ha pasado.\"\"\"\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"Melod\u00eda: un tromb\u00f3n muy triste.\"\"\"\nJUMP_UP: Tuple[str, ...]\n\"\"\"Melod\u00eda: para usar en un juego, indicando un movimiento ascendente. (saltar arriba)\"\"\"\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"Melod\u00eda: para usar en un juego, indicando un movimiento descendente. (saltar abajo)\"\"\"\nPOWER_UP: Tuple[str, ...]\n\"\"\"Melod\u00eda: una fanfarria para indicar un logro desbloqueado. (subida de potencia)\"\"\"\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"Melod\u00eda: una fanfarria triste para indicar un logro perdido. (bajada de potencia)\"\"\"\n\ndef set_tempo(ticks: int=4, bpm: int=120) -> None:\n \"\"\"Establece el ritmo aproximado de la reproducci\u00f3n. (configurar tempo)\n\nExample: ``music.set_tempo(bpm=120)``\n\n:param ticks: (tics) El n\u00famero de tics que constituyen un ritmo.\n:param bpm: Un entero que determina el n\u00famero de compases por minuto.\n\nSuggested default values allow the following useful behaviour:\n\n- music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n- music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n- music.set_tempo(bpm=180) \u2013 just change the tempo\n\nTo work out the length of a tick in milliseconds is very simple arithmetic:\n60000/bpm/ticks_per_beat. For the default values that\u2019s\n60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"Obtiene el ritmo actual como una tupla de enteros: ``(ticks, bpm)``. (obtener tempo)\n\nExample: ``ticks, beats = music.get_tempo()``\n\n:return: The temp as a tuple with two integer values, the ticks then the beats per minute.\"\"\"\n ...\n\ndef play(music: Union[str, List[str], Tuple[str, ...]], pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True, loop: bool=False) -> None:\n \"\"\"Reproduce m\u00fasica. (reproducir)\n\nExample: ``music.play(music.NYAN)``\n\n:param music: (m\u00fasica) m\u00fasica especificada en `una notaci\u00f3n especial `_\n:param pin: pin de salida para usar con un altavoz externo (por defecto ``pin0``), ``None`` para que no haya sonido.\n:param wait: (esperar) Si ``wait`` se configura como ``True`` (verdadero), esta funci\u00f3n estar\u00e1 bloqueando.\n:param loop: (bucle) Si ``loop`` se configura como ``True`` (verdadero), la melod\u00eda se repite hasta que se llama a ``stop`` o se interrumpe la llamada de bloqueo.\n\nMany built-in melodies are defined in this module.\"\"\"\n ...\n\ndef pitch(frequency: int, duration: int=-1, pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True) -> None:\n \"\"\"Reproduce una nota. (tono)\n\nExample: ``music.pitch(185, 1000)``\n\n:param frequency: (frecuencia) Una frecuencia entera\n:param duration: (duraci\u00f3n) La duraci\u00f3n en milisegundos. Si es negativa, el sonido continuar\u00e1 hasta la siguiente llamada o una llamada a ``stop``.\n:param pin: Pin de salida opcional (por defecto, ``pin0``).\n:param wait: (esperar) Si ``wait`` se configura como ``True`` (verdadero), esta funci\u00f3n estar\u00e1 bloqueando.\n\nFor example, if the frequency is set to 440 and the length to\n1000 then we hear a standard concert A for one second.\n\nYou can only play one pitch on one pin at any one time.\"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"Detiene la reproducci\u00f3n de toda la m\u00fasica en el altavoz integrado y en cualquier pin que est\u00e9 emitiendo sonido. (detener)\n\nExample: ``music.stop()``\n\n:param pin: Se puede proporcionar un argumento opcional para especificar un pin; por ejemplo, ``music.stop(pin1)``.\"\"\"\n\ndef reset() -> None:\n \"\"\"Restablece los valores de \"ticks\", \"bpm\", \"duration\" y \"octave\" a sus valores por defecto. (restablecer)\n\nExample: ``music.reset()``\n\nValues:\n- ``ticks = 4``\n- ``bpm = 120``\n- ``duration = 4``\n- ``octave = 4``\"\"\"\n ...", + "/typeshed/stdlib/neopixel.pyi": "\"\"\"Tiras de LED RGB y RGBW accesibles individualmente.\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"Inicializa una nueva tira de LED NeoPixel controlada a trav\u00e9s de un pin.\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: El pin que controla la tira NeoPixel.\n:param n: El n\u00famero de LED NeoPixel de la tira.\n:param bpp: Bytes por p\u00edxel. Para compatibilidad con NeoPixel RGBW, pasa 4 en lugar del valor predeterminado 3 para RGB y GRB.\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"Borrar todos los p\u00edxeles. (borrar)\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"Muestra los p\u00edxeles. (mostrar)\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"Muestra los p\u00edxeles (solo micro:bit V2). (escribir)\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"Colorea todos los p\u00edxeles con un valor RGB/RGBW dado (solo micro:bit V2). (llenar)\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: (color) Una tupla de la misma longitud que el n\u00famero de bytes por p\u00edxel (bpp).\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"Establece el color de un p\u00edxel. (configurar elemento)\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: (clave) El n\u00famero de p\u00edxel.\n:param value: (valor) El color.\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"Obtiene el color de un p\u00edxel. (obtener elemento)\n\nExample: ``r, g, b = np[0]``\n\n:param key: (clave) El n\u00famero de p\u00edxel.\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"Obtiene la longitud de esta tira de p\u00edxeles. (lon)\n\nExample: ``len(np)``\"\"\"", + "/typeshed/stdlib/os.pyi": "\"\"\"Acceder al sistema de archivos. (so)\"\"\"\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"Lista los archivos.\n\nExample: ``os.listdir()``\n\n:return: A list of the names of all the files contained within the local\npersistent on-device file system.\"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"Elimina un archivo. (eliminar)\n\nExample: ``os.remove('data.txt')``\n\n:param filename: (nombre del archivo) El archivo a eliminar.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"Devuelve el tama\u00f1o de un archivo. (tama\u00f1o)\n\nExample: ``os.size('data.txt')``\n\n:param filename: (nombre del archivo) El archivo\n:return: The size in bytes.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"Resultado de ``os.uname()`` (resultado de nombreu)\"\"\"\n sysname: str\n \"\"\"Nombre del sistema operativo. (nombre del sistema)\"\"\"\n nodename: str\n \"\"\"Nombre de la m\u00e1quina en la red (definida por la implementaci\u00f3n). (nombre del nodo)\"\"\"\n release: str\n \"\"\"Versi\u00f3n de lanzamiento del sistema operativo. (lanzamiento)\"\"\"\n version: str\n \"\"\"Versi\u00f3n del sistema operativo. (versi\u00f3n)\"\"\"\n machine: str\n \"\"\"Identificador de hardware. (m\u00e1quina)\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"Devuelve informaci\u00f3n que identifica el sistema operativo actual. (nombreu)\n\nExample: ``os.uname()``\n\nThe return value is an object with five attributes:\n\n- ``sysname`` - operating system name\n- ``nodename`` - name of machine on network (implementation-defined)\n- ``release`` - operating system release\n- ``version`` - operating system version\n- ``machine`` - hardware identifier\n\nThere is no underlying operating system in MicroPython. As a result the\ninformation returned by the ``uname`` function is mostly useful for\nversioning details.\"\"\"\n ...", + "/typeshed/stdlib/power.pyi": "\"\"\"Manage the power modes of the micro:bit (V2 only).\n\"\"\"\n\nfrom microbit import MicroBitDigitalPin, Button\nfrom typing import Optional, Tuple, Union\n\ndef off() -> None:\n \"\"\"Power down the board to the lowest possible power mode.\n\n Example: ``power.off()``\n\n This is the equivalent to pressing the reset button for a few seconds,\n to set the board in \"Off mode\".\n\n The micro:bit will only wake up if the reset button is pressed or,\n if on battery power, when a USB cable is connected.\n\n When the board wakes up it will start for a reset state, so your program\n will start running from the beginning.\n \"\"\"\n ...\n\ndef deep_sleep(\n ms: Optional[int] = None,\n wake_on: Optional[\n Union[MicroBitDigitalPin, Button] | Tuple[MicroBitDigitalPin | Button, ...]\n ] = None,\n run_every: bool = True,\n) -> None:\n \"\"\"Set the micro:bit into a low power mode where it can wake up and continue operation.\n\n Example: ``power.deep_sleep(wake_on=(button_a, button_b))``\n\n The program state is preserved and when it wakes up it will resume\n operation where it left off.\n\n Deep Sleep mode will consume more battery power than Off mode.\n\n The wake up sources are configured via arguments.\n\n The board will always wake up when receiving UART data, when the reset\n button is pressed (which resets the board) or, in battery power,\n when the USB cable is inserted.\n\n When the ``run_every`` parameter is set to ``True`` (the default), any\n function scheduled with ``run_every`` will momentarily wake up the board\n to run and when it finishes it will go back to sleep.\n\n :param ms: A time in milliseconds to wait before it wakes up.\n :param wake_on: A single instance or a tuple of pins and/or buttons to wake up the board, e.g. ``deep_sleep(wake_on=button_a)`` or ``deep_sleep(wake_on=(pin0, pin2, button_b))``.\n :param run_every: A boolean to configure if the functions scheduled with ``microbit.run_every`` will continue to run while it sleeps.\n \"\"\"\n ...\n", + "/typeshed/stdlib/radio.pyi": "\"\"\"Comunicarse entre micro:bits con la radio incorporada.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\nRATE_1MBIT: int\n\"\"\"Constante utilizada para indicar un rendimiento de 1 Mb por segundo. (tasa de 1 mbit)\"\"\"\nRATE_2MBIT: int\n\"\"\"Constante utilizada para indicar un rendimiento de 2 Mb por segundo. (tasa de 2 mbit)\"\"\"\n\ndef on() -> None:\n \"\"\"Enciende la radio. (encender)\n\nExample: ``radio.on()``\n\nThis needs to be explicitly called since the radio draws power and takes\nup memory that you may otherwise need.\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Apaga la radio, ahorrando energ\u00eda y memoria. (apagado)\n\nExample: ``radio.off()``\"\"\"\n ...\n\ndef config(length: int=32, queue: int=3, channel: int=7, power: int=6, address: int=1969383796, group: int=0, data_rate: int=RATE_1MBIT) -> None:\n \"\"\"Configura la radio.\n\nExample: ``radio.config(group=42)``\n\nThe default configuration is suitable for most use.\n\n:param length: (longitud) (valor predeterminado = 32) define la longitud m\u00e1xima, en bytes, de un mensaje enviado a trav\u00e9s de la radio.\nPuede tener hasta 251 bytes de largo (254 - 3 bytes para pre\u00e1mbulos S0, LENGTH y S1).\n:param queue: (cola) (valor predeterminado = 3) especifica el n\u00famero de mensajes que pueden almacenarse en la cola de mensajes entrantes.\nSi no quedan espacios en la cola para los mensajes entrantes, el mensaje entrante ser\u00e1 eliminado.\n:param channel: (canal) (valor predeterminado = 7) un valor entero de 0 a 83 (inclusive) que define un \"canal\" arbitrario en el cual la radio est\u00e1 sintonizada.\nLos mensajes se enviar\u00e1n a trav\u00e9s de este canal y solo los mensajes recibidos a trav\u00e9s de este canal se pondr\u00e1n en la cola de mensajes entrantes. Cada paso es de 1 MHz de ancho, basado en 2400 MHz.\n:param power: (potencia) (valor predeterminado = 6) es un valor entero de 0 a 7 (inclusive) para indicar la fuerza de la se\u00f1al usada al transmitir un mensaje.\nCuanto m\u00e1s alto sea el valor, m\u00e1s fuerte es la se\u00f1al, pero m\u00e1s energ\u00eda consume el dispositivo. La numeraci\u00f3n se traduce a posiciones en la siguiente lista de valores de dBm (decibelio-milivatio): -30, -20, -16, -12, -8, -4, 0, 4.\n:param address: (direcci\u00f3n) (valor predeterminado = 0x75626974) un nombre arbitrario, expresado como una direcci\u00f3n de 32 bits, que se usa para filtrar los paquetes entrantes a nivel de hardware, manteniendo solo aquellos que coincidan con la direcci\u00f3n que has establecido.\nEl valor predeterminado utilizado por otras plataformas relacionadas con el micro:bit es la configuraci\u00f3n predeterminada utilizada aqu\u00ed.\n:param group: (grupo) (valor predeterminado = 0) un valor de 8 bits (0 - 255) usado con el valor de ``address`` al filtrar mensajes.\nConceptualmente, \"address\" (direcci\u00f3n) es como una direcci\u00f3n de casa u oficina y \"group\" (grupo) es la persona que est\u00e1 en esa direcci\u00f3n y a la que quieres enviar un mensaje.\n:param data_rate: (tasa de datos) (valor predeterminado = ``radio.RATE_1MBIT``) indica la velocidad a la que se lleva a cabo el procesamiento de datos.\nPuede ser una de las siguientes constantes definidas en el m\u00f3dulo ``radio``: ``RATE_250KBIT``, ``RATE_1MBIT`` o ``RATE_2MBIT``.\n\nIf ``config`` is not called then the defaults described above are assumed.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Restablece la configuraci\u00f3n a sus valores predeterminados. (restablecer)\n\nExample: ``radio.reset()``\n\nThe defaults as as per the ``config`` function above.\"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"Env\u00eda un mensaje que contiene bytes. (enviar bytes)\n\nExample: ``radio.send_bytes(b'hello')``\n\n:param message: (mensaje) Los bytes a enviar.\"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"Recibe el siguiente mensaje entrante en la cola de mensajes. (recibir bytes)\n\nExample: ``radio.receive_bytes()``\n\n:return: The message bytes if any, otherwise ``None``.\"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"Copia el siguiente mensaje entrante de la cola de mensajes en un b\u00fafer. (recibir bytes en)\n\nExample: ``radio.receive_bytes_info(buffer)``\n\n:param buffer: (b\u00fafer) El b\u00fafer de destino. El mensaje se trunca si es m\u00e1s grande que el b\u00fafer.\n:return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"Env\u00eda una cadena de mensaje. (enviar)\n\nExample: ``radio.send('hello')``\n\nThis is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\nprepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n:param message: (mensaje) La cadena a enviar.\"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"Funciona exactamente del mismo modo que ``receive_bytes``, pero devuelve lo que se envi\u00f3. (recibir)\n\nExample: ``radio.receive()``\n\nEquivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\nthree bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\nmay target the micro:bit).\n\n:return: The message with the prepended bytes stripped and converted to a string.\n\nA ``ValueError`` exception is raised if conversion to string fails.\"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"Devuelve una tupla de tres valores que representan el siguiente mensaje entrante de la cola de mensajes. (recibir completo)\n\nExample: ``radio.receive_full()``\n\nIf there are no pending messages then ``None`` is returned.\n\nThe three values in the tuple represent:\n\n- the next incoming message on the message queue as bytes.\n- the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n- a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\nFor example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\nThis function is useful for providing information needed for triangulation\nand/or trilateration with other micro:bit devices.\n\n:return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\"\"\"\n ...", + "/typeshed/stdlib/random.pyi": "\"\"\"Generar n\u00fameros aleatorios. (aleatorio)\"\"\"\nfrom typing import TypeVar, Sequence, Union, overload\n\ndef getrandbits(n: int) -> int:\n \"\"\"Genera un entero con ``n`` bits aleatorios.\n\nExample: ``random.getrandbits(1)``\n\n:param n: Un valor entre 1 - 30 (inclusive).\"\"\"\n ...\n\ndef seed(n: int) -> None:\n \"\"\"Inicializa el generador de n\u00fameros aleatorios. (semilla)\n\nExample: ``random.seed(0)``\n\n:param n: La semilla como un n\u00famero entero\n\nThis will give you reproducibly deterministic randomness from a given starting\nstate (``n``).\"\"\"\n ...\n\ndef randint(a: int, b: int) -> int:\n \"\"\"Elige un entero aleatorio entre ``a`` y ``b`` inclusive. (entero aleatorio)\n\nExample: ``random.randint(0, 9)``\n\n:param a: Valor inicial para el rango (inclusive)\n:param b: Valor final para el rango (inclusive)\n\nAlias for ``randrange(a, b + 1)``.\"\"\"\n ...\n\n@overload\ndef randrange(stop: int) -> int:\n \"\"\"Elige un entero seleccionado aleatoriamente desde cero hasta (pero sin incluir) ``stop``. (rango aleatorio)\n\nExample: ``random.randrange(10)``\n\n:param stop: (detener) Valor final para el rango (exclusivo)\"\"\"\n ...\n\n@overload\ndef randrange(start: int, stop: int, step: int=1) -> int:\n \"\"\"Elige un elemento seleccionado aleatoriamente de ``range(start, stop, step)``. (rango aleatorio)\n\nExample: ``random.randrange(0, 10)``\n\n:param start: (comenzar) El inicio del rango (inclusive)\n:param stop: (detener) El final del rango (exclusivo)\n:param step: (paso) El paso.\"\"\"\n ...\n_T = TypeVar('_T')\n\ndef choice(seq: Sequence[_T]) -> _T:\n \"\"\"Elige un elemento aleatorio de la secuencia no vac\u00eda ``seq``. (elecci\u00f3n)\n\nExample: ``random.choice([Image.HAPPY, Image.SAD])``\n\n:param seq: (sec) Una secuencia.\n\nIf ``seq`` is empty, raises ``IndexError``.\"\"\"\n ...\n\ndef random() -> float:\n \"\"\"Genera un n\u00famero de coma flotante aleatorio en el rango [0.0, 1.0). (aleatorio)\n\nExample: ``random.random()``\n\n:return: The random floating point number\"\"\"\n ...\n\ndef uniform(a: float, b: float) -> float:\n \"\"\"Devuelve un n\u00famero de coma flotante aleatorio entre ``a`` y ``b`` inclusive. (uniforme)\n\nExample: ``random.uniform(0, 9)``\n\n:param a: Valor inicial para el rango (inclusive)\n:param b: Valor final para el rango (inclusive)\"\"\"\n ...", + "/typeshed/stdlib/speech.pyi": "\"\"\"Hacer que el micro:bit hable, cante y haga otros sonidos parecidos a la voz. (habla)\"\"\"\nfrom typing import Optional\nfrom .microbit import MicroBitDigitalPin, pin0\n\ndef translate(words: str) -> str:\n \"\"\"Traducir palabras en ingl\u00e9s a fonemas. (traducir)\n\nExample: ``speech.translate('hello world')``\n\n:param words: (palabras) Una cadena de palabras en ingl\u00e9s.\n:return: A string containing a best guess at the appropriate phonemes to pronounce.\nThe output is generated from this `text to phoneme translation table `_.\n\nThis function should be used to generate a first approximation of phonemes\nthat can be further hand-edited to improve accuracy, inflection and\nemphasis.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef pronounce(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"Pronunciar fonemas. (pronunciar)\n\nExample: ``speech.pronounce(' /HEHLOW WERLD')``\n\n:param phonemes: (fonemas) La cadena de fonemas a pronunciar\n:param pitch: (tono) Un n\u00famero que representa el tono de la voz\n:param speed: (velocidad) Un n\u00famero que representa la velocidad de la voz\n:param mouth: (boca) Un n\u00famero que representa la boca de la voz\n:param throat: (garganta) Un n\u00famero que representa la garganta de la voz\n:param pin: Se puede usar un argumento opcional para especificar el pin de salida, reemplazando el valor predeterminado de ``pin0``.\nSi no queremos que se reproduzca ning\u00fan sonido, podemos usar ``pin=None``. Solo para el micro:bit V2.\n\nOverride the optional pitch, speed, mouth and throat settings to change the\ntimbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef say(words: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"Dice palabras en ingl\u00e9s. (decir)\n\nExample: ``speech.say('hello world')``\n\n:param words: (palabras) La cadena de palabras a decir.\n:param pitch: (tono) Un n\u00famero que representa el tono de la voz\n:param speed: (velocidad) Un n\u00famero que representa la velocidad de la voz\n:param mouth: (boca) Un n\u00famero que representa la boca de la voz\n:param throat: (garganta) Un n\u00famero que representa la garganta de la voz\n:param pin: Se puede usar un argumento opcional para especificar el pin de salida, reemplazando el valor predeterminado de ``pin0``.\nSi no queremos que se reproduzca ning\u00fan sonido, podemos usar ``pin=None``. Solo para el micro:bit V2.\n\nThe result is semi-accurate for English. Override the optional pitch, speed,\nmouth and throat settings to change the timbre (quality) of the voice.\n\nThis is a short-hand equivalent of:\n``speech.pronounce(speech.translate(words))``\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef sing(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"Canta fonemas. (cantar)\n\nExample: ``speech.sing(' /HEHLOW WERLD')``\n\n:param phonemes: (fonemas) La cadena de palabras a cantar.\n:param pitch: (tono) Un n\u00famero que representa el tono de la voz\n:param speed: (velocidad) Un n\u00famero que representa la velocidad de la voz\n:param mouth: (boca) Un n\u00famero que representa la boca de la voz\n:param throat: (garganta) Un n\u00famero que representa la garganta de la voz\n:param pin: Se puede usar un argumento opcional para especificar el pin de salida, reemplazando el valor predeterminado de ``pin0``.\nSi no queremos que se reproduzca ning\u00fan sonido, podemos usar ``pin=None``. Solo para el micro:bit V2.\n\nOverride the optional pitch, speed, mouth and throat settings to change\nthe timbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...", + "/typeshed/stdlib/struct.pyi": "\"\"\"Empaquetar y desempaquetar tipos de dato primitivos. (estruc)\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom typing import Any, Tuple, Union\n\ndef calcsize(fmt: str) -> int:\n \"\"\"Obtiene el n\u00famero de bytes necesarios para almacenar el ``fmt`` dado. (calctama\u00f1o)\n\nExample: ``struct.calcsize('hf')``\n\n:param fmt: Una cadena de formato.\n:return The number of bytes needed to store such a value.\"\"\"\n ...\n\ndef pack(fmt: str, v1: Any, *vn: Any) -> bytes:\n \"\"\"Empaqueta valores seg\u00fan una cadena de formato. (empaquetar)\n\nExample: ``struct.pack('hf', 1, 3.1415)``\n\n:param fmt: La cadena de formato.\n:param v1: El primer valor.\n:param *vn: Los valores restantes.\n:return A bytes object encoding the values.\"\"\"\n ...\n\ndef pack_into(fmt: str, buffer: WriteableBuffer, offset: int, v1: Any, *vn: Any) -> None:\n \"\"\"Empaqueta valores seg\u00fan una cadena de formato. (empaquetar en)\n\nExample: ``struct.pack_info('hf', buffer, 1, 3.1415)``\n\n:param fmt: La cadena de formato.\n:param buffer: (b\u00fafer) El b\u00fafer de destino en el que se va a escribir.\n:param offset: (desplazamiento) El desplazamiento en el b\u00fafer. Puede ser negativo para contar desde el final del b\u00fafer.\n:param v1: El primer valor.\n:param *vn: Los valores restantes.\"\"\"\n ...\n\ndef unpack(fmt: str, data: ReadableBuffer) -> Tuple[Any, ...]:\n \"\"\"Desempaqueta datos seg\u00fan una cadena de formato. (desempaquetar)\n\nExample: ``v1, v2 = struct.unpack('hf', buffer)``\n\n:param fmt: La cadena de formato.\n:param data: (datos) Los datos.\n:return: A tuple of the unpacked values.\"\"\"\n ...\n\ndef unpack_from(fmt: str, buffer: ReadableBuffer, offset: int=0) -> Tuple:\n \"\"\"Desempaqueta datos de un b\u00fafer seg\u00fan una cadena de formato. (desempaquetar de)\n\nExample: ``v1, v2 = struct.unpack_from('hf', buffer)``\n\n:param fmt: La cadena de formato.\n:param buffer: (b\u00fafer) El b\u00fafer de origen del que leer.\n:param offset: (desplazamiento) El desplazamiento en el b\u00fafer. Puede ser negativo para contar desde el final del b\u00fafer.\n:return: A tuple of the unpacked values.\"\"\"\n ...", + "/typeshed/stdlib/sys.pyi": "\"\"\"Funciones espec\u00edficas del sistema\"\"\"\nfrom typing import Any, Dict, List, NoReturn, TextIO, Tuple\n\ndef exit(retval: object=...) -> NoReturn:\n \"\"\"Termina el programa actual con un c\u00f3digo de salida determinado. (salir)\n\nExample: ``sys.exit(1)``\n\nThis function raises a ``SystemExit`` exception. If an argument is given, its\nvalue given as an argument to ``SystemExit``.\n\n:param retval: El mensaje o c\u00f3digo de salida.\"\"\"\n ...\n\ndef print_exception(exc: Exception) -> None:\n \"\"\"Imprime una excepci\u00f3n con un seguimiento. (imprimir excepci\u00f3n)\n\nExample: ``sys.print_exception(e)``\n\n:param exc: La excepci\u00f3n a imprimir\n\nThis is simplified version of a function which appears in the\n``traceback`` module in CPython.\"\"\"\nargv: List[str]\n\"\"\"Una lista mutable de argumentos con los que se inici\u00f3 el programa actual.\"\"\"\nbyteorder: str\n\"\"\"El orden de bytes del sistema (``\"little\"`` o ``\"big\"``). (ordenbytes)\"\"\"\n\nclass _implementation:\n name: str\n version: Tuple[int, int, int]\nimplementation: _implementation\n\"\"\"Objeto con informaci\u00f3n sobre la implementaci\u00f3n actual de Python. (implementaci\u00f3n)\n\nFor MicroPython, it has following attributes:\n\n- ``name`` - string \"micropython\"\n- ``version`` - tuple (major, minor, micro), e.g. (1, 7, 0)\n\nThis object is the recommended way to distinguish MicroPython from other\nPython implementations (note that it still may not exist in the very\nminimal ports).\n\nCPython mandates more attributes for this object, but the actual useful\nbare minimum is implemented in MicroPython.\n\"\"\"\nmaxsize: int\n\"\"\"\nValor m\u00e1ximo que un tipo entero nativo puede contener en la plataforma actual\no valor m\u00e1ximo representable por el tipo entero de MicroPython, en el caso de que sea m\u00e1s peque\u00f1o\nque el valor m\u00e1ximo de la plataforma (que es el caso de los puertos de MicroPython incompatibles con el\ntipo entero largo). (tama\u00f1om\u00e1x)\n\nThis attribute is useful for detecting \"bitness\" of a platform (32-bit vs\n64-bit, etc.). It's recommended to not compare this attribute to some\nvalue directly, but instead count number of bits in it::\n\n bits = 0\n v = sys.maxsize\n while v:\n bits += 1\n v >>= 1\n if bits > 32:\n # 64-bit (or more) platform\n ...\n else:\n # 32-bit (or less) platform\n # Note that on 32-bit platform, value of bits may be less than 32\n # (e.g. 31) due to peculiarities described above, so use \"> 16\",\n # \"> 32\", \"> 64\" style of comparisons.\n\"\"\"\nmodules: Dict[str, Any]\n\"\"\"Diccionario de m\u00f3dulos cargados. (m\u00f3dulos) \n\nOn some ports, it may not include builtin modules.\"\"\"\npath: List[str]\n\"\"\"Una lista mutable de directorios para buscar m\u00f3dulos importados. (ruta)\"\"\"\nplatform: str\n\"\"\"La plataforma en la que se est\u00e1 ejecutando MicroPython. (plataforma) \n\nFor OS/RTOS ports, this is usually an identifier of the OS, e.g. ``\"linux\"``.\nFor baremetal ports it is an identifier of a board, e.g. ``\"pyboard\"`` for \nthe original MicroPython reference board. It thus can be used to\ndistinguish one board from another.\n\nIf you need to check whether your program runs on MicroPython (vs other\nPython implementation), use ``sys.implementation`` instead.\n\"\"\"\nversion: str\n\"\"\"Versi\u00f3n del lenguaje Python a la que se ajusta esta implementaci\u00f3n, en forma de cadena. (versi\u00f3n)\"\"\"\nversion_info: Tuple[int, int, int]\n\"\"\"Versi\u00f3n del lenguaje Python a la que se ajusta esta implementaci\u00f3n, en forma de tupla de enteros. (info de versi\u00f3n)\n\nOnly the first three version numbers (major, minor, micro) are supported and\nthey can be referenced only by index, not by name.\n\"\"\"", + "/typeshed/stdlib/this.pyi": "def authors() -> str: ...\n", + "/typeshed/stdlib/time.pyi": "\"\"\"Mide el tiempo y a\u00f1ade retardos a los programas. (tiempo)\"\"\"\nfrom typing import Union\n\ndef sleep(seconds: Union[int, float]) -> None:\n \"\"\"Retarda varios segundos. (dormir)\n\nExample: ``time.sleep(1)``\n\n:param seconds: (segundos) El n\u00famero de segundos de retardo.\nUsa un n\u00famero de coma flotante para generar un retardo durante un n\u00famero fraccional de segundos.\"\"\"\n ...\n\ndef sleep_ms(ms: int) -> None:\n \"\"\"Genera un retardo para el n\u00famero dado de milisegundos. (dormir ms)\n\nExample: ``time.sleep_ms(1_000_000)``\n\n:param ms: El n\u00famero de milisegundos de retardo (>= 0).\"\"\"\n ...\n\ndef sleep_us(us: int) -> None:\n \"\"\"Genera un retardo para el n\u00famero dado de microsegundos. (dormir us)\n\nExample: ``time.sleep_us(1000)``\n\n:param us: El n\u00famero de microsegundos de retardo (>= 0).\"\"\"\n ...\n\ndef ticks_ms() -> int:\n \"\"\"Obtiene un contador en milisegundos creciente con un punto de referencia arbitrario que se reinicia despu\u00e9s de alg\u00fan valor. (tics ms)\n\nExample: ``time.ticks_ms()``\n\n:return: The counter value in milliseconds.\"\"\"\n ...\n\ndef ticks_us() -> int:\n \"\"\"Obtiene un contador en microsegundos creciente con un punto de referencia arbitrario que se reinicia despu\u00e9s de alg\u00fan valor. (tics us)\n\nExample: ``time.ticks_us()``\n\n:return: The counter value in microseconds.\"\"\"\n ...\n\ndef ticks_add(ticks: int, delta: int) -> int:\n \"\"\"Valor de desplazamiento de tics por un n\u00famero determinado, el cual puede ser positivo o\nnegativo. (a\u00f1adir tics)\n\nExample: ``time.ticks_add(time.ticks_ms(), 200)``\n\nGiven a ticks value, this function allows to calculate ticks\nvalue delta ticks before or after it, following modular-arithmetic\ndefinition of tick values.\n\n:param ticks: (tics) Un valor de tics\n:param delta: Un desplazamiento entero\n\nExample::\n\n # Find out what ticks value there was 100ms ago\n print(ticks_add(time.ticks_ms(), -100))\n\n # Calculate deadline for operation and test for it\n deadline = ticks_add(time.ticks_ms(), 200)\n while ticks_diff(deadline, time.ticks_ms()) > 0:\n do_a_little_of_something()\n\n # Find out TICKS_MAX used by this port\n print(ticks_add(0, -1))\"\"\"\n ...\n\ndef ticks_diff(ticks1: int, ticks2: int) -> int:\n \"\"\"Mide la diferencia de tics entre los valores devueltos por ``time.ticks_ms()`` o ``ticks_us()`` como un valor con signo que se puede reiniciar. (diferencia de tics)\n\nExample: ``time.ticks_diff(scheduled_time, now)``\n\n:param ticks1: (tics1) El valor del que restar\n:param ticks2: (tics2) El valor a restar\n\nThe argument order is the same as for subtraction operator,\n``ticks_diff(ticks1, ticks2)`` has the same meaning as ``ticks1 - ticks2``.\n\n``ticks_diff()`` is designed to accommodate various usage\npatterns, among them:\n\nPolling with timeout. In this case, the order of events is known, and you\nwill deal only with positive results of :func:`time.ticks_diff()`::\n\n # Wait for GPIO pin to be asserted, but at most 500us\n start = time.ticks_us()\n while pin.value() == 0:\n if time.ticks_diff(time.ticks_us(), start) > 500:\n raise TimeoutError\n\n\nScheduling events. In this case, :func:`time.ticks_diff()` result may be\nnegative if an event is overdue::\n\n # This code snippet is not optimized\n now = time.ticks_ms()\n scheduled_time = task.scheduled_time()\n if ticks_diff(scheduled_time, now) > 0:\n print(\"Too early, let's nap\")\n sleep_ms(ticks_diff(scheduled_time, now))\n task.run()\n elif ticks_diff(scheduled_time, now) == 0:\n print(\"Right at time!\")\n task.run()\n elif ticks_diff(scheduled_time, now) < 0:\n print(\"Oops, running late, tell task to run faster!\")\n task.run(run_faster=True)\"\"\"\n ...", + "/typeshed/stdlib/types.pyi": "import sys\nfrom typing import (\n Any,\n AsyncGenerator,\n Awaitable,\n Callable,\n Generator,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n Tuple,\n Type,\n TypeVar,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, final\n\n# Note, all classes \"defined\" here require special handling.\n\n_T = TypeVar(\"_T\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_V_co = TypeVar(\"_V_co\", covariant=True)\n\n@final\nclass _Cell:\n __hash__: None # type: ignore\n cell_contents: Any\n\n@final\nclass FunctionType:\n __closure__: Tuple[_Cell, ...] | None\n __code__: CodeType\n __defaults__: Tuple[Any, ...] | None\n __dict__: dict[str, Any]\n __globals__: dict[str, Any]\n __name__: str\n __qualname__: str\n __annotations__: dict[str, Any]\n __kwdefaults__: dict[str, Any]\n def __init__(\n self,\n code: CodeType,\n globals: dict[str, Any],\n name: str | None = ...,\n argdefs: Tuple[object, ...] | None = ...,\n closure: Tuple[_Cell, ...] | None = ...,\n ) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: object | None, type: type | None) -> MethodType: ...\n\nLambdaType = FunctionType\n\n@final\nclass CodeType:\n \"\"\"Create a code object. Not for the faint of heart.\"\"\"\n\n co_argcount: int\n if sys.version_info >= (3, 8):\n co_posonlyargcount: int\n co_kwonlyargcount: int\n co_nlocals: int\n co_stacksize: int\n co_flags: int\n co_code: bytes\n co_consts: Tuple[Any, ...]\n co_names: Tuple[str, ...]\n co_varnames: Tuple[str, ...]\n co_filename: str\n co_name: str\n co_firstlineno: int\n co_lnotab: bytes\n co_freevars: Tuple[str, ...]\n co_cellvars: Tuple[str, ...]\n if sys.version_info >= (3, 8):\n def __init__(\n self,\n argcount: int,\n posonlyargcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n else:\n def __init__(\n self,\n argcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n if sys.version_info >= (3, 8):\n def replace(\n self,\n *,\n co_argcount: int = ...,\n co_posonlyargcount: int = ...,\n co_kwonlyargcount: int = ...,\n co_nlocals: int = ...,\n co_stacksize: int = ...,\n co_flags: int = ...,\n co_firstlineno: int = ...,\n co_code: bytes = ...,\n co_consts: Tuple[Any, ...] = ...,\n co_names: Tuple[str, ...] = ...,\n co_varnames: Tuple[str, ...] = ...,\n co_freevars: Tuple[str, ...] = ...,\n co_cellvars: Tuple[str, ...] = ...,\n co_filename: str = ...,\n co_name: str = ...,\n co_lnotab: bytes = ...,\n ) -> CodeType: ...\n\n@final\nclass MappingProxyType(Mapping[_KT, _VT_co], Generic[_KT, _VT_co]):\n __hash__: None # type: ignore\n def __init__(self, mapping: Mapping[_KT, _VT_co]) -> None: ...\n def __getitem__(self, k: _KT) -> _VT_co: ...\n def __iter__(self) -> Iterator[_KT]: ...\n def __len__(self) -> int: ...\n def copy(self) -> dict[_KT, _VT_co]: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def items(self) -> ItemsView[_KT, _VT_co]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def __or__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n def __ror__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n\nclass SimpleNamespace:\n __hash__: None # type: ignore\n def __init__(self, **kwargs: Any) -> None: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __delattr__(self, name: str) -> None: ...\n\nclass ModuleType:\n __name__: str\n __file__: str\n __dict__: dict[str, Any]\n __package__: str | None\n def __init__(self, name: str, doc: str | None = ...) -> None: ...\n\n@final\nclass GeneratorType(Generator[_T_co, _T_contra, _V_co]):\n gi_code: CodeType\n gi_frame: FrameType\n gi_running: bool\n gi_yieldfrom: GeneratorType[_T_co, _T_contra, Any] | None\n def __iter__(self) -> GeneratorType[_T_co, _T_contra, _V_co]: ...\n def __next__(self) -> _T_co: ...\n def close(self) -> None: ...\n def send(self, __arg: _T_contra) -> _T_co: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> _T_co: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> _T_co: ...\n\n@final\nclass AsyncGeneratorType(AsyncGenerator[_T_co, _T_contra]):\n ag_await: Awaitable[Any] | None\n ag_frame: FrameType\n ag_running: bool\n ag_code: CodeType\n def __aiter__(self) -> AsyncGeneratorType[_T_co, _T_contra]: ...\n def __anext__(self) -> Awaitable[_T_co]: ...\n def asend(self, __val: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Awaitable[_T_co]: ...\n def aclose(self) -> Awaitable[None]: ...\n\n@final\nclass CoroutineType:\n cr_await: Any | None\n cr_code: CodeType\n cr_frame: FrameType\n cr_running: bool\n def close(self) -> None: ...\n def send(self, __arg: Any) -> Any: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Any: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Any: ...\n\nclass _StaticFunctionType:\n \"\"\"Fictional type to correct the type of MethodType.__func__.\n\n FunctionType is a descriptor, so mypy follows the descriptor protocol and\n converts MethodType.__func__ back to MethodType (the return type of\n FunctionType.__get__). But this is actually a special case; MethodType is\n implemented in C and its attribute access doesn't go through\n __getattribute__.\n\n By wrapping FunctionType in _StaticFunctionType, we get the right result;\n similar to wrapping a function in staticmethod() at runtime to prevent it\n being bound as a method.\n \"\"\"\n\n def __get__(self, obj: object | None, type: type | None) -> FunctionType: ...\n\n@final\nclass MethodType:\n __closure__: Tuple[_Cell, ...] | None # inherited from the added function\n __defaults__: Tuple[Any, ...] | None # inherited from the added function\n __func__: _StaticFunctionType\n __self__: object\n __name__: str # inherited from the added function\n __qualname__: str # inherited from the added function\n def __init__(self, func: Callable[..., Any], obj: object) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\n@final\nclass BuiltinFunctionType:\n __self__: object | ModuleType\n __name__: str\n __qualname__: str\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\nBuiltinMethodType = BuiltinFunctionType\n\nif sys.version_info >= (3, 7):\n @final\n class WrapperDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class MethodWrapperType:\n __self__: object\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __eq__(self, other: Any) -> bool: ...\n def __ne__(self, other: Any) -> bool: ...\n @final\n class MethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class ClassMethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n\n@final\nclass TracebackType:\n if sys.version_info >= (3, 7):\n def __init__(\n self,\n tb_next: TracebackType | None,\n tb_frame: FrameType,\n tb_lasti: int,\n tb_lineno: int,\n ) -> None: ...\n tb_next: TracebackType | None\n else:\n @property\n def tb_next(self) -> TracebackType | None: ...\n # the rest are read-only even in 3.7\n @property\n def tb_frame(self) -> FrameType: ...\n @property\n def tb_lasti(self) -> int: ...\n @property\n def tb_lineno(self) -> int: ...\n\n@final\nclass FrameType:\n f_back: FrameType | None\n f_builtins: dict[str, Any]\n f_code: CodeType\n f_globals: dict[str, Any]\n f_lasti: int\n f_lineno: int\n f_locals: dict[str, Any]\n f_trace: Callable[[FrameType, str, Any], Any] | None\n if sys.version_info >= (3, 7):\n f_trace_lines: bool\n f_trace_opcodes: bool\n def clear(self) -> None: ...\n\n@final\nclass GetSetDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\n@final\nclass MemberDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nif sys.version_info >= (3, 7):\n def new_class(\n name: str,\n bases: Iterable[object] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n def resolve_bases(bases: Iterable[object]) -> Tuple[Any, ...]: ...\n\nelse:\n def new_class(\n name: str,\n bases: Tuple[type, ...] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n\ndef prepare_class(\n name: str, bases: Tuple[type, ...] = ..., kwds: dict[str, Any] | None = ...\n) -> Tuple[type, dict[str, Any], dict[str, Any]]: ...\n\n# Actually a different type, but `property` is special and we want that too.\nDynamicClassAttribute = property\n\ndef coroutine(func: Callable[..., Any]) -> CoroutineType: ...\n\nif sys.version_info >= (3, 8):\n CellType = _Cell\n\nif sys.version_info >= (3, 9):\n class GenericAlias:\n __origin__: type\n __args__: Tuple[Any, ...]\n __parameters__: Tuple[Any, ...]\n def __init__(self, origin: type, args: Any) -> None: ...\n def __getattr__(self, name: str) -> Any: ... # incomplete\n\nif sys.version_info >= (3, 10):\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n EllipsisType = ellipsis # noqa F811 from builtins\n from builtins import _NotImplementedType\n\n NotImplementedType = _NotImplementedType # noqa F811 from builtins\n @final\n class UnionType:\n __args__: Tuple[Any, ...]\n def __or__(self, obj: Any) -> UnionType: ...\n def __ror__(self, obj: Any) -> UnionType: ...\n", + "/typeshed/stdlib/typing.pyi": "import collections # Needed by aliases like DefaultDict, see mypy issue 2986\nimport sys\nfrom abc import ABCMeta, abstractmethod\nfrom types import BuiltinFunctionType, CodeType, FrameType, FunctionType, MethodType, ModuleType, TracebackType\nfrom typing_extensions import Literal as _Literal\n\nif sys.version_info >= (3, 7):\n from types import MethodDescriptorType, MethodWrapperType, WrapperDescriptorType\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n# Definitions of special type checking related constructs. Their definitions\n# are not used, so their value does not matter.\n\nAny = object()\n\nclass TypeVar:\n __name__: str\n __bound__: Optional[Type[Any]]\n __constraints__: Tuple[Type[Any], ...]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self,\n name: str,\n *constraints: Type[Any],\n bound: Union[None, Type[Any], str] = ...,\n covariant: bool = ...,\n contravariant: bool = ...,\n ) -> None: ...\n\n_promote = object()\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> object: ...\n\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n\ndef overload(func: _F) -> _F: ...\n\nUnion: _SpecialForm = ...\nOptional: _SpecialForm = ...\nTuple: _SpecialForm = ...\nGeneric: _SpecialForm = ...\n# Protocol is only present in 3.8 and later, but mypy needs it unconditionally\nProtocol: _SpecialForm = ...\nCallable: _SpecialForm = ...\nType: _SpecialForm = ...\nClassVar: _SpecialForm = ...\nif sys.version_info >= (3, 8):\n Final: _SpecialForm = ...\n def final(f: _F) -> _F: ...\n Literal: _SpecialForm = ...\n # TypedDict is a (non-subscriptable) special form.\n TypedDict: object\n\nif sys.version_info < (3, 7):\n class GenericMeta(type): ...\n\nif sys.version_info >= (3, 10):\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Optional[Type[Any]]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: Union[None, Type[Any], str] = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n\n# Return type that indicates a function does not return.\n# This type is equivalent to the None type, but the no-op Union is necessary to\n# distinguish the None type from the None value.\nNoReturn = Union[None]\n\n# These type variables are used by the container types.\n_T = TypeVar(\"_T\")\n_S = TypeVar(\"_S\")\n_KT = TypeVar(\"_KT\") # Key type.\n_VT = TypeVar(\"_VT\") # Value type.\n_T_co = TypeVar(\"_T_co\", covariant=True) # Any type covariant containers.\n_V_co = TypeVar(\"_V_co\", covariant=True) # Any type covariant containers.\n_KT_co = TypeVar(\"_KT_co\", covariant=True) # Key type covariant containers.\n_VT_co = TypeVar(\"_VT_co\", covariant=True) # Value type covariant containers.\n_T_contra = TypeVar(\"_T_contra\", contravariant=True) # Ditto contravariant.\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\ndef no_type_check(arg: _F) -> _F: ...\ndef no_type_check_decorator(decorator: _F) -> _F: ...\n\n# Type aliases and type constructors\n\nclass _Alias:\n # Class for defining generic aliases for library types.\n def __getitem__(self, typeargs: Any) -> Any: ...\n\nList = _Alias()\nDict = _Alias()\nDefaultDict = _Alias()\nSet = _Alias()\nFrozenSet = _Alias()\nCounter = _Alias()\nDeque = _Alias()\nChainMap = _Alias()\n\nif sys.version_info >= (3, 7):\n OrderedDict = _Alias()\n\nif sys.version_info >= (3, 9):\n Annotated: _SpecialForm = ...\n\n# Predefined type variables.\nAnyStr = TypeVar(\"AnyStr\", str, bytes)\n\n# Abstract base classes.\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n@runtime_checkable\nclass SupportsInt(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __int__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsFloat(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __float__(self) -> float: ...\n\n@runtime_checkable\nclass SupportsComplex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __complex__(self) -> complex: ...\n\n@runtime_checkable\nclass SupportsBytes(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __bytes__(self) -> bytes: ...\n\nif sys.version_info >= (3, 8):\n @runtime_checkable\n class SupportsIndex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __index__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsAbs(Protocol[_T_co]):\n @abstractmethod\n def __abs__(self) -> _T_co: ...\n\n@runtime_checkable\nclass SupportsRound(Protocol[_T_co]):\n @overload\n @abstractmethod\n def __round__(self) -> int: ...\n @overload\n @abstractmethod\n def __round__(self, ndigits: int) -> _T_co: ...\n\n@runtime_checkable\nclass Sized(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __len__(self) -> int: ...\n\n@runtime_checkable\nclass Hashable(Protocol, metaclass=ABCMeta):\n # TODO: This is special, in that a subclass of a hashable class may not be hashable\n # (for example, list vs. object). It's not obvious how to represent this. This class\n # is currently mostly useless for static checking.\n @abstractmethod\n def __hash__(self) -> int: ...\n\n@runtime_checkable\nclass Iterable(Protocol[_T_co]):\n @abstractmethod\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Iterator(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __next__(self) -> _T_co: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Reversible(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass Generator(Iterator[_T_co], Generic[_T_co, _T_contra, _V_co]):\n def __next__(self) -> _T_co: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n def close(self) -> None: ...\n def __iter__(self) -> Generator[_T_co, _T_contra, _V_co]: ...\n @property\n def gi_code(self) -> CodeType: ...\n @property\n def gi_frame(self) -> FrameType: ...\n @property\n def gi_running(self) -> bool: ...\n @property\n def gi_yieldfrom(self) -> Optional[Generator[Any, Any, Any]]: ...\n\n@runtime_checkable\nclass Awaitable(Protocol[_T_co]):\n @abstractmethod\n def __await__(self) -> Generator[Any, None, _T_co]: ...\n\nclass Coroutine(Awaitable[_V_co], Generic[_T_co, _T_contra, _V_co]):\n __name__: str\n __qualname__: str\n @property\n def cr_await(self) -> Optional[Any]: ...\n @property\n def cr_code(self) -> CodeType: ...\n @property\n def cr_frame(self) -> FrameType: ...\n @property\n def cr_running(self) -> bool: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n @abstractmethod\n def close(self) -> None: ...\n\n# NOTE: This type does not exist in typing.py or PEP 484.\n# The parameters correspond to Generator, but the 4th is the original type.\nclass AwaitableGenerator(\n Awaitable[_V_co], Generator[_T_co, _T_contra, _V_co], Generic[_T_co, _T_contra, _V_co, _S], metaclass=ABCMeta\n): ...\n\n@runtime_checkable\nclass AsyncIterable(Protocol[_T_co]):\n @abstractmethod\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\n@runtime_checkable\nclass AsyncIterator(AsyncIterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\nclass AsyncGenerator(AsyncIterator[_T_co], Generic[_T_co, _T_contra]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n @abstractmethod\n def asend(self, __value: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> Awaitable[_T_co]: ...\n @abstractmethod\n def aclose(self) -> Awaitable[None]: ...\n @abstractmethod\n def __aiter__(self) -> AsyncGenerator[_T_co, _T_contra]: ...\n @property\n def ag_await(self) -> Any: ...\n @property\n def ag_code(self) -> CodeType: ...\n @property\n def ag_frame(self) -> FrameType: ...\n @property\n def ag_running(self) -> bool: ...\n\n@runtime_checkable\nclass Container(Protocol[_T_co]):\n @abstractmethod\n def __contains__(self, __x: object) -> bool: ...\n\n@runtime_checkable\nclass Collection(Iterable[_T_co], Container[_T_co], Protocol[_T_co]):\n # Implement Sized (but don't have it as a base class).\n @abstractmethod\n def __len__(self) -> int: ...\n\n_Collection = Collection[_T_co]\n\nclass Sequence(_Collection[_T_co], Reversible[_T_co], Generic[_T_co]):\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T_co: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> Sequence[_T_co]: ...\n # Mixin methods\n def index(self, value: Any, start: int = ..., stop: int = ...) -> int: ...\n def count(self, value: Any) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass MutableSequence(Sequence[_T], Generic[_T]):\n @abstractmethod\n def insert(self, index: int, value: _T) -> None: ...\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> MutableSequence[_T]: ...\n @overload\n @abstractmethod\n def __setitem__(self, i: int, o: _T) -> None: ...\n @overload\n @abstractmethod\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: int) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: slice) -> None: ...\n # Mixin methods\n def append(self, value: _T) -> None: ...\n def clear(self) -> None: ...\n def extend(self, values: Iterable[_T]) -> None: ...\n def reverse(self) -> None: ...\n def pop(self, index: int = ...) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __iadd__(self, x: Iterable[_T]) -> MutableSequence[_T]: ...\n\nclass AbstractSet(_Collection[_T_co], Generic[_T_co]):\n @abstractmethod\n def __contains__(self, x: object) -> bool: ...\n # Mixin methods\n def __le__(self, s: AbstractSet[Any]) -> bool: ...\n def __lt__(self, s: AbstractSet[Any]) -> bool: ...\n def __gt__(self, s: AbstractSet[Any]) -> bool: ...\n def __ge__(self, s: AbstractSet[Any]) -> bool: ...\n def __and__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def __sub__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def isdisjoint(self, other: Iterable[Any]) -> bool: ...\n\nclass MutableSet(AbstractSet[_T], Generic[_T]):\n @abstractmethod\n def add(self, value: _T) -> None: ...\n @abstractmethod\n def discard(self, value: _T) -> None: ...\n # Mixin methods\n def clear(self) -> None: ...\n def pop(self) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __ior__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __iand__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __isub__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n\nclass MappingView(Sized):\n def __init__(self, mapping: Mapping[Any, Any]) -> None: ... # undocumented\n def __len__(self) -> int: ...\n\nclass ItemsView(MappingView, AbstractSet[Tuple[_KT_co, _VT_co]], Generic[_KT_co, _VT_co]):\n def __init__(self, mapping: Mapping[_KT_co, _VT_co]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n\nclass KeysView(MappingView, AbstractSet[_KT_co], Generic[_KT_co]):\n def __init__(self, mapping: Mapping[_KT_co, Any]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_KT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT_co]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n\nclass ValuesView(MappingView, Iterable[_VT_co], Generic[_VT_co]):\n def __init__(self, mapping: Mapping[Any, _VT_co]) -> None: ... # undocumented\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_VT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_VT_co]: ...\n\n@runtime_checkable\nclass ContextManager(Protocol[_T_co]):\n def __enter__(self) -> _T_co: ...\n def __exit__(\n self,\n __exc_type: Optional[Type[BaseException]],\n __exc_value: Optional[BaseException],\n __traceback: Optional[TracebackType],\n ) -> Optional[bool]: ...\n\n@runtime_checkable\nclass AsyncContextManager(Protocol[_T_co]):\n def __aenter__(self) -> Awaitable[_T_co]: ...\n def __aexit__(\n self, exc_type: Optional[Type[BaseException]], exc_value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Awaitable[Optional[bool]]: ...\n\nclass Mapping(_Collection[_KT], Generic[_KT, _VT_co]):\n # TODO: We wish the key type could also be covariant, but that doesn't work,\n # see discussion in https: //github.com/python/typing/pull/273.\n @abstractmethod\n def __getitem__(self, k: _KT) -> _VT_co: ...\n # Mixin methods\n @overload\n def get(self, key: _KT) -> Optional[_VT_co]: ...\n @overload\n def get(self, key: _KT, default: Union[_VT_co, _T]) -> Union[_VT_co, _T]: ...\n def items(self) -> AbstractSet[Tuple[_KT, _VT_co]]: ...\n def keys(self) -> AbstractSet[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def __contains__(self, o: object) -> bool: ...\n\nclass MutableMapping(Mapping[_KT, _VT], Generic[_KT, _VT]):\n @abstractmethod\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n @abstractmethod\n def __delitem__(self, v: _KT) -> None: ...\n def clear(self) -> None: ...\n @overload\n def pop(self, key: _KT) -> _VT: ...\n @overload\n def pop(self, key: _KT, default: Union[_VT, _T] = ...) -> Union[_VT, _T]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, key: _KT, default: _VT = ...) -> _VT: ...\n # 'update' used to take a Union, but using overloading is better.\n # The second overloaded type here is a bit too general, because\n # Mapping[Tuple[_KT, _VT], W] is a subclass of Iterable[Tuple[_KT, _VT]],\n # but will always have the behavior of the first overloaded type\n # at runtime, leading to keys of a mix of types _KT and Tuple[_KT, _VT].\n # We don't currently have any way of forcing all Mappings to use\n # the first overload, but by using overloading rather than a Union,\n # mypy will commit to using the first overload when the argument is\n # known to be a Mapping with unknown type parameters, which is closer\n # to the behavior we want. See mypy issue #1430.\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n\nText = str\n\nTYPE_CHECKING = True\n\nclass IO(Iterator[AnyStr], Generic[AnyStr]):\n # TODO use abstract properties\n @property\n def mode(self) -> str: ...\n @property\n def name(self) -> str: ...\n @abstractmethod\n def close(self) -> None: ...\n @property\n def closed(self) -> bool: ...\n @abstractmethod\n def fileno(self) -> int: ...\n @abstractmethod\n def flush(self) -> None: ...\n @abstractmethod\n def isatty(self) -> bool: ...\n @abstractmethod\n def read(self, n: int = ...) -> AnyStr: ...\n @abstractmethod\n def readable(self) -> bool: ...\n @abstractmethod\n def readline(self, limit: int = ...) -> AnyStr: ...\n @abstractmethod\n def readlines(self, hint: int = ...) -> list[AnyStr]: ...\n @abstractmethod\n def seek(self, offset: int, whence: int = ...) -> int: ...\n @abstractmethod\n def seekable(self) -> bool: ...\n @abstractmethod\n def tell(self) -> int: ...\n @abstractmethod\n def truncate(self, size: Optional[int] = ...) -> int: ...\n @abstractmethod\n def writable(self) -> bool: ...\n @abstractmethod\n def write(self, s: AnyStr) -> int: ...\n @abstractmethod\n def writelines(self, lines: Iterable[AnyStr]) -> None: ...\n @abstractmethod\n def __next__(self) -> AnyStr: ...\n @abstractmethod\n def __iter__(self) -> Iterator[AnyStr]: ...\n @abstractmethod\n def __enter__(self) -> IO[AnyStr]: ...\n @abstractmethod\n def __exit__(\n self, t: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Optional[bool]: ...\n\nclass BinaryIO(IO[bytes]):\n @abstractmethod\n def __enter__(self) -> BinaryIO: ...\n\nclass TextIO(IO[str]):\n # TODO use abstractproperty\n @property\n def buffer(self) -> BinaryIO: ...\n @property\n def encoding(self) -> str: ...\n @property\n def errors(self) -> Optional[str]: ...\n @property\n def line_buffering(self) -> int: ... # int on PyPy, bool on CPython\n @property\n def newlines(self) -> Any: ... # None, str or tuple\n @abstractmethod\n def __enter__(self) -> TextIO: ...\n\nclass ByteString(Sequence[int], metaclass=ABCMeta): ...\n\nclass Match(Generic[AnyStr]):\n pos: int\n endpos: int\n lastindex: Optional[int]\n lastgroup: Optional[AnyStr]\n string: AnyStr\n\n # The regular expression object whose match() or search() method produced\n # this match instance.\n re: Pattern[AnyStr]\n def expand(self, template: AnyStr) -> AnyStr: ...\n # group() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def group(self, __group: _Literal[0] = ...) -> AnyStr: ...\n @overload\n def group(self, __group: str | int) -> AnyStr | Any: ...\n @overload\n def group(self, __group1: str | int, __group2: str | int, *groups: str | int) -> Tuple[AnyStr | Any, ...]: ...\n # Each item of groups()'s return tuple is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groups(self) -> Tuple[AnyStr | Any, ...]: ...\n @overload\n def groups(self, default: _T) -> Tuple[AnyStr | _T, ...]: ...\n # Each value in groupdict()'s return dict is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groupdict(self) -> dict[str, AnyStr | Any]: ...\n @overload\n def groupdict(self, default: _T) -> dict[str, AnyStr | _T]: ...\n def start(self, __group: Union[int, str] = ...) -> int: ...\n def end(self, __group: Union[int, str] = ...) -> int: ...\n def span(self, __group: Union[int, str] = ...) -> Tuple[int, int]: ...\n @property\n def regs(self) -> Tuple[Tuple[int, int], ...]: ... # undocumented\n # __getitem__() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def __getitem__(self, __key: _Literal[0]) -> AnyStr: ...\n @overload\n def __getitem__(self, __key: int | str) -> AnyStr | Any: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass Pattern(Generic[AnyStr]):\n flags: int\n groupindex: Mapping[str, int]\n groups: int\n pattern: AnyStr\n def search(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def match(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def fullmatch(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def split(self, string: AnyStr, maxsplit: int = ...) -> list[AnyStr]: ...\n def findall(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> list[Any]: ...\n def finditer(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Iterator[Match[AnyStr]]: ...\n @overload\n def sub(self, repl: AnyStr, string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def sub(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def subn(self, repl: AnyStr, string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n @overload\n def subn(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\n# Functions\n\nif sys.version_info >= (3, 7):\n _get_type_hints_obj_allowed_types = Union[\n object,\n Callable[..., Any],\n FunctionType,\n BuiltinFunctionType,\n MethodType,\n ModuleType,\n WrapperDescriptorType,\n MethodWrapperType,\n MethodDescriptorType,\n ]\nelse:\n _get_type_hints_obj_allowed_types = Union[\n object, Callable[..., Any], FunctionType, BuiltinFunctionType, MethodType, ModuleType,\n ]\n\nif sys.version_info >= (3, 9):\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types,\n globalns: Optional[Dict[str, Any]] = ...,\n localns: Optional[Dict[str, Any]] = ...,\n include_extras: bool = ...,\n ) -> Dict[str, Any]: ...\n\nelse:\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types, globalns: Optional[Dict[str, Any]] = ..., localns: Optional[Dict[str, Any]] = ...\n ) -> Dict[str, Any]: ...\n\nif sys.version_info >= (3, 8):\n def get_origin(tp: Any) -> Optional[Any]: ...\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n\n@overload\ndef cast(typ: Type[_T], val: Any) -> _T: ...\n@overload\ndef cast(typ: str, val: Any) -> Any: ...\n@overload\ndef cast(typ: object, val: Any) -> Any: ...\n\n# Type constructors\n\n# NamedTuple is special-cased in the type checker\nclass NamedTuple(Tuple[Any, ...]):\n _field_types: collections.OrderedDict[str, Type[Any]]\n _field_defaults: Dict[str, Any] = ...\n _fields: Tuple[str, ...]\n _source: str\n def __init__(self, typename: str, fields: Iterable[Tuple[str, Any]] = ..., **kwargs: Any) -> None: ...\n @classmethod\n def _make(cls: Type[_T], iterable: Iterable[Any]) -> _T: ...\n if sys.version_info >= (3, 8):\n def _asdict(self) -> Dict[str, Any]: ...\n else:\n def _asdict(self) -> collections.OrderedDict[str, Any]: ...\n def _replace(self: _T, **kwargs: Any) -> _T: ...\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __or__(self: _T, __value: _T) -> _T: ...\n def __ior__(self: _T, __value: _T) -> _T: ...\n\ndef NewType(name: str, tp: Type[_T]) -> Type[_T]: ...\n\n# This itself is only available during type checking\ndef type_check_only(func_or_cls: _F) -> _F: ...\n\nif sys.version_info >= (3, 7):\n class ForwardRef:\n __forward_arg__: str\n __forward_code__: CodeType\n __forward_evaluated__: bool\n __forward_value__: Optional[Any]\n __forward_is_argument__: bool\n def __init__(self, arg: str, is_argument: bool = ...) -> None: ...\n def _evaluate(self, globalns: Optional[Dict[str, Any]], localns: Optional[Dict[str, Any]]) -> Optional[Any]: ...\n def __eq__(self, other: Any) -> bool: ...\n def __hash__(self) -> int: ...\n def __repr__(self) -> str: ...\n\nif sys.version_info >= (3, 10):\n def is_typeddict(tp: Any) -> bool: ...\n", + "/typeshed/stdlib/typing_extensions.pyi": "import abc\nimport sys\nfrom typing import (\n TYPE_CHECKING as TYPE_CHECKING,\n Any,\n AsyncContextManager as AsyncContextManager,\n AsyncGenerator as AsyncGenerator,\n AsyncIterable as AsyncIterable,\n AsyncIterator as AsyncIterator,\n Awaitable as Awaitable,\n Callable,\n ChainMap as ChainMap,\n ClassVar as ClassVar,\n ContextManager as ContextManager,\n Coroutine as Coroutine,\n Counter as Counter,\n DefaultDict as DefaultDict,\n Deque as Deque,\n ItemsView,\n KeysView,\n Mapping,\n NewType as NewType,\n NoReturn as NoReturn,\n Text as Text,\n Tuple,\n Type as Type,\n TypeVar,\n ValuesView,\n _Alias,\n overload as overload,\n)\n\n_T = TypeVar(\"_T\")\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> Any: ...\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n\n# This alias for above is kept here for backwards compatibility.\nruntime = runtime_checkable\nProtocol: _SpecialForm = ...\nFinal: _SpecialForm = ...\n\ndef final(f: _F) -> _F: ...\n\nLiteral: _SpecialForm = ...\n\ndef IntVar(name: str) -> Any: ... # returns a new TypeVar\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=abc.ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n\n# TypedDict is a (non-subscriptable) special form.\nTypedDict: object = ...\n\nOrderedDict = _Alias()\n\ndef get_type_hints(\n obj: Callable[..., Any],\n globalns: dict[str, Any] | None = ...,\n localns: dict[str, Any] | None = ...,\n include_extras: bool = ...,\n) -> dict[str, Any]: ...\n\nif sys.version_info >= (3, 7):\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n def get_origin(tp: Any) -> Any | None: ...\n\nAnnotated: _SpecialForm = ...\n_AnnotatedAlias: Any = ... # undocumented\n\n@runtime_checkable\nclass SupportsIndex(Protocol, metaclass=abc.ABCMeta):\n @abc.abstractmethod\n def __index__(self) -> int: ...\n\n# PEP 612 support for Python < 3.9\nif sys.version_info >= (3, 10):\n from typing import Concatenate as Concatenate, ParamSpec as ParamSpec, TypeAlias as TypeAlias, TypeGuard as TypeGuard\nelse:\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Type[Any] | None\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: None | Type[Any] | str = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n", + "/typeshed/stdlib/uarray.pyi": "from array import *\n", + "/typeshed/stdlib/ucollections.pyi": "from collections import *\n", + "/typeshed/stdlib/uerrno.pyi": "from errno import *\n", + "/typeshed/stdlib/urandom.pyi": "from random import *\n", + "/typeshed/stdlib/ustruct.pyi": "from struct import *\n", + "/typeshed/stdlib/usys.pyi": "from sys import *\n", + "/typeshed/stdlib/utime.pyi": "from time import *\n", + "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", + "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Pines, im\u00e1genes, sonidos, temperatura y volumen.\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Programe para ejecutar una funci\u00f3n en el intervalo especificado por los argumentos de tiempo **V2 solamente**. (ejecutar cada)\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: Funci\u00f3n para llamar al intervalo proporcionado. Omitir cuando se utiliza como decorador.\n:param days: (d\u00edas) Establece la marca del d\u00eda para la programaci\u00f3n.\n:param h: Establece la marca de hora para la programaci\u00f3n.\n:param min: Establece la marca de minuto para la programaci\u00f3n.\n:param s: Establece la segunda marca para la programaci\u00f3n.\n:param ms: Establece la marca de milisegundos para la programaci\u00f3n.\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"Entra en modo p\u00e1nico (p\u00e1nico)\n\nExample: ``panic(127)``\n\n:param n: Un entero arbitrario <= 255 para indicar un estado.\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"Reiniciar la placa. (restablecer)\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Convierte un valor de un rango a un rango de n\u00fameros enteros. (escala)\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: (valor) Un n\u00famero a convertir.\n:param from_: (de) Una tupla para definir el rango desde el que convertir.\n:param to: (a) Una tupla para definir el rango al que convertir.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Convierte un valor de un rango a un rango de punto flotante. (escala)\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: (valor) Un n\u00famero a convertir.\n:param from_: (de) Una tupla para definir el rango desde el que convertir.\n:param to: (a) Una tupla para definir el rango al que convertir.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Espera ``n`` milisegundos. (dormir)\n\nExample: ``sleep(1000)``\n\n:param n: El n\u00famero de milisegundos a esperar\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"Obtiene el tiempo de funcionamiento de la placa. (tiempo de ejecuci\u00f3n)\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"Obtiene la temperatura del micro:bit en grados Celsius. (temperatura)\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"Establece el volumen. (configurar volumen)\n\nExample: ``set_volume(127)``\n\n:param v: un valor entre 0 (bajo) y 255 (alto).\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"La clase para los botones ``button_a`` y ``button_b``. (bot\u00f3n)\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"Comprueba si el bot\u00f3n est\u00e1 pulsado. (est\u00e1 pulsado)\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"Comprueba si el bot\u00f3n ha sido pulsado desde que se inci\u00f3 el dispositivo o desde la \u00faltima vez que se llam\u00f3 a este m\u00e9todo. (ha sido pulsado)\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"Obtiene el total de pulsaciones sucesivas de un bot\u00f3n y restablece este total\na cero. (total de pulsaciones)\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"Objeto ``Button`` para el bot\u00f3n izquierdo. (bot\u00f3n a)\"\"\"\nbutton_b: Button\n\"\"\"Objeto ``Button`` para el bot\u00f3n derecho. (bot\u00f3n b)\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"Un pin digital. (pin digital microbit)\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"Obtiene el valor digital del pin. (lectura digital)\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"Establece el valor digital del pin. (escritura digital)\n\nExample: ``pin0.write_digital(1)``\n\n:param value: (valor) 1 para establecer valor alto en el pin o 0 para valor bajo\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"Configura el estado \"pull\" con uno de los tres valores posibles: ``PULL_UP``, ``PULL_DOWN`` o ``NO_PULL``. (configurar pull)\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: (valor) El estado \"pull\" del pin correspondiente, p. ej., ``pin0.PULL_UP``.\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"Obtiene el estado \"pull\" de un pin. (obtener pull)\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"Devuelve el modo del pin. (obtener modo)\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"Env\u00eda una se\u00f1al PWM al pin, con el ciclo de trabajo proporcional a ``value``. (escritura anal\u00f3gica)\n\nExample: ``pin0.write_analog(254)``\n\n:param value: (valor) Un n\u00famero entero o de coma flotante entre 0 (ciclo de trabajo de 0 %) y 1023 (100 %).\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"Establece el per\u00edodo de la se\u00f1al PWM enviada a ``period`` milisegundos. (configurar periodo anal\u00f3gico)\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: (per\u00edodo) El per\u00edodo en milisegundos con un valor m\u00ednimo v\u00e1lido de 1 ms.\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"Establece el per\u00edodo de la se\u00f1al PWM enviada a ``period`` microsegundos. (configurar periodo anal\u00f3gico en microsegundos)\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: (per\u00edodo) El per\u00edodo en microsegundos con un valor m\u00ednimo v\u00e1lido de 256 \u03bcs.\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"Un pin con caracter\u00edsticas anal\u00f3gicas y digitales. (pin digital y anal\u00f3gico microbit)\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Lee el voltaje aplicado al pin. (lectura anal\u00f3gica)\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"Un pin con caracter\u00edsticas anal\u00f3gicas, digitales y t\u00e1ctiles. (pin t\u00e1ctil microbit)\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"Comprueba si se est\u00e1 tocando el pin. (est\u00e1 tocado)\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"Establece el modo t\u00e1ctil del pin. (configurar modo t\u00e1ctil)\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: (valor) ``CAPACITIVE`` o ``RESISTIVE`` del pin correspondiente.\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"Pin con funciones digitales, anal\u00f3gicas y t\u00e1ctiles.\"\"\"\npin1: MicroBitTouchPin\n\"\"\"Pin con funciones digitales, anal\u00f3gicas y t\u00e1ctiles.\"\"\"\npin2: MicroBitTouchPin\n\"\"\"Pin con funciones digitales, anal\u00f3gicas y t\u00e1ctiles.\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"Pin con funciones digitales y anal\u00f3gicas.\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"Pin con funciones digitales y anal\u00f3gicas.\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"Pin con funciones digitales y anal\u00f3gicas.\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"Un pin t\u00e1ctil sensible en la parte frontal del micro:bit que por defecto est\u00e1 configurado en modo t\u00e1ctil capacitivo. (pin de logo)\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"Un pin para dirigirse al altavoz micro:bit. (pin de altavoz)\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"Una imagen que se mostrar\u00e1 en la pantalla LED del micro:bit. (imagen)\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"Imagen de un coraz\u00f3n. (coraz\u00f3n)\"\"\"\n HEART_SMALL: Image\n \"\"\"Imagen de un coraz\u00f3n peque\u00f1o. (coraz\u00f3n peque\u00f1o)\"\"\"\n HAPPY: Image\n \"\"\"Imagen de una cara feliz. (feliz)\"\"\"\n SMILE: Image\n \"\"\"Imagen de una cara sonriente. (sonrisa)\"\"\"\n SAD: Image\n \"\"\"Imagen de una cara triste. (triste)\"\"\"\n CONFUSED: Image\n \"\"\"Imagen de una cara confundida. (confundida)\"\"\"\n ANGRY: Image\n \"\"\"Imagen de una cara enfadada. (enfadada)\"\"\"\n ASLEEP: Image\n \"\"\"Imagen de una cara durmiendo. (dormida)\"\"\"\n SURPRISED: Image\n \"\"\"Imagen de una cara sorprendida. (sorprendida)\"\"\"\n SILLY: Image\n \"\"\"Imagen de una cara tonta. (tonta)\"\"\"\n FABULOUS: Image\n \"\"\"Imagen de una cara con gafas de sol. (fabulosa)\"\"\"\n MEH: Image\n \"\"\"Imagen de una cara indiferente. (indiferente)\"\"\"\n YES: Image\n \"\"\"Imagen de verificaci\u00f3n. (s\u00ed)\"\"\"\n NO: Image\n \"\"\"Imagen de cruz.\"\"\"\n CLOCK12: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 12:00. (reloj12)\"\"\"\n CLOCK11: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 11:00. (reloj11)\"\"\"\n CLOCK10: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 10:00. (reloj10)\"\"\"\n CLOCK9: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 9:00. (reloj9)\"\"\"\n CLOCK8: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 8:00. (reloj8)\"\"\"\n CLOCK7: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 7:00. (reloj7)\"\"\"\n CLOCK6: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 6:00. (reloj6)\"\"\"\n CLOCK5: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 5:00. (reloj5)\"\"\"\n CLOCK4: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 4:00. (reloj4)\"\"\"\n CLOCK3: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 3:00. (reloj3)\"\"\"\n CLOCK2: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 2:00. (reloj2)\"\"\"\n CLOCK1: Image\n \"\"\"Imagen de una l\u00ednea apuntando a la 1:00. (reloj1)\"\"\"\n ARROW_N: Image\n \"\"\"Imagen de una flecha apuntando hacia el norte. (flecha n)\"\"\"\n ARROW_NE: Image\n \"\"\"Imagen de una flecha apuntando hacia el nordeste. (flecha ne)\"\"\"\n ARROW_E: Image\n \"\"\"Imagen de una flecha apuntando hacia el este. (flecha e)\"\"\"\n ARROW_SE: Image\n \"\"\"Imagen de una flecha apuntando hacia el sudeste. (flecha se)\"\"\"\n ARROW_S: Image\n \"\"\"Imagen de una flecha apuntando hacia el sur. (flecha s)\"\"\"\n ARROW_SW: Image\n \"\"\"Imagen de una flecha apuntando hacia el sudoeste. (flecha so)\"\"\"\n ARROW_W: Image\n \"\"\"Imagen de una flecha apuntando hacia el oeste. (flecha o)\"\"\"\n ARROW_NW: Image\n \"\"\"Imagen de una flecha apuntando hacia el noroeste. (flecha no)\"\"\"\n TRIANGLE: Image\n \"\"\"Imagen de un tri\u00e1ngulo apuntando hacia arriba. (tri\u00e1ngulo)\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"Imagen de un tri\u00e1ngulo en la esquina izquierda. (tri\u00e1ngulo izquierda)\"\"\"\n CHESSBOARD: Image\n \"\"\"LED iluminados de forma alterna seg\u00fan un patr\u00f3n de tablero de ajedrez. (tablero de ajedrez)\"\"\"\n DIAMOND: Image\n \"\"\"Imagen de un diamante. (diamante)\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"Imagen de un diamante peque\u00f1o. (diamante peque\u00f1o)\"\"\"\n SQUARE: Image\n \"\"\"Imagen de un cuadrado. (cuadrado)\"\"\"\n SQUARE_SMALL: Image\n \"\"\"Imagen de un cuadrado peque\u00f1o. (cuadrado peque\u00f1o)\"\"\"\n RABBIT: Image\n \"\"\"Imagen de un conejo. (conejo)\"\"\"\n COW: Image\n \"\"\"Imagen de una vaca. (vaca)\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"Imagen de una nota negra. (negra musical)\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"Imagen de una nota corchea. (corchea musical)\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"Imagen de un par de notas corcheas. (corcheas musicales)\"\"\"\n PITCHFORK: Image\n \"\"\"Imagen de una horca. (horca)\"\"\"\n XMAS: Image\n \"\"\"Imagen de un \u00e1rbol de Navidad. (navidad)\"\"\"\n PACMAN: Image\n \"\"\"Imagen del personaje de videojuegos Pac-Man.\"\"\"\n TARGET: Image\n \"\"\"Imagen de un objetivo. (diana)\"\"\"\n TSHIRT: Image\n \"\"\"Imagen de una camiseta. (camiseta)\"\"\"\n ROLLERSKATE: Image\n \"\"\"Imagen de un pat\u00edn. (pat\u00edn)\"\"\"\n DUCK: Image\n \"\"\"Imagen de un pato. (pato)\"\"\"\n HOUSE: Image\n \"\"\"Imagen de una casa. (casa)\"\"\"\n TORTOISE: Image\n \"\"\"Imagen de una tortuga. (tortuga)\"\"\"\n BUTTERFLY: Image\n \"\"\"Imagen de una mariposa. (mariposa)\"\"\"\n STICKFIGURE: Image\n \"\"\"Imagen de un monigote. (monigote)\"\"\"\n GHOST: Image\n \"\"\"Imagen de un fantasma. (fantasma)\"\"\"\n SWORD: Image\n \"\"\"Imagen de una espada. (espada)\"\"\"\n GIRAFFE: Image\n \"\"\"Imagen de una jirafa. (girafa)\"\"\"\n SKULL: Image\n \"\"\"Imagen de una calavera. (calavera)\"\"\"\n UMBRELLA: Image\n \"\"\"Imagen de un paraguas. (paraguas)\"\"\"\n SNAKE: Image\n \"\"\"Imagen de una serpiente. (serpiente)\"\"\"\n SCISSORS: Image\n \"\"\"Imagen de tijeras. (tijeras)\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"Una lista que contiene todas las im\u00e1genes CLOCK_ en secuencia. (todos los relojes)\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"Una lista que contiene todas las im\u00e1genes ARROW_ en secuencia. (todas las flechas)\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Crea una imagen a partir de una cadena que describe los LED que est\u00e1n encendidos.\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: (cadena) La cadena que describe la imagen.\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"Crea una imagen vac\u00eda con ``width`` columnas y ``height`` filas.\n\n:param width: (ancho) Ancho opcional de la imagen\n:param height: (altura) Altura opcional de la imagen\n:param buffer: (b\u00fafer) Matriz opcional de bytes de ``width`` \u00d7 ``height`` enteros en el rango 0 - 9 para inicializar la imagen\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"Obtiene el n\u00famero de columnas. (ancho)\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"Obtiene el n\u00famero de filas. (altura)\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"Establece el brillo de un p\u00edxel. (configurar p\u00edxel)\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: El n\u00famero de columna\n:param y: El n\u00famero de fila\n:param value: (valor) El brillo expresado como un entero entre 0 (oscuro) y 9 (brillante)\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"Obtiene el brillo de un p\u00edxel. (obtener p\u00edxel)\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: El n\u00famero de columna\n:param y: El n\u00famero de fila\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"Crea una nueva imagen desplazando la imagen hacia la izquierda. (desplazamiento a la izquierda)\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: El n\u00famero de columnas a desplazar\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"Crea una nueva imagen desplazando la imagen hacia la derecha. (desplazamiento a la derecha)\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: El n\u00famero de columnas a desplazar\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"Crea una nueva imagen desplazando la imagen hacia arriba. (desplazamiento hacia arriba)\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: El n\u00famero de filas a desplazar\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"Crea una nueva imagen desplazando la imagen hacia abajo. (desplazamiento hacia abajo)\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: El n\u00famero de filas a desplazar\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Crear una nueva imagen recortando la imagen. (recortar)\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: La columna de desplazamiento del recorte\n:param y: La fila de desplazamiento del recorte\n:param w: (a) El ancho del recorte\n:param h: La altura del recorte\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"Crea una copia exacta de la imagen. (copiar)\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"Crea una nueva imagen invirtiendo el brillo de los p\u00edxeles de la\nimagen de origen. (invertir)\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"Establece el brillo de todos los p\u00edxeles de la imagen. (llenar)\n\nExample: ``my_image.fill(5)``\n\n:param value: (valor) El nuevo brillo expresado como un n\u00famero entre 0 (oscuro) y 9 (brillante).\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"Copia un \u00e1rea de otra imagen en esta imagen.\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: (org) La imagen de origen\n:param x: El desplazamiento de columna inicial en la imagen de origen\n:param y: El desplazamiento de fila inicial en la imagen de origen\n:param w: (a) El n\u00famero de columnas a copiar\n:param h: El n\u00famero de filas a copiar\n:param xdest: El desplazamiento de columna a modificar en esta imagen\n:param ydest: El desplazamiento de fila a modificar en esta imagen\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"Obtiene una representaci\u00f3n en cadena compacta de la imagen.\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"Obtiene una representaci\u00f3n en cadena legible de la imagen. (cad)\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"Crea una nueva imagen sumando los valores de brillo de las dos im\u00e1genes\npara cada p\u00edxel. (a\u00f1adir)\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: (otro) La imagen a a\u00f1adir.\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"Crea una nueva imagen restando los valores de brillo de la otra imagen a los de esta imagen. (rest)\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: (otro) La imagen a restar.\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"Crea una nueva imagen multiplicando el brillo de cada p\u00edxel por ``n``.\n\nExample: ``Image.HEART * 0.5``\n\n:param n: El valor por el que multiplicar.\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"Crea una nueva imagen dividiendo el brillo de cada p\u00edxel entre ``n``.\n\nExample: ``Image.HEART / 2``\n\n:param n: El valor entre el que dividir.\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Representa la transici\u00f3n de eventos de sonido, desde ``quiet`` a ``loud``, como aplaudir o gritar. (alto)\"\"\"\n QUIET: SoundEvent\n \"\"\"Representa la transici\u00f3n de eventos de sonido, desde ``loud`` hasta ``quiet``, como hablar o una m\u00fasica de fondo. (silencioso)\"\"\"\n\nclass Sound:\n \"\"\"Los sonidos predefinidos pueden llamarse usando ``audio.play(Sound.NAME)``. (sonido)\"\"\"\n GIGGLE: Sound\n \"\"\"Sonido de risita. (risita)\"\"\"\n HAPPY: Sound\n \"\"\"Sonido alegre. (feliz)\"\"\"\n HELLO: Sound\n \"\"\"Sonido de saludo. (hola)\"\"\"\n MYSTERIOUS: Sound\n \"\"\"Sonido misterioso. (misterioso)\"\"\"\n SAD: Sound\n \"\"\"Sonido triste. (triste)\"\"\"\n SLIDE: Sound\n \"\"\"Sonido deslizante. (deslizante)\"\"\"\n SOARING: Sound\n \"\"\"Sonido creciente. (creciente)\"\"\"\n SPRING: Sound\n \"\"\"Sonido de muelle. (muelle)\"\"\"\n TWINKLE: Sound\n \"\"\"Sonido parpadeante. (parpadeante)\"\"\"\n YAWN: Sound\n \"\"\"Sonido de bostezo. (bostezo)\"\"\"", + "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"Mide la aceleraci\u00f3n del micro:bit y reconoce gestos. (aceler\u00f3metro)\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"Obtiene la medici\u00f3n de la aceleraci\u00f3n en el eje ``x`` en mili-g. (obtener x)\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Obtiene la medici\u00f3n de la aceleraci\u00f3n en el eje ``y`` en mili-g. (obtener y)\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Obtiene la medici\u00f3n de la aceleraci\u00f3n en el eje ``z`` en mili-g. (obtener z)\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"Obtiene las mediciones de las aceleraciones en todos los ejes como una tupla. (obtener valores)\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Obtener la medici\u00f3n de aceleraci\u00f3n de todos los ejes combinados, como un entero positivo. Esta es la suma de Pitag\u00f3rica de los ejes X, Y y Z. (obtener fuerza)\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"Obtiene el nombre del gesto actual. (gesto actual)\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"Comprueba si el gesto est\u00e1 actualmente activo. (gesto activo)\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: (nombre) El nombre del gesto.\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"Comprueba si el gesto estuvo activo desde la \u00faltima llamada. (gesto anterior)\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: (nombre) El nombre del gesto.\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"Devuelve una tupla con el historial de gestos. (obtener gestos)\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Establecer el rango de sensibilidad aceler\u00f3metro, en g (gravedad est\u00e1ndar), a los valores m\u00e1s cercanos soportados por el hardware, as\u00ed que se redondea a ``2``, ``4``o ``8`` g. (establecer rango)\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: (valor) Nuevo rango para el aceler\u00f3metro, un entero en ``g``.\"\"\"", + "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"Reproducir sonidos usando el micro:bit (importar ``audio`` para compatibilidad con V1).\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Reproducir un sonido, un efecto de sonido o marcos de audio personalizados. (reproducir)\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: (origen) Un ``Sound`` integrado como ``Sound.GIGGLE``, un ``SoundEffect`` o datos de muestra como un iterable de objetos ``AudioFrame``.\n:param wait: (esperar) Si ``wait`` es ``True`` (verdadero), la funci\u00f3n se bloquear\u00e1 hasta que el sonido finalice.\n:param pin: Se puede usar un argumento opcional para especificar el pin de salida, reemplazando el valor predeterminado de ``pin0``. Si no queremos que se reproduzca ning\u00fan sonido, podemos usar ``pin=None``.\n:param return_pin: (devolver pin) Especifica un pin de conector de borde diferencial para conectarse a un altavoz externo en lugar de tierra. Esto se ignora para la revisi\u00f3n **V2**.\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"Comprueba si se est\u00e1 reproduciendo un sonido. (reproduciendo)\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Detiene la reproducci\u00f3n de audio. (detener)\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"Un efecto de sonido, compuesto por un conjunto de par\u00e1metros configurados a trav\u00e9s del constructor o atributos. (efecto de sonido)\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Opci\u00f3n de onda sinusoidal utilizada para el par\u00e1metro ``waveform``. (forma de onda sinusoidal)\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Opci\u00f3n de onda con diente de sierra usada para el par\u00e1metro ``waveform``. (diente de sierra de forma de onda)\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Opci\u00f3n de onda triangular usada para el par\u00e1metro ``waveform``. (forma de onda triangular)\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Opci\u00f3n de onda cuadrada usada para el par\u00e1metro ``waveform``. (forma de onda cuadrada)\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Opci\u00f3n de ruido usada para el par\u00e1metro ``waveform``. (forma de onda de ruido)\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Opci\u00f3n de interpolaci\u00f3n lineal usada para el par\u00e1metro ``shape``. (forma lineal)\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Opci\u00f3n de interpolaci\u00f3n de curva usada para el par\u00e1metro ``shape``. (forma curva)\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Opci\u00f3n de interpolaci\u00f3n logar\u00edtmica usada para el par\u00e1metro ``shape``. (registro de forma)\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"Ninguna opci\u00f3n de efecto usada para el par\u00e1metro ``fx``. (fx ninguno)\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Opci\u00f3n de efecto Tr\u00e9molo usada para el par\u00e1metro ``fx``.\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Opci\u00f3n de efecto vibrato utilizada para el par\u00e1metro ``fx``.\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Opci\u00f3n de efecto gorjeo utilizada para el par\u00e1metro ``fx``. (fx gorjeo)\"\"\"\n freq_start: int\n \"\"\"Frecuencia de inicio en Hertz (Hz), un n\u00famero entre ``0`` y ``9999`` (frecuencia de inicio)\"\"\"\n freq_end: int\n \"\"\"Frecuencia final en Hertz (Hz), un n\u00famero entre ``0`` y ``9999`` (frecuencia final)\"\"\"\n duration: int\n \"\"\"Duraci\u00f3n del sonido en milisegundos, un n\u00famero entre ``0`` y ``9999`` (duraci\u00f3n)\"\"\"\n vol_start: int\n \"\"\"Valor de volumen inicial, un n\u00famero entre ``0`` y ``255`` (volumen de inicio)\"\"\"\n vol_end: int\n \"\"\"Valor final del volumen, un n\u00famero entre ``0`` y ``255`` (volumen final)\"\"\"\n waveform: int\n \"\"\"Tipo de forma ondulada, uno de estos valores: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (ruido generado aleatoriamente) (forma de onda)\"\"\"\n fx: int\n \"\"\"Efecto para a\u00f1adir en el sonido, uno de los siguientes valores: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``o ``FX_NONE``\"\"\"\n shape: int\n \"\"\"El tipo de curva de interpolaci\u00f3n entre las frecuencias de inicio y final, diferentes formas de onda tienen diferentes tasas de cambio en la frecuencia. Uno de los siguientes valores: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG`` (forma)\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Crear un nuevo efecto de sonido.\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: (frecuencia de inicio) Frecuencia de inicio en Hertz (Hz), un n\u00famero entre ``0`` y ``9999``.\n:param freq_end: (frecuencia final) Frecuencia final en Hertz (Hz), un n\u00famero entre ``0`` y ``9999``.\n:param duration: (duraci\u00f3n) Duraci\u00f3n del sonido en milisegundos, un n\u00famero entre ``0`` y ``9999``.\n:param vol_start: (volumen inicial) Valor de volumen inicial, un n\u00famero entre ``0`` y ``255``.\n:param vol_end: (volumen final) Valor de volumen final, un n\u00famero entre ``0`` y ``255``.\n:param waveform: (forma de onda) Tipo de forma de onda, uno de estos valores: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (ruido generado aleatoriamente).\n:param fx: Efecto para a\u00f1adir en el sonido, uno de los siguientes valores: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``o ``FX_NONE``.\n:param shape: (forma) El tipo de curva de interpolaci\u00f3n entre las frecuencias de inicio y final, diferentes formas de onda tienen diferentes tasas de cambio en la frecuencia. Uno de los siguientes valores: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Crear una copia de este ``SoundEffect``. (copiar)\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"Un objeto ``AudioFrame`` es una lista de 32 muestras, cada una de las cuales es un byte\nsin signo (n\u00famero entero entre 0 y 255).\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Sobrescribir los datos en este ``AudioFrame`` con los datos de otra instancia de ``AudioFrame``. (copiar forma)\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: (otro) Instancia ``AudioFrame`` desde la que copiar los datos.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", + "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"Usar la br\u00fajula incorporada. (br\u00fajula)\"\"\"\n\ndef calibrate() -> None:\n \"\"\"Inicia el proceso de calibraci\u00f3n. (calibrar)\n\nExample: ``compass.calibrate()``\n\nAn instructive message will be scrolled to the user after which they will need\nto rotate the device in order to draw a circle on the LED display.\"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"Comprueba si la br\u00fajula est\u00e1 calibrada. (est\u00e1 calibrado)\n\nExample: ``compass.is_calibrated()``\n\n:return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"Deshace la calibraci\u00f3n, haciendo que la br\u00fajula est\u00e9 otra vez sin calibrar. (eliminar calibraci\u00f3n)\n\nExample: ``compass.clear_calibration()``\"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"Obtiene la fuerza del campo magn\u00e9tico en el eje ``x``. (obtener x)\n\nExample: ``compass.get_x()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Obtiene la fuerza del campo magn\u00e9tico en el eje ``y``. (obtener y)\n\nExample: ``compass.get_y()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Obtiene la fuerza del campo magn\u00e9tico en el eje ``z``. (obtener z)\n\nExample: ``compass.get_z()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"Obtiene el rumbo de la br\u00fajula. (rumbo)\n\nExample: ``compass.heading()``\n\n:return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"Obtiene la magnitud del campo magn\u00e9tico alrededor del dispositivo. (obtener fuerza del campo)\n\nExample: ``compass.get_field_strength()``\n\n:return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...", + "/typeshed/stdlib/microbit/display.pyi": "\"\"\"Mostrar texto, im\u00e1genes y animaciones en la pantalla LED de 5 \u00d7 5. (pantalla)\"\"\"\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"Obtiene el brillo del LED que hay en la columna ``x`` y fila ``y``. (obtener p\u00edxel)\n\nExample: ``display.get_pixel(0, 0)``\n\n:param x: La columna de la pantalla (0..4)\n:param y: La fila de la pantalla (0..4)\n:return: A number between 0 (off) and 9 (bright)\"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"Establece el brillo del LED que hay en la columna ``x`` y fila ``y``. (configurar p\u00edxel)\n\nExample: ``display.set_pixel(0, 0, 9)``\n\n:param x: La columna de la pantalla (0..4)\n:param y: La fila de la pantalla (0..4)\n:param value: (valor) El brillo entre 0 (apagado) y 9 (brillante)\"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"Ajusta el brillo de todos los LED a 0 (apagado). (borrar)\n\nExample: ``display.clear()``\"\"\"\n ...\n\ndef show(image: Union[str, float, int, Image, Iterable[Image]], delay: int=400, wait: bool=True, loop: bool=False, clear: bool=False) -> None:\n \"\"\"Muestra im\u00e1genes, letras o d\u00edgitos en la pantalla LED. (mostrar)\n\nExample: ``display.show(Image.HEART)``\n\nWhen ``image`` is an image or a list of images then each image is displayed in turn.\nIf ``image`` is a string or number, each letter or digit is displayed in turn.\n\n:param image: (imagen) Una cadena, n\u00famero, imagen o lista de im\u00e1genes para mostrar.\n:param delay: (retardo) Cada letra, d\u00edgito o imagen se muestra con ``delay`` milisegundos de retardo entre ellos.\n:param wait: (esperar) Si ``wait`` es ``True`` (verdadero), la funci\u00f3n se bloquear\u00e1 hasta que finalice la animaci\u00f3n; de lo contrario, la animaci\u00f3n se ejecutar\u00e1 en segundo plano.\n:param loop: (bucle) Si ``loop`` es ``True`` (verdadero), la animaci\u00f3n se repetir\u00e1 para siempre.\n:param clear: (borrar) Si ``clear`` es ``True`` (verdadero), la pantalla se borrar\u00e1 una vez que la secuencia haya terminado.\n\nThe ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\"\"\"\n ...\n\ndef scroll(text: Union[str, float, int], delay: int=150, wait: bool=True, loop: bool=False, monospace: bool=False) -> None:\n \"\"\"Desplaza un n\u00famero o texto por la pantalla LED. (desplazar)\n\nExample: ``display.scroll('micro:bit')``\n\n:param text: (texto) La cadena a desplazar. Si ``text`` es un entero o de coma flotante, primero se convertir\u00e1 a cadena usando ``str()``.\n:param delay: (retardo) El par\u00e1metro ``delay`` controla la velocidad de desplazamiento del texto.\n:param wait: (esperar) Si ``wait`` es ``True`` (verdadero), la funci\u00f3n se bloquear\u00e1 hasta que finalice la animaci\u00f3n; de lo contrario, la animaci\u00f3n se ejecutar\u00e1 en segundo plano.\n:param loop: (bucle) Si ``loop`` es ``True`` (verdadero), la animaci\u00f3n se repetir\u00e1 para siempre.\n:param monospace: Si ``monospace`` es ``True`` (verdadero), todos los caracteres ocupar\u00e1n columnas de 5 p\u00edxeles de ancho; de lo contrario, habr\u00e1 exactamente 1 columna de p\u00edxeles vac\u00edos entre cada car\u00e1cter a medida que se desplazan.\n\nThe ``wait``, ``loop`` and ``monospace`` arguments must be specified\nusing their keyword.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Enciende la pantalla LED. (encendido)\n\nExample: ``display.on()``\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Apaga la pantalla LED (desactivar la pantalla te permite reutilizar los pines GPIO para otros fines). (apagado)\n\nExample: ``display.off()``\"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"Comprueba si la pantalla LED est\u00e1 activada. (est\u00e1 encendido)\n\nExample: ``display.is_on()``\n\n:return: ``True`` if the display is on, otherwise returns ``False``.\"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"Lee el nivel de luz. (leer nivel de luz)\n\nExample: ``display.read_light_level()``\n\nUses the display's LEDs in reverse-bias mode to sense the amount of light\nfalling on the display.\n\n:return: An integer between 0 and 255 representing the light level, with larger meaning more light.\"\"\"\n ...", + "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Comunicarse con dispositivos que usan el protocolo de bus I\u00b2C.\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"Reinicia un perif\u00e9rico. (inic)\n\nExample: ``i2c.init()``\n\n:param freq: (frec) frecuencia del reloj\n:param sda: pin ``sda`` (por defecto, 20)\n:param scl: pin ``scl`` (por defecto, 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Escanea el bus para buscar dispositivos. (escanear)\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"Lee bytes de un dispositivo. (leer)\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: (dir) La direcci\u00f3n de 7 bits del dispositivo\n:param n: El n\u00famero de bytes a leer\n:param repeat: (repetir) Si es ``True`` (verdadero), no se enviar\u00e1 ning\u00fan bit de parada\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"Escribe bytes en un dispositivo. (escribir)\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: (dir) La direcci\u00f3n de 7 bits del dispositivo\n:param buf: (b\u00faf) Un b\u00fafer que contiene los bytes a escribir\n:param repeat: (repetir) Si es ``True`` (verdadero), no se enviar\u00e1 ning\u00fan bit de parada\"\"\"\n ...", + "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"Responde al sonido usando el micr\u00f3fono integrado (solo V2). (micr\u00f3fono)\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"Obtiene el \u00faltimo evento de sonido grabado (evento actual)\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"Comprueba si se ha escuchado un sonido al menos una vez desde la \u00faltima llamada. (evento anterior)\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: (evento) El evento a comprobar, como ``SoundEvent.LOUD`` o ``SoundEvent.QUIET``\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"Comprueba el evento de sonido m\u00e1s reciente detectado. (evento reciente)\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: (evento) El evento a comprobar, como ``SoundEvent.LOUD`` o ``SoundEvent.QUIET``\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"Obtiene el historial de eventos de sonido como una tupla. (obtener eventos)\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"Establece el umbral para un evento de sonido. (configurar l\u00edmite)\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: (evento) Un evento de sonido, como ``SoundEvent.LOUD`` o ``SoundEvent.QUIET``.\n:param value: (valor) El nivel de umbral en el rango 0 - 255.\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Obtiene el nivel de presi\u00f3n sonora. (nivel de sonido)\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", + "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Controlar el altavoz integrado (solo V2). (altavoz)\"\"\"\n\ndef off() -> None:\n \"\"\"Apaga el altavoz. (apagado)\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Enciende el altavoz. (encendido)\n\nExample: ``speaker.on()``\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Comunicarse con dispositivos que usan el bus de interfaz de perif\u00e9ricos serie (SPI, por sus siglas en ingl\u00e9s).\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"Inicializa la comunicaci\u00f3n SPI.\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: (tasa de baudios) La velocidad de comunicaci\u00f3n.\n:param bits: El ancho en bits de cada transferencia. Actualmente solo se admite ``bits=8}, pero esto puede cambiar en el futuro.\n:param mode: (modo) Determina la combinaci\u00f3n de fase y polaridad del reloj - `ver tabla en l\u00ednea `_.\n:param sclk: pin SCLK (por defecto, 13)\n:param mosi: pin MOSI (por defecto, 15)\n:param miso: pin MISO (por defecto, 14)\"\"\"\n ...\n\ndef read(nbytes: int) -> bytes:\n \"\"\"Lee bytes. (leer)\n\nExample: ``spi.read(64)``\n\n:param nbytes: N\u00famero m\u00e1ximo de bytes a leer.\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Escribe bytes en el bus. (escribir)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: (b\u00fafer) Un b\u00fafer del que leer datos.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Escribe el b\u00fafer ``out`` en el bus y lee cualquier respuesta en el b\u00fafer ``in_``. (escritura leeren)\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: (a) El b\u00fafer en el que escribe una respuesta.\n:param in_: (de) El b\u00fafer del que leer datos.\"\"\"\n ...", + "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Comunicarse con un dispositivo usando una interfaz serie.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"Paridad impar (impar)\"\"\"\nEVEN: int\n\"\"\"Paridad par (par)\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"Inicializa la comunicaci\u00f3n serie.\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: (tasa de baudios) La velocidad de comunicaci\u00f3n.\n:param bits: El tama\u00f1o de bytes transmitidos; micro:bit solo admite 8.\n:param parity: (paridad) C\u00f3mo se comprueba la paridad: ``None``, ``uart.ODD`` o ``uart.EVEN``.\n:param stop: (detener) El n\u00famero de bits de parada; tiene que ser 1 para el micro:bit.\n:param tx: Pin transmisor.\n:param rx: Pin receptor.\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"Comprueba si hay alg\u00fan dato esperando. (alg\u00fan)\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"Lee bytes. (leer)\n\nExample: ``uart.read()``\n\n:param nbytes: Si se especifica ``nbytes``, lee como m\u00e1ximo ese n\u00famero de bytes; si no, lee tantos bytes como sea posible\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"Lee bytes en el ``buf``. (leeren)\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: (b\u00faf) El b\u00fafer en el que escribir.\n:param nbytes: Si se especifica ``nbytes``, lee como m\u00e1ximo ese n\u00famero de bytes; si no, lee ``len(buf)`` bytes.\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Lee una l\u00ednea, terminando en un car\u00e1cter de nueva l\u00ednea. (leerl\u00ednea)\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"Escribe un b\u00fafer en el bus. (escribir)\n\nExample: ``uart.write('hello world')``\n\n:param buf: (b\u00faf) Un objeto de bytes o una cadena.\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", + "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", + "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" + } +} \ No newline at end of file diff --git a/src/micropython/beta/typeshed.fr.json b/src/micropython/beta/typeshed.fr.json new file mode 100644 index 000000000..987c50779 --- /dev/null +++ b/src/micropython/beta/typeshed.fr.json @@ -0,0 +1,51 @@ +{ + "files": { + "/typeshed/stdlib/VERSIONS": "# The structure of this file is as follows:\n# - Blank lines and comments starting with `#` are ignored.\n# - Lines contain the name of a module, followed by a colon,\n# a space, and a version range (for example: `symbol: 2.7-3.9`).\n#\n# Version ranges may be of the form \"X.Y-A.B\" or \"X.Y-\". The\n# first form means that a module was introduced in version X.Y and last\n# available in version A.B. The second form means that the module was\n# introduced in version X.Y and is still available in the latest\n# version of Python.\n#\n# If a submodule is not listed separately, it has the same lifetime as\n# its parent module.\n#\n# Python versions before 2.7 are ignored, so any module that was already\n# present in 2.7 will have \"2.7\" as its minimum version. Version ranges\n# for unsupported versions of Python 3 (currently 3.5 and lower) are\n# generally accurate but we do not guarantee their correctness.\n\nantigravity: 3.0-\narray: 3.0-\naudio: 3.0-\nbuiltins: 3.0-\nerrno: 3.0-\ngc: 3.0-\nlove: 3.0-\nmachine: 3.0-\nmath: 3.0-\nmicrobit: 3.0-\nmicropython: 3.0-\nmusic: 3.0-\nneopixel: 3.0-\nos: 3.0-\nradio: 3.0-\nrandom: 3.0-\nspeech: 3.0-\nstruct: 3.0-\nsys: 3.0-\nthis: 3.0-\ntime: 3.0-\ntyping_extensions: 3.0-\ntyping: 3.0-\nuarray: 3.0-\nucollections: 3.0-\nuerrno: 3.0-\nuos: 3.0-\nurandom: 3.0-\nustruct: 3.0-\nusys: 3.0-\nutime: 3.0-", + "/typeshed/stdlib/abc.pyi": "from _typeshed import SupportsWrite\nfrom typing import Any, Callable, Tuple, Type, TypeVar\n\n_T = TypeVar(\"_T\")\n_FuncT = TypeVar(\"_FuncT\", bound=Callable[..., Any])\n\n# These definitions have special processing in mypy\nclass ABCMeta(type):\n __abstractmethods__: frozenset[str]\n def __init__(\n self, name: str, bases: Tuple[type, ...], namespace: dict[str, Any]\n ) -> None: ...\n def __instancecheck__(cls: ABCMeta, instance: Any) -> Any: ...\n def __subclasscheck__(cls: ABCMeta, subclass: Any) -> Any: ...\n def _dump_registry(cls: ABCMeta, file: SupportsWrite[str] | None = ...) -> None: ...\n def register(cls: ABCMeta, subclass: Type[_T]) -> Type[_T]: ...\n\ndef abstractmethod(funcobj: _FuncT) -> _FuncT: ...\n\nclass abstractproperty(property): ...\n\n# These two are deprecated and not supported by mypy\ndef abstractstaticmethod(callable: _FuncT) -> _FuncT: ...\ndef abstractclassmethod(callable: _FuncT) -> _FuncT: ...\n\nclass ABC(metaclass=ABCMeta): ...\n\ndef get_cache_token() -> object: ...\n", + "/typeshed/stdlib/antigravity.pyi": "", + "/typeshed/stdlib/array.pyi": "from typing import Generic, Iterable, MutableSequence, TypeVar, Union, overload\nfrom typing_extensions import Literal\n\n_IntTypeCode = Literal[\"b\", \"B\", \"h\", \"H\", \"i\", \"I\", \"l\", \"L\", \"q\", \"Q\"]\n_FloatTypeCode = Literal[\"f\", \"d\"]\n_TypeCode = Union[_IntTypeCode, _FloatTypeCode]\n\n_T = TypeVar(\"_T\", int, float)\n\nclass array(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(\n self: array[int],\n typecode: _IntTypeCode,\n __initializer: Union[bytes, Iterable[_T]] = ...,\n ) -> None: ...\n @overload\n def __init__(\n self: array[float],\n typecode: _FloatTypeCode,\n __initializer: Union[bytes, Iterable[_T]] = ...,\n ) -> None: ...\n @overload\n def __init__(\n self, typecode: str, __initializer: Union[bytes, Iterable[_T]] = ...\n ) -> None: ...\n def append(self, __v: _T) -> None: ...\n def decode(self) -> str: ...\n def extend(self, __bb: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n @overload\n def __getitem__(self, i: int) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> array[_T]: ...\n @overload # type: ignore # Overrides MutableSequence\n def __setitem__(self, i: int, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: array[_T]) -> None: ...\n def __add__(self, x: array[_T]) -> array[_T]: ...\n def __iadd__(self, x: array[_T]) -> array[_T]: ... # type: ignore # Overrides MutableSequence\n\nArrayType = array\n", + "/typeshed/stdlib/audio.pyi": "\"\"\"Play sounds using the micro:bit (import ``audio`` for V1 compatibility).\n\"\"\"\n\n# Re-export for V1 compatibility.\nfrom .microbit.audio import (\n is_playing as is_playing,\n play as play,\n stop as stop,\n AudioFrame as AudioFrame,\n SoundEffect as SoundEffect,\n)\n", + "/typeshed/stdlib/builtins.pyi": "import sys\nimport types\nfrom _typeshed import (\n OpenBinaryMode,\n OpenTextMode,\n ReadableBuffer,\n Self,\n StrOrBytesPath,\n SupportsDivMod,\n SupportsKeysAndGetItem,\n SupportsLenAndGetItem,\n SupportsLessThan,\n SupportsLessThanT,\n SupportsRDivMod,\n SupportsWrite,\n)\nfrom types import CodeType, TracebackType\nfrom typing import (\n IO,\n AbstractSet,\n Any,\n AsyncIterable,\n AsyncIterator,\n BinaryIO,\n ByteString,\n Callable,\n FrozenSet,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n MutableMapping,\n MutableSequence,\n MutableSet,\n NoReturn,\n Protocol,\n Reversible,\n Sequence,\n Set,\n Sized,\n SupportsAbs,\n SupportsBytes,\n SupportsComplex,\n SupportsFloat,\n SupportsInt,\n SupportsRound,\n TextIO,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, SupportsIndex, final\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\nclass _SupportsTrunc(Protocol):\n def __trunc__(self) -> int: ...\n\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n_S = TypeVar(\"_S\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T3 = TypeVar(\"_T3\")\n_T4 = TypeVar(\"_T4\")\n_T5 = TypeVar(\"_T5\")\n_TT = TypeVar(\"_TT\", bound=\"type\")\n_TBE = TypeVar(\"_TBE\", bound=\"BaseException\")\n\nclass object:\n __doc__: str | None\n __dict__: dict[str, Any]\n __slots__: str | Iterable[str]\n __module__: str\n __annotations__: dict[str, Any]\n @property\n def __class__(self: _T) -> Type[_T]: ...\n # Ignore errors about type mismatch between property getter and setter\n @__class__.setter\n def __class__(self, __type: Type[object]) -> None: ... # type: ignore # noqa: F811\n def __init__(self) -> None: ...\n def __new__(cls: Type[_T]) -> _T: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __eq__(self, o: object) -> bool: ...\n def __ne__(self, o: object) -> bool: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n def __format__(self, format_spec: str) -> str: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __delattr__(self, name: str) -> None: ...\n def __sizeof__(self) -> int: ...\n def __reduce__(self) -> str | Tuple[Any, ...]: ...\n if sys.version_info >= (3, 8):\n def __reduce_ex__(self, protocol: SupportsIndex) -> str | Tuple[Any, ...]: ...\n else:\n def __reduce_ex__(self, protocol: int) -> str | Tuple[Any, ...]: ...\n def __dir__(self) -> Iterable[str]: ...\n def __init_subclass__(cls) -> None: ...\n\nclass staticmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass classmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass type(object):\n __base__: type\n __bases__: Tuple[type, ...]\n __basicsize__: int\n __dict__: dict[str, Any]\n __dictoffset__: int\n __flags__: int\n __itemsize__: int\n __module__: str\n __name__: str\n __qualname__: str\n __text_signature__: str | None\n __weakrefoffset__: int\n @overload\n def __init__(self, o: object) -> None: ...\n @overload\n def __init__(\n self, name: str, bases: Tuple[type, ...], dict: dict[str, Any], **kwds: Any\n ) -> None: ...\n @overload\n def __new__(cls, o: object) -> type: ...\n @overload\n def __new__(\n cls: Type[_TT],\n name: str,\n bases: Tuple[type, ...],\n namespace: dict[str, Any],\n **kwds: Any,\n ) -> _TT: ...\n def __call__(self, *args: Any, **kwds: Any) -> Any: ...\n def __subclasses__(self: _TT) -> list[_TT]: ...\n def __instancecheck__(self, instance: Any) -> bool: ...\n def __subclasscheck__(self, subclass: type) -> bool: ...\n @classmethod\n def __prepare__(\n metacls, __name: str, __bases: Tuple[type, ...], **kwds: Any\n ) -> Mapping[str, Any]: ...\n if sys.version_info >= (3, 10):\n def __or__(self, t: Any) -> types.UnionType: ...\n def __ror__(self, t: Any) -> types.UnionType: ...\n\nclass super(object):\n @overload\n def __init__(self, t: Any, obj: Any) -> None: ...\n @overload\n def __init__(self, t: Any) -> None: ...\n @overload\n def __init__(self) -> None: ...\n\nclass int:\n @overload\n def __new__(\n cls: Type[_T],\n x: str | bytes | SupportsInt | SupportsIndex | _SupportsTrunc = ...,\n ) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], x: str | bytes | bytearray, base: SupportsIndex\n ) -> _T: ...\n def to_bytes(\n self,\n length: SupportsIndex,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> bytes: ...\n @classmethod\n def from_bytes(\n cls,\n bytes: Iterable[SupportsIndex] | SupportsBytes,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> int: ... # TODO buffer object argument\n def __add__(self, x: int) -> int: ...\n def __sub__(self, x: int) -> int: ...\n def __mul__(self, x: int) -> int: ...\n def __floordiv__(self, x: int) -> int: ...\n def __truediv__(self, x: int) -> float: ...\n def __mod__(self, x: int) -> int: ...\n def __divmod__(self, x: int) -> Tuple[int, int]: ...\n def __radd__(self, x: int) -> int: ...\n def __rsub__(self, x: int) -> int: ...\n def __rmul__(self, x: int) -> int: ...\n def __rfloordiv__(self, x: int) -> int: ...\n def __rtruediv__(self, x: int) -> float: ...\n def __rmod__(self, x: int) -> int: ...\n def __rdivmod__(self, x: int) -> Tuple[int, int]: ...\n @overload\n def __pow__(self, __x: Literal[2], __modulo: int | None = ...) -> int: ...\n @overload\n def __pow__(\n self, __x: int, __modulo: int | None = ...\n ) -> Any: ... # Return type can be int or float, depending on x.\n def __rpow__(self, x: int, mod: int | None = ...) -> Any: ...\n def __and__(self, n: int) -> int: ...\n def __or__(self, n: int) -> int: ...\n def __xor__(self, n: int) -> int: ...\n def __lshift__(self, n: int) -> int: ...\n def __rshift__(self, n: int) -> int: ...\n def __rand__(self, n: int) -> int: ...\n def __ror__(self, n: int) -> int: ...\n def __rxor__(self, n: int) -> int: ...\n def __rlshift__(self, n: int) -> int: ...\n def __rrshift__(self, n: int) -> int: ...\n def __neg__(self) -> int: ...\n def __pos__(self) -> int: ...\n def __invert__(self) -> int: ...\n def __trunc__(self) -> int: ...\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n def __round__(self, ndigits: SupportsIndex = ...) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: int) -> bool: ...\n def __le__(self, x: int) -> bool: ...\n def __gt__(self, x: int) -> bool: ...\n def __ge__(self, x: int) -> bool: ...\n def __str__(self) -> str: ...\n def __float__(self) -> float: ...\n def __int__(self) -> int: ...\n def __abs__(self) -> int: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n def __index__(self) -> int: ...\n\nclass float:\n def __new__(\n cls: Type[_T], x: SupportsFloat | SupportsIndex | str | bytes | bytearray = ...\n ) -> _T: ...\n def __add__(self, x: float) -> float: ...\n def __sub__(self, x: float) -> float: ...\n def __mul__(self, x: float) -> float: ...\n def __floordiv__(self, x: float) -> float: ...\n def __truediv__(self, x: float) -> float: ...\n def __mod__(self, x: float) -> float: ...\n def __divmod__(self, x: float) -> Tuple[float, float]: ...\n def __pow__(\n self, x: float, mod: None = ...\n ) -> float: ... # In Python 3, returns complex if self is negative and x is not whole\n def __radd__(self, x: float) -> float: ...\n def __rsub__(self, x: float) -> float: ...\n def __rmul__(self, x: float) -> float: ...\n def __rfloordiv__(self, x: float) -> float: ...\n def __rtruediv__(self, x: float) -> float: ...\n def __rmod__(self, x: float) -> float: ...\n def __rdivmod__(self, x: float) -> Tuple[float, float]: ...\n def __rpow__(self, x: float, mod: None = ...) -> float: ...\n def __getnewargs__(self) -> Tuple[float]: ...\n def __trunc__(self) -> int: ...\n if sys.version_info >= (3, 9):\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n @overload\n def __round__(self, ndigits: None = ...) -> int: ...\n @overload\n def __round__(self, ndigits: SupportsIndex) -> float: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: float) -> bool: ...\n def __le__(self, x: float) -> bool: ...\n def __gt__(self, x: float) -> bool: ...\n def __ge__(self, x: float) -> bool: ...\n def __neg__(self) -> float: ...\n def __pos__(self) -> float: ...\n def __str__(self) -> str: ...\n def __int__(self) -> int: ...\n def __float__(self) -> float: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass complex:\n @overload\n def __new__(cls: Type[_T], real: float = ..., imag: float = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], real: str | SupportsComplex | SupportsIndex | complex\n ) -> _T: ...\n @property\n def real(self) -> float: ...\n @property\n def imag(self) -> float: ...\n def __add__(self, x: complex) -> complex: ...\n def __sub__(self, x: complex) -> complex: ...\n def __mul__(self, x: complex) -> complex: ...\n def __pow__(self, x: complex, mod: None = ...) -> complex: ...\n def __truediv__(self, x: complex) -> complex: ...\n def __radd__(self, x: complex) -> complex: ...\n def __rsub__(self, x: complex) -> complex: ...\n def __rmul__(self, x: complex) -> complex: ...\n def __rpow__(self, x: complex, mod: None = ...) -> complex: ...\n def __rtruediv__(self, x: complex) -> complex: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __neg__(self) -> complex: ...\n def __pos__(self) -> complex: ...\n def __str__(self) -> str: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass str(Sequence[str]):\n @overload\n def __new__(cls: Type[_T], o: object = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], o: bytes, encoding: str = ..., errors: str = ...\n ) -> _T: ...\n def count(\n self,\n x: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def encode(self, encoding: str = ..., errors: str = ...) -> bytes: ...\n def endswith(\n self,\n __suffix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def format(self, *args: object, **kwargs: object) -> str: ...\n def index(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable: Iterable[str]) -> str: ...\n def lower(self) -> str: ...\n def lstrip(self, __chars: str | None = ...) -> str: ...\n def replace(self, __old: str, __new: str, __count: SupportsIndex = ...) -> str: ...\n def rfind(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def rstrip(self, __chars: str | None = ...) -> str: ...\n def split(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def startswith(\n self,\n __prefix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __chars: str | None = ...) -> str: ...\n def upper(self) -> str: ...\n def __add__(self, s: str) -> str: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: str) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ge__(self, x: str) -> bool: ...\n def __getitem__(self, i: int | slice) -> str: ...\n def __gt__(self, x: str) -> bool: ...\n def __hash__(self) -> int: ...\n def __iter__(self) -> Iterator[str]: ...\n def __le__(self, x: str) -> bool: ...\n def __len__(self) -> int: ...\n def __lt__(self, x: str) -> bool: ...\n def __mod__(self, x: Any) -> str: ...\n def __mul__(self, n: SupportsIndex) -> str: ...\n def __ne__(self, x: object) -> bool: ...\n def __repr__(self) -> str: ...\n def __rmul__(self, n: SupportsIndex) -> str: ...\n def __str__(self) -> str: ...\n def __getnewargs__(self) -> Tuple[str]: ...\n\nclass bytes(ByteString):\n @overload\n def __new__(cls: Type[_T], ints: Iterable[SupportsIndex]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], string: str, encoding: str, errors: str = ...) -> _T: ...\n @overload\n def __new__(cls: Type[_T], length: SupportsIndex) -> _T: ...\n @overload\n def __new__(cls: Type[_T]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], o: SupportsBytes) -> _T: ...\n def count(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def endswith(\n self,\n __suffix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def index(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable_of_bytes: Iterable[ByteString | memoryview]) -> bytes: ...\n def lower(self) -> bytes: ...\n def lstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def replace(\n self, __old: bytes, __new: bytes, __count: SupportsIndex = ...\n ) -> bytes: ...\n def rfind(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def rstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def split(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def startswith(\n self,\n __prefix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __bytes: bytes | None = ...) -> bytes: ...\n def upper(self) -> bytes: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytes: ...\n def __add__(self, s: bytes) -> bytes: ...\n def __mul__(self, n: SupportsIndex) -> bytes: ...\n def __rmul__(self, n: SupportsIndex) -> bytes: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n def __getnewargs__(self) -> Tuple[bytes]: ...\n\nclass bytearray:\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, ints: Iterable[SupportsIndex]) -> None: ...\n @overload\n def __init__(self, string: str, encoding: str, errors: str = ...) -> None: ...\n @overload\n def __init__(self, length: SupportsIndex) -> None: ...\n def append(self, __item: SupportsIndex) -> None: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def extend(self, __iterable_of_ints: Iterable[SupportsIndex]) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytearray: ...\n @overload\n def __setitem__(self, i: SupportsIndex, x: SupportsIndex) -> None: ...\n @overload\n def __setitem__(self, s: slice, x: Iterable[SupportsIndex] | bytes) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, s: bytes) -> bytearray: ...\n def __iadd__(self, s: Iterable[int]) -> bytearray: ...\n def __mul__(self, n: SupportsIndex) -> bytearray: ...\n def __rmul__(self, n: SupportsIndex) -> bytearray: ...\n def __imul__(self, n: SupportsIndex) -> bytearray: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n\nclass memoryview(Sized, Sequence[int]):\n def __init__(self, obj: ReadableBuffer) -> None: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> memoryview: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n def __len__(self) -> int: ...\n @overload\n def __setitem__(self, s: slice, o: bytes) -> None: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: SupportsIndex) -> None: ...\n\n@final\nclass bool(int):\n def __new__(cls: Type[_T], __o: object = ...) -> _T: ...\n @overload\n def __and__(self, x: bool) -> bool: ...\n @overload\n def __and__(self, x: int) -> int: ...\n @overload\n def __or__(self, x: bool) -> bool: ...\n @overload\n def __or__(self, x: int) -> int: ...\n @overload\n def __xor__(self, x: bool) -> bool: ...\n @overload\n def __xor__(self, x: int) -> int: ...\n @overload\n def __rand__(self, x: bool) -> bool: ...\n @overload\n def __rand__(self, x: int) -> int: ...\n @overload\n def __ror__(self, x: bool) -> bool: ...\n @overload\n def __ror__(self, x: int) -> int: ...\n @overload\n def __rxor__(self, x: bool) -> bool: ...\n @overload\n def __rxor__(self, x: int) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n\nclass slice(object):\n start: Any\n step: Any\n stop: Any\n __hash__: None # type: ignore\n def indices(self, len: SupportsIndex) -> Tuple[int, int, int]: ...\n\nclass tuple(Sequence[_T_co], Generic[_T_co]):\n def __new__(cls: Type[_T], iterable: Iterable[_T_co] = ...) -> _T: ...\n def __len__(self) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n @overload\n def __getitem__(self, x: int) -> _T_co: ...\n @overload\n def __getitem__(self, x: slice) -> Tuple[_T_co, ...]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __lt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __le__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __gt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __ge__(self, x: Tuple[_T_co, ...]) -> bool: ...\n @overload\n def __add__(self, x: Tuple[_T_co, ...]) -> Tuple[_T_co, ...]: ...\n @overload\n def __add__(self, x: Tuple[_T, ...]) -> Tuple[_T_co | _T, ...]: ...\n def __mul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def __rmul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def count(self, __value: Any) -> int: ...\n def index(\n self, __value: Any, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n\n# Can we remove this?\nclass function:\n # TODO not defined in builtins!\n __name__: str\n __module__: str\n __code__: CodeType\n __qualname__: str\n __annotations__: dict[str, Any]\n\nclass frozenset(AbstractSet[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls: type[Self]) -> Self: ...\n @overload\n def __new__(cls: type[Self], __iterable: Iterable[_T_co]) -> Self: ...\n def copy(self) -> FrozenSet[_T_co]: ...\n def difference(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def intersection(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def isdisjoint(self, s: Iterable[_T_co]) -> bool: ...\n def issubset(self, s: Iterable[object]) -> bool: ...\n def issuperset(self, s: Iterable[object]) -> bool: ...\n def symmetric_difference(self, s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def union(self, *s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __sub__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass list(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[_T]) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> list[_T]: ...\n def append(self, __object: _T) -> None: ...\n def extend(self, __iterable: Iterable[_T]) -> None: ...\n def pop(self, __index: SupportsIndex = ...) -> _T: ...\n def index(\n self, __value: _T, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n def count(self, __value: _T) -> int: ...\n def insert(self, __index: SupportsIndex, __object: _T) -> None: ...\n def remove(self, __value: _T) -> None: ...\n def reverse(self) -> None: ...\n @overload\n def sort(\n self: list[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n ) -> None: ...\n @overload\n def sort(\n self, *, key: Callable[[_T], SupportsLessThan], reverse: bool = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> list[_T]: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, x: list[_T]) -> list[_T]: ...\n def __iadd__(self: _S, x: Iterable[_T]) -> _S: ...\n def __mul__(self, n: SupportsIndex) -> list[_T]: ...\n def __rmul__(self, n: SupportsIndex) -> list[_T]: ...\n def __imul__(self: _S, n: SupportsIndex) -> _S: ...\n def __contains__(self, o: object) -> bool: ...\n def __reversed__(self) -> Iterator[_T]: ...\n def __gt__(self, x: list[_T]) -> bool: ...\n def __ge__(self, x: list[_T]) -> bool: ...\n def __lt__(self, x: list[_T]) -> bool: ...\n def __le__(self, x: list[_T]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass dict(MutableMapping[_KT, _VT], Generic[_KT, _VT]):\n @overload\n def __init__(self: dict[_KT, _VT]) -> None: ...\n @overload\n def __init__(self: dict[str, _VT], **kwargs: _VT) -> None: ...\n @overload\n def __init__(\n self, map: SupportsKeysAndGetItem[_KT, _VT], **kwargs: _VT\n ) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n def __new__(cls: Type[_T1], *args: Any, **kwargs: Any) -> _T1: ...\n def clear(self) -> None: ...\n def copy(self) -> dict[_KT, _VT]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, __key: _KT, __default: _VT = ...) -> _VT: ...\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT]: ...\n def items(self) -> ItemsView[_KT, _VT]: ...\n @classmethod\n @overload\n def fromkeys(\n cls, __iterable: Iterable[_T], __value: None = ...\n ) -> dict[_T, Any | None]: ...\n @classmethod\n @overload\n def fromkeys(cls, __iterable: Iterable[_T], __value: _S) -> dict[_T, _S]: ...\n def __len__(self) -> int: ...\n def __getitem__(self, k: _KT) -> _VT: ...\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n def __delitem__(self, v: _KT) -> None: ...\n def __iter__(self) -> Iterator[_KT]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __or__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ror__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ior__(self, __value: Mapping[_KT, _VT]) -> dict[_KT, _VT]: ... # type: ignore\n\nclass set(MutableSet[_T], Generic[_T]):\n def __init__(self, iterable: Iterable[_T] = ...) -> None: ...\n def add(self, element: _T) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> Set[_T]: ...\n def difference(self, *s: Iterable[Any]) -> Set[_T]: ...\n def difference_update(self, *s: Iterable[Any]) -> None: ...\n def discard(self, element: _T) -> None: ...\n def intersection(self, *s: Iterable[Any]) -> Set[_T]: ...\n def intersection_update(self, *s: Iterable[Any]) -> None: ...\n def isdisjoint(self, s: Iterable[Any]) -> bool: ...\n def issubset(self, s: Iterable[Any]) -> bool: ...\n def issuperset(self, s: Iterable[Any]) -> bool: ...\n def pop(self) -> _T: ...\n def remove(self, element: _T) -> None: ...\n def symmetric_difference(self, s: Iterable[_T]) -> Set[_T]: ...\n def symmetric_difference_update(self, s: Iterable[_T]) -> None: ...\n def union(self, *s: Iterable[_T]) -> Set[_T]: ...\n def update(self, *s: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __iand__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __or__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ior__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __sub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __isub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __xor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass enumerate(Iterator[Tuple[int, _T]], Generic[_T]):\n def __init__(self, iterable: Iterable[_T], start: int = ...) -> None: ...\n def __iter__(self) -> Iterator[Tuple[int, _T]]: ...\n def __next__(self) -> Tuple[int, _T]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass range(Sequence[int]):\n start: int\n stop: int\n step: int\n @overload\n def __init__(self, stop: SupportsIndex) -> None: ...\n @overload\n def __init__(\n self, start: SupportsIndex, stop: SupportsIndex, step: SupportsIndex = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> range: ...\n def __repr__(self) -> str: ...\n def __reversed__(self) -> Iterator[int]: ...\n\nclass property(object):\n fget: Callable[[Any], Any] | None\n fset: Callable[[Any, Any], None] | None\n fdel: Callable[[Any], None] | None\n def __init__(\n self,\n fget: Callable[[Any], Any] | None = ...,\n fset: Callable[[Any, Any], None] | None = ...,\n fdel: Callable[[Any], None] | None = ...,\n doc: str | None = ...,\n ) -> None: ...\n def getter(self, fget: Callable[[Any], Any]) -> property: ...\n def setter(self, fset: Callable[[Any, Any], None]) -> property: ...\n def deleter(self, fdel: Callable[[Any], None]) -> property: ...\n def __get__(self, obj: Any, type: type | None = ...) -> Any: ...\n def __set__(self, obj: Any, value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nclass _NotImplementedType(Any): # type: ignore\n # A little weird, but typing the __call__ as NotImplemented makes the error message\n # for NotImplemented() much better\n __call__: NotImplemented # type: ignore\n\nNotImplemented: _NotImplementedType\n\ndef abs(__x: SupportsAbs[_T]) -> _T: ...\ndef all(__iterable: Iterable[object]) -> bool: ...\ndef any(__iterable: Iterable[object]) -> bool: ...\ndef bin(__number: int | SupportsIndex) -> str: ...\n\nif sys.version_info >= (3, 7):\n def breakpoint(*args: Any, **kws: Any) -> None: ...\n\ndef callable(__obj: object) -> bool: ...\ndef chr(__i: int) -> str: ...\n\n# We define this here instead of using os.PathLike to avoid import cycle issues.\n# See https://github.com/python/typeshed/pull/991#issuecomment-288160993\n_AnyStr_co = TypeVar(\"_AnyStr_co\", str, bytes, covariant=True)\n\nclass _PathLike(Protocol[_AnyStr_co]):\n def __fspath__(self) -> _AnyStr_co: ...\n\nif sys.version_info >= (3, 10):\n def aiter(__iterable: AsyncIterable[_T]) -> AsyncIterator[_T]: ...\n @overload\n async def anext(__i: AsyncIterator[_T]) -> _T: ...\n @overload\n async def anext(__i: AsyncIterator[_T], default: _VT) -> _T | _VT: ...\n\ndef delattr(__obj: Any, __name: str) -> None: ...\ndef dir(__o: object = ...) -> list[str]: ...\n@overload\ndef divmod(__x: SupportsDivMod[_T_contra, _T_co], __y: _T_contra) -> _T_co: ...\n@overload\ndef divmod(__x: _T_contra, __y: SupportsRDivMod[_T_contra, _T_co]) -> _T_co: ...\ndef eval(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\ndef exec(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\n\nclass filter(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __function: None, __iterable: Iterable[_T | None]) -> None: ...\n @overload\n def __init__(\n self, __function: Callable[[_T], Any], __iterable: Iterable[_T]\n ) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\n@overload\ndef getattr(__o: object, name: str) -> Any: ...\n\n# While technically covered by the last overload, spelling out the types for None and bool\n# help mypy out in some tricky situations involving type context (aka bidirectional inference)\n@overload\ndef getattr(__o: object, name: str, __default: None) -> Any | None: ...\n@overload\ndef getattr(__o: object, name: str, __default: bool) -> Any | bool: ...\n@overload\ndef getattr(__o: object, name: str, __default: _T) -> Any | _T: ...\ndef globals() -> dict[str, Any]: ...\ndef hasattr(__obj: object, __name: str) -> bool: ...\ndef hash(__obj: object) -> int: ...\ndef help(*args: Any, **kwds: Any) -> None: ...\ndef hex(__number: int | SupportsIndex) -> str: ...\ndef id(__obj: object) -> int: ...\ndef input(__prompt: Any = ...) -> str: ...\n@overload\ndef iter(__iterable: Iterable[_T]) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T | None], __sentinel: None) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T], __sentinel: Any) -> Iterator[_T]: ...\n\nif sys.version_info >= (3, 10):\n def isinstance(\n __obj: object,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n def issubclass(\n __cls: type,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n\nelse:\n def isinstance(\n __obj: object, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n def issubclass(\n __cls: type, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n\ndef len(__obj: Sized) -> int: ...\ndef locals() -> dict[str, Any]: ...\n\nclass map(Iterator[_S], Generic[_S]):\n @overload\n def __init__(self, __func: Callable[[_T1], _S], __iter1: Iterable[_T1]) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4, _T5], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[..., _S],\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> None: ...\n def __iter__(self) -> Iterator[_S]: ...\n def __next__(self) -> _S: ...\n\n@overload\ndef max(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef max(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef max(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef max(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef min(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef min(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef min(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef min(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef next(__i: Iterator[_T]) -> _T: ...\n@overload\ndef next(__i: Iterator[_T], default: _VT) -> _T | _VT: ...\ndef oct(__number: int | SupportsIndex) -> str: ...\n\n_OpenFile = Union[StrOrBytesPath, int]\n_Opener = Callable[[str, int], int]\n\n# Text mode: always returns a TextIOWrapper\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenTextMode = ...,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> TextIO: ...\n\n# Unbuffered binary mode: returns a FileIO\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenBinaryMode,\n buffering: int = ...,\n encoding: None = ...,\n errors: None = ...,\n newline: None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> BinaryIO: ...\n\n# Fallback if mode is not specified\n@overload\ndef open(\n file: _OpenFile,\n mode: str,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> IO[Any]: ...\ndef ord(__c: str | bytes) -> int: ...\ndef print(\n *values: object,\n sep: str | None = ...,\n end: str | None = ...,\n file: SupportsWrite[str] | None = ...,\n flush: bool = ...,\n) -> None: ...\n\n_E = TypeVar(\"_E\", contravariant=True)\n_M = TypeVar(\"_M\", contravariant=True)\n\nclass _SupportsPow2(Protocol[_E, _T_co]):\n def __pow__(self, __other: _E) -> _T_co: ...\n\nclass _SupportsPow3(Protocol[_E, _M, _T_co]):\n def __pow__(self, __other: _E, __modulo: _M) -> _T_co: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def pow(\n base: int, exp: int, mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(base: int, exp: int, mod: int) -> int: ...\n @overload\n def pow(base: float, exp: float, mod: None = ...) -> float: ...\n @overload\n def pow(base: _SupportsPow2[_E, _T_co], exp: _E) -> _T_co: ...\n @overload\n def pow(base: _SupportsPow3[_E, _M, _T_co], exp: _E, mod: _M) -> _T_co: ...\n\nelse:\n @overload\n def pow(\n __base: int, __exp: int, __mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(__base: int, __exp: int, __mod: int) -> int: ...\n @overload\n def pow(__base: float, __exp: float, __mod: None = ...) -> float: ...\n @overload\n def pow(__base: _SupportsPow2[_E, _T_co], __exp: _E) -> _T_co: ...\n @overload\n def pow(__base: _SupportsPow3[_E, _M, _T_co], __exp: _E, __mod: _M) -> _T_co: ...\n\nclass reversed(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __sequence: Reversible[_T]) -> None: ...\n @overload\n def __init__(self, __sequence: SupportsLenAndGetItem[_T]) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\ndef repr(__obj: object) -> str: ...\n@overload\ndef round(number: SupportsRound[Any]) -> int: ...\n@overload\ndef round(number: SupportsRound[Any], ndigits: None) -> int: ...\n@overload\ndef round(number: SupportsRound[_T], ndigits: SupportsIndex) -> _T: ...\ndef setattr(__obj: object, __name: str, __value: Any) -> None: ...\n@overload\ndef sorted(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n) -> list[SupportsLessThanT]: ...\n@overload\ndef sorted(\n __iterable: Iterable[_T],\n *,\n key: Callable[[_T], SupportsLessThan],\n reverse: bool = ...,\n) -> list[_T]: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], start: _S) -> _T | _S: ...\n\nelse:\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], __start: _S) -> _T | _S: ...\n\nclass zip(Iterator[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls, __iter1: Iterable[_T1]) -> zip[Tuple[_T1]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2]\n ) -> zip[Tuple[_T1, _T2]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]\n ) -> zip[Tuple[_T1, _T2, _T3]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4, _T5]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> zip[Tuple[Any, ...]]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __next__(self) -> _T_co: ...\n\ndef __import__(\n name: str,\n globals: Mapping[str, Any] | None = ...,\n locals: Mapping[str, Any] | None = ...,\n fromlist: Sequence[str] = ...,\n level: int = ...,\n) -> Any: ...\n\n# Actually the type of Ellipsis is , but since it's\n# not exposed anywhere under that name, we make it private here.\nclass ellipsis: ...\n\nEllipsis: ellipsis\n\nclass BaseException(object):\n args: Tuple[Any, ...]\n __cause__: BaseException | None\n __context__: BaseException | None\n __suppress_context__: bool\n __traceback__: TracebackType | None\n def __init__(self, *args: object) -> None: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def with_traceback(self: _TBE, tb: TracebackType | None) -> _TBE: ...\n\nclass GeneratorExit(BaseException): ...\nclass KeyboardInterrupt(BaseException): ...\n\nclass SystemExit(BaseException):\n code: int\n\nclass Exception(BaseException): ...\n\nclass StopIteration(Exception):\n value: Any\n\n_StandardError = Exception\n\nclass OSError(Exception):\n errno: int\n strerror: str\n # filename, filename2 are actually str | bytes | None\n filename: Any\n filename2: Any\n if sys.platform == \"win32\":\n winerror: int\n\nif sys.platform == \"win32\":\n WindowsError = OSError\n\nclass ArithmeticError(_StandardError): ...\nclass AssertionError(_StandardError): ...\n\nclass AttributeError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n obj: object\n\nclass EOFError(_StandardError): ...\n\nclass ImportError(_StandardError):\n def __init__(\n self, *args: object, name: str | None = ..., path: str | None = ...\n ) -> None: ...\n name: str | None\n path: str | None\n msg: str # undocumented\n\nclass LookupError(_StandardError): ...\nclass MemoryError(_StandardError): ...\n\nclass NameError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n\nclass RuntimeError(_StandardError): ...\n\nclass StopAsyncIteration(Exception):\n value: Any\n\nclass SyntaxError(_StandardError):\n msg: str\n lineno: int | None\n offset: int | None\n text: str | None\n filename: str | None\n if sys.version_info >= (3, 10):\n end_lineno: int | None\n end_offset: int | None\n\nclass TypeError(_StandardError): ...\nclass ValueError(_StandardError): ...\nclass FloatingPointError(ArithmeticError): ...\nclass OverflowError(ArithmeticError): ...\nclass ZeroDivisionError(ArithmeticError): ...\nclass IndexError(LookupError): ...\nclass KeyError(LookupError): ...\nclass NotImplementedError(RuntimeError): ...\nclass IndentationError(SyntaxError): ...\nclass TabError(IndentationError): ...\n", + "/typeshed/stdlib/errno.pyi": "from typing import Mapping\n\nerrorcode: Mapping[int, str]\n\nEACCES: int\nEADDRINUSE: int\nEAGAIN: int\nEALREADY: int\nEBADF: int\nECONNABORTED: int\nECONNREFUSED: int\nECONNRESET: int\nEEXIST: int\nEHOSTUNREACH: int\nEINPROGRESS: int\nEINVAL: int\nEIO: int\nEISDIR: int\nENOBUFS: int\nENODEV: int\nENOENT: int\nENOMEM: int\nENOTCONN: int\nEOPNOTSUPP: int\nEPERM: int\nETIMEDOUT: int\n", + "/typeshed/stdlib/gc.pyi": "\"\"\"Contr\u00f4ler le ramasse-miettes\"\"\"\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"Active la collecte automatique du ramasse-miettes.\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"D\u00e9sactive la collecte automatique du ramasse-miettes.\n\nHeap memory can still be allocated,\nand garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"Ex\u00e9cute une collecte avec le ramasse-miettes\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"Obtenir le nombre d'octets allou\u00e9s pour le tas en RAM\n\n:return: The number of bytes allocated.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"Obtenir le nombre d'octets disponibles pour le tas en RAM, ou -1 si ce nombre est inconnu.\n\n:return: The number of bytes free.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"Demander le seuil d'allocation suppl\u00e9mentaire GC.\n\n:return: The GC allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"Fixer le seuil d'allocation suppl\u00e9mentaire GC.\n\nNormally, a collection is triggered only when a new allocation\ncannot be satisfied, i.e. on an out-of-memory (OOM) condition.\nIf this function is called, in addition to OOM, a collection\nwill be triggered each time after ``amount`` bytes have been\nallocated (in total, since the previous time such an amount of bytes\nhave been allocated). ``amount`` is usually specified as less than the\nfull heap size, with the intention to trigger a collection earlier than when the\nheap becomes exhausted, and in the hope that an early collection will prevent\nexcessive memory fragmentation. This is a heuristic measure, the effect\nof which will vary from application to application, as well as\nthe optimal value of the ``amount`` parameter.\n\nA value of -1 means a disabled allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\n\n:param amount: Le nombre d'octets apr\u00e8s lequel un passage du ramasse-miettes doit \u00eatre d\u00e9clench\u00e9.\"\"\"\n ...", + "/typeshed/stdlib/log.pyi": "\"\"\"Journalisez des donn\u00e9es sur votre micro:bit V2.\"\"\"\nfrom typing import Literal, Mapping, Optional, Union, overload\nMILLISECONDS = 1\n\"\"\"Format d'horodatage en millisecondes.\"\"\"\nSECONDS = 10\n\"\"\"Format d'horodatage en secondes.\"\"\"\nMINUTES = 600\n\"\"\"Format d'horodatage en minutes.\"\"\"\nHOURS = 36000\n\"\"\"Format d'horodatage en heures.\"\"\"\nDAYS = 864000\n\"\"\"Format d'horodatage en jours.\"\"\"\n\ndef set_labels(*labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]]=SECONDS) -> None:\n \"\"\"D\u00e9finir l'en-t\u00eate du fichier journal\n\nExample: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\nIdeally this function should be called a single time, before any data is\nlogged, to configure the data table header once.\n\nIf a log file already exists when the program starts, or if this function\nis called multiple times, it will check the labels already defined in the\nlog file. If this function call contains any new labels not already\npresent, it will generate a new header row with the additional columns.\n\nBy default the first column contains a timestamp for each row. The time\nunit can be selected via the timestamp argument.\n\n:param *labels: Un nombre quelconque d'arguments positionnels, chacun correspondant \u00e0 une entr\u00e9e dans l'en-t\u00eate du journal.\n:param timestamp: (horodatage) S\u00e9lectionnez l'unit\u00e9 d'horodatage qui sera automatiquement ajout\u00e9e comme premi\u00e8re colonne de chaque ligne. Les valeurs d'horodatage peuvent \u00eatre l'une des suivantes ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, ``log.HOURS``, ``log.DAYS`` ou ``None`` pour d\u00e9sactiver l'horodatage. La valeur par d\u00e9faut est ``log.SECONDS``.\"\"\"\n ...\n\n@overload\ndef add(data_dictionary: Optional[Mapping[str, Union[str, int, float]]]) -> None:\n \"\"\"Ajoute une ligne de donn\u00e9es au journal en passant un dictionnaire d'en-t\u00eates et de valeurs.\n\nExample: ``log.add({ 'temp': temperature() })``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\n\n:param data_dictionary: Les donn\u00e9es \u00e0 enregistrer sous forme de dictionnaire avec une cl\u00e9 pour chaque en-t\u00eate.\"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"Ajoute une ligne de donn\u00e9es au journal en utilisant des arguments nomm\u00e9s.\n\nExample: ``log.add(temp=temperature())``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"Supprime le contenu du journal, y compris les en-t\u00eates.\n\nExample: ``log.delete()``\n\nTo add the log headers again the ``set_labels`` function should to be called after this function.\n\nThere are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\nand \u201cfast\u201d invalidates the data without removing it.\n\n:param full: ``True`` s\u00e9lectionne un effacement \"complet\" et ``False`` s\u00e9lectionne la m\u00e9thode d'effacement \"rapide\".\"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"Configurez la mise en miroir de l'activit\u00e9 d'enregistrement des donn\u00e9es sur la sortie s\u00e9rie.\n\nExample: ``log.set_mirroring(True)``\n\nSerial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n:param serial: ``True`` active la mise en miroir des donn\u00e9es sur la sortie s\u00e9rie.\"\"\"\n ...", + "/typeshed/stdlib/love.pyi": "def badaboom() -> None: ...\n", + "/typeshed/stdlib/machine.pyi": "\"\"\"Utilitaires bas niveau\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"R\u00e9cup\u00e8re une cha\u00eene d'octets repr\u00e9sentant un identifiant unique d'une carte.\n\nExample: ``machine.unique_id()``\n\n:return: An identifier that varies from one board instance to another.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"R\u00e9initialise l'appareil d'une mani\u00e8re similaire \u00e0 la pression sur le bouton RESET externe.\n\nExample: ``machine.reset()``\"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"R\u00e9cup\u00e8re la fr\u00e9quence du CPU en hertz.\n\nExample: ``machine.freq()``\n\n:return: The CPU frequency.\"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"D\u00e9sactiver les demandes d'interruption.\n\nExample: ``interrupt_state = machine.disable_irq()``\n\n:return: the previous IRQ state which should be considered an opaque value\n\nThe return value should be passed to the ``enable_irq`` function to restore\ninterrupts to their original state.\"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"R\u00e9activer les demandes d'interruption.\n\nExample: ``machine.enable_irq(interrupt_state)``\n\n:param state: La valeur qui a \u00e9t\u00e9 renvoy\u00e9e par l'appel le plus r\u00e9cent \u00e0 la fonction ``disable_irq``.\"\"\"\n ...\n\ndef time_pulse_us(pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int=1000000) -> int:\n \"\"\"Chronom\u00e9trer une impulsion sur une broche.\n\nExample: ``time_pulse_us(pin0, 1)``\n\nIf the current input value of the pin is different to ``pulse_level``, the\nfunction first waits until the pin input becomes equal to\n``pulse_level``, then times the duration that the pin is equal to\n``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\nstarts straight away.\n\n:param pin: (broche) La broche \u00e0 utiliser\n:param pulse_level: 0 pour chronom\u00e9trer une impulsion basse ou 1 pour chronom\u00e9trer une impulsion haute.\n:param timeout_us: Un d\u00e9lai d'attente en microseconde\n:return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\"\"\"\n ...\n\nclass mem:\n \"\"\"La classe pour les vues m\u00e9moire ``mem8``, ``mem16`` et ``mem32``.\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"Acc\u00e9der \u00e0 une valeur dans la m\u00e9moire.\n\n:param address: L'adresse en m\u00e9moire.\n:return: The value at that address as an integer.\"\"\"\n ...\n\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"\u00c9crire une valeur \u00e0 une adresse donn\u00e9e.\n\n:param address: L'adresse en m\u00e9moire.\n:param value: La valeur enti\u00e8re \u00e0 \u00e9crire.\"\"\"\n ...\nmem8: mem\n\"\"\"Vue de la m\u00e9moire au format 8-bit (octet).\"\"\"\nmem16: mem\n\"\"\"Vue de la m\u00e9moire au format 16-bit.\"\"\"\nmem32: mem\n\"\"\"Vue de la m\u00e9moire au format 32-bit.\"\"\"", + "/typeshed/stdlib/math.pyi": "\"\"\"Fonctions math\u00e9matiques.\"\"\"\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"Calculer le cosinus invers\u00e9.\n\nExample: ``math.acos(1)``\n\n:param x: Un nombre\n:return: The inverse cosine of ``x``\"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"Calculer le sinus invers\u00e9.\n\nExample: ``math.asin(0)``\n\n:param x: Un nombre\n:return: The inverse sine of ``x``\"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"Calculer la tangente inverse.\n\nExample: ``math.atan(0)``\n\n:param x: Un nombre\n:return: The inverse tangent of ``x``\"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"Calculer la valeur principale de la tangente inverse de ``y/x``.\n\nExample: ``math.atan2(0, -1)``\n\n:param y: Un nombre\n:param x: Un nombre\n:return: The principal value of the inverse tangent of ``y/x``\"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"Arrondir un nombre vers l'infini positif.\n\nExample: ``math.ceil(0.1)``\n\n:param x: Un nombre\n:return: ``x`` rounded towards positive infinity.\"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"Calculer ``x`` avec le signe de ``y``.\n\nExample: ``math.copysign(1, -1)``\n\n:param x: Un nombre\n:param y: La source du signe pour la valeur de retour\n:return: ``x`` with the sign of ``y``\"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"Calculer le cosinus de ``x``.\n\nExample: ``math.cos(0)``\n\n:param x: Un nombre\n:return: The cosine of ``x``\"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"Convertir les radians en degr\u00e9s. (degr\u00e9s)\n\nExample: ``math.degrees(2 * math.pi)``\n\n:param x: Une valeur en radians\n:return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"Calculer l'exponentiel de ``x``.\n\nExample: ``math.exp(1)``\n\n:param x: Un nombre\n:return: The exponential of ``x``.\"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"Renvoie la valeur absolue de ``x``.\n\nExample: ``math.fabs(-0.1)``\n\n:param x: Un nombre\n:return: The absolute value of ``x``\"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"Arrondir un nombre vers l'infini n\u00e9gatif.\n\nExample: ``math.floor(0.9)``\n\n:param x: Un nombre\n:return: ``x`` rounded towards negative infinity.\"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"Calculer le reste de ``x/y``.\n\nExample: ``math.fmod(10, 3)``\n\n:param x: Le num\u00e9rateur\n:param y: Le d\u00e9nominateur\"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"D\u00e9compose un nombre \u00e0 virgule flottante en sa mantisse et son exposant.\n\nExample: ``mantissa, exponent = math.frexp(2)``\n\nThe returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\nexactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\nthe relation ``0.5 <= abs(m) < 1`` holds.\n\n:param x: Un nombre \u00e0 virgule flottante\n:return: A tuple of length two containing its mantissa then exponent\"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"V\u00e9rifier si une valeur est finie.\n\nExample: ``math.isfinite(float('inf'))``\n\n:param x: Un nombre.\n:return: ``True`` if ``x`` is finite, ``False`` otherwise.\"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"V\u00e9rifie si une valeur est infinie.\n\nExample: ``math.isinf(float('-inf'))``\n\n:param x: Un nombre.\n:return: ``True`` if ``x`` is infinite, ``False`` otherwise.\"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"V\u00e9rifie si une valeur n'est pas un nombre (NaN).\n\nExample: ``math.isnan(float('nan'))``\n\n:param x: Un nombre\n:return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"Calculer ``x * (2**exp)``.\n\nExample: ``math.ldexp(0.5, 2)``\n\n:param x: Un nombre\n:param exp: Exposant entier\n:return: ``x * (2**exp)``\"\"\"\n ...\n\ndef log(x: float, base: float=e) -> float:\n \"\"\"Calculer le logarithme de ``x`` \u00e0 la base donn\u00e9e (logarithme naturel par d\u00e9faut).\n\nExample: ``math.log(math.e)``\n\nWith one argument, return the natural logarithm of x (to base e).\n\nWith two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n:param x: Un nombre\n:param base: La base \u00e0 utiliser\n:return: The natural logarithm of ``x``\"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"Calculer les parties fractionnelles et int\u00e9grales de ``x``.\n\nExample: ``fractional, integral = math.modf(1.5)``\n\n:param x: Un nombre\n:return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\nBoth the fractional and integral values have the same sign as ``x``.\"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"Renvoie ``x`` \u00e0 la puissance ``y``.\n\nExample: ``math.pow(4, 0.5)``\n\n:param x: Un nombre\n:param y: L'exposant\n:return: ``x`` to the power of ``y``\"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"Convertir les degr\u00e9s en radians.\n\nExample: ``math.radians(360)``\n\n:param x: Une valeur en degr\u00e9s\n:return: The value converted to radians\"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"Calculer le sinus de ``x``.\n\nExample: ``math.sin(math.pi/2)``\n\n:param x: Un nombre\n:return: The sine of ``x``\"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"Calculer la racine carr\u00e9e de ``x``.\n\nExample: ``math.sqrt(4)``\n\n:param x: Un nombre\n:return: The square root of ``x``\"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"Calculer la tangente de ``x``.\n\nExample: ``math.tan(0)``\n\n:param x: Un nombre\n:return: The tangent of ``x``.\"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"Arrondir un nombre vers 0.\n\nExample: ``math.trunc(-0.9)``\n\n:param x: Un nombre\n:return: ``x`` rounded towards zero.\"\"\"\n ...\ne: float\n\"\"\"Base du logarithme naturel\"\"\"\npi: float\n\"\"\"Le ratio entre la circonf\u00e9rence d'un cercle et son diam\u00e8tre\"\"\"", + "/typeshed/stdlib/micropython.pyi": "\"\"\"Les coulisses de MicroPython.\"\"\"\nfrom typing import Any, TypeVar, overload\n_T = TypeVar('_T')\n\ndef const(expr: _T) -> _T:\n \"\"\"Utilis\u00e9 pour d\u00e9clarer que l'expression est une constante afin que le compilateur puisse\nl'optimiser.\n\nThe use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\nConstants declared this way are still accessible as global variables from\noutside the module they are declared in. On the other hand, if a constant\nbegins with an underscore then it is hidden, it is not available as a\nglobal variable, and does not take up any memory during execution.\n\n:param expr: Une expression constante.\"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"R\u00e9cup\u00e8re le niveau d'optimisation actuel pour la compilation des scripts.\n\nExample: ``micropython.opt_level()``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n:return: An integer representing the current level.\"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"D\u00e9finir le niveau d'optimisation pour la compilation ult\u00e9rieure des scripts.\n\nExample: ``micropython.opt_level(1)``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\nThe default optimisation level is usually level 0.\n\n:param level: Un entier indiquant le niveau d'optimisation.\"\"\"\n ...\n\ndef mem_info(verbose: Any=None) -> None:\n \"\"\"Afficher des informations sur la m\u00e9moire actuellement utilis\u00e9e.\n\nExample: ``micropython.mem_info()``\n\n:param verbose: Si l'argument ``verbose`` est sp\u00e9cifi\u00e9, des informations suppl\u00e9mentaires seront affich\u00e9es.\"\"\"\n ...\n\ndef qstr_info(verbose: Any=None) -> None:\n \"\"\"Affiche des informations sur les cha\u00eenes de caract\u00e8res internalis\u00e9es.\n\nExample: ``micropython.qstr_info()``\n\n:param verbose: Si l'argument ``verbose`` est sp\u00e9cifi\u00e9, des informations suppl\u00e9mentaires seront affich\u00e9es.\n\nThe information that is printed is implementation dependent, but currently\nincludes the number of interned strings and the amount of RAM they use. In\nverbose mode it prints out the names of all RAM-interned strings.\"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"Renvoie un nombre entier repr\u00e9sentant la taille de la pile en cours d'utilisation.\n\nExample: ``micropython.stack_use()``\n\nThe absolute value of this is not particularly useful, rather it\nshould be used to compute differences in stack usage at different points.\n\n:return: An integer representing current stack use.\"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"Verrouille le tas (heap).\n\nExample: ``micropython.heap_lock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"D\u00e9verrouille le tas (heap).\n\nExample: ``micropython.heap_unlock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"D\u00e9finir le caract\u00e8re qui l\u00e8vera une exception ``KeyboardInterrupt``.\n\nExample: ``micropython.kbd_intr(-1)``\n\n:param chr: Code de caract\u00e8re pour g\u00e9n\u00e9rer l'interruption ou -1 pour d\u00e9sactiver la capture de Ctrl-C.\n\nBy default this is set to 3 during script execution, corresponding to Ctrl-C.\nPassing -1 to this function will disable capture of Ctrl-C, and passing 3\nwill restore it.\n\nThis function can be used to prevent the capturing of Ctrl-C on the\nincoming stream of characters that is usually used for the REPL, in case\nthat stream is used for other purposes.\"\"\"\n ...", + "/typeshed/stdlib/music.pyi": "\"\"\"Cr\u00e9er et jouer des m\u00e9lodies.\"\"\"\nfrom typing import Optional, Tuple, Union, List\nfrom .microbit import MicroBitDigitalPin, pin0\nDADADADUM: Tuple[str, ...]\n\"\"\"M\u00e9lodie : l'ouverture de la 5e symphonie en do mineur de Beethoven.\"\"\"\nENTERTAINER: Tuple[str, ...]\n\"\"\"M\u00e9lodie : le fragment d'ouverture du classique de ragtime \"The Entertainer\" de Scott Joplin.\"\"\"\nPRELUDE: Tuple[str, ...]\n\"\"\"M\u00e9lodie : le pr\u00e9lude et fugue en ut majeur (BWV 846) de Jean-S\u00e9bastien Bach.\"\"\"\nODE: Tuple[str, ...]\n\"\"\"M\u00e9lodie : le th\u00e8me de l'\"Ode \u00e0 la joie\" de la 9e symphonie en r\u00e9 mineur de Beethoven.\"\"\"\nNYAN: Tuple[str, ...]\n\"\"\"M\u00e9lodie : le th\u00e8me de Nyan Cat (http://www.nyan.cat/).\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\nRINGTONE: Tuple[str, ...]\n\"\"\"M\u00e9lodie : son qui ressemble \u00e0 une sonnerie de t\u00e9l\u00e9phone mobile.\n\nTo be used to indicate an incoming message.\n\"\"\"\nFUNK: Tuple[str, ...]\n\"\"\"M\u00e9lodie : une ligne de basse funky pour les agents secrets et les cerveaux criminels.\"\"\"\nBLUES: Tuple[str, ...]\n\"\"\"M\u00e9lodie : une walking bass blues de boogie-woogie \u00e0 12 mesures.\"\"\"\nBIRTHDAY: Tuple[str, ...]\n\"\"\"M\u00e9lodie : \u00ab Joyeux anniversaire\u2026\u00bb\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\nWEDDING: Tuple[str, ...]\n\"\"\"M\u00e9lodie : la marche nuptiale de l'op\u00e9ra \"Lohengrin\" de Wagner.\"\"\"\nFUNERAL: Tuple[str, ...]\n\"\"\"M\u00e9lodie : la \"marche fun\u00e8bre \" aussi connue sous le nom de Sonate pour piano n\u00b0 2 en B\u266d mineur, opus 35 de Fr\u00e9d\u00e9ric Chopin.\"\"\"\nPUNCHLINE: Tuple[str, ...]\n\"\"\"M\u00e9lodie : un extrait amusant qui signifie qu'une blague a \u00e9t\u00e9 faite.\"\"\"\nPYTHON: Tuple[str, ...]\n\"\"\"M\u00e9lodie : La marche \"Liberty Bell\" de John Philip Sousa, alias le th\u00e8me du \"Monty Python's Flying Circus\" (qui a donn\u00e9 son nom au langage de programmation Python).\"\"\"\nBADDY: Tuple[str, ...]\n\"\"\"M\u00e9lodie\\xa0: entr\u00e9e d'un m\u00e9chant \u00e0 l'\u00e9poque des films muets.\"\"\"\nCHASE: Tuple[str, ...]\n\"\"\"M\u00e9lodie : sc\u00e8ne de poursuite \u00e0 l'\u00e9poque du film muet.\"\"\"\nBA_DING: Tuple[str, ...]\n\"\"\"M\u00e9lodie : un signal court pour indiquer que quelque chose s'est produit.\"\"\"\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"M\u00e9lodie : un trombone tr\u00e8s triste.\"\"\"\nJUMP_UP: Tuple[str, ...]\n\"\"\"M\u00e9lodie\\xa0: pour une utilisation dans un jeu, indiquant un mouvement vers le haut.\"\"\"\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"M\u00e9lodie\\xa0: pour une utilisation dans un jeu, indiquant un mouvement vers le bas.\"\"\"\nPOWER_UP: Tuple[str, ...]\n\"\"\"M\u00e9lodie : une fanfare pour indiquer un succ\u00e8s d\u00e9bloqu\u00e9.\"\"\"\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"M\u00e9lodie : une fanfare triste pour indiquer un succ\u00e8s manqu\u00e9.\"\"\"\n\ndef set_tempo(ticks: int=4, bpm: int=120) -> None:\n \"\"\"D\u00e9finir le tempo approximatif pour la lecture.\n\nExample: ``music.set_tempo(bpm=120)``\n\n:param ticks: Le nombre de ticks constituant un battement.\n:param bpm: Un entier d\u00e9terminant le nombre de battements par minute.\n\nSuggested default values allow the following useful behaviour:\n\n- music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n- music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n- music.set_tempo(bpm=180) \u2013 just change the tempo\n\nTo work out the length of a tick in milliseconds is very simple arithmetic:\n60000/bpm/ticks_per_beat. For the default values that\u2019s\n60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"R\u00e9cup\u00e9rer le tempo actuel sous la forme d'un tuple d'entiers : ``(ticks, bpm)``.\n\nExample: ``ticks, beats = music.get_tempo()``\n\n:return: The temp as a tuple with two integer values, the ticks then the beats per minute.\"\"\"\n ...\n\ndef play(music: Union[str, List[str], Tuple[str, ...]], pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True, loop: bool=False) -> None:\n \"\"\"Jouer de la musique.\n\nExample: ``music.play(music.NYAN)``\n\n:param music: musique sp\u00e9cifi\u00e9e dans `une notation sp\u00e9ciale `_\n:param pin: (broche) la broche de sortie \u00e0 utiliser avec un haut-parleur externe (par d\u00e9faut ``pin0``), ``None`` pour aucun son.\n:param wait: Si ``wait`` est d\u00e9fini \u00e0 ``True``, cette fonction est bloquante.\n:param loop: Si ``loop`` est d\u00e9fini \u00e0 ``True``, la m\u00e9lodie se r\u00e9p\u00e8te jusqu'\u00e0 ce que ``stop`` soit appel\u00e9, ou que l'appel bloquant soit interrompu.\n\nMany built-in melodies are defined in this module.\"\"\"\n ...\n\ndef pitch(frequency: int, duration: int=-1, pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True) -> None:\n \"\"\"Jouer une note. (tangage)\n\nExample: ``music.pitch(185, 1000)``\n\n:param frequency: (fr\u00e9quence) Une fr\u00e9quence enti\u00e8re\n:param duration: Une dur\u00e9e en milliseconde. Si la valeur est n\u00e9gative alors le son sera continu jusqu'au prochain appel, ou jusqu'\u00e0 un appel \u00e0 ``stop``.\n:param pin: (broche) Broche de sortie optionnelle (par d\u00e9faut ``pin0``).\n:param wait: Si ``wait`` est d\u00e9fini \u00e0 ``True``, cette fonction est bloquante.\n\nFor example, if the frequency is set to 440 and the length to\n1000 then we hear a standard concert A for one second.\n\nYou can only play one pitch on one pin at any one time.\"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"Met fin \u00e0 toute lecture de musique sur le haut-parleur int\u00e9gr\u00e9 et \u00e0 tout son en sortie sur la broche.\n\nExample: ``music.stop()``\n\n:param pin: (broche) Un argument optionnel peut \u00eatre sp\u00e9cifi\u00e9 pour indiquer une broche, par exemple ``music.stop(pin1)``.\"\"\"\n\ndef reset() -> None:\n \"\"\"R\u00e9initialiser les ticks, bpm, dur\u00e9e et octave \u00e0 leurs valeurs par d\u00e9faut.\n\nExample: ``music.reset()``\n\nValues:\n- ``ticks = 4``\n- ``bpm = 120``\n- ``duration = 4``\n- ``octave = 4``\"\"\"\n ...", + "/typeshed/stdlib/neopixel.pyi": "\"\"\"Bandes LED RGB et RGBW individuellement adressables.\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"Initialiser une nouvelle bande de LEDs neopixel contr\u00f4l\u00e9e via une broche.\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: (broche) La broche qui contr\u00f4le la bande neopixel.\n:param n: Le nombre de neopixels sur la bande.\n:param bpp: Octets par pixel. Pour le support du neopixel RGBW, passez 4 plut\u00f4t que la valeur par d\u00e9faut 3 pour RGB et GRB.\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"Effacer tous les pixels.\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"Afficher les pixels.\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"Afficher les pixels (micro:bit V2 uniquement).\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"Colorer tous les pixels d'une valeur RGB/RGBW donn\u00e9e (micro:bit V2 uniquement).\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: Un tuple de la m\u00eame longueur que le nombre d'octets par pixel (bpp).\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"D\u00e9finit une couleur de pixel.\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: Le num\u00e9ro du pixel\n:param value: La couleur.\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"R\u00e9cup\u00e8re la couleur d'un pixel\n\nExample: ``r, g, b = np[0]``\n\n:param key: Le num\u00e9ro du pixel\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"R\u00e9cup\u00e8re la longueur de cette bande de pixels.\n\nExample: ``len(np)``\"\"\"", + "/typeshed/stdlib/os.pyi": "\"\"\"Acc\u00e9der au syst\u00e8me de fichiers.\"\"\"\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"Lister les fichiers.\n\nExample: ``os.listdir()``\n\n:return: A list of the names of all the files contained within the local\npersistent on-device file system.\"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"Supprimer (effacer) un fichier.\n\nExample: ``os.remove('data.txt')``\n\n:param filename: Le fichier \u00e0 effacer.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"Retourne la taille d'un fichier.\n\nExample: ``os.size('data.txt')``\n\n:param filename: Le fichier\n:return: The size in bytes.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"R\u00e9sultat de ``os.uname()``\"\"\"\n sysname: str\n \"\"\"Nom du syst\u00e8me d'exploitation.\"\"\"\n nodename: str\n \"\"\"Nom de la machine sur le r\u00e9seau (selon impl\u00e9mentation).\"\"\"\n release: str\n \"\"\"La release du syst\u00e8me d'exploitation\"\"\"\n version: str\n \"\"\"Version du syst\u00e8me d'exploitation\"\"\"\n machine: str\n \"\"\"Identifiant mat\u00e9riel.\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"Retourne les informations identifiant le syst\u00e8me d'exploitation actuel.\n\nExample: ``os.uname()``\n\nThe return value is an object with five attributes:\n\n- ``sysname`` - operating system name\n- ``nodename`` - name of machine on network (implementation-defined)\n- ``release`` - operating system release\n- ``version`` - operating system version\n- ``machine`` - hardware identifier\n\nThere is no underlying operating system in MicroPython. As a result the\ninformation returned by the ``uname`` function is mostly useful for\nversioning details.\"\"\"\n ...", + "/typeshed/stdlib/power.pyi": "\"\"\"Manage the power modes of the micro:bit (V2 only).\n\"\"\"\n\nfrom microbit import MicroBitDigitalPin, Button\nfrom typing import Optional, Tuple, Union\n\ndef off() -> None:\n \"\"\"Power down the board to the lowest possible power mode.\n\n Example: ``power.off()``\n\n This is the equivalent to pressing the reset button for a few seconds,\n to set the board in \"Off mode\".\n\n The micro:bit will only wake up if the reset button is pressed or,\n if on battery power, when a USB cable is connected.\n\n When the board wakes up it will start for a reset state, so your program\n will start running from the beginning.\n \"\"\"\n ...\n\ndef deep_sleep(\n ms: Optional[int] = None,\n wake_on: Optional[\n Union[MicroBitDigitalPin, Button] | Tuple[MicroBitDigitalPin | Button, ...]\n ] = None,\n run_every: bool = True,\n) -> None:\n \"\"\"Set the micro:bit into a low power mode where it can wake up and continue operation.\n\n Example: ``power.deep_sleep(wake_on=(button_a, button_b))``\n\n The program state is preserved and when it wakes up it will resume\n operation where it left off.\n\n Deep Sleep mode will consume more battery power than Off mode.\n\n The wake up sources are configured via arguments.\n\n The board will always wake up when receiving UART data, when the reset\n button is pressed (which resets the board) or, in battery power,\n when the USB cable is inserted.\n\n When the ``run_every`` parameter is set to ``True`` (the default), any\n function scheduled with ``run_every`` will momentarily wake up the board\n to run and when it finishes it will go back to sleep.\n\n :param ms: A time in milliseconds to wait before it wakes up.\n :param wake_on: A single instance or a tuple of pins and/or buttons to wake up the board, e.g. ``deep_sleep(wake_on=button_a)`` or ``deep_sleep(wake_on=(pin0, pin2, button_b))``.\n :param run_every: A boolean to configure if the functions scheduled with ``microbit.run_every`` will continue to run while it sleeps.\n \"\"\"\n ...\n", + "/typeshed/stdlib/radio.pyi": "\"\"\"Communiquer entre micro:bits avec la radio int\u00e9gr\u00e9e.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\nRATE_1MBIT: int\n\"\"\"Constante utilis\u00e9e pour indiquer un d\u00e9bit de 1 MBit par seconde.\"\"\"\nRATE_2MBIT: int\n\"\"\"Constante utilis\u00e9e pour indiquer un d\u00e9bit de 2 MBit par seconde.\"\"\"\n\ndef on() -> None:\n \"\"\"Allume la radio.\n\nExample: ``radio.on()``\n\nThis needs to be explicitly called since the radio draws power and takes\nup memory that you may otherwise need.\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"D\u00e9sactive la radio, \u00e9conomisant ainsi de l'\u00e9nergie et de la m\u00e9moire.\n\nExample: ``radio.off()``\"\"\"\n ...\n\ndef config(length: int=32, queue: int=3, channel: int=7, power: int=6, address: int=1969383796, group: int=0, data_rate: int=RATE_1MBIT) -> None:\n \"\"\"Configure la radio.\n\nExample: ``radio.config(group=42)``\n\nThe default configuration is suitable for most use.\n\n:param length: (par d\u00e9faut=32) d\u00e9finit la longueur maximale en octets d'un message envoy\u00e9 via la radio.\nIl peut faire jusqu'\u00e0 251 octets de long (254 - 3 octets pour S0, LENGTH et pr\u00e9ambule S1).\n:param queue: (par d\u00e9faut=3) sp\u00e9cifie le nombre de messages qui peuvent \u00eatre stock\u00e9s dans la file d'attente des messages entrants.\nS'il n'y a plus de place dans la file d'attente des messages entrants, alors le message entrant est abandonn\u00e9.\n:param channel: (par d\u00e9faut=7) une valeur enti\u00e8re comprise entre 0 et 83 (y compris) qui d\u00e9finit un \u00ab canal \u00bb arbitraire sur lequel la radio est r\u00e9gl\u00e9e.\nLes messages seront envoy\u00e9s via ce canal et seuls les messages re\u00e7us via ce canal seront plac\u00e9s dans la file d'attente des messages entrants. Chaque incr\u00e9ment est de 1 MHz de largeur, bas\u00e9 \u00e0 2400 MHz.\n:param power: (par d\u00e9faut=6) est une valeur enti\u00e8re comprise entre 0 et 7 (y compris) pour indiquer la force du signal utilis\u00e9 lors de la diffusion d'un message.\nPlus la valeur est \u00e9lev\u00e9e, plus le signal est fort, mais plus les besoins en alimentation sont \u00e9lev\u00e9s. La num\u00e9rotation se traduit par des positions dans la liste suivante de valeurs en dBm (d\u00e9cibel milliwatt) : -30, -20, -16, -12, -8, -4, 0, 4.\n:param address: (par d\u00e9faut=0x75626974) un nom arbitraire, exprim\u00e9 sous la forme d'une adresse 32-bit, utilis\u00e9 pour filtrer au niveau mat\u00e9riel les paquet entrants, seuls les paquets correspondant \u00e0 l'adresse d\u00e9finie seront conserv\u00e9s.\nLa valeur par d\u00e9faut utilis\u00e9e par d'autres plateformes li\u00e9es au micro:bit est celle indiqu\u00e9e ici.\n:param group: (par d\u00e9faut=0) une valeur de 8 bits (0-255) utilis\u00e9e avec ``address`` lors du filtrage des messages.\nConceptuellement, \"adress\" est comme l'adresse d'une maison ou d'un bureau, et \"group\" est comme la personne \u00e0 laquelle vous voulez envoyer votre message.\n:param data_rate: (par d\u00e9faut=``radio.RATE_1MBIT``) indique la vitesse \u00e0 laquelle le d\u00e9bit de donn\u00e9es a lieu.\nPeut \u00eatre une des constantes suivantes d\u00e9finies dans le module ``radio``\\xa0: ``RATE_250KBIT``, ``RATE_1MBIT`` ou ``RATE_2MBIT``.\n\nIf ``config`` is not called then the defaults described above are assumed.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"R\u00e9initialiser les param\u00e8tres \u00e0 leurs valeurs par d\u00e9faut.\n\nExample: ``radio.reset()``\n\nThe defaults as as per the ``config`` function above.\"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"Envoie un message contenant des octets.\n\nExample: ``radio.send_bytes(b'hello')``\n\n:param message: Les octets \u00e0 envoyer.\"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"Recevoir le message entrant suivant dans la file d'attente des messages.\n\nExample: ``radio.receive_bytes()``\n\n:return: The message bytes if any, otherwise ``None``.\"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"Copier le message entrant suivant de la file d'attente des messages vers un buffer.\n\nExample: ``radio.receive_bytes_info(buffer)``\n\n:param buffer: Le buffer cible. Le message est tronqu\u00e9 s'il est plus grand que le buffer.\n:return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"Envoie un message avec une cha\u00eene de caract\u00e8res.\n\nExample: ``radio.send('hello')``\n\nThis is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\nprepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n:param message: Le texte \u00e0 envoyer.\"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"Fonctionne exactement de la m\u00eame mani\u00e8re que ``receive_bytes`` mais retourne ce qui a \u00e9t\u00e9 envoy\u00e9.\n\nExample: ``radio.receive()``\n\nEquivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\nthree bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\nmay target the micro:bit).\n\n:return: The message with the prepended bytes stripped and converted to a string.\n\nA ``ValueError`` exception is raised if conversion to string fails.\"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"Retourne un tuple contenant trois valeurs qui repr\u00e9sentent le prochain message entrant dans la file d'attente.\n\nExample: ``radio.receive_full()``\n\nIf there are no pending messages then ``None`` is returned.\n\nThe three values in the tuple represent:\n\n- the next incoming message on the message queue as bytes.\n- the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n- a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\nFor example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\nThis function is useful for providing information needed for triangulation\nand/or trilateration with other micro:bit devices.\n\n:return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\"\"\"\n ...", + "/typeshed/stdlib/random.pyi": "\"\"\"G\u00e9n\u00e9rer des nombres al\u00e9atoires.\"\"\"\nfrom typing import TypeVar, Sequence, Union, overload\n\ndef getrandbits(n: int) -> int:\n \"\"\"G\u00e9n\u00e9rer un entier avec ``n`` bits al\u00e9atoires.\n\nExample: ``random.getrandbits(1)``\n\n:param n: Une valeur comprise entre 1-30 (inclus).\"\"\"\n ...\n\ndef seed(n: int) -> None:\n \"\"\"Initialiser le g\u00e9n\u00e9rateur de nombres al\u00e9atoires.\n\nExample: ``random.seed(0)``\n\n:param n: La graine al\u00e9atoire\n\nThis will give you reproducibly deterministic randomness from a given starting\nstate (``n``).\"\"\"\n ...\n\ndef randint(a: int, b: int) -> int:\n \"\"\"Choisir un entier al\u00e9atoire entre ``a`` et ``b`` inclus.\n\nExample: ``random.randint(0, 9)``\n\n:param a: Valeur de d\u00e9part pour l'intervalle (inclus)\n:param b: Valeur de fin pour l'intervalle (inclus)\n\nAlias for ``randrange(a, b + 1)``.\"\"\"\n ...\n\n@overload\ndef randrange(stop: int) -> int:\n \"\"\"Choisir un entier al\u00e9atoirement entre z\u00e9ro et ``stop`` (mais sans inclure ce dernier).\n\nExample: ``random.randrange(10)``\n\n:param stop: Valeur de fin pour l'intervalle (exclusif)\"\"\"\n ...\n\n@overload\ndef randrange(start: int, stop: int, step: int=1) -> int:\n \"\"\"Choisir un \u00e9l\u00e9ment s\u00e9lectionn\u00e9 al\u00e9atoirement dans ``range(start, stop, step)``.\n\nExample: ``random.randrange(0, 10)``\n\n:param start: Le d\u00e9but de la plage (inclus)\n:param stop: La fin de l'intervalle (exclusif)\n:param step: L'incr\u00e9ment.\"\"\"\n ...\n_T = TypeVar('_T')\n\ndef choice(seq: Sequence[_T]) -> _T:\n \"\"\"Choisir un \u00e9l\u00e9ment al\u00e9atoire dans la s\u00e9quence non vide ``seq``.\n\nExample: ``random.choice([Image.HAPPY, Image.SAD])``\n\n:param seq: Une s\u00e9quence.\n\nIf ``seq`` is empty, raises ``IndexError``.\"\"\"\n ...\n\ndef random() -> float:\n \"\"\"G\u00e9n\u00e9rer un nombre al\u00e9atoire \u00e0 virgule flottante [0.0, 1.0).\n\nExample: ``random.random()``\n\n:return: The random floating point number\"\"\"\n ...\n\ndef uniform(a: float, b: float) -> float:\n \"\"\"Renvoie un nombre al\u00e9atoire \u00e0 virgule flottante entre ``a`` et ``b`` inclus.\n\nExample: ``random.uniform(0, 9)``\n\n:param a: Valeur de d\u00e9part pour l'intervalle (inclus)\n:param b: Valeur de fin pour l'intervalle (inclus)\"\"\"\n ...", + "/typeshed/stdlib/speech.pyi": "\"\"\"Faites parler ou chanter le micro:bit, ainsi que d'autres sons li\u00e9s \u00e0 la parole.\"\"\"\nfrom typing import Optional\nfrom .microbit import MicroBitDigitalPin, pin0\n\ndef translate(words: str) -> str:\n \"\"\"Traduire les mots anglais en phon\u00e8mes.\n\nExample: ``speech.translate('hello world')``\n\n:param words: Une cha\u00eene de caract\u00e8res de mots anglais.\n:return: A string containing a best guess at the appropriate phonemes to pronounce.\nThe output is generated from this `text to phoneme translation table `_.\n\nThis function should be used to generate a first approximation of phonemes\nthat can be further hand-edited to improve accuracy, inflection and\nemphasis.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef pronounce(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"Prononcer les phon\u00e8mes.\n\nExample: ``speech.pronounce(' /HEHLOW WERLD')``\n\n:param phonemes: La cha\u00eene de phon\u00e8mes \u00e0 prononcer\n:param pitch: (tangage) Un nombre repr\u00e9sentant le ton de la voix\n:param speed: Un nombre repr\u00e9sentant la vitesse de la voix\n:param mouth: Un nombre repr\u00e9sentant la bouche de la voix\n:param throat: Un nombre repr\u00e9sentant la gorge de la voix\n:param pin: (broche) Argument optionnel pour sp\u00e9cifier la broche de sortie. Peut \u00eatre utilis\u00e9 pour remplacer la valeur par d\u00e9faut de ``pin0``.\nPour emp\u00eacher l'\u00e9mission d'un son via les broches, il est possible d'utiliser ``pin=None``. micro:bit V2 seulement.\n\nOverride the optional pitch, speed, mouth and throat settings to change the\ntimbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef say(words: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"Dire des mots anglais.\n\nExample: ``speech.say('hello world')``\n\n:param words: La cha\u00eene de mots \u00e0 dire.\n:param pitch: (tangage) Un nombre repr\u00e9sentant le ton de la voix\n:param speed: Un nombre repr\u00e9sentant la vitesse de la voix\n:param mouth: Un nombre repr\u00e9sentant la bouche de la voix\n:param throat: Un nombre repr\u00e9sentant la gorge de la voix\n:param pin: (broche) Argument optionnel pour sp\u00e9cifier la broche de sortie. Peut \u00eatre utilis\u00e9 pour remplacer la valeur par d\u00e9faut de ``pin0``.\nPour emp\u00eacher l'\u00e9mission d'un son via les broches, il est possible d'utiliser ``pin=None``. micro:bit V2 seulement.\n\nThe result is semi-accurate for English. Override the optional pitch, speed,\nmouth and throat settings to change the timbre (quality) of the voice.\n\nThis is a short-hand equivalent of:\n``speech.pronounce(speech.translate(words))``\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef sing(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"Chanter des phon\u00e8mes.\n\nExample: ``speech.sing(' /HEHLOW WERLD')``\n\n:param phonemes: La cha\u00eene de mots \u00e0 chanter.\n:param pitch: (tangage) Un nombre repr\u00e9sentant le ton de la voix\n:param speed: Un nombre repr\u00e9sentant la vitesse de la voix\n:param mouth: Un nombre repr\u00e9sentant la bouche de la voix\n:param throat: Un nombre repr\u00e9sentant la gorge de la voix\n:param pin: (broche) Argument optionnel pour sp\u00e9cifier la broche de sortie. Peut \u00eatre utilis\u00e9 pour remplacer la valeur par d\u00e9faut de ``pin0``.\nPour emp\u00eacher l'\u00e9mission d'un son via les broches, il est possible d'utiliser ``pin=None``. micro:bit V2 seulement.\n\nOverride the optional pitch, speed, mouth and throat settings to change\nthe timbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...", + "/typeshed/stdlib/struct.pyi": "\"\"\"Rassembler et d\u00e9sassembler des types de donn\u00e9es primitives.\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom typing import Any, Tuple, Union\n\ndef calcsize(fmt: str) -> int:\n \"\"\"R\u00e9cup\u00e8re le nombre d'octets n\u00e9cessaires pour stocker le ``fmt`` donn\u00e9.\n\nExample: ``struct.calcsize('hf')``\n\n:param fmt: Une cha\u00eene de mise en forme.\n:return The number of bytes needed to store such a value.\"\"\"\n ...\n\ndef pack(fmt: str, v1: Any, *vn: Any) -> bytes:\n \"\"\"Rassembler les valeurs selon une cha\u00eene de mise en forme.\n\nExample: ``struct.pack('hf', 1, 3.1415)``\n\n:param fmt: La cha\u00eene de mise en forme.\n:param v1: La premi\u00e8re valeur.\n:param *vn: Les valeurs restantes.\n:return A bytes object encoding the values.\"\"\"\n ...\n\ndef pack_into(fmt: str, buffer: WriteableBuffer, offset: int, v1: Any, *vn: Any) -> None:\n \"\"\"Rassembler les valeurs selon une cha\u00eene de format. (Rassembler dans)\n\nExample: ``struct.pack_info('hf', buffer, 1, 3.1415)``\n\n:param fmt: La cha\u00eene de format.\n:param buffer: Le tampon cible dans lequel \u00e9crire.\n:param offset: Le d\u00e9calage dans le tampon. Peut \u00eatre n\u00e9gatif pour compter \u00e0 partir de la fin du tampon.\n:param v1: La premi\u00e8re valeur.\n:param *vn: Les valeurs restantes.\"\"\"\n ...\n\ndef unpack(fmt: str, data: ReadableBuffer) -> Tuple[Any, ...]:\n \"\"\"D\u00e9compacter les donn\u00e9es selon une cha\u00eene de format.\n\nExample: ``v1, v2 = struct.unpack('hf', buffer)``\n\n:param fmt: La cha\u00eene de format.\n:param data: Les donn\u00e9es.\n:return: A tuple of the unpacked values.\"\"\"\n ...\n\ndef unpack_from(fmt: str, buffer: ReadableBuffer, offset: int=0) -> Tuple:\n \"\"\"D\u00e9compacter les donn\u00e9es d'un tampon selon une cha\u00eene de format.\n\nExample: ``v1, v2 = struct.unpack_from('hf', buffer)``\n\n:param fmt: La cha\u00eene de format.\n:param buffer: Le tampon source \u00e0 partir duquel lire.\n:param offset: Le d\u00e9calage dans le tampon. Peut \u00eatre n\u00e9gatif pour compter \u00e0 partir de la fin du tampon.\n:return: A tuple of the unpacked values.\"\"\"\n ...", + "/typeshed/stdlib/sys.pyi": "\"\"\"Fonctions sp\u00e9cifiques au syst\u00e8me\"\"\"\nfrom typing import Any, Dict, List, NoReturn, TextIO, Tuple\n\ndef exit(retval: object=...) -> NoReturn:\n \"\"\"Terminer le programme en cours avec un code de sortie donn\u00e9.\n\nExample: ``sys.exit(1)``\n\nThis function raises a ``SystemExit`` exception. If an argument is given, its\nvalue given as an argument to ``SystemExit``.\n\n:param retval: Le code de sortie ou le message.\"\"\"\n ...\n\ndef print_exception(exc: Exception) -> None:\n \"\"\"Imprime une exception avec une pile d'appels.\n\nExample: ``sys.print_exception(e)``\n\n:param exc: L'exception \u00e0 imprimer\n\nThis is simplified version of a function which appears in the\n``traceback`` module in CPython.\"\"\"\nargv: List[str]\n\"\"\"Une liste mutable d'arguments avec lesquels le programme courant a \u00e9t\u00e9 d\u00e9marr\u00e9.\"\"\"\nbyteorder: str\n\"\"\"L'ordre des octets du syst\u00e8me (``\"little\"`` ou ``\"big\"``).\"\"\"\n\nclass _implementation:\n name: str\n version: Tuple[int, int, int]\nimplementation: _implementation\n\"\"\"Objet avec des informations sur l'impl\u00e9mentation actuelle de Python.\n\nFor MicroPython, it has following attributes:\n\n- ``name`` - string \"micropython\"\n- ``version`` - tuple (major, minor, micro), e.g. (1, 7, 0)\n\nThis object is the recommended way to distinguish MicroPython from other\nPython implementations (note that it still may not exist in the very\nminimal ports).\n\nCPython mandates more attributes for this object, but the actual useful\nbare minimum is implemented in MicroPython.\n\"\"\"\nmaxsize: int\n\"\"\"\nValeur maximale qu'un entier natif peut stocker sur la plate-forme courante,\nou valeur maximale repr\u00e9sentable par le type entier de MicroPython, si elle est plus petite\nque la valeur maximale de la plate-forme (c'est le cas pour les portages MicroPython sans support\ndes entiers long).\n\nThis attribute is useful for detecting \"bitness\" of a platform (32-bit vs\n64-bit, etc.). It's recommended to not compare this attribute to some\nvalue directly, but instead count number of bits in it::\n\n bits = 0\n v = sys.maxsize\n while v:\n bits += 1\n v >>= 1\n if bits > 32:\n # 64-bit (or more) platform\n ...\n else:\n # 32-bit (or less) platform\n # Note that on 32-bit platform, value of bits may be less than 32\n # (e.g. 31) due to peculiarities described above, so use \"> 16\",\n # \"> 32\", \"> 64\" style of comparisons.\n\"\"\"\nmodules: Dict[str, Any]\n\"\"\"Dictionnaire des modules charg\u00e9s. \n\nOn some ports, it may not include builtin modules.\"\"\"\npath: List[str]\n\"\"\"Une liste mutable de r\u00e9pertoires dans lesquels rechercher des modules import\u00e9s.\"\"\"\nplatform: str\n\"\"\"La plate-forme sur laquelle MicroPython s'ex\u00e9cute. \n\nFor OS/RTOS ports, this is usually an identifier of the OS, e.g. ``\"linux\"``.\nFor baremetal ports it is an identifier of a board, e.g. ``\"pyboard\"`` for \nthe original MicroPython reference board. It thus can be used to\ndistinguish one board from another.\n\nIf you need to check whether your program runs on MicroPython (vs other\nPython implementation), use ``sys.implementation`` instead.\n\"\"\"\nversion: str\n\"\"\"Version du langage Python \u00e0 laquelle cette impl\u00e9mentation correspond, sous la forme d'une cha\u00eene de caract\u00e8res .\"\"\"\nversion_info: Tuple[int, int, int]\n\"\"\"Version du langage Python \u00e0 laquelle cette impl\u00e9mentation correspond, sous forme d'un tuple d'entiers.\n\nOnly the first three version numbers (major, minor, micro) are supported and\nthey can be referenced only by index, not by name.\n\"\"\"", + "/typeshed/stdlib/this.pyi": "def authors() -> str: ...\n", + "/typeshed/stdlib/time.pyi": "\"\"\"Mesurer le temps et ajouter des retards aux programmes.\"\"\"\nfrom typing import Union\n\ndef sleep(seconds: Union[int, float]) -> None:\n \"\"\"Temporiser d'un certain nombre de secondes.\n\nExample: ``time.sleep(1)``\n\n:param seconds: Le nombre de secondes pendant lesquelles dormir.\nUtiliser un nombre \u00e0 virgule flottante pour dormir pendant un nombre fractionnaire de secondes.\"\"\"\n ...\n\ndef sleep_ms(ms: int) -> None:\n \"\"\"Temporiser pour un nombre donn\u00e9 de millisecondes.\n\nExample: ``time.sleep_ms(1_000_000)``\n\n:param ms: Le nombre de millisecondes \u00e0 attendre (>= 0).\"\"\"\n ...\n\ndef sleep_us(us: int) -> None:\n \"\"\"Temporiser pour un nombre donn\u00e9 de microsecondes.\n\nExample: ``time.sleep_us(1000)``\n\n:param us: Le nombre de microsecondes \u00e0 attendre (>= 0).\"\"\"\n ...\n\ndef ticks_ms() -> int:\n \"\"\"Obtenir un compteur croissant en millisecondes avec un point de r\u00e9f\u00e9rence arbitraire.\nLe compteur revient \u00e0 z\u00e9ro apr\u00e8s une certaine valeur.\n\nExample: ``time.ticks_ms()``\n\n:return: The counter value in milliseconds.\"\"\"\n ...\n\ndef ticks_us() -> int:\n \"\"\"Obtenir un compteur croissant en microsecondes avec un point de r\u00e9f\u00e9rence arbitraire.\nLe compteur revient \u00e0 z\u00e9ro apr\u00e8s une certaine valeur.\n\nExample: ``time.ticks_us()``\n\n:return: The counter value in microseconds.\"\"\"\n ...\n\ndef ticks_add(ticks: int, delta: int) -> int:\n \"\"\"D\u00e9caler les ticks par un nombre donn\u00e9, positif ou n\u00e9gatif.\n\nExample: ``time.ticks_add(time.ticks_ms(), 200)``\n\nGiven a ticks value, this function allows to calculate ticks\nvalue delta ticks before or after it, following modular-arithmetic\ndefinition of tick values.\n\n:param ticks: Une valeur de ticks\n:param delta: Un entier repr\u00e9sentant le d\u00e9calage\n\nExample::\n\n # Find out what ticks value there was 100ms ago\n print(ticks_add(time.ticks_ms(), -100))\n\n # Calculate deadline for operation and test for it\n deadline = ticks_add(time.ticks_ms(), 200)\n while ticks_diff(deadline, time.ticks_ms()) > 0:\n do_a_little_of_something()\n\n # Find out TICKS_MAX used by this port\n print(ticks_add(0, -1))\"\"\"\n ...\n\ndef ticks_diff(ticks1: int, ticks2: int) -> int:\n \"\"\"Mesurer la diff\u00e9rence des ticks entre les valeurs retourn\u00e9es par\n``time.ticks_ms()`` ou ``ticks_us()``, sous la forme d'une valeur sign\u00e9e\nqui peut passer plusieurs fois par z\u00e9ro.\n\nExample: ``time.ticks_diff(scheduled_time, now)``\n\n:param ticks1: La valeur \u00e0 partir de laquelle soustraire\n:param ticks2: La valeur \u00e0 soustraire\n\nThe argument order is the same as for subtraction operator,\n``ticks_diff(ticks1, ticks2)`` has the same meaning as ``ticks1 - ticks2``.\n\n``ticks_diff()`` is designed to accommodate various usage\npatterns, among them:\n\nPolling with timeout. In this case, the order of events is known, and you\nwill deal only with positive results of :func:`time.ticks_diff()`::\n\n # Wait for GPIO pin to be asserted, but at most 500us\n start = time.ticks_us()\n while pin.value() == 0:\n if time.ticks_diff(time.ticks_us(), start) > 500:\n raise TimeoutError\n\n\nScheduling events. In this case, :func:`time.ticks_diff()` result may be\nnegative if an event is overdue::\n\n # This code snippet is not optimized\n now = time.ticks_ms()\n scheduled_time = task.scheduled_time()\n if ticks_diff(scheduled_time, now) > 0:\n print(\"Too early, let's nap\")\n sleep_ms(ticks_diff(scheduled_time, now))\n task.run()\n elif ticks_diff(scheduled_time, now) == 0:\n print(\"Right at time!\")\n task.run()\n elif ticks_diff(scheduled_time, now) < 0:\n print(\"Oops, running late, tell task to run faster!\")\n task.run(run_faster=True)\"\"\"\n ...", + "/typeshed/stdlib/types.pyi": "import sys\nfrom typing import (\n Any,\n AsyncGenerator,\n Awaitable,\n Callable,\n Generator,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n Tuple,\n Type,\n TypeVar,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, final\n\n# Note, all classes \"defined\" here require special handling.\n\n_T = TypeVar(\"_T\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_V_co = TypeVar(\"_V_co\", covariant=True)\n\n@final\nclass _Cell:\n __hash__: None # type: ignore\n cell_contents: Any\n\n@final\nclass FunctionType:\n __closure__: Tuple[_Cell, ...] | None\n __code__: CodeType\n __defaults__: Tuple[Any, ...] | None\n __dict__: dict[str, Any]\n __globals__: dict[str, Any]\n __name__: str\n __qualname__: str\n __annotations__: dict[str, Any]\n __kwdefaults__: dict[str, Any]\n def __init__(\n self,\n code: CodeType,\n globals: dict[str, Any],\n name: str | None = ...,\n argdefs: Tuple[object, ...] | None = ...,\n closure: Tuple[_Cell, ...] | None = ...,\n ) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: object | None, type: type | None) -> MethodType: ...\n\nLambdaType = FunctionType\n\n@final\nclass CodeType:\n \"\"\"Create a code object. Not for the faint of heart.\"\"\"\n\n co_argcount: int\n if sys.version_info >= (3, 8):\n co_posonlyargcount: int\n co_kwonlyargcount: int\n co_nlocals: int\n co_stacksize: int\n co_flags: int\n co_code: bytes\n co_consts: Tuple[Any, ...]\n co_names: Tuple[str, ...]\n co_varnames: Tuple[str, ...]\n co_filename: str\n co_name: str\n co_firstlineno: int\n co_lnotab: bytes\n co_freevars: Tuple[str, ...]\n co_cellvars: Tuple[str, ...]\n if sys.version_info >= (3, 8):\n def __init__(\n self,\n argcount: int,\n posonlyargcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n else:\n def __init__(\n self,\n argcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n if sys.version_info >= (3, 8):\n def replace(\n self,\n *,\n co_argcount: int = ...,\n co_posonlyargcount: int = ...,\n co_kwonlyargcount: int = ...,\n co_nlocals: int = ...,\n co_stacksize: int = ...,\n co_flags: int = ...,\n co_firstlineno: int = ...,\n co_code: bytes = ...,\n co_consts: Tuple[Any, ...] = ...,\n co_names: Tuple[str, ...] = ...,\n co_varnames: Tuple[str, ...] = ...,\n co_freevars: Tuple[str, ...] = ...,\n co_cellvars: Tuple[str, ...] = ...,\n co_filename: str = ...,\n co_name: str = ...,\n co_lnotab: bytes = ...,\n ) -> CodeType: ...\n\n@final\nclass MappingProxyType(Mapping[_KT, _VT_co], Generic[_KT, _VT_co]):\n __hash__: None # type: ignore\n def __init__(self, mapping: Mapping[_KT, _VT_co]) -> None: ...\n def __getitem__(self, k: _KT) -> _VT_co: ...\n def __iter__(self) -> Iterator[_KT]: ...\n def __len__(self) -> int: ...\n def copy(self) -> dict[_KT, _VT_co]: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def items(self) -> ItemsView[_KT, _VT_co]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def __or__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n def __ror__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n\nclass SimpleNamespace:\n __hash__: None # type: ignore\n def __init__(self, **kwargs: Any) -> None: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __delattr__(self, name: str) -> None: ...\n\nclass ModuleType:\n __name__: str\n __file__: str\n __dict__: dict[str, Any]\n __package__: str | None\n def __init__(self, name: str, doc: str | None = ...) -> None: ...\n\n@final\nclass GeneratorType(Generator[_T_co, _T_contra, _V_co]):\n gi_code: CodeType\n gi_frame: FrameType\n gi_running: bool\n gi_yieldfrom: GeneratorType[_T_co, _T_contra, Any] | None\n def __iter__(self) -> GeneratorType[_T_co, _T_contra, _V_co]: ...\n def __next__(self) -> _T_co: ...\n def close(self) -> None: ...\n def send(self, __arg: _T_contra) -> _T_co: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> _T_co: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> _T_co: ...\n\n@final\nclass AsyncGeneratorType(AsyncGenerator[_T_co, _T_contra]):\n ag_await: Awaitable[Any] | None\n ag_frame: FrameType\n ag_running: bool\n ag_code: CodeType\n def __aiter__(self) -> AsyncGeneratorType[_T_co, _T_contra]: ...\n def __anext__(self) -> Awaitable[_T_co]: ...\n def asend(self, __val: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Awaitable[_T_co]: ...\n def aclose(self) -> Awaitable[None]: ...\n\n@final\nclass CoroutineType:\n cr_await: Any | None\n cr_code: CodeType\n cr_frame: FrameType\n cr_running: bool\n def close(self) -> None: ...\n def send(self, __arg: Any) -> Any: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Any: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Any: ...\n\nclass _StaticFunctionType:\n \"\"\"Fictional type to correct the type of MethodType.__func__.\n\n FunctionType is a descriptor, so mypy follows the descriptor protocol and\n converts MethodType.__func__ back to MethodType (the return type of\n FunctionType.__get__). But this is actually a special case; MethodType is\n implemented in C and its attribute access doesn't go through\n __getattribute__.\n\n By wrapping FunctionType in _StaticFunctionType, we get the right result;\n similar to wrapping a function in staticmethod() at runtime to prevent it\n being bound as a method.\n \"\"\"\n\n def __get__(self, obj: object | None, type: type | None) -> FunctionType: ...\n\n@final\nclass MethodType:\n __closure__: Tuple[_Cell, ...] | None # inherited from the added function\n __defaults__: Tuple[Any, ...] | None # inherited from the added function\n __func__: _StaticFunctionType\n __self__: object\n __name__: str # inherited from the added function\n __qualname__: str # inherited from the added function\n def __init__(self, func: Callable[..., Any], obj: object) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\n@final\nclass BuiltinFunctionType:\n __self__: object | ModuleType\n __name__: str\n __qualname__: str\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\nBuiltinMethodType = BuiltinFunctionType\n\nif sys.version_info >= (3, 7):\n @final\n class WrapperDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class MethodWrapperType:\n __self__: object\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __eq__(self, other: Any) -> bool: ...\n def __ne__(self, other: Any) -> bool: ...\n @final\n class MethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class ClassMethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n\n@final\nclass TracebackType:\n if sys.version_info >= (3, 7):\n def __init__(\n self,\n tb_next: TracebackType | None,\n tb_frame: FrameType,\n tb_lasti: int,\n tb_lineno: int,\n ) -> None: ...\n tb_next: TracebackType | None\n else:\n @property\n def tb_next(self) -> TracebackType | None: ...\n # the rest are read-only even in 3.7\n @property\n def tb_frame(self) -> FrameType: ...\n @property\n def tb_lasti(self) -> int: ...\n @property\n def tb_lineno(self) -> int: ...\n\n@final\nclass FrameType:\n f_back: FrameType | None\n f_builtins: dict[str, Any]\n f_code: CodeType\n f_globals: dict[str, Any]\n f_lasti: int\n f_lineno: int\n f_locals: dict[str, Any]\n f_trace: Callable[[FrameType, str, Any], Any] | None\n if sys.version_info >= (3, 7):\n f_trace_lines: bool\n f_trace_opcodes: bool\n def clear(self) -> None: ...\n\n@final\nclass GetSetDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\n@final\nclass MemberDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nif sys.version_info >= (3, 7):\n def new_class(\n name: str,\n bases: Iterable[object] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n def resolve_bases(bases: Iterable[object]) -> Tuple[Any, ...]: ...\n\nelse:\n def new_class(\n name: str,\n bases: Tuple[type, ...] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n\ndef prepare_class(\n name: str, bases: Tuple[type, ...] = ..., kwds: dict[str, Any] | None = ...\n) -> Tuple[type, dict[str, Any], dict[str, Any]]: ...\n\n# Actually a different type, but `property` is special and we want that too.\nDynamicClassAttribute = property\n\ndef coroutine(func: Callable[..., Any]) -> CoroutineType: ...\n\nif sys.version_info >= (3, 8):\n CellType = _Cell\n\nif sys.version_info >= (3, 9):\n class GenericAlias:\n __origin__: type\n __args__: Tuple[Any, ...]\n __parameters__: Tuple[Any, ...]\n def __init__(self, origin: type, args: Any) -> None: ...\n def __getattr__(self, name: str) -> Any: ... # incomplete\n\nif sys.version_info >= (3, 10):\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n EllipsisType = ellipsis # noqa F811 from builtins\n from builtins import _NotImplementedType\n\n NotImplementedType = _NotImplementedType # noqa F811 from builtins\n @final\n class UnionType:\n __args__: Tuple[Any, ...]\n def __or__(self, obj: Any) -> UnionType: ...\n def __ror__(self, obj: Any) -> UnionType: ...\n", + "/typeshed/stdlib/typing.pyi": "import collections # Needed by aliases like DefaultDict, see mypy issue 2986\nimport sys\nfrom abc import ABCMeta, abstractmethod\nfrom types import BuiltinFunctionType, CodeType, FrameType, FunctionType, MethodType, ModuleType, TracebackType\nfrom typing_extensions import Literal as _Literal\n\nif sys.version_info >= (3, 7):\n from types import MethodDescriptorType, MethodWrapperType, WrapperDescriptorType\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n# Definitions of special type checking related constructs. Their definitions\n# are not used, so their value does not matter.\n\nAny = object()\n\nclass TypeVar:\n __name__: str\n __bound__: Optional[Type[Any]]\n __constraints__: Tuple[Type[Any], ...]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self,\n name: str,\n *constraints: Type[Any],\n bound: Union[None, Type[Any], str] = ...,\n covariant: bool = ...,\n contravariant: bool = ...,\n ) -> None: ...\n\n_promote = object()\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> object: ...\n\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n\ndef overload(func: _F) -> _F: ...\n\nUnion: _SpecialForm = ...\nOptional: _SpecialForm = ...\nTuple: _SpecialForm = ...\nGeneric: _SpecialForm = ...\n# Protocol is only present in 3.8 and later, but mypy needs it unconditionally\nProtocol: _SpecialForm = ...\nCallable: _SpecialForm = ...\nType: _SpecialForm = ...\nClassVar: _SpecialForm = ...\nif sys.version_info >= (3, 8):\n Final: _SpecialForm = ...\n def final(f: _F) -> _F: ...\n Literal: _SpecialForm = ...\n # TypedDict is a (non-subscriptable) special form.\n TypedDict: object\n\nif sys.version_info < (3, 7):\n class GenericMeta(type): ...\n\nif sys.version_info >= (3, 10):\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Optional[Type[Any]]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: Union[None, Type[Any], str] = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n\n# Return type that indicates a function does not return.\n# This type is equivalent to the None type, but the no-op Union is necessary to\n# distinguish the None type from the None value.\nNoReturn = Union[None]\n\n# These type variables are used by the container types.\n_T = TypeVar(\"_T\")\n_S = TypeVar(\"_S\")\n_KT = TypeVar(\"_KT\") # Key type.\n_VT = TypeVar(\"_VT\") # Value type.\n_T_co = TypeVar(\"_T_co\", covariant=True) # Any type covariant containers.\n_V_co = TypeVar(\"_V_co\", covariant=True) # Any type covariant containers.\n_KT_co = TypeVar(\"_KT_co\", covariant=True) # Key type covariant containers.\n_VT_co = TypeVar(\"_VT_co\", covariant=True) # Value type covariant containers.\n_T_contra = TypeVar(\"_T_contra\", contravariant=True) # Ditto contravariant.\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\ndef no_type_check(arg: _F) -> _F: ...\ndef no_type_check_decorator(decorator: _F) -> _F: ...\n\n# Type aliases and type constructors\n\nclass _Alias:\n # Class for defining generic aliases for library types.\n def __getitem__(self, typeargs: Any) -> Any: ...\n\nList = _Alias()\nDict = _Alias()\nDefaultDict = _Alias()\nSet = _Alias()\nFrozenSet = _Alias()\nCounter = _Alias()\nDeque = _Alias()\nChainMap = _Alias()\n\nif sys.version_info >= (3, 7):\n OrderedDict = _Alias()\n\nif sys.version_info >= (3, 9):\n Annotated: _SpecialForm = ...\n\n# Predefined type variables.\nAnyStr = TypeVar(\"AnyStr\", str, bytes)\n\n# Abstract base classes.\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n@runtime_checkable\nclass SupportsInt(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __int__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsFloat(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __float__(self) -> float: ...\n\n@runtime_checkable\nclass SupportsComplex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __complex__(self) -> complex: ...\n\n@runtime_checkable\nclass SupportsBytes(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __bytes__(self) -> bytes: ...\n\nif sys.version_info >= (3, 8):\n @runtime_checkable\n class SupportsIndex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __index__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsAbs(Protocol[_T_co]):\n @abstractmethod\n def __abs__(self) -> _T_co: ...\n\n@runtime_checkable\nclass SupportsRound(Protocol[_T_co]):\n @overload\n @abstractmethod\n def __round__(self) -> int: ...\n @overload\n @abstractmethod\n def __round__(self, ndigits: int) -> _T_co: ...\n\n@runtime_checkable\nclass Sized(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __len__(self) -> int: ...\n\n@runtime_checkable\nclass Hashable(Protocol, metaclass=ABCMeta):\n # TODO: This is special, in that a subclass of a hashable class may not be hashable\n # (for example, list vs. object). It's not obvious how to represent this. This class\n # is currently mostly useless for static checking.\n @abstractmethod\n def __hash__(self) -> int: ...\n\n@runtime_checkable\nclass Iterable(Protocol[_T_co]):\n @abstractmethod\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Iterator(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __next__(self) -> _T_co: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Reversible(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass Generator(Iterator[_T_co], Generic[_T_co, _T_contra, _V_co]):\n def __next__(self) -> _T_co: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n def close(self) -> None: ...\n def __iter__(self) -> Generator[_T_co, _T_contra, _V_co]: ...\n @property\n def gi_code(self) -> CodeType: ...\n @property\n def gi_frame(self) -> FrameType: ...\n @property\n def gi_running(self) -> bool: ...\n @property\n def gi_yieldfrom(self) -> Optional[Generator[Any, Any, Any]]: ...\n\n@runtime_checkable\nclass Awaitable(Protocol[_T_co]):\n @abstractmethod\n def __await__(self) -> Generator[Any, None, _T_co]: ...\n\nclass Coroutine(Awaitable[_V_co], Generic[_T_co, _T_contra, _V_co]):\n __name__: str\n __qualname__: str\n @property\n def cr_await(self) -> Optional[Any]: ...\n @property\n def cr_code(self) -> CodeType: ...\n @property\n def cr_frame(self) -> FrameType: ...\n @property\n def cr_running(self) -> bool: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n @abstractmethod\n def close(self) -> None: ...\n\n# NOTE: This type does not exist in typing.py or PEP 484.\n# The parameters correspond to Generator, but the 4th is the original type.\nclass AwaitableGenerator(\n Awaitable[_V_co], Generator[_T_co, _T_contra, _V_co], Generic[_T_co, _T_contra, _V_co, _S], metaclass=ABCMeta\n): ...\n\n@runtime_checkable\nclass AsyncIterable(Protocol[_T_co]):\n @abstractmethod\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\n@runtime_checkable\nclass AsyncIterator(AsyncIterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\nclass AsyncGenerator(AsyncIterator[_T_co], Generic[_T_co, _T_contra]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n @abstractmethod\n def asend(self, __value: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> Awaitable[_T_co]: ...\n @abstractmethod\n def aclose(self) -> Awaitable[None]: ...\n @abstractmethod\n def __aiter__(self) -> AsyncGenerator[_T_co, _T_contra]: ...\n @property\n def ag_await(self) -> Any: ...\n @property\n def ag_code(self) -> CodeType: ...\n @property\n def ag_frame(self) -> FrameType: ...\n @property\n def ag_running(self) -> bool: ...\n\n@runtime_checkable\nclass Container(Protocol[_T_co]):\n @abstractmethod\n def __contains__(self, __x: object) -> bool: ...\n\n@runtime_checkable\nclass Collection(Iterable[_T_co], Container[_T_co], Protocol[_T_co]):\n # Implement Sized (but don't have it as a base class).\n @abstractmethod\n def __len__(self) -> int: ...\n\n_Collection = Collection[_T_co]\n\nclass Sequence(_Collection[_T_co], Reversible[_T_co], Generic[_T_co]):\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T_co: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> Sequence[_T_co]: ...\n # Mixin methods\n def index(self, value: Any, start: int = ..., stop: int = ...) -> int: ...\n def count(self, value: Any) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass MutableSequence(Sequence[_T], Generic[_T]):\n @abstractmethod\n def insert(self, index: int, value: _T) -> None: ...\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> MutableSequence[_T]: ...\n @overload\n @abstractmethod\n def __setitem__(self, i: int, o: _T) -> None: ...\n @overload\n @abstractmethod\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: int) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: slice) -> None: ...\n # Mixin methods\n def append(self, value: _T) -> None: ...\n def clear(self) -> None: ...\n def extend(self, values: Iterable[_T]) -> None: ...\n def reverse(self) -> None: ...\n def pop(self, index: int = ...) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __iadd__(self, x: Iterable[_T]) -> MutableSequence[_T]: ...\n\nclass AbstractSet(_Collection[_T_co], Generic[_T_co]):\n @abstractmethod\n def __contains__(self, x: object) -> bool: ...\n # Mixin methods\n def __le__(self, s: AbstractSet[Any]) -> bool: ...\n def __lt__(self, s: AbstractSet[Any]) -> bool: ...\n def __gt__(self, s: AbstractSet[Any]) -> bool: ...\n def __ge__(self, s: AbstractSet[Any]) -> bool: ...\n def __and__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def __sub__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def isdisjoint(self, other: Iterable[Any]) -> bool: ...\n\nclass MutableSet(AbstractSet[_T], Generic[_T]):\n @abstractmethod\n def add(self, value: _T) -> None: ...\n @abstractmethod\n def discard(self, value: _T) -> None: ...\n # Mixin methods\n def clear(self) -> None: ...\n def pop(self) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __ior__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __iand__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __isub__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n\nclass MappingView(Sized):\n def __init__(self, mapping: Mapping[Any, Any]) -> None: ... # undocumented\n def __len__(self) -> int: ...\n\nclass ItemsView(MappingView, AbstractSet[Tuple[_KT_co, _VT_co]], Generic[_KT_co, _VT_co]):\n def __init__(self, mapping: Mapping[_KT_co, _VT_co]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n\nclass KeysView(MappingView, AbstractSet[_KT_co], Generic[_KT_co]):\n def __init__(self, mapping: Mapping[_KT_co, Any]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_KT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT_co]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n\nclass ValuesView(MappingView, Iterable[_VT_co], Generic[_VT_co]):\n def __init__(self, mapping: Mapping[Any, _VT_co]) -> None: ... # undocumented\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_VT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_VT_co]: ...\n\n@runtime_checkable\nclass ContextManager(Protocol[_T_co]):\n def __enter__(self) -> _T_co: ...\n def __exit__(\n self,\n __exc_type: Optional[Type[BaseException]],\n __exc_value: Optional[BaseException],\n __traceback: Optional[TracebackType],\n ) -> Optional[bool]: ...\n\n@runtime_checkable\nclass AsyncContextManager(Protocol[_T_co]):\n def __aenter__(self) -> Awaitable[_T_co]: ...\n def __aexit__(\n self, exc_type: Optional[Type[BaseException]], exc_value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Awaitable[Optional[bool]]: ...\n\nclass Mapping(_Collection[_KT], Generic[_KT, _VT_co]):\n # TODO: We wish the key type could also be covariant, but that doesn't work,\n # see discussion in https: //github.com/python/typing/pull/273.\n @abstractmethod\n def __getitem__(self, k: _KT) -> _VT_co: ...\n # Mixin methods\n @overload\n def get(self, key: _KT) -> Optional[_VT_co]: ...\n @overload\n def get(self, key: _KT, default: Union[_VT_co, _T]) -> Union[_VT_co, _T]: ...\n def items(self) -> AbstractSet[Tuple[_KT, _VT_co]]: ...\n def keys(self) -> AbstractSet[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def __contains__(self, o: object) -> bool: ...\n\nclass MutableMapping(Mapping[_KT, _VT], Generic[_KT, _VT]):\n @abstractmethod\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n @abstractmethod\n def __delitem__(self, v: _KT) -> None: ...\n def clear(self) -> None: ...\n @overload\n def pop(self, key: _KT) -> _VT: ...\n @overload\n def pop(self, key: _KT, default: Union[_VT, _T] = ...) -> Union[_VT, _T]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, key: _KT, default: _VT = ...) -> _VT: ...\n # 'update' used to take a Union, but using overloading is better.\n # The second overloaded type here is a bit too general, because\n # Mapping[Tuple[_KT, _VT], W] is a subclass of Iterable[Tuple[_KT, _VT]],\n # but will always have the behavior of the first overloaded type\n # at runtime, leading to keys of a mix of types _KT and Tuple[_KT, _VT].\n # We don't currently have any way of forcing all Mappings to use\n # the first overload, but by using overloading rather than a Union,\n # mypy will commit to using the first overload when the argument is\n # known to be a Mapping with unknown type parameters, which is closer\n # to the behavior we want. See mypy issue #1430.\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n\nText = str\n\nTYPE_CHECKING = True\n\nclass IO(Iterator[AnyStr], Generic[AnyStr]):\n # TODO use abstract properties\n @property\n def mode(self) -> str: ...\n @property\n def name(self) -> str: ...\n @abstractmethod\n def close(self) -> None: ...\n @property\n def closed(self) -> bool: ...\n @abstractmethod\n def fileno(self) -> int: ...\n @abstractmethod\n def flush(self) -> None: ...\n @abstractmethod\n def isatty(self) -> bool: ...\n @abstractmethod\n def read(self, n: int = ...) -> AnyStr: ...\n @abstractmethod\n def readable(self) -> bool: ...\n @abstractmethod\n def readline(self, limit: int = ...) -> AnyStr: ...\n @abstractmethod\n def readlines(self, hint: int = ...) -> list[AnyStr]: ...\n @abstractmethod\n def seek(self, offset: int, whence: int = ...) -> int: ...\n @abstractmethod\n def seekable(self) -> bool: ...\n @abstractmethod\n def tell(self) -> int: ...\n @abstractmethod\n def truncate(self, size: Optional[int] = ...) -> int: ...\n @abstractmethod\n def writable(self) -> bool: ...\n @abstractmethod\n def write(self, s: AnyStr) -> int: ...\n @abstractmethod\n def writelines(self, lines: Iterable[AnyStr]) -> None: ...\n @abstractmethod\n def __next__(self) -> AnyStr: ...\n @abstractmethod\n def __iter__(self) -> Iterator[AnyStr]: ...\n @abstractmethod\n def __enter__(self) -> IO[AnyStr]: ...\n @abstractmethod\n def __exit__(\n self, t: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Optional[bool]: ...\n\nclass BinaryIO(IO[bytes]):\n @abstractmethod\n def __enter__(self) -> BinaryIO: ...\n\nclass TextIO(IO[str]):\n # TODO use abstractproperty\n @property\n def buffer(self) -> BinaryIO: ...\n @property\n def encoding(self) -> str: ...\n @property\n def errors(self) -> Optional[str]: ...\n @property\n def line_buffering(self) -> int: ... # int on PyPy, bool on CPython\n @property\n def newlines(self) -> Any: ... # None, str or tuple\n @abstractmethod\n def __enter__(self) -> TextIO: ...\n\nclass ByteString(Sequence[int], metaclass=ABCMeta): ...\n\nclass Match(Generic[AnyStr]):\n pos: int\n endpos: int\n lastindex: Optional[int]\n lastgroup: Optional[AnyStr]\n string: AnyStr\n\n # The regular expression object whose match() or search() method produced\n # this match instance.\n re: Pattern[AnyStr]\n def expand(self, template: AnyStr) -> AnyStr: ...\n # group() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def group(self, __group: _Literal[0] = ...) -> AnyStr: ...\n @overload\n def group(self, __group: str | int) -> AnyStr | Any: ...\n @overload\n def group(self, __group1: str | int, __group2: str | int, *groups: str | int) -> Tuple[AnyStr | Any, ...]: ...\n # Each item of groups()'s return tuple is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groups(self) -> Tuple[AnyStr | Any, ...]: ...\n @overload\n def groups(self, default: _T) -> Tuple[AnyStr | _T, ...]: ...\n # Each value in groupdict()'s return dict is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groupdict(self) -> dict[str, AnyStr | Any]: ...\n @overload\n def groupdict(self, default: _T) -> dict[str, AnyStr | _T]: ...\n def start(self, __group: Union[int, str] = ...) -> int: ...\n def end(self, __group: Union[int, str] = ...) -> int: ...\n def span(self, __group: Union[int, str] = ...) -> Tuple[int, int]: ...\n @property\n def regs(self) -> Tuple[Tuple[int, int], ...]: ... # undocumented\n # __getitem__() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def __getitem__(self, __key: _Literal[0]) -> AnyStr: ...\n @overload\n def __getitem__(self, __key: int | str) -> AnyStr | Any: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass Pattern(Generic[AnyStr]):\n flags: int\n groupindex: Mapping[str, int]\n groups: int\n pattern: AnyStr\n def search(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def match(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def fullmatch(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def split(self, string: AnyStr, maxsplit: int = ...) -> list[AnyStr]: ...\n def findall(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> list[Any]: ...\n def finditer(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Iterator[Match[AnyStr]]: ...\n @overload\n def sub(self, repl: AnyStr, string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def sub(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def subn(self, repl: AnyStr, string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n @overload\n def subn(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\n# Functions\n\nif sys.version_info >= (3, 7):\n _get_type_hints_obj_allowed_types = Union[\n object,\n Callable[..., Any],\n FunctionType,\n BuiltinFunctionType,\n MethodType,\n ModuleType,\n WrapperDescriptorType,\n MethodWrapperType,\n MethodDescriptorType,\n ]\nelse:\n _get_type_hints_obj_allowed_types = Union[\n object, Callable[..., Any], FunctionType, BuiltinFunctionType, MethodType, ModuleType,\n ]\n\nif sys.version_info >= (3, 9):\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types,\n globalns: Optional[Dict[str, Any]] = ...,\n localns: Optional[Dict[str, Any]] = ...,\n include_extras: bool = ...,\n ) -> Dict[str, Any]: ...\n\nelse:\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types, globalns: Optional[Dict[str, Any]] = ..., localns: Optional[Dict[str, Any]] = ...\n ) -> Dict[str, Any]: ...\n\nif sys.version_info >= (3, 8):\n def get_origin(tp: Any) -> Optional[Any]: ...\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n\n@overload\ndef cast(typ: Type[_T], val: Any) -> _T: ...\n@overload\ndef cast(typ: str, val: Any) -> Any: ...\n@overload\ndef cast(typ: object, val: Any) -> Any: ...\n\n# Type constructors\n\n# NamedTuple is special-cased in the type checker\nclass NamedTuple(Tuple[Any, ...]):\n _field_types: collections.OrderedDict[str, Type[Any]]\n _field_defaults: Dict[str, Any] = ...\n _fields: Tuple[str, ...]\n _source: str\n def __init__(self, typename: str, fields: Iterable[Tuple[str, Any]] = ..., **kwargs: Any) -> None: ...\n @classmethod\n def _make(cls: Type[_T], iterable: Iterable[Any]) -> _T: ...\n if sys.version_info >= (3, 8):\n def _asdict(self) -> Dict[str, Any]: ...\n else:\n def _asdict(self) -> collections.OrderedDict[str, Any]: ...\n def _replace(self: _T, **kwargs: Any) -> _T: ...\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __or__(self: _T, __value: _T) -> _T: ...\n def __ior__(self: _T, __value: _T) -> _T: ...\n\ndef NewType(name: str, tp: Type[_T]) -> Type[_T]: ...\n\n# This itself is only available during type checking\ndef type_check_only(func_or_cls: _F) -> _F: ...\n\nif sys.version_info >= (3, 7):\n class ForwardRef:\n __forward_arg__: str\n __forward_code__: CodeType\n __forward_evaluated__: bool\n __forward_value__: Optional[Any]\n __forward_is_argument__: bool\n def __init__(self, arg: str, is_argument: bool = ...) -> None: ...\n def _evaluate(self, globalns: Optional[Dict[str, Any]], localns: Optional[Dict[str, Any]]) -> Optional[Any]: ...\n def __eq__(self, other: Any) -> bool: ...\n def __hash__(self) -> int: ...\n def __repr__(self) -> str: ...\n\nif sys.version_info >= (3, 10):\n def is_typeddict(tp: Any) -> bool: ...\n", + "/typeshed/stdlib/typing_extensions.pyi": "import abc\nimport sys\nfrom typing import (\n TYPE_CHECKING as TYPE_CHECKING,\n Any,\n AsyncContextManager as AsyncContextManager,\n AsyncGenerator as AsyncGenerator,\n AsyncIterable as AsyncIterable,\n AsyncIterator as AsyncIterator,\n Awaitable as Awaitable,\n Callable,\n ChainMap as ChainMap,\n ClassVar as ClassVar,\n ContextManager as ContextManager,\n Coroutine as Coroutine,\n Counter as Counter,\n DefaultDict as DefaultDict,\n Deque as Deque,\n ItemsView,\n KeysView,\n Mapping,\n NewType as NewType,\n NoReturn as NoReturn,\n Text as Text,\n Tuple,\n Type as Type,\n TypeVar,\n ValuesView,\n _Alias,\n overload as overload,\n)\n\n_T = TypeVar(\"_T\")\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> Any: ...\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n\n# This alias for above is kept here for backwards compatibility.\nruntime = runtime_checkable\nProtocol: _SpecialForm = ...\nFinal: _SpecialForm = ...\n\ndef final(f: _F) -> _F: ...\n\nLiteral: _SpecialForm = ...\n\ndef IntVar(name: str) -> Any: ... # returns a new TypeVar\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=abc.ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n\n# TypedDict is a (non-subscriptable) special form.\nTypedDict: object = ...\n\nOrderedDict = _Alias()\n\ndef get_type_hints(\n obj: Callable[..., Any],\n globalns: dict[str, Any] | None = ...,\n localns: dict[str, Any] | None = ...,\n include_extras: bool = ...,\n) -> dict[str, Any]: ...\n\nif sys.version_info >= (3, 7):\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n def get_origin(tp: Any) -> Any | None: ...\n\nAnnotated: _SpecialForm = ...\n_AnnotatedAlias: Any = ... # undocumented\n\n@runtime_checkable\nclass SupportsIndex(Protocol, metaclass=abc.ABCMeta):\n @abc.abstractmethod\n def __index__(self) -> int: ...\n\n# PEP 612 support for Python < 3.9\nif sys.version_info >= (3, 10):\n from typing import Concatenate as Concatenate, ParamSpec as ParamSpec, TypeAlias as TypeAlias, TypeGuard as TypeGuard\nelse:\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Type[Any] | None\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: None | Type[Any] | str = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n", + "/typeshed/stdlib/uarray.pyi": "from array import *\n", + "/typeshed/stdlib/ucollections.pyi": "from collections import *\n", + "/typeshed/stdlib/uerrno.pyi": "from errno import *\n", + "/typeshed/stdlib/urandom.pyi": "from random import *\n", + "/typeshed/stdlib/ustruct.pyi": "from struct import *\n", + "/typeshed/stdlib/usys.pyi": "from sys import *\n", + "/typeshed/stdlib/utime.pyi": "from time import *\n", + "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", + "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Broches, images, sons, temp\u00e9rature et volume\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Planifie l'ex\u00e9cution d'une fonction \u00e0 l'intervalle sp\u00e9cifi\u00e9 par les arguments temporels **V2 uniquement**.\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: Fonction \u00e0 appeler \u00e0 l'intervalle fourni. \u00c0 omettre en cas d'utilisation comme d\u00e9corateur.\n:param days: D\u00e9finit la marque du jour pour la programmation.\n:param h: D\u00e9finit la marque d'heure pour la programmation.\n:param min: D\u00e9finit la marque de minute pour la programmation.\n:param s: D\u00e9finit la marque de seconde pour la programmation.\n:param ms: D\u00e9finit la marque de milliseconde pour la programmation.\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"Passer en mode panique.\n\nExample: ``panic(127)``\n\n:param n: Un nombre entier arbitraire <= 255 pour indiquer un \u00e9tat.\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"Red\u00e9marrer la carte.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Convertit une valeur dans l'intervalle donn\u00e9 vers son \u00e9quivalent dans un autre intervalle d'entiers.\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: Un nombre \u00e0 convertir.\n:param from_: Un tuple qui d\u00e9finit l'intervalle de d\u00e9part.\n:param to: Un tuple qui d\u00e9finit l'intervalle d'arriv\u00e9e.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Convertit une valeur dans l'intervalle donn\u00e9 vers son \u00e9quivalent dans un autre intervalle de nombres \u00e0 virgule flottante.\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: Un nombre \u00e0 convertir.\n:param from_: Un tuple qui d\u00e9finit l'intervalle de d\u00e9part.\n:param to: Un tuple qui d\u00e9finit l'intervalle d'arriv\u00e9e.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Attendre ``n`` millisecondes.\n\nExample: ``sleep(1000)``\n\n:param n: Le nombre de millisecondes \u00e0 attendre\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"Obtenir le temps de fonctionnement de la carte.\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"Obtenir la temp\u00e9rature du micro:bit en degr\u00e9s Celsius.\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"D\u00e9finit le volume.\n\nExample: ``set_volume(127)``\n\n:param v: Une valeur entre 0 (bas) et 255 (haut).\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"La classe pour les boutons ``button_a`` et ``button_b``.\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"V\u00e9rifier si le bouton est appuy\u00e9.\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"V\u00e9rifie si le bouton a \u00e9t\u00e9 press\u00e9 depuis que l'appareil a \u00e9t\u00e9 d\u00e9marr\u00e9 ou depuis la derni\u00e8re fois o\u00f9 cette m\u00e9thode a \u00e9t\u00e9 appel\u00e9e.\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"Obtenir le nombre total d'occurrences o\u00f9 le bouton a \u00e9t\u00e9 appuy\u00e9, et r\u00e9initialise ce total avant de retourner.\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"L'objet bouton ``Button`` gauche.\"\"\"\nbutton_b: Button\n\"\"\"L'objet bouton ``Button`` droit.\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"Une broche num\u00e9rique.\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"R\u00e9cup\u00e8re la valeur num\u00e9rique de la broche\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"D\u00e9finit la valeur num\u00e9rique de la broche\n\nExample: ``pin0.write_digital(1)``\n\n:param value: 1 pour d\u00e9finir la broche \u00e0 un niveau haut ou 0 pour d\u00e9finir la broche \u00e0 un niveau bas\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"D\u00e9finissez l'\u00e9tat de tirage sur l'une des trois valeurs possibles\\xa0: ``PULL_UP``, ``PULL_DOWN`` ou ``NO_PULL``.\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: L'\u00e9tat de tirage sur la broche correspondante, par exemple ``pin0.PULL_UP``.\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"Obtenir l'\u00e9tat de tirage sur une broche.\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"Renvoie le mode de la broche\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"Sortie d'un signal PWM sur la broche, avec un rapport cyclique proportionnel \u00e0 ``value``.\n\nExample: ``pin0.write_analog(254)``\n\n:param value: Un entier ou un nombre \u00e0 virgule flottante entre 0 (rapport cyclique \u00e0 0%) et 1023 (rapport cyclique \u00e0 100%).\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"D\u00e9finit la p\u00e9riode de sortie du signal PWM \u00e0 ``period`` en millisecondes.\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: La p\u00e9riode en millisecondes avec une valeur minimale valide de 1 ms.\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"D\u00e9finit la p\u00e9riode de sortie du signal PWM \u00e0 ``period`` en millisecondes.\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: La p\u00e9riode en microsecondes avec une valeur minimale valide de 256\u00b5s.\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"Une broche avec des fonctions analogiques et num\u00e9riques.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Lit la tension appliqu\u00e9e \u00e0 la broche.\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"Une broche avec des fonctions analogiques, num\u00e9riques et tactiles.\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"V\u00e9rifie si la broche est touch\u00e9e.\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"D\u00e9finit le mode tactile pour la broche.\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: ``CAPACITIVE`` ou ``RESISTIVE`` pour la broche correspondante.\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques, analogiques, et tactiles.\"\"\"\npin1: MicroBitTouchPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques, analogiques, et tactiles.\"\"\"\npin2: MicroBitTouchPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques, analogiques, et tactiles.\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques et analogiques.\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques et analogiques.\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques et analogiques.\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"Une broche logo sensible au toucher sur l'avant du micro:bit, qui est d\u00e9finie par d\u00e9faut en mode tactile capacitif.\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"Une broche pour adresser le haut-parleur micro:bit.\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"Une image \u00e0 afficher sur l'\u00e9cran LED du micro:bit.\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"Image d'un c\u0153ur.\"\"\"\n HEART_SMALL: Image\n \"\"\"Petite image d'un c\u0153ur\"\"\"\n HAPPY: Image\n \"\"\"Image de visage heureux.\"\"\"\n SMILE: Image\n \"\"\"Image de visage souriant.\"\"\"\n SAD: Image\n \"\"\"Image de visage triste.\"\"\"\n CONFUSED: Image\n \"\"\"Image d'un visage perplexe.\"\"\"\n ANGRY: Image\n \"\"\"Image de visage en col\u00e8re.\"\"\"\n ASLEEP: Image\n \"\"\"Image de visage endormi\"\"\"\n SURPRISED: Image\n \"\"\"Image de visage surpris.\"\"\"\n SILLY: Image\n \"\"\"Image de visage absurde.\"\"\"\n FABULOUS: Image\n \"\"\"Image de visage avec lunettes de soleil.\"\"\"\n MEH: Image\n \"\"\"Image de visage pas impressionn\u00e9\"\"\"\n YES: Image\n \"\"\"Image d'une coche.\"\"\"\n NO: Image\n \"\"\"Image d'une croix.\"\"\"\n CLOCK12: Image\n \"\"\"Image avec une ligne indiquant vers 12 heures.\"\"\"\n CLOCK11: Image\n \"\"\"Image avec une ligne indiquant vers 11 heures.\"\"\"\n CLOCK10: Image\n \"\"\"Image avec une ligne indiquant vers 10 heures.\"\"\"\n CLOCK9: Image\n \"\"\"Image avec une ligne indiquant vers 9 heures.\"\"\"\n CLOCK8: Image\n \"\"\"Image avec une ligne indiquant vers 8 heures.\"\"\"\n CLOCK7: Image\n \"\"\"Image avec une ligne indiquant vers 7 heures.\"\"\"\n CLOCK6: Image\n \"\"\"Image avec une ligne indiquant vers 6 heures.\"\"\"\n CLOCK5: Image\n \"\"\"Image avec une ligne indiquant vers 5 heures.\"\"\"\n CLOCK4: Image\n \"\"\"Image avec une ligne indiquant vers 4 heures.\"\"\"\n CLOCK3: Image\n \"\"\"Image avec une ligne indiquant vers 3 heures.\"\"\"\n CLOCK2: Image\n \"\"\"Image avec une ligne indiquant vers 2 heures.\"\"\"\n CLOCK1: Image\n \"\"\"Image avec une ligne indiquant vers 1 heure.\"\"\"\n ARROW_N: Image\n \"\"\"Image de fl\u00e8che pointant vers le nord.\"\"\"\n ARROW_NE: Image\n \"\"\"Image de fl\u00e8che pointant vers le nord est.\"\"\"\n ARROW_E: Image\n \"\"\"Image de fl\u00e8che pointant vers l'est.\"\"\"\n ARROW_SE: Image\n \"\"\"Image de fl\u00e8che pointant vers le sud-est.\"\"\"\n ARROW_S: Image\n \"\"\"Image de fl\u00e8che pointant vers le sud.\"\"\"\n ARROW_SW: Image\n \"\"\"Image de fl\u00e8che pointant vers le sud-ouest.\"\"\"\n ARROW_W: Image\n \"\"\"Image de fl\u00e8che pointant vers l'ouest.\"\"\"\n ARROW_NW: Image\n \"\"\"Image de fl\u00e8che pointant vers le nord ouest.\"\"\"\n TRIANGLE: Image\n \"\"\"Image d'un triangle pointant vers le haut.\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"Image d'un triangle dans le coin gauche.\"\"\"\n CHESSBOARD: Image\n \"\"\"\u00c9clairage alternatif des LEDs dans un motif d'\u00e9chiquier.\"\"\"\n DIAMOND: Image\n \"\"\"Image de diamant.\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"Petite image de diamant.\"\"\"\n SQUARE: Image\n \"\"\"Image de carr\u00e9.\"\"\"\n SQUARE_SMALL: Image\n \"\"\"Petite image de carr\u00e9.\"\"\"\n RABBIT: Image\n \"\"\"Image de lapin.\"\"\"\n COW: Image\n \"\"\"Image de vache.\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"Image d'une note.\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"Image d'une croche.\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"Image d'une paire de croche.\"\"\"\n PITCHFORK: Image\n \"\"\"Image d'une fourche.\"\"\"\n XMAS: Image\n \"\"\"Image d'un arbre de No\u00ebl.\"\"\"\n PACMAN: Image\n \"\"\"Image du personnage d'arcade Pac-Man.\"\"\"\n TARGET: Image\n \"\"\"Image d'une cible.\"\"\"\n TSHIRT: Image\n \"\"\"Image de t-shirt.\"\"\"\n ROLLERSKATE: Image\n \"\"\"Image de patin \u00e0 roulette.\"\"\"\n DUCK: Image\n \"\"\"Image de canard.\"\"\"\n HOUSE: Image\n \"\"\"Image d'une maison.\"\"\"\n TORTOISE: Image\n \"\"\"Image d'une tortue.\"\"\"\n BUTTERFLY: Image\n \"\"\"Image d'un papillon.\"\"\"\n STICKFIGURE: Image\n \"\"\"Image d'un personnage.\"\"\"\n GHOST: Image\n \"\"\"Image de fant\u00f4me.\"\"\"\n SWORD: Image\n \"\"\"Image d'une \u00e9p\u00e9e.\"\"\"\n GIRAFFE: Image\n \"\"\"Image d'une girafe.\"\"\"\n SKULL: Image\n \"\"\"Image d'un cr\u00e2ne.\"\"\"\n UMBRELLA: Image\n \"\"\"Image d'un parapluie.\"\"\"\n SNAKE: Image\n \"\"\"Image de serpent.\"\"\"\n SCISSORS: Image\n \"\"\"Image de ciseaux.\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"Une liste contenant toutes les images CLOCK_ en s\u00e9quence.\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"Une liste contenant toutes les images ARROW_ en s\u00e9quence.\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Cr\u00e9er une image \u00e0 partir d'une cha\u00eene de caract\u00e8res d\u00e9crivant quelles LED sont allum\u00e9es.\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: La cha\u00eene de caract\u00e8res d\u00e9crivant l'image.\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"Cr\u00e9er une image vide avec ``width`` colonnes et ``height`` lignes.\n\n:param width: Largeur optionnelle de l'image\n:param height: Hauteur optionnelle de l'image\n:param buffer: Tableau optionnel ou octets de ``width``\u00d7``height`` entiers dans la plage 0-9 pour initialiser l'image\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"R\u00e9cup\u00e8re le nombre de colonnes.\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"R\u00e9cup\u00e8re le nombre de lignes.\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"D\u00e9finit la luminosit\u00e9 d'un pixel.\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: Le num\u00e9ro de colonne\n:param y: Le num\u00e9ro de ligne\n:param value: La luminosit\u00e9 sous la forme d'un entier compris entre 0 (sombre) et 9 (lumineux)\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"R\u00e9cup\u00e8re la luminosit\u00e9 d'un pixel.\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: Le num\u00e9ro de colonne\n:param y: Le num\u00e9ro de ligne\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"Cr\u00e9er une nouvelle image en d\u00e9pla\u00e7ant l'image \u00e0 gauche.\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: Le nombre de colonnes par lequel d\u00e9placer\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"Cr\u00e9er une nouvelle image en d\u00e9pla\u00e7ant l'image \u00e0 droite.\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: Le nombre de colonnes par lequel d\u00e9placer\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"Cr\u00e9er une nouvelle image en d\u00e9pla\u00e7ant l'image vers le haut.\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: Le nombre de lignes par lequel d\u00e9placer\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"Cr\u00e9er une nouvelle image en d\u00e9pla\u00e7ant l'image vers le bas.\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: Le nombre de lignes par lequel d\u00e9placer\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Cr\u00e9er une nouvelle image en recadrant l'image.\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: Le nombre de colonnes duquel d\u00e9caler le recadrage\n:param y: Le nombre de lignes duquel d\u00e9caler le recadrage\n:param w: La largeur du recadrage\n:param h: La hauteur du recadrage\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"Cr\u00e9er une copie exacte de l'image.\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"Cr\u00e9er une nouvelle image en inversant la luminosit\u00e9 des pixels de l'image source.\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"D\u00e9finit la luminosit\u00e9 de tous les pixels de l'image.\n\nExample: ``my_image.fill(5)``\n\n:param value: La nouvelle luminosit\u00e9 sous la forme d'un nombre compris entre 0 (sombre) et 9 (lumineux).\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"Copier la zone d'une autre image vers cette image.\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: L'image source\n:param x: Le d\u00e9calage de la colonne de d\u00e9part dans l'image source\n:param y: D\u00e9calage de la ligne de d\u00e9part dans l'image source\n:param w: Le nombre de colonnes \u00e0 copier\n:param h: Le nombre de lignes \u00e0 copier\n:param xdest: Le d\u00e9calage de la colonne \u00e0 modifier dans cette image\n:param ydest: Le d\u00e9calage de la ligne \u00e0 modifier dans cette image\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"R\u00e9cup\u00e8re une repr\u00e9sentation de l'image sous forme de texte compact.\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"R\u00e9cup\u00e8re une cha\u00eene de caract\u00e8res lisible de l'image.\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"Cr\u00e9e une nouvelle image en additionnant les valeurs de luminosit\u00e9 des deux images\npour chaque pixel.\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: L'image \u00e0 ajouter.\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"Cr\u00e9e une nouvelle image en soustrayant de cette image les valeurs de luminosit\u00e9 de\nl'autre image.\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: L'image \u00e0 soustraire.\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"Cr\u00e9e une nouvelle image en multipliant la luminosit\u00e9 de chaque pixel par\n``n``.\n\nExample: ``Image.HEART * 0.5``\n\n:param n: La valeur par laquelle multiplier.\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"Cr\u00e9e une nouvelle image en divisant la luminosit\u00e9 de chaque pixel par\n``n``.\n\nExample: ``Image.HEART / 2``\n\n:param n: La valeur par laquelle diviser.\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Repr\u00e9sente la transition d'\u00e9v\u00e9nements sonores, de ``quiet`` \u00e0 ``loud`` comme un clap dans les mains ou un cri.\"\"\"\n QUIET: SoundEvent\n \"\"\"Repr\u00e9sente la transition d'\u00e9v\u00e9nements sonores de ``loud`` \u00e0 ``quiet`` comme parler ou \u00e9couter de la musique de fond.\"\"\"\n\nclass Sound:\n \"\"\"Les sons int\u00e9gr\u00e9s peuvent \u00eatre appel\u00e9s en utilisant ``audio.play(Sound.NAME)``.\"\"\"\n GIGGLE: Sound\n \"\"\"Bruit de gloussement.\"\"\"\n HAPPY: Sound\n \"\"\"Son joyeux.\"\"\"\n HELLO: Sound\n \"\"\"Son de salutation.\"\"\"\n MYSTERIOUS: Sound\n \"\"\"Son myst\u00e9rieux.\"\"\"\n SAD: Sound\n \"\"\"Son triste.\"\"\"\n SLIDE: Sound\n \"\"\"Bruit de glissade.\"\"\"\n SOARING: Sound\n \"\"\"Bruit d'envol\u00e9e.\"\"\"\n SPRING: Sound\n \"\"\"Son d'un ressort.\"\"\"\n TWINKLE: Sound\n \"\"\"Son de scintillement.\"\"\"\n YAWN: Sound\n \"\"\"Son de b\u00e2illement.\"\"\"", + "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"Mesurer l'acc\u00e9l\u00e9ration du micro:bit et reconnaitre des mouvements.\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"R\u00e9cup\u00e9rer la mesure de l'acc\u00e9l\u00e9ration dans l'axe ``x`` en milli-g.\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"R\u00e9cup\u00e9rer la mesure de l'acc\u00e9l\u00e9ration dans l'axe ``y`` en milli-g.\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"R\u00e9cup\u00e9rer la mesure de l'acc\u00e9l\u00e9ration dans l'axe ``z`` en milli-g.\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"R\u00e9cup\u00e9rer en une fois les mesures d'acc\u00e9l\u00e9ration dans tous les axes sous forme d'un tuple.\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Obtenir la mesure de l'acc\u00e9l\u00e9ration de tous les axes combin\u00e9s, sous la forme d'un nombre entier positif. C'est la somme pythagoricienne des axes X, Y et Z.\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"R\u00e9cup\u00e9rer le nom du geste actuel.\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"V\u00e9rifier si le geste nomm\u00e9 est actif en ce moment.\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: Le nom du geste.\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"V\u00e9rifier si le geste nomm\u00e9 a \u00e9t\u00e9 actif depuis le dernier appel.\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: Le nom du geste.\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"Renvoyer un tuple de l'historique des gestes.\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"D\u00e9finir la plage de sensibilit\u00e9 de l'acc\u00e9l\u00e9rom\u00e8tre, en g (gravit\u00e9 standard), \u00e0 la valeur la plus proche support\u00e9e par le mat\u00e9riel, l'arrondi se fait soit \u00e0 ``2``, ``4``, ou ``8`` g.\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: Nouvelle plage pour l'acc\u00e9l\u00e9rom\u00e8tre, un entier en ``g``.\"\"\"", + "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"Jouer des sons en utilisant le micro:bit (importer ``audio`` pour compatibilit\u00e9 V1).\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Jouer un son int\u00e9gr\u00e9, un effet sonore ou des frames audio personnalis\u00e9es.\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: Un ``Sound`` int\u00e9gr\u00e9 tel que ``Sound.GIGGLE``, un ``SoundEffect`` ou un \u00e9chantillon de donn\u00e9es sous la forme d'un it\u00e9rable d'objets ``AudioFrame``.\n:param wait: Si ``wait`` est ``True``, cette fonction bloquera jusqu'\u00e0 ce que le son soit termin\u00e9.\n:param pin: (broche) Un argument optionnel pour sp\u00e9cifier la broche de sortie, peut \u00eatre utilis\u00e9 pour remplacer la valeur par d\u00e9faut ``pin0``. Si nous ne voulons pas que le son soit jou\u00e9, il est possible d'utiliser ``pin=None``.\n:param return_pin: Sp\u00e9cifie une broche de connecteur de bord diff\u00e9rentiel \u00e0 connecter \u00e0 un haut-parleur externe au lieu de la masse. Ceci est ignor\u00e9 dans la r\u00e9vision **V2**.\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"V\u00e9rifier si un son est en train d'\u00eatre jou\u00e9.\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Arr\u00eater toute lecture audio.\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"Un effet sonore, compos\u00e9 d'un ensemble de param\u00e8tres configur\u00e9s via le constructeur ou les attributs.\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Option d'onde sinuso\u00efdale utilis\u00e9e pour le param\u00e8tre ``waveform``.\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Optionde forme d'onde en dent de scie utilis\u00e9e pour le param\u00e8tre ``waveform``.\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Option d'onde triangulaire utilis\u00e9e pour le param\u00e8tre ``waveform``.\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Option d'onde carr\u00e9e utilis\u00e9e pour le param\u00e8tre ``waveform``.\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Option d'onde de bruit utilis\u00e9e pour le param\u00e8tre ``waveform``.\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Option d'interpolation lin\u00e9aire utilis\u00e9e pour le param\u00e8tre ``shape``.\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Option d'interpolation courbe utilis\u00e9e pour le param\u00e8tre ``shape``.\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Option d'interpolation logarithmique utilis\u00e9e pour le param\u00e8tre ``shape``.\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"Option sans effet utilis\u00e9e pour le param\u00e8tre ``fx``.\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Option d'effet tremolo utilis\u00e9e pour le param\u00e8tre ``fx``.\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Option d'effet vibrato utilis\u00e9e pour le param\u00e8tre ``fx``.\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Option d'effet de Warble utilis\u00e9e pour le param\u00e8tre ``fx``.\"\"\"\n freq_start: int\n \"\"\"Fr\u00e9quence de d\u00e9part en Hertz (Hz), un nombre compris entre ``0`` et ``9999``\"\"\"\n freq_end: int\n \"\"\"Fr\u00e9quence de fin en Hertz (Hz), un nombre compris entre ``0`` et ``9999``\"\"\"\n duration: int\n \"\"\"Dur\u00e9e du son en millisecondes, un nombre compris entre ``0`` et ``9999``\"\"\"\n vol_start: int\n \"\"\"Valeur du volume de d\u00e9part, un nombre compris entre ``0`` et ``255``\"\"\"\n vol_end: int\n \"\"\"Valeur du volume \u00e0 la fin, un nombre compris entre ``0`` et ``255``\"\"\"\n waveform: int\n \"\"\"Type de forme d'onde, une de ces valeurs : ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (bruit g\u00e9n\u00e9r\u00e9 al\u00e9atoirement)\"\"\"\n fx: int\n \"\"\"Effet \u00e0 ajouter au son, l'une des valeurs suivantes : ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, ou ``FX_NONE``\"\"\"\n shape: int\n \"\"\"Le type de la courbe d'interpolation entre les fr\u00e9quences de d\u00e9but et de fin, les diff\u00e9rentes formes d'onde ont des taux de variation de fr\u00e9quence diff\u00e9rents. L'une des valeurs suivantes : ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Cr\u00e9er un nouvel effet sonore.\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: Fr\u00e9quence de d\u00e9part en Hertz (Hz), un nombre compris entre ``0`` et ``9999``.\n:param freq_end: Fr\u00e9quence de fin en Hertz (Hz), un nombre compris entre ``0`` et ``9999``.\n:param duration: Dur\u00e9e du son en millisecondes, un nombre compris entre ``0`` et ``9999``.\n:param vol_start: Valeur du volume de d\u00e9part, un nombre compris entre ``0`` et ``255``.\n:param vol_end: Valeur du volume \u00e0 la fin, un nombre compris entre ``0`` et ``255``.\n:param waveform: Type de forme d'onde, une de ces valeurs : ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (bruit g\u00e9n\u00e9r\u00e9 al\u00e9atoirement).\n:param fx: Effet \u00e0 ajouter au son, l'une des valeurs suivantes : ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, ou ``FX_NONE``.\n:param shape: Le type de la courbe d'interpolation entre les fr\u00e9quences de d\u00e9but et de fin, les diff\u00e9rentes formes d'onde ont des taux de variation de fr\u00e9quence diff\u00e9rents. L'une des valeurs suivantes : ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Cr\u00e9er une copie de ce ``SoundEffect``.\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"Un objet ``AudioFrame`` est une liste de 32 \u00e9chantillons, chacun d'eux \u00e9tant un octet non sign\u00e9\n(nombre entier entre 0 et 255).\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"\u00c9craser les donn\u00e9es de ce ``AudioFrame`` avec les donn\u00e9es d'une autre instance ``AudioFrame``.\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: Instance ``AudioFrame`` \u00e0 partir de laquelle copier les donn\u00e9es.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", + "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"Utiliser la boussole int\u00e9gr\u00e9e.\"\"\"\n\ndef calibrate() -> None:\n \"\"\"D\u00e9marrer le processus d'\u00e9talonnage.\n\nExample: ``compass.calibrate()``\n\nAn instructive message will be scrolled to the user after which they will need\nto rotate the device in order to draw a circle on the LED display.\"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"V\u00e9rifier si la boussole est \u00e9talonn\u00e9e.\n\nExample: ``compass.is_calibrated()``\n\n:return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"Annule l'\u00e9talonnage, la boussole est ainsi \u00e0 nouveau non-\u00e9talonn\u00e9e.\n\nExample: ``compass.clear_calibration()``\"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"Obtenir la force du champ magn\u00e9tique sur l'axe ``x``.\n\nExample: ``compass.get_x()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Obtenir la force du champ magn\u00e9tique sur l'axe ``y``.\n\nExample: ``compass.get_y()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Obtenir la force du champ magn\u00e9tique sur l'axe ``z``.\n\nExample: ``compass.get_z()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"Obtenir le cap de la boussole.\n\nExample: ``compass.heading()``\n\n:return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"R\u00e9cup\u00e8re la magnitude du champ magn\u00e9tique autour de l'appareil.\n\nExample: ``compass.get_field_strength()``\n\n:return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...", + "/typeshed/stdlib/microbit/display.pyi": "\"\"\"Afficher du texte, des images et des animations sur l'\u00e9cran LED 5\u00d75.\"\"\"\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"R\u00e9cup\u00e8re la luminosit\u00e9 de la LED \u00e0 la colonne ``x`` et \u00e0 la ligne ``y``.\n\nExample: ``display.get_pixel(0, 0)``\n\n:param x: La colonne d'affichage (0..4)\n:param y: La ligne d'affichage (0..4)\n:return: A number between 0 (off) and 9 (bright)\"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"D\u00e9finit la luminosit\u00e9 de la LED \u00e0 la colonne ``x`` et \u00e0 la ligne ``y``.\n\nExample: ``display.set_pixel(0, 0, 9)``\n\n:param x: La colonne d'affichage (0..4)\n:param y: La ligne d'affichage (0..4)\n:param value: La luminosit\u00e9 entre 0 (\u00e9teint) et 9 (lumineux)\"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"R\u00e9gler la luminosit\u00e9 de toutes les LED \u00e0 0 (\u00e9teintes).\n\nExample: ``display.clear()``\"\"\"\n ...\n\ndef show(image: Union[str, float, int, Image, Iterable[Image]], delay: int=400, wait: bool=True, loop: bool=False, clear: bool=False) -> None:\n \"\"\"Afficher des images, des lettres ou des chiffres sur l'affichage LED.\n\nExample: ``display.show(Image.HEART)``\n\nWhen ``image`` is an image or a list of images then each image is displayed in turn.\nIf ``image`` is a string or number, each letter or digit is displayed in turn.\n\n:param image: Une cha\u00eene de caract\u00e8res, un nombre, une image ou une liste d'images \u00e0 afficher.\n:param delay: Chaque lettre, chiffre ou image est s\u00e9par\u00e9 par un d\u00e9lai de ``delay`` millisecondes.\n:param wait: Si ``wait`` est ``True`` cette fonction bloquera jusqu'\u00e0 la fin de l'animation, sinon l'animation s'effectuera en arri\u00e8re-plan.\n:param loop: Si ``loop`` est ``True``, l'animation se r\u00e9p\u00e9tera ind\u00e9finiment.\n:param clear: Si ``clear`` est ``True``, l'affichage sera effac\u00e9 une fois la s\u00e9quence termin\u00e9e.\n\nThe ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\"\"\"\n ...\n\ndef scroll(text: Union[str, float, int], delay: int=150, wait: bool=True, loop: bool=False, monospace: bool=False) -> None:\n \"\"\"Faire d\u00e9filer un nombre ou un texte sur l'affichage LED.\n\nExample: ``display.scroll('micro:bit')``\n\n:param text: La cha\u00eene de caract\u00e8res \u00e0 faire d\u00e9filer. Si ``text`` est un entier ou un nombre d\u00e9cimal, il sera converti en une cha\u00eene avec ``str()``.\n:param delay: Le param\u00e8tre ``delay`` contr\u00f4le la vitesse de d\u00e9filement du texte.\n:param wait: Si ``wait`` est ``True`` cette fonction bloquera jusqu'\u00e0 la fin de l'animation, sinon l'animation s'effectuera en arri\u00e8re-plan.\n:param loop: Si ``loop`` est ``True``, l'animation se r\u00e9p\u00e9tera ind\u00e9finiment.\n:param monospace: Si ``monospace`` est ``True``, tous les caract\u00e8res utiliseront 5 pixels en largeur, sinon, exactement 1 colonne de pixel vide sera ins\u00e9r\u00e9e entre chaque caract\u00e8re lors du d\u00e9filement.\n\nThe ``wait``, ``loop`` and ``monospace`` arguments must be specified\nusing their keyword.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Allumer l'\u00e9cran LED.\n\nExample: ``display.on()``\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Eteindre l'\u00e9cran LED (d\u00e9sactiver l'affichage vous permet de r\u00e9utiliser les broches GPIO \u00e0 d'autres fins).\n\nExample: ``display.off()``\"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"V\u00e9rifier si l'affichage LED est activ\u00e9.\n\nExample: ``display.is_on()``\n\n:return: ``True`` if the display is on, otherwise returns ``False``.\"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"Lit le niveau de lumi\u00e8re.\n\nExample: ``display.read_light_level()``\n\nUses the display's LEDs in reverse-bias mode to sense the amount of light\nfalling on the display.\n\n:return: An integer between 0 and 255 representing the light level, with larger meaning more light.\"\"\"\n ...", + "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Communiquer avec les p\u00e9riph\u00e9riques en utilisant le protocole de bus I\u00b2C.\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"R\u00e9initialiser un p\u00e9riph\u00e9rique.\n\nExample: ``i2c.init()``\n\n:param freq: fr\u00e9quence d'horloge\n:param sda: Broche ``sda`` (19 par d\u00e9faut)\n:param scl: Broche ``scl`` (19 par d\u00e9faut)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Scanner le bus pour d\u00e9tecter des p\u00e9riph\u00e9riques.\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"Lire des octets depuis un p\u00e9riph\u00e9rique.\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: L'adresse 7-bit du p\u00e9riph\u00e9rique\n:param n: Le nombre d'octets \u00e0 lire\n:param repeat: Si ``True``, aucun bit d'arr\u00eat ne sera envoy\u00e9\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"\u00c9crire des octets sur un p\u00e9riph\u00e9rique.\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: L'adresse 7-bit du p\u00e9riph\u00e9rique\n:param buf: Un buffer contenant les octets \u00e0 \u00e9crire\n:param repeat: Si ``True``, aucun bit d'arr\u00eat ne sera envoy\u00e9\"\"\"\n ...", + "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"R\u00e9agir \u00e0 du son en utilisant le microphone int\u00e9gr\u00e9 (V2 uniquement).\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"R\u00e9cup\u00e9rer le dernier \u00e9v\u00e9nement sonore enregistr\u00e9\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"V\u00e9rifier si un son a \u00e9t\u00e9 entendu au moins une fois depuis le dernier appel.\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: L'\u00e9v\u00e9nement \u00e0 v\u00e9rifier, tel que ``SoundEvent.LOUD`` ou ``SoundEvent.QUIET``\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"V\u00e9rifier l'\u00e9v\u00e9nement sonore le plus r\u00e9cent d\u00e9tect\u00e9.\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: L'\u00e9v\u00e9nement \u00e0 v\u00e9rifier, tel que ``SoundEvent.LOUD`` ou ``SoundEvent.QUIET``\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"R\u00e9cup\u00e9rer l'historique des \u00e9v\u00e9nements sonores en tant que tuple.\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"D\u00e9finir le seuil pour un \u00e9v\u00e9nement sonore.\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: Un \u00e9v\u00e9nement sonore, tel que ``SoundEvent.LOUD`` ou ``SoundEvent.QUIET``.\n:param value: Le niveau du seuil dans la plage 0-255.\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Obtenir le niveau de pression acoustique.\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", + "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Contr\u00f4ler le haut-parleur int\u00e9gr\u00e9 (V2 uniquement).\"\"\"\n\ndef off() -> None:\n \"\"\"\u00c9teindre le haut-parleur.\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Activer le haut-parleur.\n\nExample: ``speaker.on()``\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Communiquer avec les p\u00e9riph\u00e9riques \u00e0 l'aide du bus SPI (Serial Peripheral Interface).\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"Initialiser la communication SPI.\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: La vitesse de communication.\n:param bits: La largeur en bits de chaque transfert. Actuellement, seul ``bits=8`` est pris en charge. Cependant, cela peut \u00e9voluer \u00e0 l'avenir.\n:param mode: D\u00e9termine la combinaison de la polarit\u00e9 et de la phase de l'horloge. - `voir le tableau en ligne `_.\n:param sclk: Broche sclk (13 par d\u00e9faut)\n:param mosi: Broche mosi (15 par d\u00e9faut)\n:param miso: Broche miso (14 par d\u00e9faut)\"\"\"\n ...\n\ndef read(nbytes: int) -> bytes:\n \"\"\"Lire des octets.\n\nExample: ``spi.read(64)``\n\n:param nbytes: Nombre maximal d'octets \u00e0 lire.\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"\u00c9crire des octets sur le bus.\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: Un buffer \u00e0 partir duquel lire les donn\u00e9es.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Ecrire le buffer ``out`` sur le bus et lire toute r\u00e9ponse dans le buffer ``in_``.\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: Le buffer vers lequel \u00e9crire une r\u00e9ponse.\n:param in_: Le buffer depuis lequel lire les donn\u00e9es.\"\"\"\n ...", + "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Communiquer avec un p\u00e9riph\u00e9rique \u00e0 l'aide d'une interface s\u00e9rie.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"Parit\u00e9 impaire\"\"\"\nEVEN: int\n\"\"\"Parit\u00e9 paire\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"Initialiser la communication s\u00e9rie.\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: La vitesse de communication.\n:param bits: La taille des octets transmis. micro:bit ne prend en charge que 8.\n:param parity: Comment la parit\u00e9 est v\u00e9rifi\u00e9e, ``None``, ``uart.ODD`` ou ``uart.EVEN``.\n:param stop: Le nombre de bits d'arr\u00eat, doit \u00eatre 1 pour micro:bit.\n:param tx: Broche de transmission.\n:param rx: Broche de r\u00e9ception.\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"V\u00e9rifier s'il y a des donn\u00e9es en attente.\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"Lire des octets.\n\nExample: ``uart.read()``\n\n:param nbytes: Si ``nbytes`` est sp\u00e9cifi\u00e9, alors lire au maximum cette quantit\u00e9 d'octets, sinon lire autant d'octets que possible\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"Lire les octets dans le ``buf``.\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: Le buffer dans lequel \u00e9crire.\n:param nbytes: Si ``nbytes`` est sp\u00e9cifi\u00e9, alors lire au maximum cette quantit\u00e9 d'octets, sinon lire ``len(buf)`` octets.\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Lire une ligne termin\u00e9e par un caract\u00e8re de nouvelle ligne.\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"\u00c9crire un buffer sur un bus\n\nExample: ``uart.write('hello world')``\n\n:param buf: Un objet d'octets ou une cha\u00eene de caract\u00e8res.\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", + "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", + "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" + } +} \ No newline at end of file diff --git a/src/micropython/beta/typeshed.ja.json b/src/micropython/beta/typeshed.ja.json new file mode 100644 index 000000000..fdc6c86e3 --- /dev/null +++ b/src/micropython/beta/typeshed.ja.json @@ -0,0 +1,51 @@ +{ + "files": { + "/typeshed/stdlib/VERSIONS": "# The structure of this file is as follows:\n# - Blank lines and comments starting with `#` are ignored.\n# - Lines contain the name of a module, followed by a colon,\n# a space, and a version range (for example: `symbol: 2.7-3.9`).\n#\n# Version ranges may be of the form \"X.Y-A.B\" or \"X.Y-\". The\n# first form means that a module was introduced in version X.Y and last\n# available in version A.B. The second form means that the module was\n# introduced in version X.Y and is still available in the latest\n# version of Python.\n#\n# If a submodule is not listed separately, it has the same lifetime as\n# its parent module.\n#\n# Python versions before 2.7 are ignored, so any module that was already\n# present in 2.7 will have \"2.7\" as its minimum version. Version ranges\n# for unsupported versions of Python 3 (currently 3.5 and lower) are\n# generally accurate but we do not guarantee their correctness.\n\nantigravity: 3.0-\narray: 3.0-\naudio: 3.0-\nbuiltins: 3.0-\nerrno: 3.0-\ngc: 3.0-\nlove: 3.0-\nmachine: 3.0-\nmath: 3.0-\nmicrobit: 3.0-\nmicropython: 3.0-\nmusic: 3.0-\nneopixel: 3.0-\nos: 3.0-\nradio: 3.0-\nrandom: 3.0-\nspeech: 3.0-\nstruct: 3.0-\nsys: 3.0-\nthis: 3.0-\ntime: 3.0-\ntyping_extensions: 3.0-\ntyping: 3.0-\nuarray: 3.0-\nucollections: 3.0-\nuerrno: 3.0-\nuos: 3.0-\nurandom: 3.0-\nustruct: 3.0-\nusys: 3.0-\nutime: 3.0-", + "/typeshed/stdlib/abc.pyi": "from _typeshed import SupportsWrite\nfrom typing import Any, Callable, Tuple, Type, TypeVar\n\n_T = TypeVar(\"_T\")\n_FuncT = TypeVar(\"_FuncT\", bound=Callable[..., Any])\n\n# These definitions have special processing in mypy\nclass ABCMeta(type):\n __abstractmethods__: frozenset[str]\n def __init__(\n self, name: str, bases: Tuple[type, ...], namespace: dict[str, Any]\n ) -> None: ...\n def __instancecheck__(cls: ABCMeta, instance: Any) -> Any: ...\n def __subclasscheck__(cls: ABCMeta, subclass: Any) -> Any: ...\n def _dump_registry(cls: ABCMeta, file: SupportsWrite[str] | None = ...) -> None: ...\n def register(cls: ABCMeta, subclass: Type[_T]) -> Type[_T]: ...\n\ndef abstractmethod(funcobj: _FuncT) -> _FuncT: ...\n\nclass abstractproperty(property): ...\n\n# These two are deprecated and not supported by mypy\ndef abstractstaticmethod(callable: _FuncT) -> _FuncT: ...\ndef abstractclassmethod(callable: _FuncT) -> _FuncT: ...\n\nclass ABC(metaclass=ABCMeta): ...\n\ndef get_cache_token() -> object: ...\n", + "/typeshed/stdlib/antigravity.pyi": "", + "/typeshed/stdlib/array.pyi": "from typing import Generic, Iterable, MutableSequence, TypeVar, Union, overload\nfrom typing_extensions import Literal\n\n_IntTypeCode = Literal[\"b\", \"B\", \"h\", \"H\", \"i\", \"I\", \"l\", \"L\", \"q\", \"Q\"]\n_FloatTypeCode = Literal[\"f\", \"d\"]\n_TypeCode = Union[_IntTypeCode, _FloatTypeCode]\n\n_T = TypeVar(\"_T\", int, float)\n\nclass array(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(\n self: array[int],\n typecode: _IntTypeCode,\n __initializer: Union[bytes, Iterable[_T]] = ...,\n ) -> None: ...\n @overload\n def __init__(\n self: array[float],\n typecode: _FloatTypeCode,\n __initializer: Union[bytes, Iterable[_T]] = ...,\n ) -> None: ...\n @overload\n def __init__(\n self, typecode: str, __initializer: Union[bytes, Iterable[_T]] = ...\n ) -> None: ...\n def append(self, __v: _T) -> None: ...\n def decode(self) -> str: ...\n def extend(self, __bb: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n @overload\n def __getitem__(self, i: int) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> array[_T]: ...\n @overload # type: ignore # Overrides MutableSequence\n def __setitem__(self, i: int, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: array[_T]) -> None: ...\n def __add__(self, x: array[_T]) -> array[_T]: ...\n def __iadd__(self, x: array[_T]) -> array[_T]: ... # type: ignore # Overrides MutableSequence\n\nArrayType = array\n", + "/typeshed/stdlib/audio.pyi": "\"\"\"Play sounds using the micro:bit (import ``audio`` for V1 compatibility).\n\"\"\"\n\n# Re-export for V1 compatibility.\nfrom .microbit.audio import (\n is_playing as is_playing,\n play as play,\n stop as stop,\n AudioFrame as AudioFrame,\n SoundEffect as SoundEffect,\n)\n", + "/typeshed/stdlib/builtins.pyi": "import sys\nimport types\nfrom _typeshed import (\n OpenBinaryMode,\n OpenTextMode,\n ReadableBuffer,\n Self,\n StrOrBytesPath,\n SupportsDivMod,\n SupportsKeysAndGetItem,\n SupportsLenAndGetItem,\n SupportsLessThan,\n SupportsLessThanT,\n SupportsRDivMod,\n SupportsWrite,\n)\nfrom types import CodeType, TracebackType\nfrom typing import (\n IO,\n AbstractSet,\n Any,\n AsyncIterable,\n AsyncIterator,\n BinaryIO,\n ByteString,\n Callable,\n FrozenSet,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n MutableMapping,\n MutableSequence,\n MutableSet,\n NoReturn,\n Protocol,\n Reversible,\n Sequence,\n Set,\n Sized,\n SupportsAbs,\n SupportsBytes,\n SupportsComplex,\n SupportsFloat,\n SupportsInt,\n SupportsRound,\n TextIO,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, SupportsIndex, final\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\nclass _SupportsTrunc(Protocol):\n def __trunc__(self) -> int: ...\n\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n_S = TypeVar(\"_S\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T3 = TypeVar(\"_T3\")\n_T4 = TypeVar(\"_T4\")\n_T5 = TypeVar(\"_T5\")\n_TT = TypeVar(\"_TT\", bound=\"type\")\n_TBE = TypeVar(\"_TBE\", bound=\"BaseException\")\n\nclass object:\n __doc__: str | None\n __dict__: dict[str, Any]\n __slots__: str | Iterable[str]\n __module__: str\n __annotations__: dict[str, Any]\n @property\n def __class__(self: _T) -> Type[_T]: ...\n # Ignore errors about type mismatch between property getter and setter\n @__class__.setter\n def __class__(self, __type: Type[object]) -> None: ... # type: ignore # noqa: F811\n def __init__(self) -> None: ...\n def __new__(cls: Type[_T]) -> _T: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __eq__(self, o: object) -> bool: ...\n def __ne__(self, o: object) -> bool: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n def __format__(self, format_spec: str) -> str: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __delattr__(self, name: str) -> None: ...\n def __sizeof__(self) -> int: ...\n def __reduce__(self) -> str | Tuple[Any, ...]: ...\n if sys.version_info >= (3, 8):\n def __reduce_ex__(self, protocol: SupportsIndex) -> str | Tuple[Any, ...]: ...\n else:\n def __reduce_ex__(self, protocol: int) -> str | Tuple[Any, ...]: ...\n def __dir__(self) -> Iterable[str]: ...\n def __init_subclass__(cls) -> None: ...\n\nclass staticmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass classmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass type(object):\n __base__: type\n __bases__: Tuple[type, ...]\n __basicsize__: int\n __dict__: dict[str, Any]\n __dictoffset__: int\n __flags__: int\n __itemsize__: int\n __module__: str\n __name__: str\n __qualname__: str\n __text_signature__: str | None\n __weakrefoffset__: int\n @overload\n def __init__(self, o: object) -> None: ...\n @overload\n def __init__(\n self, name: str, bases: Tuple[type, ...], dict: dict[str, Any], **kwds: Any\n ) -> None: ...\n @overload\n def __new__(cls, o: object) -> type: ...\n @overload\n def __new__(\n cls: Type[_TT],\n name: str,\n bases: Tuple[type, ...],\n namespace: dict[str, Any],\n **kwds: Any,\n ) -> _TT: ...\n def __call__(self, *args: Any, **kwds: Any) -> Any: ...\n def __subclasses__(self: _TT) -> list[_TT]: ...\n def __instancecheck__(self, instance: Any) -> bool: ...\n def __subclasscheck__(self, subclass: type) -> bool: ...\n @classmethod\n def __prepare__(\n metacls, __name: str, __bases: Tuple[type, ...], **kwds: Any\n ) -> Mapping[str, Any]: ...\n if sys.version_info >= (3, 10):\n def __or__(self, t: Any) -> types.UnionType: ...\n def __ror__(self, t: Any) -> types.UnionType: ...\n\nclass super(object):\n @overload\n def __init__(self, t: Any, obj: Any) -> None: ...\n @overload\n def __init__(self, t: Any) -> None: ...\n @overload\n def __init__(self) -> None: ...\n\nclass int:\n @overload\n def __new__(\n cls: Type[_T],\n x: str | bytes | SupportsInt | SupportsIndex | _SupportsTrunc = ...,\n ) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], x: str | bytes | bytearray, base: SupportsIndex\n ) -> _T: ...\n def to_bytes(\n self,\n length: SupportsIndex,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> bytes: ...\n @classmethod\n def from_bytes(\n cls,\n bytes: Iterable[SupportsIndex] | SupportsBytes,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> int: ... # TODO buffer object argument\n def __add__(self, x: int) -> int: ...\n def __sub__(self, x: int) -> int: ...\n def __mul__(self, x: int) -> int: ...\n def __floordiv__(self, x: int) -> int: ...\n def __truediv__(self, x: int) -> float: ...\n def __mod__(self, x: int) -> int: ...\n def __divmod__(self, x: int) -> Tuple[int, int]: ...\n def __radd__(self, x: int) -> int: ...\n def __rsub__(self, x: int) -> int: ...\n def __rmul__(self, x: int) -> int: ...\n def __rfloordiv__(self, x: int) -> int: ...\n def __rtruediv__(self, x: int) -> float: ...\n def __rmod__(self, x: int) -> int: ...\n def __rdivmod__(self, x: int) -> Tuple[int, int]: ...\n @overload\n def __pow__(self, __x: Literal[2], __modulo: int | None = ...) -> int: ...\n @overload\n def __pow__(\n self, __x: int, __modulo: int | None = ...\n ) -> Any: ... # Return type can be int or float, depending on x.\n def __rpow__(self, x: int, mod: int | None = ...) -> Any: ...\n def __and__(self, n: int) -> int: ...\n def __or__(self, n: int) -> int: ...\n def __xor__(self, n: int) -> int: ...\n def __lshift__(self, n: int) -> int: ...\n def __rshift__(self, n: int) -> int: ...\n def __rand__(self, n: int) -> int: ...\n def __ror__(self, n: int) -> int: ...\n def __rxor__(self, n: int) -> int: ...\n def __rlshift__(self, n: int) -> int: ...\n def __rrshift__(self, n: int) -> int: ...\n def __neg__(self) -> int: ...\n def __pos__(self) -> int: ...\n def __invert__(self) -> int: ...\n def __trunc__(self) -> int: ...\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n def __round__(self, ndigits: SupportsIndex = ...) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: int) -> bool: ...\n def __le__(self, x: int) -> bool: ...\n def __gt__(self, x: int) -> bool: ...\n def __ge__(self, x: int) -> bool: ...\n def __str__(self) -> str: ...\n def __float__(self) -> float: ...\n def __int__(self) -> int: ...\n def __abs__(self) -> int: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n def __index__(self) -> int: ...\n\nclass float:\n def __new__(\n cls: Type[_T], x: SupportsFloat | SupportsIndex | str | bytes | bytearray = ...\n ) -> _T: ...\n def __add__(self, x: float) -> float: ...\n def __sub__(self, x: float) -> float: ...\n def __mul__(self, x: float) -> float: ...\n def __floordiv__(self, x: float) -> float: ...\n def __truediv__(self, x: float) -> float: ...\n def __mod__(self, x: float) -> float: ...\n def __divmod__(self, x: float) -> Tuple[float, float]: ...\n def __pow__(\n self, x: float, mod: None = ...\n ) -> float: ... # In Python 3, returns complex if self is negative and x is not whole\n def __radd__(self, x: float) -> float: ...\n def __rsub__(self, x: float) -> float: ...\n def __rmul__(self, x: float) -> float: ...\n def __rfloordiv__(self, x: float) -> float: ...\n def __rtruediv__(self, x: float) -> float: ...\n def __rmod__(self, x: float) -> float: ...\n def __rdivmod__(self, x: float) -> Tuple[float, float]: ...\n def __rpow__(self, x: float, mod: None = ...) -> float: ...\n def __getnewargs__(self) -> Tuple[float]: ...\n def __trunc__(self) -> int: ...\n if sys.version_info >= (3, 9):\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n @overload\n def __round__(self, ndigits: None = ...) -> int: ...\n @overload\n def __round__(self, ndigits: SupportsIndex) -> float: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: float) -> bool: ...\n def __le__(self, x: float) -> bool: ...\n def __gt__(self, x: float) -> bool: ...\n def __ge__(self, x: float) -> bool: ...\n def __neg__(self) -> float: ...\n def __pos__(self) -> float: ...\n def __str__(self) -> str: ...\n def __int__(self) -> int: ...\n def __float__(self) -> float: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass complex:\n @overload\n def __new__(cls: Type[_T], real: float = ..., imag: float = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], real: str | SupportsComplex | SupportsIndex | complex\n ) -> _T: ...\n @property\n def real(self) -> float: ...\n @property\n def imag(self) -> float: ...\n def __add__(self, x: complex) -> complex: ...\n def __sub__(self, x: complex) -> complex: ...\n def __mul__(self, x: complex) -> complex: ...\n def __pow__(self, x: complex, mod: None = ...) -> complex: ...\n def __truediv__(self, x: complex) -> complex: ...\n def __radd__(self, x: complex) -> complex: ...\n def __rsub__(self, x: complex) -> complex: ...\n def __rmul__(self, x: complex) -> complex: ...\n def __rpow__(self, x: complex, mod: None = ...) -> complex: ...\n def __rtruediv__(self, x: complex) -> complex: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __neg__(self) -> complex: ...\n def __pos__(self) -> complex: ...\n def __str__(self) -> str: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass str(Sequence[str]):\n @overload\n def __new__(cls: Type[_T], o: object = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], o: bytes, encoding: str = ..., errors: str = ...\n ) -> _T: ...\n def count(\n self,\n x: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def encode(self, encoding: str = ..., errors: str = ...) -> bytes: ...\n def endswith(\n self,\n __suffix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def format(self, *args: object, **kwargs: object) -> str: ...\n def index(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable: Iterable[str]) -> str: ...\n def lower(self) -> str: ...\n def lstrip(self, __chars: str | None = ...) -> str: ...\n def replace(self, __old: str, __new: str, __count: SupportsIndex = ...) -> str: ...\n def rfind(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def rstrip(self, __chars: str | None = ...) -> str: ...\n def split(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def startswith(\n self,\n __prefix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __chars: str | None = ...) -> str: ...\n def upper(self) -> str: ...\n def __add__(self, s: str) -> str: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: str) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ge__(self, x: str) -> bool: ...\n def __getitem__(self, i: int | slice) -> str: ...\n def __gt__(self, x: str) -> bool: ...\n def __hash__(self) -> int: ...\n def __iter__(self) -> Iterator[str]: ...\n def __le__(self, x: str) -> bool: ...\n def __len__(self) -> int: ...\n def __lt__(self, x: str) -> bool: ...\n def __mod__(self, x: Any) -> str: ...\n def __mul__(self, n: SupportsIndex) -> str: ...\n def __ne__(self, x: object) -> bool: ...\n def __repr__(self) -> str: ...\n def __rmul__(self, n: SupportsIndex) -> str: ...\n def __str__(self) -> str: ...\n def __getnewargs__(self) -> Tuple[str]: ...\n\nclass bytes(ByteString):\n @overload\n def __new__(cls: Type[_T], ints: Iterable[SupportsIndex]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], string: str, encoding: str, errors: str = ...) -> _T: ...\n @overload\n def __new__(cls: Type[_T], length: SupportsIndex) -> _T: ...\n @overload\n def __new__(cls: Type[_T]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], o: SupportsBytes) -> _T: ...\n def count(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def endswith(\n self,\n __suffix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def index(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable_of_bytes: Iterable[ByteString | memoryview]) -> bytes: ...\n def lower(self) -> bytes: ...\n def lstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def replace(\n self, __old: bytes, __new: bytes, __count: SupportsIndex = ...\n ) -> bytes: ...\n def rfind(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def rstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def split(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def startswith(\n self,\n __prefix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __bytes: bytes | None = ...) -> bytes: ...\n def upper(self) -> bytes: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytes: ...\n def __add__(self, s: bytes) -> bytes: ...\n def __mul__(self, n: SupportsIndex) -> bytes: ...\n def __rmul__(self, n: SupportsIndex) -> bytes: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n def __getnewargs__(self) -> Tuple[bytes]: ...\n\nclass bytearray:\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, ints: Iterable[SupportsIndex]) -> None: ...\n @overload\n def __init__(self, string: str, encoding: str, errors: str = ...) -> None: ...\n @overload\n def __init__(self, length: SupportsIndex) -> None: ...\n def append(self, __item: SupportsIndex) -> None: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def extend(self, __iterable_of_ints: Iterable[SupportsIndex]) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytearray: ...\n @overload\n def __setitem__(self, i: SupportsIndex, x: SupportsIndex) -> None: ...\n @overload\n def __setitem__(self, s: slice, x: Iterable[SupportsIndex] | bytes) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, s: bytes) -> bytearray: ...\n def __iadd__(self, s: Iterable[int]) -> bytearray: ...\n def __mul__(self, n: SupportsIndex) -> bytearray: ...\n def __rmul__(self, n: SupportsIndex) -> bytearray: ...\n def __imul__(self, n: SupportsIndex) -> bytearray: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n\nclass memoryview(Sized, Sequence[int]):\n def __init__(self, obj: ReadableBuffer) -> None: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> memoryview: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n def __len__(self) -> int: ...\n @overload\n def __setitem__(self, s: slice, o: bytes) -> None: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: SupportsIndex) -> None: ...\n\n@final\nclass bool(int):\n def __new__(cls: Type[_T], __o: object = ...) -> _T: ...\n @overload\n def __and__(self, x: bool) -> bool: ...\n @overload\n def __and__(self, x: int) -> int: ...\n @overload\n def __or__(self, x: bool) -> bool: ...\n @overload\n def __or__(self, x: int) -> int: ...\n @overload\n def __xor__(self, x: bool) -> bool: ...\n @overload\n def __xor__(self, x: int) -> int: ...\n @overload\n def __rand__(self, x: bool) -> bool: ...\n @overload\n def __rand__(self, x: int) -> int: ...\n @overload\n def __ror__(self, x: bool) -> bool: ...\n @overload\n def __ror__(self, x: int) -> int: ...\n @overload\n def __rxor__(self, x: bool) -> bool: ...\n @overload\n def __rxor__(self, x: int) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n\nclass slice(object):\n start: Any\n step: Any\n stop: Any\n __hash__: None # type: ignore\n def indices(self, len: SupportsIndex) -> Tuple[int, int, int]: ...\n\nclass tuple(Sequence[_T_co], Generic[_T_co]):\n def __new__(cls: Type[_T], iterable: Iterable[_T_co] = ...) -> _T: ...\n def __len__(self) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n @overload\n def __getitem__(self, x: int) -> _T_co: ...\n @overload\n def __getitem__(self, x: slice) -> Tuple[_T_co, ...]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __lt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __le__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __gt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __ge__(self, x: Tuple[_T_co, ...]) -> bool: ...\n @overload\n def __add__(self, x: Tuple[_T_co, ...]) -> Tuple[_T_co, ...]: ...\n @overload\n def __add__(self, x: Tuple[_T, ...]) -> Tuple[_T_co | _T, ...]: ...\n def __mul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def __rmul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def count(self, __value: Any) -> int: ...\n def index(\n self, __value: Any, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n\n# Can we remove this?\nclass function:\n # TODO not defined in builtins!\n __name__: str\n __module__: str\n __code__: CodeType\n __qualname__: str\n __annotations__: dict[str, Any]\n\nclass frozenset(AbstractSet[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls: type[Self]) -> Self: ...\n @overload\n def __new__(cls: type[Self], __iterable: Iterable[_T_co]) -> Self: ...\n def copy(self) -> FrozenSet[_T_co]: ...\n def difference(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def intersection(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def isdisjoint(self, s: Iterable[_T_co]) -> bool: ...\n def issubset(self, s: Iterable[object]) -> bool: ...\n def issuperset(self, s: Iterable[object]) -> bool: ...\n def symmetric_difference(self, s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def union(self, *s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __sub__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass list(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[_T]) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> list[_T]: ...\n def append(self, __object: _T) -> None: ...\n def extend(self, __iterable: Iterable[_T]) -> None: ...\n def pop(self, __index: SupportsIndex = ...) -> _T: ...\n def index(\n self, __value: _T, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n def count(self, __value: _T) -> int: ...\n def insert(self, __index: SupportsIndex, __object: _T) -> None: ...\n def remove(self, __value: _T) -> None: ...\n def reverse(self) -> None: ...\n @overload\n def sort(\n self: list[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n ) -> None: ...\n @overload\n def sort(\n self, *, key: Callable[[_T], SupportsLessThan], reverse: bool = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> list[_T]: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, x: list[_T]) -> list[_T]: ...\n def __iadd__(self: _S, x: Iterable[_T]) -> _S: ...\n def __mul__(self, n: SupportsIndex) -> list[_T]: ...\n def __rmul__(self, n: SupportsIndex) -> list[_T]: ...\n def __imul__(self: _S, n: SupportsIndex) -> _S: ...\n def __contains__(self, o: object) -> bool: ...\n def __reversed__(self) -> Iterator[_T]: ...\n def __gt__(self, x: list[_T]) -> bool: ...\n def __ge__(self, x: list[_T]) -> bool: ...\n def __lt__(self, x: list[_T]) -> bool: ...\n def __le__(self, x: list[_T]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass dict(MutableMapping[_KT, _VT], Generic[_KT, _VT]):\n @overload\n def __init__(self: dict[_KT, _VT]) -> None: ...\n @overload\n def __init__(self: dict[str, _VT], **kwargs: _VT) -> None: ...\n @overload\n def __init__(\n self, map: SupportsKeysAndGetItem[_KT, _VT], **kwargs: _VT\n ) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n def __new__(cls: Type[_T1], *args: Any, **kwargs: Any) -> _T1: ...\n def clear(self) -> None: ...\n def copy(self) -> dict[_KT, _VT]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, __key: _KT, __default: _VT = ...) -> _VT: ...\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT]: ...\n def items(self) -> ItemsView[_KT, _VT]: ...\n @classmethod\n @overload\n def fromkeys(\n cls, __iterable: Iterable[_T], __value: None = ...\n ) -> dict[_T, Any | None]: ...\n @classmethod\n @overload\n def fromkeys(cls, __iterable: Iterable[_T], __value: _S) -> dict[_T, _S]: ...\n def __len__(self) -> int: ...\n def __getitem__(self, k: _KT) -> _VT: ...\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n def __delitem__(self, v: _KT) -> None: ...\n def __iter__(self) -> Iterator[_KT]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __or__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ror__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ior__(self, __value: Mapping[_KT, _VT]) -> dict[_KT, _VT]: ... # type: ignore\n\nclass set(MutableSet[_T], Generic[_T]):\n def __init__(self, iterable: Iterable[_T] = ...) -> None: ...\n def add(self, element: _T) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> Set[_T]: ...\n def difference(self, *s: Iterable[Any]) -> Set[_T]: ...\n def difference_update(self, *s: Iterable[Any]) -> None: ...\n def discard(self, element: _T) -> None: ...\n def intersection(self, *s: Iterable[Any]) -> Set[_T]: ...\n def intersection_update(self, *s: Iterable[Any]) -> None: ...\n def isdisjoint(self, s: Iterable[Any]) -> bool: ...\n def issubset(self, s: Iterable[Any]) -> bool: ...\n def issuperset(self, s: Iterable[Any]) -> bool: ...\n def pop(self) -> _T: ...\n def remove(self, element: _T) -> None: ...\n def symmetric_difference(self, s: Iterable[_T]) -> Set[_T]: ...\n def symmetric_difference_update(self, s: Iterable[_T]) -> None: ...\n def union(self, *s: Iterable[_T]) -> Set[_T]: ...\n def update(self, *s: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __iand__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __or__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ior__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __sub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __isub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __xor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass enumerate(Iterator[Tuple[int, _T]], Generic[_T]):\n def __init__(self, iterable: Iterable[_T], start: int = ...) -> None: ...\n def __iter__(self) -> Iterator[Tuple[int, _T]]: ...\n def __next__(self) -> Tuple[int, _T]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass range(Sequence[int]):\n start: int\n stop: int\n step: int\n @overload\n def __init__(self, stop: SupportsIndex) -> None: ...\n @overload\n def __init__(\n self, start: SupportsIndex, stop: SupportsIndex, step: SupportsIndex = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> range: ...\n def __repr__(self) -> str: ...\n def __reversed__(self) -> Iterator[int]: ...\n\nclass property(object):\n fget: Callable[[Any], Any] | None\n fset: Callable[[Any, Any], None] | None\n fdel: Callable[[Any], None] | None\n def __init__(\n self,\n fget: Callable[[Any], Any] | None = ...,\n fset: Callable[[Any, Any], None] | None = ...,\n fdel: Callable[[Any], None] | None = ...,\n doc: str | None = ...,\n ) -> None: ...\n def getter(self, fget: Callable[[Any], Any]) -> property: ...\n def setter(self, fset: Callable[[Any, Any], None]) -> property: ...\n def deleter(self, fdel: Callable[[Any], None]) -> property: ...\n def __get__(self, obj: Any, type: type | None = ...) -> Any: ...\n def __set__(self, obj: Any, value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nclass _NotImplementedType(Any): # type: ignore\n # A little weird, but typing the __call__ as NotImplemented makes the error message\n # for NotImplemented() much better\n __call__: NotImplemented # type: ignore\n\nNotImplemented: _NotImplementedType\n\ndef abs(__x: SupportsAbs[_T]) -> _T: ...\ndef all(__iterable: Iterable[object]) -> bool: ...\ndef any(__iterable: Iterable[object]) -> bool: ...\ndef bin(__number: int | SupportsIndex) -> str: ...\n\nif sys.version_info >= (3, 7):\n def breakpoint(*args: Any, **kws: Any) -> None: ...\n\ndef callable(__obj: object) -> bool: ...\ndef chr(__i: int) -> str: ...\n\n# We define this here instead of using os.PathLike to avoid import cycle issues.\n# See https://github.com/python/typeshed/pull/991#issuecomment-288160993\n_AnyStr_co = TypeVar(\"_AnyStr_co\", str, bytes, covariant=True)\n\nclass _PathLike(Protocol[_AnyStr_co]):\n def __fspath__(self) -> _AnyStr_co: ...\n\nif sys.version_info >= (3, 10):\n def aiter(__iterable: AsyncIterable[_T]) -> AsyncIterator[_T]: ...\n @overload\n async def anext(__i: AsyncIterator[_T]) -> _T: ...\n @overload\n async def anext(__i: AsyncIterator[_T], default: _VT) -> _T | _VT: ...\n\ndef delattr(__obj: Any, __name: str) -> None: ...\ndef dir(__o: object = ...) -> list[str]: ...\n@overload\ndef divmod(__x: SupportsDivMod[_T_contra, _T_co], __y: _T_contra) -> _T_co: ...\n@overload\ndef divmod(__x: _T_contra, __y: SupportsRDivMod[_T_contra, _T_co]) -> _T_co: ...\ndef eval(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\ndef exec(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\n\nclass filter(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __function: None, __iterable: Iterable[_T | None]) -> None: ...\n @overload\n def __init__(\n self, __function: Callable[[_T], Any], __iterable: Iterable[_T]\n ) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\n@overload\ndef getattr(__o: object, name: str) -> Any: ...\n\n# While technically covered by the last overload, spelling out the types for None and bool\n# help mypy out in some tricky situations involving type context (aka bidirectional inference)\n@overload\ndef getattr(__o: object, name: str, __default: None) -> Any | None: ...\n@overload\ndef getattr(__o: object, name: str, __default: bool) -> Any | bool: ...\n@overload\ndef getattr(__o: object, name: str, __default: _T) -> Any | _T: ...\ndef globals() -> dict[str, Any]: ...\ndef hasattr(__obj: object, __name: str) -> bool: ...\ndef hash(__obj: object) -> int: ...\ndef help(*args: Any, **kwds: Any) -> None: ...\ndef hex(__number: int | SupportsIndex) -> str: ...\ndef id(__obj: object) -> int: ...\ndef input(__prompt: Any = ...) -> str: ...\n@overload\ndef iter(__iterable: Iterable[_T]) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T | None], __sentinel: None) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T], __sentinel: Any) -> Iterator[_T]: ...\n\nif sys.version_info >= (3, 10):\n def isinstance(\n __obj: object,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n def issubclass(\n __cls: type,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n\nelse:\n def isinstance(\n __obj: object, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n def issubclass(\n __cls: type, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n\ndef len(__obj: Sized) -> int: ...\ndef locals() -> dict[str, Any]: ...\n\nclass map(Iterator[_S], Generic[_S]):\n @overload\n def __init__(self, __func: Callable[[_T1], _S], __iter1: Iterable[_T1]) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4, _T5], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[..., _S],\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> None: ...\n def __iter__(self) -> Iterator[_S]: ...\n def __next__(self) -> _S: ...\n\n@overload\ndef max(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef max(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef max(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef max(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef min(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef min(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef min(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef min(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef next(__i: Iterator[_T]) -> _T: ...\n@overload\ndef next(__i: Iterator[_T], default: _VT) -> _T | _VT: ...\ndef oct(__number: int | SupportsIndex) -> str: ...\n\n_OpenFile = Union[StrOrBytesPath, int]\n_Opener = Callable[[str, int], int]\n\n# Text mode: always returns a TextIOWrapper\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenTextMode = ...,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> TextIO: ...\n\n# Unbuffered binary mode: returns a FileIO\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenBinaryMode,\n buffering: int = ...,\n encoding: None = ...,\n errors: None = ...,\n newline: None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> BinaryIO: ...\n\n# Fallback if mode is not specified\n@overload\ndef open(\n file: _OpenFile,\n mode: str,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> IO[Any]: ...\ndef ord(__c: str | bytes) -> int: ...\ndef print(\n *values: object,\n sep: str | None = ...,\n end: str | None = ...,\n file: SupportsWrite[str] | None = ...,\n flush: bool = ...,\n) -> None: ...\n\n_E = TypeVar(\"_E\", contravariant=True)\n_M = TypeVar(\"_M\", contravariant=True)\n\nclass _SupportsPow2(Protocol[_E, _T_co]):\n def __pow__(self, __other: _E) -> _T_co: ...\n\nclass _SupportsPow3(Protocol[_E, _M, _T_co]):\n def __pow__(self, __other: _E, __modulo: _M) -> _T_co: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def pow(\n base: int, exp: int, mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(base: int, exp: int, mod: int) -> int: ...\n @overload\n def pow(base: float, exp: float, mod: None = ...) -> float: ...\n @overload\n def pow(base: _SupportsPow2[_E, _T_co], exp: _E) -> _T_co: ...\n @overload\n def pow(base: _SupportsPow3[_E, _M, _T_co], exp: _E, mod: _M) -> _T_co: ...\n\nelse:\n @overload\n def pow(\n __base: int, __exp: int, __mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(__base: int, __exp: int, __mod: int) -> int: ...\n @overload\n def pow(__base: float, __exp: float, __mod: None = ...) -> float: ...\n @overload\n def pow(__base: _SupportsPow2[_E, _T_co], __exp: _E) -> _T_co: ...\n @overload\n def pow(__base: _SupportsPow3[_E, _M, _T_co], __exp: _E, __mod: _M) -> _T_co: ...\n\nclass reversed(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __sequence: Reversible[_T]) -> None: ...\n @overload\n def __init__(self, __sequence: SupportsLenAndGetItem[_T]) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\ndef repr(__obj: object) -> str: ...\n@overload\ndef round(number: SupportsRound[Any]) -> int: ...\n@overload\ndef round(number: SupportsRound[Any], ndigits: None) -> int: ...\n@overload\ndef round(number: SupportsRound[_T], ndigits: SupportsIndex) -> _T: ...\ndef setattr(__obj: object, __name: str, __value: Any) -> None: ...\n@overload\ndef sorted(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n) -> list[SupportsLessThanT]: ...\n@overload\ndef sorted(\n __iterable: Iterable[_T],\n *,\n key: Callable[[_T], SupportsLessThan],\n reverse: bool = ...,\n) -> list[_T]: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], start: _S) -> _T | _S: ...\n\nelse:\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], __start: _S) -> _T | _S: ...\n\nclass zip(Iterator[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls, __iter1: Iterable[_T1]) -> zip[Tuple[_T1]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2]\n ) -> zip[Tuple[_T1, _T2]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]\n ) -> zip[Tuple[_T1, _T2, _T3]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4, _T5]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> zip[Tuple[Any, ...]]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __next__(self) -> _T_co: ...\n\ndef __import__(\n name: str,\n globals: Mapping[str, Any] | None = ...,\n locals: Mapping[str, Any] | None = ...,\n fromlist: Sequence[str] = ...,\n level: int = ...,\n) -> Any: ...\n\n# Actually the type of Ellipsis is , but since it's\n# not exposed anywhere under that name, we make it private here.\nclass ellipsis: ...\n\nEllipsis: ellipsis\n\nclass BaseException(object):\n args: Tuple[Any, ...]\n __cause__: BaseException | None\n __context__: BaseException | None\n __suppress_context__: bool\n __traceback__: TracebackType | None\n def __init__(self, *args: object) -> None: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def with_traceback(self: _TBE, tb: TracebackType | None) -> _TBE: ...\n\nclass GeneratorExit(BaseException): ...\nclass KeyboardInterrupt(BaseException): ...\n\nclass SystemExit(BaseException):\n code: int\n\nclass Exception(BaseException): ...\n\nclass StopIteration(Exception):\n value: Any\n\n_StandardError = Exception\n\nclass OSError(Exception):\n errno: int\n strerror: str\n # filename, filename2 are actually str | bytes | None\n filename: Any\n filename2: Any\n if sys.platform == \"win32\":\n winerror: int\n\nif sys.platform == \"win32\":\n WindowsError = OSError\n\nclass ArithmeticError(_StandardError): ...\nclass AssertionError(_StandardError): ...\n\nclass AttributeError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n obj: object\n\nclass EOFError(_StandardError): ...\n\nclass ImportError(_StandardError):\n def __init__(\n self, *args: object, name: str | None = ..., path: str | None = ...\n ) -> None: ...\n name: str | None\n path: str | None\n msg: str # undocumented\n\nclass LookupError(_StandardError): ...\nclass MemoryError(_StandardError): ...\n\nclass NameError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n\nclass RuntimeError(_StandardError): ...\n\nclass StopAsyncIteration(Exception):\n value: Any\n\nclass SyntaxError(_StandardError):\n msg: str\n lineno: int | None\n offset: int | None\n text: str | None\n filename: str | None\n if sys.version_info >= (3, 10):\n end_lineno: int | None\n end_offset: int | None\n\nclass TypeError(_StandardError): ...\nclass ValueError(_StandardError): ...\nclass FloatingPointError(ArithmeticError): ...\nclass OverflowError(ArithmeticError): ...\nclass ZeroDivisionError(ArithmeticError): ...\nclass IndexError(LookupError): ...\nclass KeyError(LookupError): ...\nclass NotImplementedError(RuntimeError): ...\nclass IndentationError(SyntaxError): ...\nclass TabError(IndentationError): ...\n", + "/typeshed/stdlib/errno.pyi": "from typing import Mapping\n\nerrorcode: Mapping[int, str]\n\nEACCES: int\nEADDRINUSE: int\nEAGAIN: int\nEALREADY: int\nEBADF: int\nECONNABORTED: int\nECONNREFUSED: int\nECONNRESET: int\nEEXIST: int\nEHOSTUNREACH: int\nEINPROGRESS: int\nEINVAL: int\nEIO: int\nEISDIR: int\nENOBUFS: int\nENODEV: int\nENOENT: int\nENOMEM: int\nENOTCONN: int\nEOPNOTSUPP: int\nEPERM: int\nETIMEDOUT: int\n", + "/typeshed/stdlib/gc.pyi": "\"\"\"\u30ac\u30d9\u30fc\u30b8\u30b3\u30ec\u30af\u30bf\u30fc\u3092\u5236\u5fa1\u3057\u307e\u3059\u3002\"\"\"\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"\u81ea\u52d5\u30ac\u30d9\u30fc\u30b8\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u3092\u6709\u52b9\u306b\u3057\u307e\u3059\u3002\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"\u81ea\u52d5\u30ac\u30d9\u30fc\u30b8\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u3092\u7121\u52b9\u306b\u3057\u307e\u3059\u3002\n\nHeap memory can still be allocated,\nand garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"\u30ac\u30d9\u30fc\u30b8\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"\u5272\u308a\u5f53\u3066\u3089\u308c\u3066\u3044\u308b\u30d2\u30fc\u30d7RAM\u306e\u30d0\u30a4\u30c8\u6570\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\n:return: The number of bytes allocated.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"\u4f7f\u7528\u53ef\u80fd\u306a\u30d2\u30fc\u30d7RAM\u306e\u30d0\u30a4\u30c8\u6570\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\u3053\u306e\u91cf\u304c\u4e0d\u660e\u306e\u5834\u5408\u306f -1\u304c\u8fd4\u3055\u308c\u307e\u3059\u3002\n\n:return: The number of bytes free.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"\u8ffd\u52a0\u306eGC \u5272\u308a\u5f53\u3066\u3057\u304d\u3044\u5024\u3092\u7167\u4f1a\u3057\u307e\u3059\u3002\n\n:return: The GC allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"\u8ffd\u52a0\u306e GC \u5272\u308a\u5f53\u3066\u3057\u304d\u3044\u5024\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nNormally, a collection is triggered only when a new allocation\ncannot be satisfied, i.e. on an out-of-memory (OOM) condition.\nIf this function is called, in addition to OOM, a collection\nwill be triggered each time after ``amount`` bytes have been\nallocated (in total, since the previous time such an amount of bytes\nhave been allocated). ``amount`` is usually specified as less than the\nfull heap size, with the intention to trigger a collection earlier than when the\nheap becomes exhausted, and in the hope that an early collection will prevent\nexcessive memory fragmentation. This is a heuristic measure, the effect\nof which will vary from application to application, as well as\nthe optimal value of the ``amount`` parameter.\n\nA value of -1 means a disabled allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\n\n:param amount: \u30ac\u30d9\u30fc\u30b8\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u3092\u8d77\u3053\u3059\u30d0\u30a4\u30c8\u6570\u3002\"\"\"\n ...", + "/typeshed/stdlib/log.pyi": "\"\"\"micro:bit V2\u306e\u30ed\u30b0\u306b\u30c7\u30fc\u30bf\u3092\u8a18\u9332\u3057\u307e\u3059\u3002\"\"\"\nfrom typing import Literal, Mapping, Optional, Union, overload\nMILLISECONDS = 1\n\"\"\"\u30df\u30ea\u79d2\u5358\u4f4d\u306e\u65e5\u6642\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3002\"\"\"\nSECONDS = 10\n\"\"\"\u79d2\u5358\u4f4d\u306e\u65e5\u6642\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3002\"\"\"\nMINUTES = 600\n\"\"\"\u5206\u5358\u4f4d\u306e\u65e5\u6642\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3002\"\"\"\nHOURS = 36000\n\"\"\"\u6642\u9593\u5358\u4f4d\u306e\u65e5\u6642\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3002\"\"\"\nDAYS = 864000\n\"\"\"\u65e5\u5358\u4f4d\u306e\u65e5\u6642\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3002\"\"\"\n\ndef set_labels(*labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]]=SECONDS) -> None:\n \"\"\"\u30ed\u30b0\u30d5\u30a1\u30a4\u30eb\u306e\u30d8\u30c3\u30c0\u30fc\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\nIdeally this function should be called a single time, before any data is\nlogged, to configure the data table header once.\n\nIf a log file already exists when the program starts, or if this function\nis called multiple times, it will check the labels already defined in the\nlog file. If this function call contains any new labels not already\npresent, it will generate a new header row with the additional columns.\n\nBy default the first column contains a timestamp for each row. The time\nunit can be selected via the timestamp argument.\n\n:param *labels: \u4efb\u610f\u306e\u6570\u306e\u4f4d\u7f6e\u5f15\u6570\u3067\u3002\u305d\u308c\u305e\u308c\u304c\u30ed\u30b0\u30d8\u30c3\u30c0\u306e\u898b\u51fa\u3057\u306b\u306a\u308a\u307e\u3059\u3002\n:param timestamp: \u3059\u3079\u3066\u306e\u884c\u306e\u6700\u521d\u306e\u5217\u3068\u3057\u3066\u81ea\u52d5\u7684\u306b\u8ffd\u52a0\u3055\u308c\u308b\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u306e\u5358\u4f4d\u3092\u9078\u629e\u3057\u307e\u3059\u3002\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u306e\u5024\u306f ``log.MILLISECONDS``\u3001 ``log.SECONDS``\u3001``log.MINUTES``\u3001``log.HOURS``\u3001``log.DAYS`` \u307e\u305f\u306f\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u3092\u7121\u52b9\u306b\u3059\u308b ``None`` \u306e\u3046\u3061\u306e\u3044\u305a\u308c\u304b\u3067\u3042\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u306f ``log.SECONDS`` \u3067\u3059\u3002\"\"\"\n ...\n\n@overload\ndef add(data_dictionary: Optional[Mapping[str, Union[str, int, float]]]) -> None:\n \"\"\"\u30d8\u30c3\u30c0\u30fc\u3068\u5024\u306e\u8f9e\u66f8\u3092\u6e21\u3059\u3053\u3068\u306b\u3088\u308a\u3001\u30ed\u30b0\u306b\u30c7\u30fc\u30bf\u884c\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002\n\nExample: ``log.add({ 'temp': temperature() })``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\n\n:param data_dictionary: (data dictionary \u3068\u306f\u30c7\u30fc\u30bf\u8f9e\u66f8\u306e\u610f\u5473\u3067\u3059) \u8a18\u9332\u3059\u308b\u30c7\u30fc\u30bf\u3092\u8f9e\u66f8\u3067\u6307\u5b9a\u3057\u307e\u3059\u3002\u8f9e\u66f8\u306e\u5404\u30ad\u30fc\u304c\u898b\u51fa\u3057\u3092\u8868\u3057\u307e\u3059\u3002\"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"\u30ad\u30fc\u30ef\u30fc\u30c9\u5f15\u6570\u3067\u30ed\u30b0\u306b\u30c7\u30fc\u30bf\u884c\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002\n\nExample: ``log.add(temp=temperature())``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"\u30ed\u30b0\u306e\u5185\u5bb9\u3092\u3001\u30d8\u30c3\u30c0\u30fc\u3082\u3042\u308f\u305b\u3066\u524a\u9664\u3057\u307e\u3059\u3002\n\nExample: ``log.delete()``\n\nTo add the log headers again the ``set_labels`` function should to be called after this function.\n\nThere are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\nand \u201cfast\u201d invalidates the data without removing it.\n\n:param full: ``True`` \u3092\u6307\u5b9a\u3059\u308b\u3068\u300c\u5b8c\u5168\u300d\u6d88\u53bb\u306b\u306a\u308a\u3001``False`` \u3092\u6307\u5b9a\u3059\u308b\u3068\u300c\u9ad8\u901f\u300d\u6d88\u53bb\u306b\u306a\u308a\u307e\u3059\u3002\"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"\u30ed\u30b0\u306e\u30c7\u30fc\u30bf\u8a18\u9332\u3092\u30b7\u30ea\u30a2\u30eb\u51fa\u529b\u306b\u30df\u30e9\u30fc\u30ea\u30f3\u30b0\u3059\u308b\u304b\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``log.set_mirroring(True)``\n\nSerial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n:param serial: ``True`` \u3092\u6307\u5b9a\u3059\u308b\u3068\u30b7\u30ea\u30a2\u30eb\u51fa\u529b\u306b\u30c7\u30fc\u30bf\u3092\u30df\u30e9\u30fc\u30ea\u30f3\u30b0\u3057\u307e\u3059\u3002\"\"\"\n ...", + "/typeshed/stdlib/love.pyi": "def badaboom() -> None: ...\n", + "/typeshed/stdlib/machine.pyi": "\"\"\"\u4f4e\u30ec\u30d9\u30eb\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"\u30dc\u30fc\u30c9\u306e\u4e00\u610f\u306e\u8b58\u5225\u5b50\u3092\u6301\u3064\u30d0\u30a4\u30c8\u5217\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``machine.unique_id()``\n\n:return: An identifier that varies from one board instance to another.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"\u5916\u90e8\u306eRESET\u30dc\u30bf\u30f3\u3092\u62bc\u3057\u305f\u3068\u540c\u69d8\u306b\u30c7\u30d0\u30a4\u30b9\u3092\u30ea\u30bb\u30c3\u30c8\u3057\u307e\u3059\u3002\n\nExample: ``machine.reset()``\"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"CPU\u5468\u6ce2\u6570\u3092\u30d8\u30eb\u30c4\u5358\u4f4d\u3067\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``machine.freq()``\n\n:return: The CPU frequency.\"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"\u5272\u308a\u8fbc\u307f\u8981\u6c42\u3092\u7121\u52b9\u306b\u3057\u307e\u3059\u3002\n\nExample: ``interrupt_state = machine.disable_irq()``\n\n:return: the previous IRQ state which should be considered an opaque value\n\nThe return value should be passed to the ``enable_irq`` function to restore\ninterrupts to their original state.\"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"\u5272\u308a\u8fbc\u307f\u8981\u6c42\u3092\u518d\u5ea6\u6709\u52b9\u306b\u3057\u307e\u3059\u3002\n\nExample: ``machine.enable_irq(interrupt_state)``\n\n:param state: ``disable_irq`` \u95a2\u6570\u306e\u6700\u3082\u6700\u8fd1\u306e\u547c\u3073\u51fa\u3057\u304b\u3089\u8fd4\u3055\u308c\u305f\u5024\u3002\"\"\"\n ...\n\ndef time_pulse_us(pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int=1000000) -> int:\n \"\"\"\u7aef\u5b50\u306e\u30d1\u30eb\u30b9\u6642\u9593\u3092\u8a08\u6e2c\u3057\u307e\u3059\u3002\n\nExample: ``time_pulse_us(pin0, 1)``\n\nIf the current input value of the pin is different to ``pulse_level``, the\nfunction first waits until the pin input becomes equal to\n``pulse_level``, then times the duration that the pin is equal to\n``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\nstarts straight away.\n\n:param pin: (\u30d4\u30f3) \u8a08\u6e2c\u5bfe\u8c61\u306e\u7aef\u5b50\n:param pulse_level: \u4f4e\u30d1\u30eb\u30b9\u306e\u6642\u9593\u8a08\u6e2c\u3067 0\u3001\u9ad8\u30d1\u30eb\u30b9\u306e\u6642\u9593\u8a08\u6e2c\u3067 1 \u3092\u6307\u5b9a\n:param timeout_us: \u30de\u30a4\u30af\u30ed\u79d2\u5358\u4f4d\u306e\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u6642\u9593\n:return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\"\"\"\n ...\n\nclass mem:\n \"\"\"``mem8``\u3001``mem16``\u3001``mem32`` \u30e1\u30e2\u30ea\u30d3\u30e5\u30fc\u306e\u30af\u30e9\u30b9\u3002\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"\u30e1\u30e2\u30ea\u306b\u3042\u308b\u5024\u3092\u53c2\u7167\u3057\u307e\u3059\u3002\n\n:param address: \u30e1\u30e2\u30ea\u306e\u30a2\u30c9\u30ec\u30b9\u3002\n:return: The value at that address as an integer.\"\"\"\n ...\n\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"\u6307\u5b9a\u30a2\u30c9\u30ec\u30b9\u306b\u5024\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\n:param address: \u30e1\u30e2\u30ea\u306e\u30a2\u30c9\u30ec\u30b9\u3002\n:param value: \u8a2d\u5b9a\u3059\u308b\u6574\u6570\u5024\u3002\"\"\"\n ...\nmem8: mem\n\"\"\"\u30e1\u30e2\u30ea\u306e8\u30d3\u30c3\u30c8\uff08\u30d0\u30a4\u30c8\uff09\u30d3\u30e5\u30fc\u3002\"\"\"\nmem16: mem\n\"\"\"\u30e1\u30e2\u30ea\u306e16\u30d3\u30c3\u30c8\u30d3\u30e5\u30fc\u3002\"\"\"\nmem32: mem\n\"\"\"\u30e1\u30e2\u30ea\u306e32\u30d3\u30c3\u30c8\u30d3\u30e5\u30fc\u3002\"\"\"", + "/typeshed/stdlib/math.pyi": "\"\"\"\u6570\u5b66\u95a2\u6570\u3002\"\"\"\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"\u9006\u4f59\u5f26\u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.acos(1)``\n\n:param x: \u6570\u5024\n:return: The inverse cosine of ``x``\"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"\u9006\u6b63\u5f26\u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.asin(0)``\n\n:param x: \u6570\u5024\n:return: The inverse sine of ``x``\"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"\u9006\u6b63\u63a5\u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.atan(0)``\n\n:param x: \u6570\u5024\n:return: The inverse tangent of ``x``\"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"``y/x`` \u306e\u9006\u6b63\u63a5\u306e\u4e3b\u5024\u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.atan2(0, -1)``\n\n:param y: \u6570\u5024\n:param x: \u6570\u5024\n:return: The principal value of the inverse tangent of ``y/x``\"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"\u6b63\u306e\u7121\u9650\u5927\u65b9\u5411\u306b\u6570\u5024\u3092\u4e38\u3081\u307e\u3059\u3002\n\nExample: ``math.ceil(0.1)``\n\n:param x: \u6570\u5024\n:return: ``x`` rounded towards positive infinity.\"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"``y`` \u306e\u7b26\u53f7\u3067 ``x`` \u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.copysign(1, -1)``\n\n:param x: \u6570\u5024\n:param y: \u623b\u308a\u5024\u306e\u7b26\u53f7\u306e\u5143\u306b\u306a\u308b\u5024\n:return: ``x`` with the sign of ``y``\"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"``x`` \u306e\u4f59\u5f26\u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.cos(0)``\n\n:param x: \u6570\u5024\n:return: The cosine of ``x``\"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"\u30e9\u30b8\u30a2\u30f3\u3092\u5ea6\u306b\u5909\u63db\u3057\u307e\u3059\u3002 (\u309c(\u5ea6))\n\nExample: ``math.degrees(2 * math.pi)``\n\n:param x: \u30e9\u30b8\u30a2\u30f3\u5358\u4f4d\u306e\u5024\n:return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"``x`` \u306e\u6307\u6570\u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.exp(1)``\n\n:param x: \u6570\u5024\n:return: The exponential of ``x``.\"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"``x`` \u306e\u7d76\u5bfe\u5024\u3092\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``math.fabs(-0.1)``\n\n:param x: \u6570\u5024\n:return: The absolute value of ``x``\"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"\u8ca0\u306e\u7121\u9650\u5927\u65b9\u5411\u306b\u6570\u5024\u3092\u4e38\u3081\u307e\u3059\u3002\n\nExample: ``math.floor(0.9)``\n\n:param x: \u6570\u5024\n:return: ``x`` rounded towards negative infinity.\"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"``x/y`` \u306e\u5270\u4f59\u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.fmod(10, 3)``\n\n:param x: \u5206\u5b50\u306e\u5024\n:param y: \u5206\u6bcd\u306e\u5024\"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u3092\u4eee\u6570\u90e8\u3068\u6307\u6570\u90e8\u306b\u5206\u89e3\u3057\u307e\u3059\u3002\n\nExample: ``mantissa, exponent = math.frexp(2)``\n\nThe returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\nexactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\nthe relation ``0.5 <= abs(m) < 1`` holds.\n\n:param x: \u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\n:return: A tuple of length two containing its mantissa then exponent\"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"\u6709\u9650\u6570\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``math.isfinite(float('inf'))``\n\n:param x: \u6570\u5024\u3002\n:return: ``True`` if ``x`` is finite, ``False`` otherwise.\"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"\u7121\u9650\u6570\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``math.isinf(float('-inf'))``\n\n:param x: \u6570\u5024\u3002\n:return: ``True`` if ``x`` is infinite, ``False`` otherwise.\"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"\u975e\u6570\uff08NaN: Not-a-Number\uff09\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``math.isnan(float('nan'))``\n\n:param x: \u6570\u5024\n:return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"``x * (2**exp)`` \u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.ldexp(0.5, 2)``\n\n:param x: \u6570\u5024\n:param exp: \u6574\u6570\u306e\u6307\u6570\n:return: ``x * (2**exp)``\"\"\"\n ...\n\ndef log(x: float, base: float=e) -> float:\n \"\"\"``x`` \u306e\u5bfe\u6570\u3092\u6307\u5b9a\u3055\u308c\u305f\u5e95\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f\u81ea\u7136\u5bfe\u6570\uff09\u3067\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.log(math.e)``\n\nWith one argument, return the natural logarithm of x (to base e).\n\nWith two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n:param x: \u6570\u5024\n:param base: \u4f7f\u7528\u3059\u308b\u5e95\n:return: The natural logarithm of ``x``\"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"``x`` \u306e\u6574\u6570\u90e8\u5206\u3068\u5c0f\u6570\u90e8\u5206\u3092\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``fractional, integral = math.modf(1.5)``\n\n:param x: \u6570\u5024\n:return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\nBoth the fractional and integral values have the same sign as ``x``.\"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"``x`` \u306e ``y`` \u4e57\u3092\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``math.pow(4, 0.5)``\n\n:param x: \u6570\u5024\n:param y: \u6307\u6570\n:return: ``x`` to the power of ``y``\"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"\u5ea6\u3092\u30e9\u30b8\u30a2\u30f3\u306b\u5909\u63db\u3057\u307e\u3059\u3002\n\nExample: ``math.radians(360)``\n\n:param x: \u5ea6\u5358\u4f4d\u306e\u89d2\u5ea6\n:return: The value converted to radians\"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"``x`` \u306e\u6b63\u5f26\u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.sin(math.pi/2)``\n\n:param x: \u6570\u5024\n:return: The sine of ``x``\"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"``x`` \u306e\u5e73\u65b9\u6839\u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.sqrt(4)``\n\n:param x: \u6570\u5024\n:return: The square root of ``x``\"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"``x`` \u306e\u6b63\u63a5\u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.tan(0)``\n\n:param x: \u6570\u5024\n:return: The tangent of ``x``.\"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"0 \u65b9\u5411\u306b\u6570\u5024\u3092\u4e38\u3081\u307e\u3059\u3002\n\nExample: ``math.trunc(-0.9)``\n\n:param x: \u6570\u5024\n:return: ``x`` rounded towards zero.\"\"\"\n ...\ne: float\n\"\"\"\u81ea\u7136\u5bfe\u6570\u306e\u5e95\"\"\"\npi: float\n\"\"\"\u5186\u306e\u5186\u5468\u3068\u76f4\u5f84\u306e\u6bd4\"\"\"", + "/typeshed/stdlib/micropython.pyi": "\"\"\"MicroPython\u306e\u5185\u90e8\u3002\"\"\"\nfrom typing import Any, TypeVar, overload\n_T = TypeVar('_T')\n\ndef const(expr: _T) -> _T:\n \"\"\"\u30b3\u30f3\u30d1\u30a4\u30eb\u304c\u6700\u9069\u5316\u3067\u304d\u308b\u3088\u3046\u306b\u3001\u5f0f\u304c\u5b9a\u6570\u3067\u3042\u308b\u3053\u3068\u3092\u5ba3\u8a00\u3059\u308b\u305f\u3081\u306b\u4f7f\u3044\u307e\u3059\u3002\n\nThe use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\nConstants declared this way are still accessible as global variables from\noutside the module they are declared in. On the other hand, if a constant\nbegins with an underscore then it is hidden, it is not available as a\nglobal variable, and does not take up any memory during execution.\n\n:param expr: \u5b9a\u6570\u5f0f\u3002\"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u73fe\u5728\u306e\u30b3\u30f3\u30d1\u30a4\u30eb\u6700\u9069\u5316\u30ec\u30d9\u30eb\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``micropython.opt_level()``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n:return: An integer representing the current level.\"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u5f8c\u7d9a\u306e\u30b3\u30f3\u30d1\u30a4\u30eb\u6700\u9069\u5316\u30ec\u30d9\u30eb\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``micropython.opt_level(1)``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\nThe default optimisation level is usually level 0.\n\n:param level: \u6700\u9069\u5316\u30ec\u30d9\u30eb\u3092\u793a\u3059\u6574\u6570\u5024\u3002\"\"\"\n ...\n\ndef mem_info(verbose: Any=None) -> None:\n \"\"\"\u73fe\u5728\u4f7f\u3063\u3066\u3044\u308b\u30e1\u30e2\u30ea\u306b\u95a2\u3059\u308b\u60c5\u5831\u3092\u8868\u793a\u3057\u307e\u3059\u3002\n\nExample: ``micropython.mem_info()``\n\n:param verbose: ``verbose`` \u5f15\u6570\u3092\u6307\u5b9a\u3059\u308b\u3068\u3001\u8a73\u3057\u3044\u60c5\u5831\u3092\u8868\u793a\u3057\u307e\u3059\u3002\"\"\"\n ...\n\ndef qstr_info(verbose: Any=None) -> None:\n \"\"\"\u73fe\u5728\u30a4\u30f3\u30bf\u30fc\u30f3\u3055\u308c\u3066\u3044\u308b\u6587\u5b57\u5217\u306b\u95a2\u3059\u308b\u60c5\u5831\u3092\u8868\u793a\u3057\u307e\u3059\u3002\n\nExample: ``micropython.qstr_info()``\n\n:param verbose: ``verbose`` \u5f15\u6570\u3092\u6307\u5b9a\u3059\u308b\u3068\u3001\u8a73\u3057\u3044\u60c5\u5831\u3092\u8868\u793a\u3057\u307e\u3059\u3002\n\nThe information that is printed is implementation dependent, but currently\nincludes the number of interned strings and the amount of RAM they use. In\nverbose mode it prints out the names of all RAM-interned strings.\"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"\u73fe\u5728\u4f7f\u308f\u308c\u3066\u3044\u308b\u30b9\u30bf\u30c3\u30af\u306e\u30b5\u30a4\u30ba\u3092\u8868\u3059\u6574\u6570\u3092\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``micropython.stack_use()``\n\nThe absolute value of this is not particularly useful, rather it\nshould be used to compute differences in stack usage at different points.\n\n:return: An integer representing current stack use.\"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"\u30d2\u30fc\u30d7\u3092\u30ed\u30c3\u30af\u3057\u307e\u3059\u3002\n\nExample: ``micropython.heap_lock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"\u30d2\u30fc\u30d7\u306e\u30ed\u30c3\u30af\u3092\u89e3\u9664\u3057\u307e\u3059\u3002\n\nExample: ``micropython.heap_unlock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"``KeyboardInterrupt`` \u4f8b\u5916\u3092\u767a\u751f\u3055\u305b\u308b\u6587\u5b57\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``micropython.kbd_intr(-1)``\n\n:param chr: \u5272\u308a\u8fbc\u307f\u3092\u767a\u751f\u3055\u305b\u308b\u6587\u5b57\u30b3\u30fc\u30c9\u3002\u3042\u308b\u3044\u306f\u3001Ctrl-C\u306e\u30ad\u30e3\u30d7\u30c1\u30e3\u3092\u7121\u52b9\u306b\u3059\u308b\u306b\u306f-1\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002\n\nBy default this is set to 3 during script execution, corresponding to Ctrl-C.\nPassing -1 to this function will disable capture of Ctrl-C, and passing 3\nwill restore it.\n\nThis function can be used to prevent the capturing of Ctrl-C on the\nincoming stream of characters that is usually used for the REPL, in case\nthat stream is used for other purposes.\"\"\"\n ...", + "/typeshed/stdlib/music.pyi": "\"\"\"\u30e1\u30ed\u30c7\u30a3\u30fc\u306e\u4f5c\u6210\u3068\u518d\u751f\u3002\"\"\"\nfrom typing import Optional, Tuple, Union, List\nfrom .microbit import MicroBitDigitalPin, pin0\nDADADADUM: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30d9\u30fc\u30c8\u30fc\u30f4\u30a7\u30f3\u306e\u4ea4\u97ff\u66f2\u7b2c5\u756a\u30cf\u77ed\u8abf\u306e\u5192\u982d\u3002\"\"\"\nENTERTAINER: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30b9\u30b3\u30c3\u30c8\u30fb\u30b8\u30e7\u30d7\u30ea\u30f3\u306e\u30e9\u30b0\u30bf\u30a4\u30e0\u30fb\u30af\u30e9\u30b7\u30c3\u30af\u300e\u30b8\u30fb\u30a8\u30f3\u30bf\u30fc\u30c6\u30a4\u30ca\u30fc \u300f\u306e\u5192\u982d\u3002\"\"\"\nPRELUDE: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: J\u30fbS\u30fb\u30d0\u30c3\u30cf\u306e\u524d\u594f\u66f2\u3068\u30d5\u30fc\u30ac\u8a0848\u66f2\u306e\u524d\u594f\u66f2\u7b2c1\u756a\u30cf\u9577\u8abf\u306e\u5192\u982d\u3002\"\"\"\nODE: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30d9\u30fc\u30c8\u30fc\u30f4\u30a7\u30f3\u306e\u4ea4\u97ff\u66f2\u7b2c9\u756a\u30cb\u77ed\u8abf\u3088\u308a\u300e\u6b53\u559c\u306e\u6b4c\u300f\u306e\u30c6\u30fc\u30de\u3002\"\"\"\nNYAN: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: Nyan Cat \u30c6\u30fc\u30de (http://www.nyan.cat/)\u3002\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\nRINGTONE: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u643a\u5e2f\u96fb\u8a71\u306e\u7740\u4fe1\u97f3\u306e\u3088\u3046\u306a\u3082\u306e\u3002\n\nTo be used to indicate an incoming message.\n\"\"\"\nFUNK: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30b9\u30d1\u30a4\u3068\u72af\u7f6a\u306e\u9ed2\u5e55\u7528\u306e\u30d5\u30a1\u30f3\u30ad\u30fc\u306a\u30d9\u30fc\u30b9\u30e9\u30a4\u30f3\u3002\"\"\"\nBLUES: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30d6\u30ae\u30fc\u30fb\u30a6\u30fc\u30ae\u30fc\u306e 12 \u5c0f\u7bc0\u306e\u30d6\u30eb\u30fc\u30b9\u30fb\u30a6\u30a9\u30fc\u30ad\u30f3\u30b0\u30fb\u30d9\u30fc\u30b9\u3002\"\"\"\nBIRTHDAY: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3:\u300e\u30cf\u30c3\u30d4\u30fc\u30d0\u30fc\u30b9\u30c7\u30a3\u30c8\u30a5\u30e6\u30fc ...\u300f\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\nWEDDING: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30ef\u30b0\u30ca\u30fc\u306e\u30aa\u30da\u30e9\u300e\u30ed\u30fc\u30a8\u30f3\u30b0\u30ea\u30f3\u300f\u3088\u308a\u5a5a\u793c\u306e\u5408\u5531\u3002\"\"\"\nFUNERAL: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30d5\u30ec\u30c7\u30ea\u30c3\u30af\u30fb\u30b7\u30e7\u30d1\u30f3\u306e\u30d4\u30a2\u30ce\u30bd\u30ca\u30bf\u7b2c2\u756a\u5909\u30ed\u77ed\u8abf \u4f5c\u54c135\uff08\u5225\u540d\u300e\u846c\u9001\u300f\uff09\u3002\"\"\"\nPUNCHLINE: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30b8\u30e7\u30fc\u30af\u304c\u8a00\u308f\u308c\u305f\u3053\u3068\u3092\u610f\u5473\u3059\u308b\u697d\u3057\u3044\u97f3\u697d\u3002\"\"\"\nPYTHON: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30b8\u30e7\u30f3\u30fb\u30d5\u30a3\u30ea\u30c3\u30d7\u30fb\u30b9\u30fc\u30b6\u306e\u300e\u81ea\u7531\u306e\u9418\u300f\uff08\u300e\u7a7a\u98db\u3076\u30e2\u30f3\u30c6\u30a3\u30fb\u30d1\u30a4\u30bd\u30f3\u300f\u306e\u30c6\u30fc\u30de\u3068\u3082\u3044\u3046\uff09\uff08\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9ePython\u306e\u540d\u524d\u306e\u7531\u6765\u3068\u306a\u3063\u305f\uff09\u3002\"\"\"\nBADDY: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u7121\u58f0\u6620\u753b\u6642\u4ee3\u306e\u60aa\u5f79\u306e\u767b\u5834\u3002\"\"\"\nCHASE: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u7121\u58f0\u6620\u753b\u6642\u4ee3\u306e\u30c1\u30a7\u30a4\u30b9\u30b7\u30fc\u30f3\u3002\"\"\"\nBA_DING: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u4f55\u304b\u304c\u8d77\u3053\u3063\u305f\u3053\u3068\u3092\u793a\u3059\u77ed\u3044\u4fe1\u53f7\u3002\"\"\"\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u975e\u5e38\u306b\u60b2\u3057\u3044\u30c8\u30ed\u30f3\u30dc\u30fc\u30f3\u3002\"\"\"\nJUMP_UP: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30b2\u30fc\u30e0\u3067\u306e\u4f7f\u7528\u3067\u3001\u4e0a\u65b9\u5411\u306e\u52d5\u304d\u3092\u793a\u3057\u307e\u3059\u3002\"\"\"\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30b2\u30fc\u30e0\u3067\u306e\u4f7f\u7528\u3067\u3001\u4e0b\u5411\u304d\u306e\u52d5\u304d\u3092\u793a\u3057\u307e\u3059\u3002\"\"\"\nPOWER_UP: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30a2\u30c1\u30fc\u30d6\u30e1\u30f3\u30c8\u3092\u9054\u6210\u3057\u305f\u3053\u3068\u3092\u793a\u3059\u30d5\u30a1\u30f3\u30d5\u30a1\u30fc\u30ec\u3002\"\"\"\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30a2\u30c1\u30fc\u30d6\u30e1\u30f3\u30c8\u3092\u9054\u6210\u3057\u306a\u304b\u3063\u305f\u3053\u3068\u3092\u793a\u3059\u30d5\u30a1\u30f3\u30d5\u30a1\u30fc\u30ec\u3002\"\"\"\n\ndef set_tempo(ticks: int=4, bpm: int=120) -> None:\n \"\"\"\u518d\u751f\u3059\u308b\u305f\u3081\u306e\u304a\u304a\u3088\u305d\u306e\u30c6\u30f3\u30dd\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``music.set_tempo(bpm=120)``\n\n:param ticks: 1\u30d3\u30fc\u30c8\u3092\u69cb\u6210\u3059\u308b\u30c6\u30a3\u30c3\u30af\u6570\u3002\n:param bpm: \u6bce\u5206\u306e\u30d3\u30fc\u30c8\u6570\u3092\u6c7a\u5b9a\u3059\u308b\u6574\u6570\u3002\n\nSuggested default values allow the following useful behaviour:\n\n- music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n- music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n- music.set_tempo(bpm=180) \u2013 just change the tempo\n\nTo work out the length of a tick in milliseconds is very simple arithmetic:\n60000/bpm/ticks_per_beat. For the default values that\u2019s\n60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"\u73fe\u5728\u306e\u30c6\u30f3\u30dd\u3092\u6574\u6570\u306e\u30bf\u30d7\u30eb ``(ticks, bpm)`` \u3068\u3057\u3066\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``ticks, beats = music.get_tempo()``\n\n:return: The temp as a tuple with two integer values, the ticks then the beats per minute.\"\"\"\n ...\n\ndef play(music: Union[str, List[str], Tuple[str, ...]], pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True, loop: bool=False) -> None:\n \"\"\"\u30df\u30e5\u30fc\u30b8\u30c3\u30af\u3092\u518d\u751f\u3057\u307e\u3059\u3002\n\nExample: ``music.play(music.NYAN)``\n\n:param music: `\u7279\u5225\u306a\u8868\u8a18 `_ \u3067\u6307\u5b9a\u3055\u308c\u305f\u30df\u30e5\u30fc\u30b8\u30c3\u30af\n:param pin: (\u30d4\u30f3) \u5916\u90e8\u30b9\u30d4\u30fc\u30ab\u30fc\u7528\u51fa\u529b\u7aef\u5b50\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f ``pin0``\uff09\u3002\u97f3\u3092\u9cf4\u3089\u3057\u305f\u304f\u306a\u3044\u5834\u5408\u306f ``None`` \u3092\u6307\u5b9a\u3057\u307e\u3059\u3002\n:param wait: ``wait`` \u3092 ``True`` \u306b\u8a2d\u5b9a\u3057\u305f\u5834\u5408\u3001\u3053\u306e\u95a2\u6570\u304c\u30d6\u30ed\u30c3\u30af\u3057\u307e\u3059\u3002\n:param loop: ``loop`` \u304c ``True`` \u306e\u5834\u5408\u3001\u66f2\u306f ``stop`` \u304c\u547c\u3073\u51fa\u3055\u308c\u308b\u304b\u3001\u30d6\u30ed\u30c3\u30af\u30b3\u30fc\u30eb\u304c\u4e2d\u65ad\u3055\u308c\u308b\u307e\u3067\u7e70\u308a\u8fd4\u3057\u518d\u751f\u3055\u308c\u307e\u3059\u3002\n\nMany built-in melodies are defined in this module.\"\"\"\n ...\n\ndef pitch(frequency: int, duration: int=-1, pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True) -> None:\n \"\"\"\u97f3\u7b26\u3092\u518d\u751f\u3057\u307e\u3059\u3002\n\nExample: ``music.pitch(185, 1000)``\n\n:param frequency: \u5468\u6ce2\u6570\u3092\u793a\u3059\u6574\u6570\u5024\n:param duration: \u6301\u7d9a\u6642\u9593\u3092\u30df\u30ea\u79d2\u5358\u4f4d\u3067\u6307\u5b9a\u3057\u307e\u3059\u3002\u8ca0\u306e\u5834\u5408\u3001\u6b21\u306e\u547c\u3073\u51fa\u3057\u304b ``stop`` \u306e\u547c\u3073\u51fa\u3057\u307e\u3067\u518d\u751f\u304c\u7d9a\u304d\u307e\u3059\u3002\n:param pin: \u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u51fa\u529b\u7aef\u5b50\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f ``pin0``\uff09\u3002\n:param wait: ``wait`` \u3092 ``True`` \u306b\u8a2d\u5b9a\u3057\u305f\u5834\u5408\u3001\u3053\u306e\u95a2\u6570\u304c\u30d6\u30ed\u30c3\u30af\u3057\u307e\u3059\u3002\n\nFor example, if the frequency is set to 440 and the length to\n1000 then we hear a standard concert A for one second.\n\nYou can only play one pitch on one pin at any one time.\"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"\u5185\u8535\u30b9\u30d4\u30fc\u30ab\u30fc\u3084\u30b5\u30a6\u30f3\u30c9\u3092\u51fa\u529b\u3059\u308b\u7aef\u5b50\u304b\u3089\u9cf4\u3089\u3057\u3066\u3044\u308b\u3059\u3079\u3066\u306e\u30df\u30e5\u30fc\u30b8\u30c3\u30af\u518d\u751f\u3092\u505c\u6b62\u3057\u307e\u3059\u3002\n\nExample: ``music.stop()``\n\n:param pin: \u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u5f15\u6570\u306b\u306f\u3001\u305f\u3068\u3048\u3070 ``music.stop(pin1)`` \u306a\u3069\u306e\u7aef\u5b50\u3092\u6307\u5b9a\u3067\u304d\u307e\u3059\u3002\"\"\"\n\ndef reset() -> None:\n \"\"\"\u30c6\u30a3\u30c3\u30af\u3001bpm\u3001\u6301\u7d9a\u6642\u9593\u3001\u30aa\u30af\u30bf\u30fc\u30d6\u3092\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u306b\u30ea\u30bb\u30c3\u30c8\u3057\u307e\u3059\u3002\n\nExample: ``music.reset()``\n\nValues:\n- ``ticks = 4``\n- ``bpm = 120``\n- ``duration = 4``\n- ``octave = 4``\"\"\"\n ...", + "/typeshed/stdlib/neopixel.pyi": "\"\"\"\u500b\u5225\u306b\u30a2\u30c9\u30ec\u30b9\u53ef\u80fd\u306a RGB/RGBW LED \u30b9\u30c8\u30ea\u30c3\u30d7\u3002\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"\u7aef\u5b50\u3092\u4ecb\u3057\u3066\u5236\u5fa1\u3059\u308b\u30cd\u30aa\u30d4\u30af\u30bb\u30ebLED\u306e\u65b0\u3057\u3044\u30b9\u30c8\u30ea\u30c3\u30d7\u3092\u521d\u671f\u5316\u3057\u307e\u3059\u3002\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: \u30cd\u30aa\u30d4\u30af\u30bb\u30eb\u30b9\u30c8\u30ea\u30c3\u30d7\u3092\u5236\u5fa1\u3059\u308b\u7aef\u5b50\u3002\n:param n: \u30b9\u30c8\u30ea\u30c3\u30d7\u5185\u306e\u30cd\u30aa\u30d4\u30af\u30bb\u30eb\u306e\u6570\u3002\n:param bpp: \u30d4\u30af\u30bb\u30eb\u3042\u305f\u308a\u306e\u30d0\u30a4\u30c8\u6570\u3002RGBW \u30cd\u30aa\u30d4\u30af\u30bb\u30eb\u306b\u5bfe\u5fdc\u3059\u308b\u306b\u306f\u3001RGB\u3084GRB\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u306e3\u3067\u306f\u306a\u304f\u30014 \u3092\u6307\u5b9a\u3057\u307e\u3059\u3002\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"\u3059\u3079\u3066\u306e\u30d4\u30af\u30bb\u30eb\u3092\u30af\u30ea\u30a2\u3057\u307e\u3059\u3002\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"\u30d4\u30af\u30bb\u30eb\u3092\u8868\u793a\u3057\u307e\u3059\u3002\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"\u30d4\u30af\u30bb\u30eb\u3092\u8868\u793a\u3057\u307e\u3059\uff08micro:bit V2 \u306e\u307f\uff09\u3002\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"\u6307\u5b9a\u3057\u305f RGB/RGBW \u5024\u3092\u3059\u3079\u3066\u306e\u30d4\u30af\u30bb\u30eb\u306b\u8a2d\u5b9a\u3057\u307e\u3059\uff08micro:bit V2 \u306e\u307f\uff09\u3002\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: \u30d4\u30af\u30bb\u30eb\u3042\u305f\u308a\u306e\u30d0\u30a4\u30c8\u6570\uff08bpp\uff09\u3068\u540c\u3058\u9577\u3055\u306e\u30bf\u30d7\u30eb\u3002\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"\u30d4\u30af\u30bb\u30eb\u306e\u8272\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: \u30d4\u30af\u30bb\u30eb\u756a\u53f7\u3002\n:param value: \u8272\u3002\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"\u30d4\u30af\u30bb\u30eb\u306e\u8272\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``r, g, b = np[0]``\n\n:param key: \u30d4\u30af\u30bb\u30eb\u756a\u53f7\u3002\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"\u3053\u306e\u30d4\u30af\u30bb\u30eb\u30b9\u30c8\u30ea\u30c3\u30d7\u306e\u9577\u3055\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``len(np)``\"\"\"", + "/typeshed/stdlib/os.pyi": "\"\"\"\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u306b\u30a2\u30af\u30bb\u30b9\u3057\u307e\u3059\u3002\"\"\"\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"\u30d5\u30a1\u30a4\u30eb\u3059\u3079\u3066\u306e\u540d\u524d\u306e\u30ea\u30b9\u30c8\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``os.listdir()``\n\n:return: A list of the names of all the files contained within the local\npersistent on-device file system.\"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"\u30d5\u30a1\u30a4\u30eb\u3092\u524a\u9664\u3057\u307e\u3059\u3002\n\nExample: ``os.remove('data.txt')``\n\n:param filename: \u524a\u9664\u3059\u308b\u30d5\u30a1\u30a4\u30eb\u306e\u540d\u524d\u3002\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"\u30d5\u30a1\u30a4\u30eb\u306e\u30b5\u30a4\u30ba\u3092\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``os.size('data.txt')``\n\n:param filename: \u30d5\u30a1\u30a4\u30eb\n:return: The size in bytes.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"``os.uname()`` \u306e\u7d50\u679c\"\"\"\n sysname: str\n \"\"\"\u30aa\u30da\u30ec\u30fc\u30c6\u30a3\u30f3\u30b0\u30b7\u30b9\u30c6\u30e0\u540d\u3002\"\"\"\n nodename: str\n \"\"\"\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u4e0a\u306e\u30de\u30b7\u30f3\u306e\u540d\u524d\uff08\u5b9f\u88c5\u5b9a\u7fa9\uff09\u3002\"\"\"\n release: str\n \"\"\"\u30aa\u30da\u30ec\u30fc\u30c6\u30a3\u30f3\u30b0\u30b7\u30b9\u30c6\u30e0\u306e\u30ea\u30ea\u30fc\u30b9\u3002\"\"\"\n version: str\n \"\"\"\u30aa\u30da\u30ec\u30fc\u30c6\u30a3\u30f3\u30b0\u30b7\u30b9\u30c6\u30e0\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3002\"\"\"\n machine: str\n \"\"\"\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u8b58\u5225\u5b50\u3002\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"\u73fe\u5728\u306e\u30aa\u30da\u30ec\u30fc\u30c6\u30a3\u30f3\u30b0\u30b7\u30b9\u30c6\u30e0\u3092\u8b58\u5225\u3059\u308b\u60c5\u5831\u3092\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``os.uname()``\n\nThe return value is an object with five attributes:\n\n- ``sysname`` - operating system name\n- ``nodename`` - name of machine on network (implementation-defined)\n- ``release`` - operating system release\n- ``version`` - operating system version\n- ``machine`` - hardware identifier\n\nThere is no underlying operating system in MicroPython. As a result the\ninformation returned by the ``uname`` function is mostly useful for\nversioning details.\"\"\"\n ...", + "/typeshed/stdlib/power.pyi": "\"\"\"Manage the power modes of the micro:bit (V2 only).\n\"\"\"\n\nfrom microbit import MicroBitDigitalPin, Button\nfrom typing import Optional, Tuple, Union\n\ndef off() -> None:\n \"\"\"Power down the board to the lowest possible power mode.\n\n Example: ``power.off()``\n\n This is the equivalent to pressing the reset button for a few seconds,\n to set the board in \"Off mode\".\n\n The micro:bit will only wake up if the reset button is pressed or,\n if on battery power, when a USB cable is connected.\n\n When the board wakes up it will start for a reset state, so your program\n will start running from the beginning.\n \"\"\"\n ...\n\ndef deep_sleep(\n ms: Optional[int] = None,\n wake_on: Optional[\n Union[MicroBitDigitalPin, Button] | Tuple[MicroBitDigitalPin | Button, ...]\n ] = None,\n run_every: bool = True,\n) -> None:\n \"\"\"Set the micro:bit into a low power mode where it can wake up and continue operation.\n\n Example: ``power.deep_sleep(wake_on=(button_a, button_b))``\n\n The program state is preserved and when it wakes up it will resume\n operation where it left off.\n\n Deep Sleep mode will consume more battery power than Off mode.\n\n The wake up sources are configured via arguments.\n\n The board will always wake up when receiving UART data, when the reset\n button is pressed (which resets the board) or, in battery power,\n when the USB cable is inserted.\n\n When the ``run_every`` parameter is set to ``True`` (the default), any\n function scheduled with ``run_every`` will momentarily wake up the board\n to run and when it finishes it will go back to sleep.\n\n :param ms: A time in milliseconds to wait before it wakes up.\n :param wake_on: A single instance or a tuple of pins and/or buttons to wake up the board, e.g. ``deep_sleep(wake_on=button_a)`` or ``deep_sleep(wake_on=(pin0, pin2, button_b))``.\n :param run_every: A boolean to configure if the functions scheduled with ``microbit.run_every`` will continue to run while it sleeps.\n \"\"\"\n ...\n", + "/typeshed/stdlib/radio.pyi": "\"\"\"\u5185\u8535\u306e\u7121\u7dda\u901a\u4fe1\u3092\u4f7f\u3063\u305fmicro:bit\u9593\u306e\u901a\u4fe1\u3002\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\nRATE_1MBIT: int\n\"\"\"1 MBit/\u79d2\u306e\u30b9\u30eb\u30fc\u30d7\u30c3\u30c8\u3092\u793a\u3059\u305f\u3081\u306b\u4f7f\u308f\u308c\u308b\u5b9a\u6570\u3002\"\"\"\nRATE_2MBIT: int\n\"\"\"2 MBit/\u79d2\u306e\u30b9\u30eb\u30fc\u30d7\u30c3\u30c8\u3092\u793a\u3059\u305f\u3081\u306b\u4f7f\u308f\u308c\u308b\u5b9a\u6570\u3002\"\"\"\n\ndef on() -> None:\n \"\"\"\u7121\u7dda\u901a\u4fe1\u3092\u30aa\u30f3\u306b\u3057\u307e\u3059\u3002\n\nExample: ``radio.on()``\n\nThis needs to be explicitly called since the radio draws power and takes\nup memory that you may otherwise need.\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"\u7121\u7dda\u901a\u4fe1\u3092\u30aa\u30d5\u306b\u3057\u3066\u3001\u96fb\u529b\u3068\u30e1\u30e2\u30ea\u3092\u7bc0\u7d04\u3057\u307e\u3059\u3002\n\nExample: ``radio.off()``\"\"\"\n ...\n\ndef config(length: int=32, queue: int=3, channel: int=7, power: int=6, address: int=1969383796, group: int=0, data_rate: int=RATE_1MBIT) -> None:\n \"\"\"\u7121\u7dda\u901a\u4fe1\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``radio.config(group=42)``\n\nThe default configuration is suitable for most use.\n\n:param length: (\u30c7\u30d5\u30a9\u30eb\u30c8=32)\\u3000\u7121\u7dda\u3092\u4ecb\u3057\u3066\u9001\u4fe1\u3055\u308c\u308b\u30e1\u30c3\u30bb\u30fc\u30b8\u306e\u30d0\u30a4\u30c8\u5358\u4f4d\u306e\u6700\u5927\u9577\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\u6700\u5927\u3067 251 \u30d0\u30a4\u30c8\uff08S0\u3001\u9577\u3055\u3001S1 \u30d7\u30ea\u30a2\u30f3\u30d6\u30eb\u306f254 \u304b\u3089 3 \u3092\u5f15\u3044\u305f\u30d0\u30a4\u30c8\u6570\uff09\u306b\u8a2d\u5b9a\u3067\u304d\u307e\u3059\u3002\n:param queue: (\u30c7\u30d5\u30a9\u30eb\u30c8=3)\\u3000\u53d7\u4fe1\u30e1\u30c3\u30bb\u30fc\u30b8\u30ad\u30e5\u30fc\u306b\u683c\u7d0d\u3067\u304d\u308b\u30e1\u30c3\u30bb\u30fc\u30b8\u306e\u6570\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002\n\u7740\u4fe1\u30e1\u30c3\u30bb\u30fc\u30b8\u306e\u30ad\u30e5\u30fc\u306b\u7a7a\u304d\u304c\u306a\u3044\u5834\u5408\u3001\u7740\u4fe1\u30e1\u30c3\u30bb\u30fc\u30b8\u306f\u6368\u3066\u3089\u308c\u307e\u3059\u3002\n:param channel: (\u30c7\u30d5\u30a9\u30eb\u30c8=7)\\u3000\u7121\u7dda\u304c\u540c\u8abf\u3055\u308c\u3066\u3044\u308b\u4efb\u610f\u306e\u300c\u30c1\u30e3\u30cd\u30eb\u300d\u3092\u5b9a\u7fa9\u3059\u308b\u3082\u306e\u3067\u30010 \u304b\u3089 83 \u307e\u3067\u306e\u6574\u6570\u5024\u3092\u8a2d\u5b9a\u3067\u304d\u307e\u3059\u3002\u30e1\u30c3\u30bb\u30fc\u30b8\u306f\u3053\u306e\u30c1\u30e3\u30cd\u30eb\u7d4c\u7531\u3067\u9001\u4fe1\u3055\u308c\u3001\u3053\u306e\u30c1\u30e3\u30cd\u30eb\u7d4c\u7531\u3067\u53d7\u4fe1\u3057\u305f\u30e1\u30c3\u30bb\u30fc\u30b8\u3060\u3051\u304c\u53d7\u4fe1\u30e1\u30c3\u30bb\u30fc\u30b8\u30ad\u30e5\u30fc\u306b\u5165\u308c\u3089\u308c\u307e\u3059\u3002\u5404\u30b9\u30c6\u30c3\u30d7\u306f 1MHz \u5e45\u3067\u30012400MHz \u3092\u57fa\u6e96\u306b\u3057\u3066\u3044\u307e\u3059\u3002\n:param power: (\u30c7\u30d5\u30a9\u30eb\u30c8=6)\\u3000\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u30d6\u30ed\u30fc\u30c9\u30ad\u30e3\u30b9\u30c8\u3059\u308b\u3068\u304d\u306b\u4f7f\u7528\u3055\u308c\u308b\u4fe1\u53f7\u306e\u5f37\u5ea6\u3092\u793a\u3059\u3082\u306e\u3067\u30010 \u304b\u3089 7 \u307e\u3067\u306e\u6574\u6570\u5024\uff08\u6307\u5b9a\u306e\u5024\u3092\u542b\u3080\u3002\uff09\u3092\u8a2d\u5b9a\u3067\u304d\u3067\u3059\u3002\n\u5024\u304c\u9ad8\u3044\u307b\u3069\u4fe1\u53f7\u306f\u5f37\u304f\u306a\u308a\u307e\u3059\u304c\u3001\u30c7\u30d0\u30a4\u30b9\u304c\u6d88\u8cbb\u3059\u308b\u96fb\u529b\u304c\u5927\u304d\u304f\u306a\u308a\u307e\u3059\u3002\u6307\u5b9a\u306e\u756a\u53f7\u306f\u6b21\u306e\u30ea\u30b9\u30c8\u306e dBm\uff08\u30c7\u30b7\u30d9\u30eb\u30df\u30ea\u30ef\u30c3\u30c8\uff09\u5024\u306e\u4f4d\u7f6e\u306b\u5909\u63db\u3055\u308c\u307e\u3059: -30, -20, -16, -12, -8, -4, 0, 4 \u3002\n:param address: (\u30c7\u30d5\u30a9\u30eb\u30c8=0x75626974)\\u300032 \u30d3\u30c3\u30c8\u306e\u30a2\u30c9\u30ec\u30b9\u3068\u3057\u3066\u8868\u3055\u308c\u308b\u4efb\u610f\u306e\u540d\u524d\u3067\u3042\u308a\u3001\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u30ec\u30d9\u30eb\u3067\u7740\u4fe1\u30d1\u30b1\u30c3\u30c8\u3092\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\u306f\u30e6\u30fc\u30b6\u30fc\u304c\u8a2d\u5b9a\u3057\u305f\u30a2\u30c9\u30ec\u30b9\u3068\u4e00\u81f4\u3059\u308b\u3082\u306e\u306e\u307f\u3092\u7dad\u6301\u3057\u307e\u3059\u3002\n\u4ed6\u306emicro:bit\u95a2\u9023\u306e\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3067\u4f7f\u308f\u308c\u308b\u30c7\u30d5\u30a9\u30eb\u30c8\u306f\u3001\u3053\u3053\u3067\u4f7f\u308f\u308c\u308b\u30c7\u30d5\u30a9\u30eb\u30c8\u8a2d\u5b9a\u3068\u306a\u3063\u3066\u3044\u307e\u3059\u3002\n:param group: (\u30c7\u30d5\u30a9\u30eb\u30c8=0)\\u30008\u30d3\u30c3\u30c8\u306e\u5024\uff080\u301c255\uff09\u3067\u3042\u308a\u3001 ``address`` \u30d5\u30a3\u30eb\u30bf\u3057\u305f\u30e1\u30c3\u30bb\u30fc\u30b8\u3067\u4f7f\u3044\u307e\u3059\u3002\n\u6982\u5ff5\u7684\u306b\u300caddress\u300d\u306f\u81ea\u5b85/\u4e8b\u52d9\u6240\u306e\u4f4f\u6240\u306e\u3088\u3046\u306a\u3082\u306e\u3067\u3042\u308a\u3001\u300cgroup\u300d\u306f\u305d\u306e\u4f4f\u6240\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u53d7\u3051\u53d6\u4eba\u306e\u3088\u3046\u306a\u3082\u306e\u3067\u3059\u3002\n:param data_rate: (\u30c7\u30d5\u30a9\u30eb\u30c8=``radio.RATE_1MBIT``)\\u3000\u30c7\u30fc\u30bf\u30b9\u30eb\u30fc\u30d7\u30c3\u30c8\u304c\u8d77\u3053\u308b\u901f\u5ea6\u3092\u793a\u3057\u3066\u3044\u307e\u3059\u3002\n``radio`` \u30e2\u30b8\u30e5\u30fc\u30eb\u306b\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u308b\u5b9a\u6570 ``RATE_250KBIT``\u3001``RATE_1MBIT``\u3001``RATE_2MBIT`` \u306e\u3044\u305a\u308c\u304b\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002\n\nIf ``config`` is not called then the defaults described above are assumed.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"\u8a2d\u5b9a\u3092\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u306b\u30ea\u30bb\u30c3\u30c8\u3057\u307e\u3059\u3002\n\nExample: ``radio.reset()``\n\nThe defaults as as per the ``config`` function above.\"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"\u30d0\u30a4\u30c8\u5217\u3092\u542b\u3093\u3060\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u9001\u4fe1\u3057\u307e\u3059\u3002\n\nExample: ``radio.send_bytes(b'hello')``\n\n:param message: \u9001\u4fe1\u3059\u308b\u30d0\u30a4\u30c8\u5217\u3002\"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"\u30e1\u30c3\u30bb\u30fc\u30b8\u30ad\u30e5\u30fc\u306b\u3042\u308b\u6b21\u306e\u7740\u4fe1\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u53d7\u4fe1\u3057\u307e\u3059\u3002\n\nExample: ``radio.receive_bytes()``\n\n:return: The message bytes if any, otherwise ``None``.\"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"\u30e1\u30c3\u30bb\u30fc\u30b8\u30ad\u30e5\u30fc\u306b\u3042\u308b\u6b21\u306e\u7740\u4fe1\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u30d0\u30c3\u30d5\u30a1\u306b\u30b3\u30d4\u30fc\u3057\u307e\u3059\u3002\n\nExample: ``radio.receive_bytes_info(buffer)``\n\n:param buffer: \u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u683c\u7d0d\u3059\u308b\u30d0\u30c3\u30d5\u30a1\u3002\u30e1\u30c3\u30bb\u30fc\u30b8\u304c\u30d0\u30c3\u30d5\u30a1\u3088\u308a\u5927\u304d\u3044\u5834\u5408\u3001\u30e1\u30c3\u30bb\u30fc\u30b8\u306e\u53ce\u307e\u3089\u306a\u3044\u90e8\u5206\u304c\u5207\u308a\u6368\u3066\u3089\u308c\u307e\u3059\u3002\n:return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"\u30e1\u30c3\u30bb\u30fc\u30b8\u6587\u5b57\u5217\u3092\u9001\u4fe1\u3057\u307e\u3059\u3002\n\nExample: ``radio.send('hello')``\n\nThis is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\nprepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n:param message: \u9001\u4fe1\u3059\u308b\u6587\u5b57\u5217\u3002\"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"``receive_bytes`` \u3068\u540c\u3058\u3088\u3046\u306b\u52d5\u4f5c\u3057\u307e\u3059\u304c\u3001\u9001\u4fe1\u3055\u308c\u3066\u304d\u305f\u3082\u306e\u306f\u3059\u3079\u3066\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``radio.receive()``\n\nEquivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\nthree bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\nmay target the micro:bit).\n\n:return: The message with the prepended bytes stripped and converted to a string.\n\nA ``ValueError`` exception is raised if conversion to string fails.\"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"\u30e1\u30c3\u30bb\u30fc\u30b8\u30ad\u30e5\u30fc\u306b\u3042\u308b\u6b21\u306e\u53d7\u4fe1\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u8868\u30593\u3064\u306e\u5024\u3092\u30bf\u30d7\u30eb\u3067\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``radio.receive_full()``\n\nIf there are no pending messages then ``None`` is returned.\n\nThe three values in the tuple represent:\n\n- the next incoming message on the message queue as bytes.\n- the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n- a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\nFor example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\nThis function is useful for providing information needed for triangulation\nand/or trilateration with other micro:bit devices.\n\n:return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\"\"\"\n ...", + "/typeshed/stdlib/random.pyi": "\"\"\"\u4e71\u6570\u3092\u751f\u6210\u3057\u307e\u3059\u3002\"\"\"\nfrom typing import TypeVar, Sequence, Union, overload\n\ndef getrandbits(n: int) -> int:\n \"\"\"``n`` \u4e71\u6570\u30d3\u30c3\u30c8\u6570\u3092\u6301\u3064\u6574\u6570\u3092\u751f\u6210\u3057\u307e\u3059\u3002\n\nExample: ``random.getrandbits(1)``\n\n:param n: 1\uff5e30\u306e\u5024\uff08\u6307\u5b9a\u306e\u5024\u3092\u542b\u307f\u307e\u3059\uff09\u3002\"\"\"\n ...\n\ndef seed(n: int) -> None:\n \"\"\"\u4e71\u6570\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u3092\u521d\u671f\u5316\u3057\u307e\u3059\u3002\n\nExample: ``random.seed(0)``\n\n:param n: \u6574\u6570\u30b7\u30fc\u30c9\n\nThis will give you reproducibly deterministic randomness from a given starting\nstate (``n``).\"\"\"\n ...\n\ndef randint(a: int, b: int) -> int:\n \"\"\"``a`` \u304b\u3089 ``b`` \u306e\u533a\u9593\u5185\u306e\u30e9\u30f3\u30c0\u30e0\u306a\u6574\u6570\u5024\u3092\u8fd4\u3057\u307e\u3059\uff08\u6307\u5b9a\u306e\u5024\u3092\u542b\u307f\u307e\u3059\uff09\u3002\n\nExample: ``random.randint(0, 9)``\n\n:param a: (A) \u4e71\u6570\u533a\u9593\u306e\u958b\u59cb\u5024\uff08\u6307\u5b9a\u306e\u5024\u3092\u542b\u307f\u307e\u3059\uff09\n:param b: \u4e71\u6570\u533a\u9593\u306e\u7d42\u4e86\u5024\uff08\u6307\u5b9a\u306e\u5024\u3092\u542b\u307f\u307e\u3059\uff09\n\nAlias for ``randrange(a, b + 1)``.\"\"\"\n ...\n\n@overload\ndef randrange(stop: int) -> int:\n \"\"\"0 \u304b\u3089 ``stop`` \u672a\u6e80\u307e\u3067\u306e\u9593\u3067\u7121\u4f5c\u70ba\u306b\u9078\u629e\u3055\u308c\u305f\u6574\u6570\u3092\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``random.randrange(10)``\n\n:param stop: \u4e71\u6570\u533a\u9593\u306e\u7d42\u4e86\u5024\uff08\u6307\u5b9a\u306e\u5024\u3092\u542b\u307f\u307e\u305b\u3093\uff09\"\"\"\n ...\n\n@overload\ndef randrange(start: int, stop: int, step: int=1) -> int:\n \"\"\"``range(start, stop, step)`` \u304b\u3089\u7121\u4f5c\u70ba\u306b\u9078\u629e\u3055\u308c\u305f\u6574\u6570\u3092\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``random.randrange(0, 10)``\n\n:param start: \u4e71\u6570\u533a\u9593\u306e\u958b\u59cb\u5024\uff08\u6307\u5b9a\u306e\u5024\u3092\u542b\u307f\u307e\u3059\uff09\n:param stop: \u4e71\u6570\u533a\u9593\u306e\u7d42\u4e86\u5024\uff08\u6307\u5b9a\u306e\u5024\u3092\u542b\u307f\u307e\u305b\u3093\uff09\n:param step: \u30b9\u30c6\u30c3\u30d7\u5024\u3002\"\"\"\n ...\n_T = TypeVar('_T')\n\ndef choice(seq: Sequence[_T]) -> _T:\n \"\"\"\u7a7a\u3067\u306a\u3044\u30b7\u30fc\u30b1\u30f3\u30b9 ``seq`` \u304b\u3089\u30e9\u30f3\u30c0\u30e0\u306a\u8981\u7d20\u3092\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``random.choice([Image.HAPPY, Image.SAD])``\n\n:param seq: \u30b7\u30fc\u30b1\u30f3\u30b9\u3002\n\nIf ``seq`` is empty, raises ``IndexError``.\"\"\"\n ...\n\ndef random() -> float:\n \"\"\"0.0 \u4ee5\u4e0a\u30011.0 \u672a\u6e80\u306e\u533a\u9593\u304b\u3089\u7121\u4f5c\u70ba\u306b\u9078\u629e\u3055\u308c\u305f\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u3092\u751f\u6210\u3057\u307e\u3059\u3002\n\nExample: ``random.random()``\n\n:return: The random floating point number\"\"\"\n ...\n\ndef uniform(a: float, b: float) -> float:\n \"\"\"``a`` \u304b\u3089 ``b`` \u306e\u533a\u9593\u5185\u306e\u30e9\u30f3\u30c0\u30e0\u306a\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u3092\u8fd4\u3057\u307e\u3059\uff08\u6307\u5b9a\u306e\u5024\u3092\u542b\u307f\u307e\u3059\uff09\u3002\n\nExample: ``random.uniform(0, 9)``\n\n:param a: (A) \u4e71\u6570\u533a\u9593\u306e\u958b\u59cb\u5024\uff08\u6307\u5b9a\u306e\u5024\u3092\u542b\u307f\u307e\u3059\uff09\n:param b: \u4e71\u6570\u533a\u9593\u306e\u7d42\u4e86\u5024\uff08\u6307\u5b9a\u306e\u5024\u3092\u542b\u307f\u307e\u3059\uff09\"\"\"\n ...", + "/typeshed/stdlib/speech.pyi": "\"\"\"micro:bit \u306b\u8a71\u3055\u305b\u305f\u308a\u3001\u6b4c\u308f\u305b\u305f\u308a\u3001\u305d\u306e\u4ed6\u306e\u97f3\u58f0\u306e\u3088\u3046\u306a\u30b5\u30a6\u30f3\u30c9\u3092\u4f5c\u3089\u305b\u305f\u308a\u3057\u307e\u3059\u3002\"\"\"\nfrom typing import Optional\nfrom .microbit import MicroBitDigitalPin, pin0\n\ndef translate(words: str) -> str:\n \"\"\"\u82f1\u5358\u8a9e\u306e\u4e26\u3073\u3092\u97f3\u7d20\u306b\u5909\u63db\u3057\u307e\u3059\u3002\n\nExample: ``speech.translate('hello world')``\n\n:param words: \u82f1\u5358\u8a9e\u306e\u4e26\u3073\u306e\u6587\u5b57\u5217\u3002\n:return: A string containing a best guess at the appropriate phonemes to pronounce.\nThe output is generated from this `text to phoneme translation table `_.\n\nThis function should be used to generate a first approximation of phonemes\nthat can be further hand-edited to improve accuracy, inflection and\nemphasis.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef pronounce(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"\u97f3\u7d20\u3092\u767a\u58f0\u3057\u307e\u3059\u3002\n\nExample: ``speech.pronounce(' /HEHLOW WERLD')``\n\n:param phonemes: \u767a\u97f3\u3059\u308b\u97f3\u7d20\u306e\u6587\u5b57\u5217\n:param pitch: \u97f3\u58f0\u306e\u97f3\u9ad8\u3092\u8868\u3059\u6570\u5024\n:param speed: \u97f3\u58f0\u306e\u901f\u5ea6\u3092\u8868\u3059\u6570\u5024\n:param mouth: \u97f3\u58f0\u306e\u53e3\u306e\u52d5\u304d\u3092\u8868\u3059\u6570\u5024\n:param throat: \u97f3\u58f0\u306e\u5589\u306e\u52d5\u304d\u3092\u8868\u3059\u6570\u5024\n:param pin: (\u30d4\u30f3) \u51fa\u529b\u7aef\u5b50\u3092\u30c7\u30d5\u30a9\u30eb\u30c8\u306e ``pin0`` \u304b\u3089\u5909\u3048\u308b\u305f\u3081\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u5f15\u6570\u3002\n\u97f3\u3092\u9cf4\u3089\u3057\u305f\u304f\u306a\u3044\u5834\u5408\u306f ``pin=None`` \u3092\u6307\u5b9a\u3057\u307e\u3059\u3002micro:bit V2 \u306e\u307f\u3067\u4f7f\u3048\u307e\u3059\u3002\n\nOverride the optional pitch, speed, mouth and throat settings to change the\ntimbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef say(words: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"\u82f1\u5358\u8a9e\u306e\u4e26\u3073\u3092\u767a\u58f0\u3057\u307e\u3059\u3002\n\nExample: ``speech.say('hello world')``\n\n:param words: \u767a\u58f0\u3059\u308b\u8a00\u8449\u306e\u6587\u5b57\u5217\u3002\n:param pitch: \u97f3\u58f0\u306e\u97f3\u9ad8\u3092\u8868\u3059\u6570\u5024\n:param speed: \u97f3\u58f0\u306e\u901f\u5ea6\u3092\u8868\u3059\u6570\u5024\n:param mouth: \u97f3\u58f0\u306e\u53e3\u306e\u52d5\u304d\u3092\u8868\u3059\u6570\u5024\n:param throat: \u97f3\u58f0\u306e\u5589\u306e\u52d5\u304d\u3092\u8868\u3059\u6570\u5024\n:param pin: (\u30d4\u30f3) \u51fa\u529b\u7aef\u5b50\u3092\u30c7\u30d5\u30a9\u30eb\u30c8\u306e ``pin0`` \u304b\u3089\u5909\u3048\u308b\u305f\u3081\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u5f15\u6570\u3002\n\u97f3\u3092\u9cf4\u3089\u3057\u305f\u304f\u306a\u3044\u5834\u5408\u306f ``pin=None`` \u3092\u6307\u5b9a\u3057\u307e\u3059\u3002micro:bit V2 \u306e\u307f\u3067\u4f7f\u3048\u307e\u3059\u3002\n\nThe result is semi-accurate for English. Override the optional pitch, speed,\nmouth and throat settings to change the timbre (quality) of the voice.\n\nThis is a short-hand equivalent of:\n``speech.pronounce(speech.translate(words))``\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef sing(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"\u97f3\u7d20\u3092\u6b4c\u3044\u307e\u3059\u3002\n\nExample: ``speech.sing(' /HEHLOW WERLD')``\n\n:param phonemes: \u6b4c\u3046\u8a00\u8449\u306e\u6587\u5b57\u5217\u3002\n:param pitch: \u97f3\u58f0\u306e\u97f3\u9ad8\u3092\u8868\u3059\u6570\u5024\n:param speed: \u97f3\u58f0\u306e\u901f\u5ea6\u3092\u8868\u3059\u6570\u5024\n:param mouth: \u97f3\u58f0\u306e\u53e3\u306e\u52d5\u304d\u3092\u8868\u3059\u6570\u5024\n:param throat: \u97f3\u58f0\u306e\u5589\u306e\u52d5\u304d\u3092\u8868\u3059\u6570\u5024\n:param pin: (\u30d4\u30f3) \u51fa\u529b\u7aef\u5b50\u3092\u30c7\u30d5\u30a9\u30eb\u30c8\u306e ``pin0`` \u304b\u3089\u5909\u3048\u308b\u305f\u3081\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u5f15\u6570\u3002\n\u97f3\u3092\u9cf4\u3089\u3057\u305f\u304f\u306a\u3044\u5834\u5408\u306f ``pin=None`` \u3092\u6307\u5b9a\u3057\u307e\u3059\u3002micro:bit V2 \u306e\u307f\u3067\u4f7f\u3048\u307e\u3059\u3002\n\nOverride the optional pitch, speed, mouth and throat settings to change\nthe timbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...", + "/typeshed/stdlib/struct.pyi": "\"\"\"\u30d7\u30ea\u30df\u30c6\u30a3\u30d6\u30c7\u30fc\u30bf\u578b\u306e\u30d1\u30c3\u30af\u3068\u30a2\u30f3\u30d1\u30c3\u30af\u3002\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom typing import Any, Tuple, Union\n\ndef calcsize(fmt: str) -> int:\n \"\"\"\u6307\u5b9a\u3057\u305f ``fmt`` \u3067\u683c\u7d0d\u3059\u308b\u305f\u3081\u306b\u5fc5\u8981\u306a\u30d0\u30a4\u30c8\u6570\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``struct.calcsize('hf')``\n\n:param fmt: \u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u6587\u5b57\u5217\u3002\n:return The number of bytes needed to store such a value.\"\"\"\n ...\n\ndef pack(fmt: str, v1: Any, *vn: Any) -> bytes:\n \"\"\"\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u6587\u5b57\u5217\u306b\u3057\u305f\u304c\u3063\u3066\u8907\u6570\u306e\u5024\u3092\u30d1\u30c3\u30af\u3057\u307e\u3059\u3002\n\nExample: ``struct.pack('hf', 1, 3.1415)``\n\n:param fmt: \u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u6587\u5b57\u5217\u3002\n:param v1: \u5148\u982d\u306e\u5024\u3002\n:param *vn: \u6b8b\u308a\u306e\u5024\u3002\n:return A bytes object encoding the values.\"\"\"\n ...\n\ndef pack_into(fmt: str, buffer: WriteableBuffer, offset: int, v1: Any, *vn: Any) -> None:\n \"\"\"\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u6587\u5b57\u5217\u306b\u3057\u305f\u304c\u3063\u3066\u8907\u6570\u306e\u5024\u3092\u30d1\u30c3\u30af\u3057\u307e\u3059\u3002\n\nExample: ``struct.pack_info('hf', buffer, 1, 3.1415)``\n\n:param fmt: \u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u6587\u5b57\u5217\u3002\n:param buffer: \u66f8\u304d\u8fbc\u307f\u5148\u306e\u30d0\u30c3\u30d5\u30a1\u3002\n:param offset: \u30d0\u30c3\u30d5\u30a1\u306e\u30aa\u30d5\u30bb\u30c3\u30c8\u3002\u8ca0\u306e\u5834\u5408\u306f\u30d0\u30c3\u30d5\u30a1\u306e\u6700\u5f8c\u304b\u3089\u306e\u30aa\u30d5\u30bb\u30c3\u30c8\u306b\u306a\u308a\u307e\u3059\u3002\n:param v1: \u5148\u982d\u306e\u5024\u3002\n:param *vn: \u6b8b\u308a\u306e\u5024\u3002\"\"\"\n ...\n\ndef unpack(fmt: str, data: ReadableBuffer) -> Tuple[Any, ...]:\n \"\"\"\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u6587\u5b57\u5217\u306b\u3057\u305f\u304c\u3063\u3066\u30c7\u30fc\u30bf\u3092\u30a2\u30f3\u30d1\u30c3\u30af\u3057\u307e\u3059\u3002\n\nExample: ``v1, v2 = struct.unpack('hf', buffer)``\n\n:param fmt: \u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u6587\u5b57\u5217\u3002\n:param data: \u30c7\u30fc\u30bf\u3002\n:return: A tuple of the unpacked values.\"\"\"\n ...\n\ndef unpack_from(fmt: str, buffer: ReadableBuffer, offset: int=0) -> Tuple:\n \"\"\"\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u6587\u5b57\u5217\u306b\u3057\u305f\u304c\u3063\u3066\u30d0\u30c3\u30d5\u30a1\u304b\u3089\u30c7\u30fc\u30bf\u3092\u30a2\u30f3\u30d1\u30c3\u30af\u3057\u307e\u3059\u3002\n\nExample: ``v1, v2 = struct.unpack_from('hf', buffer)``\n\n:param fmt: \u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u6587\u5b57\u5217\u3002\n:param buffer: \u8aad\u307f\u8fbc\u307f\u5143\u306e\u30d0\u30c3\u30d5\u30a1\u3002\n:param offset: \u30d0\u30c3\u30d5\u30a1\u306e\u30aa\u30d5\u30bb\u30c3\u30c8\u3002\u8ca0\u306e\u5834\u5408\u306f\u30d0\u30c3\u30d5\u30a1\u306e\u6700\u5f8c\u304b\u3089\u306e\u30aa\u30d5\u30bb\u30c3\u30c8\u306b\u306a\u308a\u307e\u3059\u3002\n:return: A tuple of the unpacked values.\"\"\"\n ...", + "/typeshed/stdlib/sys.pyi": "\"\"\"\u30b7\u30b9\u30c6\u30e0\u56fa\u6709\u95a2\u6570\u3002\"\"\"\nfrom typing import Any, Dict, List, NoReturn, TextIO, Tuple\n\ndef exit(retval: object=...) -> NoReturn:\n \"\"\"\u4e0e\u3048\u305f\u7d42\u4e86\u30b3\u30fc\u30c9\u3067\u73fe\u5728\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u7d42\u4e86\u3057\u307e\u3059\u3002\n\nExample: ``sys.exit(1)``\n\nThis function raises a ``SystemExit`` exception. If an argument is given, its\nvalue given as an argument to ``SystemExit``.\n\n:param retval: \u7d42\u4e86\u30b3\u30fc\u30c9\u307e\u305f\u306f\u30e1\u30c3\u30bb\u30fc\u30b8\u3002\"\"\"\n ...\n\ndef print_exception(exc: Exception) -> None:\n \"\"\"\u4f8b\u5916\u3092\u30c8\u30ec\u30fc\u30b9\u30d0\u30c3\u30af\u4ed8\u304d\u3067\u51fa\u529b\u3057\u307e\u3059\u3002\n\nExample: ``sys.print_exception(e)``\n\n:param exc: \u8868\u793a\u3059\u308b\u4f8b\u5916\n\nThis is simplified version of a function which appears in the\n``traceback`` module in CPython.\"\"\"\nargv: List[str]\n\"\"\"\u73fe\u5728\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u958b\u59cb\u6642\u306e\u5f15\u6570\u306e\u5909\u66f4\u53ef\u80fd\u306a\u30ea\u30b9\u30c8\u3002\"\"\"\nbyteorder: str\n\"\"\"\u30b7\u30b9\u30c6\u30e0\u306e\u30d0\u30a4\u30c8\u9806\uff08``\"little\"`` \u307e\u305f\u306f ``\"big\"``\uff09\u3002\"\"\"\n\nclass _implementation:\n name: str\n version: Tuple[int, int, int]\nimplementation: _implementation\n\"\"\"\u73fe\u5728\u306e Python \u51e6\u7406\u7cfb\u306b\u95a2\u3059\u308b\u60c5\u5831\u3092\u6301\u3064\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3002\n\nFor MicroPython, it has following attributes:\n\n- ``name`` - string \"micropython\"\n- ``version`` - tuple (major, minor, micro), e.g. (1, 7, 0)\n\nThis object is the recommended way to distinguish MicroPython from other\nPython implementations (note that it still may not exist in the very\nminimal ports).\n\nCPython mandates more attributes for this object, but the actual useful\nbare minimum is implemented in MicroPython.\n\"\"\"\nmaxsize: int\n\"\"\"\n\u73fe\u5728\u306e\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3067\u30cd\u30a4\u30c6\u30a3\u30d6\u6574\u6570\u578b\u304c\u4fdd\u6301\u3067\u304d\u308b\u6700\u5927\u5024\u3001\u307e\u305f\u306f\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u306e\u6700\u5927\u5024\u3088\u308a\u5c0f\u3055\u3044\u5834\u5408\u306f MicroPython \u6574\u6570\u578b\u3067\u8868\u73fe\u53ef\u80fd\u306a\u6700\u5927\u5024\uff08MicroPython \u30dd\u30fc\u30c8\u3067 \u9577\u6574\u6570\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u306a\u3044\u3068\u3057\u305f\u5834\u5408\uff09\u3002\n\nThis attribute is useful for detecting \"bitness\" of a platform (32-bit vs\n64-bit, etc.). It's recommended to not compare this attribute to some\nvalue directly, but instead count number of bits in it::\n\n bits = 0\n v = sys.maxsize\n while v:\n bits += 1\n v >>= 1\n if bits > 32:\n # 64-bit (or more) platform\n ...\n else:\n # 32-bit (or less) platform\n # Note that on 32-bit platform, value of bits may be less than 32\n # (e.g. 31) due to peculiarities described above, so use \"> 16\",\n # \"> 32\", \"> 64\" style of comparisons.\n\"\"\"\nmodules: Dict[str, Any]\n\"\"\"\u8aad\u307f\u8fbc\u307e\u308c\u305f\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u8f9e\u66f8\u3002 \n\nOn some ports, it may not include builtin modules.\"\"\"\npath: List[str]\n\"\"\"\u30a4\u30f3\u30dd\u30fc\u30c8\u3059\u308b\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u691c\u7d22\u3059\u308b\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5909\u66f4\u53ef\u80fd\u306a\u30ea\u30b9\u30c8\u3002\"\"\"\nplatform: str\n\"\"\"MicroPython \u304c\u5b9f\u884c\u3055\u308c\u3066\u3044\u308b\u30d7\u30e9\\u200b\\u200b\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3002 \n\nFor OS/RTOS ports, this is usually an identifier of the OS, e.g. ``\"linux\"``.\nFor baremetal ports it is an identifier of a board, e.g. ``\"pyboard\"`` for \nthe original MicroPython reference board. It thus can be used to\ndistinguish one board from another.\n\nIf you need to check whether your program runs on MicroPython (vs other\nPython implementation), use ``sys.implementation`` instead.\n\"\"\"\nversion: str\n\"\"\"\u3053\u306e\u51e6\u7406\u7cfb\u304c\u6e96\u62e0\u3059\u308bPython\u8a00\u8a9e\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u8868\u3059\u6587\u5b57\u5217\u3002\"\"\"\nversion_info: Tuple[int, int, int]\n\"\"\"\u3053\u306e\u5b9f\u88c5\u304c\u6e96\u62e0\u3057\u3066\u3044\u308bPython\u8a00\u8a9e\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u8868\u3059int\u306e\u30bf\u30d7\u30eb\u3002\n\nOnly the first three version numbers (major, minor, micro) are supported and\nthey can be referenced only by index, not by name.\n\"\"\"", + "/typeshed/stdlib/this.pyi": "def authors() -> str: ...\n", + "/typeshed/stdlib/time.pyi": "\"\"\"\u6642\u9593\u306e\u6e2c\u5b9a\u3068\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u9045\u5ef6\u3002\"\"\"\nfrom typing import Union\n\ndef sleep(seconds: Union[int, float]) -> None:\n \"\"\"\u6307\u5b9a\u3057\u305f\u79d2\u6570\u3060\u3051\u9045\u5ef6\u3057\u307e\u3059\u3002\n\nExample: ``time.sleep(1)``\n\n:param seconds: \u30b9\u30ea\u30fc\u30d7\u3059\u308b\u79d2\u6570\u3002\n\u79d2\u3088\u308a\u7d30\u304b\u3044\u7cbe\u5ea6\u3067\u6307\u5b9a\u3057\u305f\u3044\u5834\u5408\u306f\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u3092\u4f7f\u3063\u3066\u304f\u3060\u3055\u3044\u3002\"\"\"\n ...\n\ndef sleep_ms(ms: int) -> None:\n \"\"\"\u6307\u5b9a\u3057\u305f\u30df\u30ea\u79d2\u3060\u3051\u9045\u5ef6\u3057\u307e\u3059\u3002\n\nExample: ``time.sleep_ms(1_000_000)``\n\n:param ms: \u9045\u5ef6\u3059\u308b\u30df\u30ea\u79d2\u6570\uff08>= 0\uff09\u3002\"\"\"\n ...\n\ndef sleep_us(us: int) -> None:\n \"\"\"\u6307\u5b9a\u3057\u305f\u30de\u30a4\u30af\u30ed\u79d2\u3060\u3051\u9045\u5ef6\u3057\u307e\u3059\u3002\n\nExample: ``time.sleep_us(1000)``\n\n:param us: \u9045\u5ef6\u3059\u308b\u30de\u30a4\u30af\u30ed\u79d2\u6570\uff08>= 0\uff09\u3002\"\"\"\n ...\n\ndef ticks_ms() -> int:\n \"\"\"\u547c\u51fa\u3057\u6642\u70b9\u3067\u306e\u7a3c\u50cd\u6642\u9593\u3092\u30df\u30ea\u79d2\u5358\u4f4d\u3067\u53d6\u5f97\u3057\u307e\u3059\u3002\u7a3c\u50cd\u6642\u9593\u306f\u6700\u5927\u5024\u306b\u9054\u3059\u308b\u3068\u30e9\u30c3\u30d7\u30a2\u30e9\u30a6\u30f3\u30c9\u3057\u307e\u3059\u3002\n\nExample: ``time.ticks_ms()``\n\n:return: The counter value in milliseconds.\"\"\"\n ...\n\ndef ticks_us() -> int:\n \"\"\"\u547c\u51fa\u3057\u6642\u70b9\u3067\u306e\u7a3c\u50cd\u6642\u9593\u3092\u30de\u30a4\u30af\u30ed\u79d2\u5358\u4f4d\u3067\u53d6\u5f97\u3057\u307e\u3059\u3002\u7a3c\u50cd\u6642\u9593\u306f\u6700\u5927\u5024\u306b\u9054\u3059\u308b\u3068\u30e9\u30c3\u30d7\u30a2\u30e9\u30a6\u30f3\u30c9\u3057\u307e\u3059\u3002\n\nExample: ``time.ticks_us()``\n\n:return: The counter value in microseconds.\"\"\"\n ...\n\ndef ticks_add(ticks: int, delta: int) -> int:\n \"\"\"\u4e0e\u3048\u305f\u6570\u3092\u30c6\u30a3\u30c3\u30af\u5024\u304b\u3089\u306e\u30aa\u30d5\u30bb\u30c3\u30c8\u3068\u3057\u3066\u52a0\u7b97\u3057\u305f\u5024\u3092\u8fd4\u3057\u307e\u3059\u3002\u5f15\u6570\u306e\u5024\u306f\u6b63\u3067\u3082\u8ca0\u3067\u3082\u304b\u307e\u3044\u307e\u305b\u3093\u3002\n\nExample: ``time.ticks_add(time.ticks_ms(), 200)``\n\nGiven a ticks value, this function allows to calculate ticks\nvalue delta ticks before or after it, following modular-arithmetic\ndefinition of tick values.\n\n:param ticks: \u30c6\u30a3\u30c3\u30af\u5024\n:param delta: \u6574\u6570\u30aa\u30d5\u30bb\u30c3\u30c8\n\nExample::\n\n # Find out what ticks value there was 100ms ago\n print(ticks_add(time.ticks_ms(), -100))\n\n # Calculate deadline for operation and test for it\n deadline = ticks_add(time.ticks_ms(), 200)\n while ticks_diff(deadline, time.ticks_ms()) > 0:\n do_a_little_of_something()\n\n # Find out TICKS_MAX used by this port\n print(ticks_add(0, -1))\"\"\"\n ...\n\ndef ticks_diff(ticks1: int, ticks2: int) -> int:\n \"\"\"``time.ticks_ms()`` \u3084 ``ticks_us()`` \u95a2\u6570\u306e\u623b\u308a\u5024\uff08\u30e9\u30c3\u30d7\u30a2\u30e9\u30a6\u30f3\u30c9\u3059\u308b\u53ef\u80fd\u6027\u306e\u3042\u308b\u7b26\u53f7\u4ed8\u304d\u306e\u5024\uff09\u306e\u9593\u306e\u30c6\u30a3\u30c3\u30af\u5024\u306e\u5dee\u3092\u8a08\u7b97\u3057\u307e\u3059\u3002\n\nExample: ``time.ticks_diff(scheduled_time, now)``\n\n:param ticks1: \u5f15\u304b\u3089\u308c\u308b\u65b9\u306e\u5024\n:param ticks2: \u5f15\u304f\u65b9\u306e\u5024\n\nThe argument order is the same as for subtraction operator,\n``ticks_diff(ticks1, ticks2)`` has the same meaning as ``ticks1 - ticks2``.\n\n``ticks_diff()`` is designed to accommodate various usage\npatterns, among them:\n\nPolling with timeout. In this case, the order of events is known, and you\nwill deal only with positive results of :func:`time.ticks_diff()`::\n\n # Wait for GPIO pin to be asserted, but at most 500us\n start = time.ticks_us()\n while pin.value() == 0:\n if time.ticks_diff(time.ticks_us(), start) > 500:\n raise TimeoutError\n\n\nScheduling events. In this case, :func:`time.ticks_diff()` result may be\nnegative if an event is overdue::\n\n # This code snippet is not optimized\n now = time.ticks_ms()\n scheduled_time = task.scheduled_time()\n if ticks_diff(scheduled_time, now) > 0:\n print(\"Too early, let's nap\")\n sleep_ms(ticks_diff(scheduled_time, now))\n task.run()\n elif ticks_diff(scheduled_time, now) == 0:\n print(\"Right at time!\")\n task.run()\n elif ticks_diff(scheduled_time, now) < 0:\n print(\"Oops, running late, tell task to run faster!\")\n task.run(run_faster=True)\"\"\"\n ...", + "/typeshed/stdlib/types.pyi": "import sys\nfrom typing import (\n Any,\n AsyncGenerator,\n Awaitable,\n Callable,\n Generator,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n Tuple,\n Type,\n TypeVar,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, final\n\n# Note, all classes \"defined\" here require special handling.\n\n_T = TypeVar(\"_T\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_V_co = TypeVar(\"_V_co\", covariant=True)\n\n@final\nclass _Cell:\n __hash__: None # type: ignore\n cell_contents: Any\n\n@final\nclass FunctionType:\n __closure__: Tuple[_Cell, ...] | None\n __code__: CodeType\n __defaults__: Tuple[Any, ...] | None\n __dict__: dict[str, Any]\n __globals__: dict[str, Any]\n __name__: str\n __qualname__: str\n __annotations__: dict[str, Any]\n __kwdefaults__: dict[str, Any]\n def __init__(\n self,\n code: CodeType,\n globals: dict[str, Any],\n name: str | None = ...,\n argdefs: Tuple[object, ...] | None = ...,\n closure: Tuple[_Cell, ...] | None = ...,\n ) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: object | None, type: type | None) -> MethodType: ...\n\nLambdaType = FunctionType\n\n@final\nclass CodeType:\n \"\"\"Create a code object. Not for the faint of heart.\"\"\"\n\n co_argcount: int\n if sys.version_info >= (3, 8):\n co_posonlyargcount: int\n co_kwonlyargcount: int\n co_nlocals: int\n co_stacksize: int\n co_flags: int\n co_code: bytes\n co_consts: Tuple[Any, ...]\n co_names: Tuple[str, ...]\n co_varnames: Tuple[str, ...]\n co_filename: str\n co_name: str\n co_firstlineno: int\n co_lnotab: bytes\n co_freevars: Tuple[str, ...]\n co_cellvars: Tuple[str, ...]\n if sys.version_info >= (3, 8):\n def __init__(\n self,\n argcount: int,\n posonlyargcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n else:\n def __init__(\n self,\n argcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n if sys.version_info >= (3, 8):\n def replace(\n self,\n *,\n co_argcount: int = ...,\n co_posonlyargcount: int = ...,\n co_kwonlyargcount: int = ...,\n co_nlocals: int = ...,\n co_stacksize: int = ...,\n co_flags: int = ...,\n co_firstlineno: int = ...,\n co_code: bytes = ...,\n co_consts: Tuple[Any, ...] = ...,\n co_names: Tuple[str, ...] = ...,\n co_varnames: Tuple[str, ...] = ...,\n co_freevars: Tuple[str, ...] = ...,\n co_cellvars: Tuple[str, ...] = ...,\n co_filename: str = ...,\n co_name: str = ...,\n co_lnotab: bytes = ...,\n ) -> CodeType: ...\n\n@final\nclass MappingProxyType(Mapping[_KT, _VT_co], Generic[_KT, _VT_co]):\n __hash__: None # type: ignore\n def __init__(self, mapping: Mapping[_KT, _VT_co]) -> None: ...\n def __getitem__(self, k: _KT) -> _VT_co: ...\n def __iter__(self) -> Iterator[_KT]: ...\n def __len__(self) -> int: ...\n def copy(self) -> dict[_KT, _VT_co]: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def items(self) -> ItemsView[_KT, _VT_co]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def __or__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n def __ror__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n\nclass SimpleNamespace:\n __hash__: None # type: ignore\n def __init__(self, **kwargs: Any) -> None: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __delattr__(self, name: str) -> None: ...\n\nclass ModuleType:\n __name__: str\n __file__: str\n __dict__: dict[str, Any]\n __package__: str | None\n def __init__(self, name: str, doc: str | None = ...) -> None: ...\n\n@final\nclass GeneratorType(Generator[_T_co, _T_contra, _V_co]):\n gi_code: CodeType\n gi_frame: FrameType\n gi_running: bool\n gi_yieldfrom: GeneratorType[_T_co, _T_contra, Any] | None\n def __iter__(self) -> GeneratorType[_T_co, _T_contra, _V_co]: ...\n def __next__(self) -> _T_co: ...\n def close(self) -> None: ...\n def send(self, __arg: _T_contra) -> _T_co: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> _T_co: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> _T_co: ...\n\n@final\nclass AsyncGeneratorType(AsyncGenerator[_T_co, _T_contra]):\n ag_await: Awaitable[Any] | None\n ag_frame: FrameType\n ag_running: bool\n ag_code: CodeType\n def __aiter__(self) -> AsyncGeneratorType[_T_co, _T_contra]: ...\n def __anext__(self) -> Awaitable[_T_co]: ...\n def asend(self, __val: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Awaitable[_T_co]: ...\n def aclose(self) -> Awaitable[None]: ...\n\n@final\nclass CoroutineType:\n cr_await: Any | None\n cr_code: CodeType\n cr_frame: FrameType\n cr_running: bool\n def close(self) -> None: ...\n def send(self, __arg: Any) -> Any: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Any: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Any: ...\n\nclass _StaticFunctionType:\n \"\"\"Fictional type to correct the type of MethodType.__func__.\n\n FunctionType is a descriptor, so mypy follows the descriptor protocol and\n converts MethodType.__func__ back to MethodType (the return type of\n FunctionType.__get__). But this is actually a special case; MethodType is\n implemented in C and its attribute access doesn't go through\n __getattribute__.\n\n By wrapping FunctionType in _StaticFunctionType, we get the right result;\n similar to wrapping a function in staticmethod() at runtime to prevent it\n being bound as a method.\n \"\"\"\n\n def __get__(self, obj: object | None, type: type | None) -> FunctionType: ...\n\n@final\nclass MethodType:\n __closure__: Tuple[_Cell, ...] | None # inherited from the added function\n __defaults__: Tuple[Any, ...] | None # inherited from the added function\n __func__: _StaticFunctionType\n __self__: object\n __name__: str # inherited from the added function\n __qualname__: str # inherited from the added function\n def __init__(self, func: Callable[..., Any], obj: object) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\n@final\nclass BuiltinFunctionType:\n __self__: object | ModuleType\n __name__: str\n __qualname__: str\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\nBuiltinMethodType = BuiltinFunctionType\n\nif sys.version_info >= (3, 7):\n @final\n class WrapperDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class MethodWrapperType:\n __self__: object\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __eq__(self, other: Any) -> bool: ...\n def __ne__(self, other: Any) -> bool: ...\n @final\n class MethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class ClassMethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n\n@final\nclass TracebackType:\n if sys.version_info >= (3, 7):\n def __init__(\n self,\n tb_next: TracebackType | None,\n tb_frame: FrameType,\n tb_lasti: int,\n tb_lineno: int,\n ) -> None: ...\n tb_next: TracebackType | None\n else:\n @property\n def tb_next(self) -> TracebackType | None: ...\n # the rest are read-only even in 3.7\n @property\n def tb_frame(self) -> FrameType: ...\n @property\n def tb_lasti(self) -> int: ...\n @property\n def tb_lineno(self) -> int: ...\n\n@final\nclass FrameType:\n f_back: FrameType | None\n f_builtins: dict[str, Any]\n f_code: CodeType\n f_globals: dict[str, Any]\n f_lasti: int\n f_lineno: int\n f_locals: dict[str, Any]\n f_trace: Callable[[FrameType, str, Any], Any] | None\n if sys.version_info >= (3, 7):\n f_trace_lines: bool\n f_trace_opcodes: bool\n def clear(self) -> None: ...\n\n@final\nclass GetSetDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\n@final\nclass MemberDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nif sys.version_info >= (3, 7):\n def new_class(\n name: str,\n bases: Iterable[object] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n def resolve_bases(bases: Iterable[object]) -> Tuple[Any, ...]: ...\n\nelse:\n def new_class(\n name: str,\n bases: Tuple[type, ...] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n\ndef prepare_class(\n name: str, bases: Tuple[type, ...] = ..., kwds: dict[str, Any] | None = ...\n) -> Tuple[type, dict[str, Any], dict[str, Any]]: ...\n\n# Actually a different type, but `property` is special and we want that too.\nDynamicClassAttribute = property\n\ndef coroutine(func: Callable[..., Any]) -> CoroutineType: ...\n\nif sys.version_info >= (3, 8):\n CellType = _Cell\n\nif sys.version_info >= (3, 9):\n class GenericAlias:\n __origin__: type\n __args__: Tuple[Any, ...]\n __parameters__: Tuple[Any, ...]\n def __init__(self, origin: type, args: Any) -> None: ...\n def __getattr__(self, name: str) -> Any: ... # incomplete\n\nif sys.version_info >= (3, 10):\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n EllipsisType = ellipsis # noqa F811 from builtins\n from builtins import _NotImplementedType\n\n NotImplementedType = _NotImplementedType # noqa F811 from builtins\n @final\n class UnionType:\n __args__: Tuple[Any, ...]\n def __or__(self, obj: Any) -> UnionType: ...\n def __ror__(self, obj: Any) -> UnionType: ...\n", + "/typeshed/stdlib/typing.pyi": "import collections # Needed by aliases like DefaultDict, see mypy issue 2986\nimport sys\nfrom abc import ABCMeta, abstractmethod\nfrom types import BuiltinFunctionType, CodeType, FrameType, FunctionType, MethodType, ModuleType, TracebackType\nfrom typing_extensions import Literal as _Literal\n\nif sys.version_info >= (3, 7):\n from types import MethodDescriptorType, MethodWrapperType, WrapperDescriptorType\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n# Definitions of special type checking related constructs. Their definitions\n# are not used, so their value does not matter.\n\nAny = object()\n\nclass TypeVar:\n __name__: str\n __bound__: Optional[Type[Any]]\n __constraints__: Tuple[Type[Any], ...]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self,\n name: str,\n *constraints: Type[Any],\n bound: Union[None, Type[Any], str] = ...,\n covariant: bool = ...,\n contravariant: bool = ...,\n ) -> None: ...\n\n_promote = object()\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> object: ...\n\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n\ndef overload(func: _F) -> _F: ...\n\nUnion: _SpecialForm = ...\nOptional: _SpecialForm = ...\nTuple: _SpecialForm = ...\nGeneric: _SpecialForm = ...\n# Protocol is only present in 3.8 and later, but mypy needs it unconditionally\nProtocol: _SpecialForm = ...\nCallable: _SpecialForm = ...\nType: _SpecialForm = ...\nClassVar: _SpecialForm = ...\nif sys.version_info >= (3, 8):\n Final: _SpecialForm = ...\n def final(f: _F) -> _F: ...\n Literal: _SpecialForm = ...\n # TypedDict is a (non-subscriptable) special form.\n TypedDict: object\n\nif sys.version_info < (3, 7):\n class GenericMeta(type): ...\n\nif sys.version_info >= (3, 10):\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Optional[Type[Any]]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: Union[None, Type[Any], str] = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n\n# Return type that indicates a function does not return.\n# This type is equivalent to the None type, but the no-op Union is necessary to\n# distinguish the None type from the None value.\nNoReturn = Union[None]\n\n# These type variables are used by the container types.\n_T = TypeVar(\"_T\")\n_S = TypeVar(\"_S\")\n_KT = TypeVar(\"_KT\") # Key type.\n_VT = TypeVar(\"_VT\") # Value type.\n_T_co = TypeVar(\"_T_co\", covariant=True) # Any type covariant containers.\n_V_co = TypeVar(\"_V_co\", covariant=True) # Any type covariant containers.\n_KT_co = TypeVar(\"_KT_co\", covariant=True) # Key type covariant containers.\n_VT_co = TypeVar(\"_VT_co\", covariant=True) # Value type covariant containers.\n_T_contra = TypeVar(\"_T_contra\", contravariant=True) # Ditto contravariant.\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\ndef no_type_check(arg: _F) -> _F: ...\ndef no_type_check_decorator(decorator: _F) -> _F: ...\n\n# Type aliases and type constructors\n\nclass _Alias:\n # Class for defining generic aliases for library types.\n def __getitem__(self, typeargs: Any) -> Any: ...\n\nList = _Alias()\nDict = _Alias()\nDefaultDict = _Alias()\nSet = _Alias()\nFrozenSet = _Alias()\nCounter = _Alias()\nDeque = _Alias()\nChainMap = _Alias()\n\nif sys.version_info >= (3, 7):\n OrderedDict = _Alias()\n\nif sys.version_info >= (3, 9):\n Annotated: _SpecialForm = ...\n\n# Predefined type variables.\nAnyStr = TypeVar(\"AnyStr\", str, bytes)\n\n# Abstract base classes.\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n@runtime_checkable\nclass SupportsInt(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __int__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsFloat(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __float__(self) -> float: ...\n\n@runtime_checkable\nclass SupportsComplex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __complex__(self) -> complex: ...\n\n@runtime_checkable\nclass SupportsBytes(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __bytes__(self) -> bytes: ...\n\nif sys.version_info >= (3, 8):\n @runtime_checkable\n class SupportsIndex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __index__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsAbs(Protocol[_T_co]):\n @abstractmethod\n def __abs__(self) -> _T_co: ...\n\n@runtime_checkable\nclass SupportsRound(Protocol[_T_co]):\n @overload\n @abstractmethod\n def __round__(self) -> int: ...\n @overload\n @abstractmethod\n def __round__(self, ndigits: int) -> _T_co: ...\n\n@runtime_checkable\nclass Sized(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __len__(self) -> int: ...\n\n@runtime_checkable\nclass Hashable(Protocol, metaclass=ABCMeta):\n # TODO: This is special, in that a subclass of a hashable class may not be hashable\n # (for example, list vs. object). It's not obvious how to represent this. This class\n # is currently mostly useless for static checking.\n @abstractmethod\n def __hash__(self) -> int: ...\n\n@runtime_checkable\nclass Iterable(Protocol[_T_co]):\n @abstractmethod\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Iterator(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __next__(self) -> _T_co: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Reversible(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass Generator(Iterator[_T_co], Generic[_T_co, _T_contra, _V_co]):\n def __next__(self) -> _T_co: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n def close(self) -> None: ...\n def __iter__(self) -> Generator[_T_co, _T_contra, _V_co]: ...\n @property\n def gi_code(self) -> CodeType: ...\n @property\n def gi_frame(self) -> FrameType: ...\n @property\n def gi_running(self) -> bool: ...\n @property\n def gi_yieldfrom(self) -> Optional[Generator[Any, Any, Any]]: ...\n\n@runtime_checkable\nclass Awaitable(Protocol[_T_co]):\n @abstractmethod\n def __await__(self) -> Generator[Any, None, _T_co]: ...\n\nclass Coroutine(Awaitable[_V_co], Generic[_T_co, _T_contra, _V_co]):\n __name__: str\n __qualname__: str\n @property\n def cr_await(self) -> Optional[Any]: ...\n @property\n def cr_code(self) -> CodeType: ...\n @property\n def cr_frame(self) -> FrameType: ...\n @property\n def cr_running(self) -> bool: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n @abstractmethod\n def close(self) -> None: ...\n\n# NOTE: This type does not exist in typing.py or PEP 484.\n# The parameters correspond to Generator, but the 4th is the original type.\nclass AwaitableGenerator(\n Awaitable[_V_co], Generator[_T_co, _T_contra, _V_co], Generic[_T_co, _T_contra, _V_co, _S], metaclass=ABCMeta\n): ...\n\n@runtime_checkable\nclass AsyncIterable(Protocol[_T_co]):\n @abstractmethod\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\n@runtime_checkable\nclass AsyncIterator(AsyncIterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\nclass AsyncGenerator(AsyncIterator[_T_co], Generic[_T_co, _T_contra]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n @abstractmethod\n def asend(self, __value: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> Awaitable[_T_co]: ...\n @abstractmethod\n def aclose(self) -> Awaitable[None]: ...\n @abstractmethod\n def __aiter__(self) -> AsyncGenerator[_T_co, _T_contra]: ...\n @property\n def ag_await(self) -> Any: ...\n @property\n def ag_code(self) -> CodeType: ...\n @property\n def ag_frame(self) -> FrameType: ...\n @property\n def ag_running(self) -> bool: ...\n\n@runtime_checkable\nclass Container(Protocol[_T_co]):\n @abstractmethod\n def __contains__(self, __x: object) -> bool: ...\n\n@runtime_checkable\nclass Collection(Iterable[_T_co], Container[_T_co], Protocol[_T_co]):\n # Implement Sized (but don't have it as a base class).\n @abstractmethod\n def __len__(self) -> int: ...\n\n_Collection = Collection[_T_co]\n\nclass Sequence(_Collection[_T_co], Reversible[_T_co], Generic[_T_co]):\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T_co: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> Sequence[_T_co]: ...\n # Mixin methods\n def index(self, value: Any, start: int = ..., stop: int = ...) -> int: ...\n def count(self, value: Any) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass MutableSequence(Sequence[_T], Generic[_T]):\n @abstractmethod\n def insert(self, index: int, value: _T) -> None: ...\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> MutableSequence[_T]: ...\n @overload\n @abstractmethod\n def __setitem__(self, i: int, o: _T) -> None: ...\n @overload\n @abstractmethod\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: int) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: slice) -> None: ...\n # Mixin methods\n def append(self, value: _T) -> None: ...\n def clear(self) -> None: ...\n def extend(self, values: Iterable[_T]) -> None: ...\n def reverse(self) -> None: ...\n def pop(self, index: int = ...) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __iadd__(self, x: Iterable[_T]) -> MutableSequence[_T]: ...\n\nclass AbstractSet(_Collection[_T_co], Generic[_T_co]):\n @abstractmethod\n def __contains__(self, x: object) -> bool: ...\n # Mixin methods\n def __le__(self, s: AbstractSet[Any]) -> bool: ...\n def __lt__(self, s: AbstractSet[Any]) -> bool: ...\n def __gt__(self, s: AbstractSet[Any]) -> bool: ...\n def __ge__(self, s: AbstractSet[Any]) -> bool: ...\n def __and__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def __sub__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def isdisjoint(self, other: Iterable[Any]) -> bool: ...\n\nclass MutableSet(AbstractSet[_T], Generic[_T]):\n @abstractmethod\n def add(self, value: _T) -> None: ...\n @abstractmethod\n def discard(self, value: _T) -> None: ...\n # Mixin methods\n def clear(self) -> None: ...\n def pop(self) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __ior__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __iand__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __isub__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n\nclass MappingView(Sized):\n def __init__(self, mapping: Mapping[Any, Any]) -> None: ... # undocumented\n def __len__(self) -> int: ...\n\nclass ItemsView(MappingView, AbstractSet[Tuple[_KT_co, _VT_co]], Generic[_KT_co, _VT_co]):\n def __init__(self, mapping: Mapping[_KT_co, _VT_co]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n\nclass KeysView(MappingView, AbstractSet[_KT_co], Generic[_KT_co]):\n def __init__(self, mapping: Mapping[_KT_co, Any]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_KT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT_co]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n\nclass ValuesView(MappingView, Iterable[_VT_co], Generic[_VT_co]):\n def __init__(self, mapping: Mapping[Any, _VT_co]) -> None: ... # undocumented\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_VT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_VT_co]: ...\n\n@runtime_checkable\nclass ContextManager(Protocol[_T_co]):\n def __enter__(self) -> _T_co: ...\n def __exit__(\n self,\n __exc_type: Optional[Type[BaseException]],\n __exc_value: Optional[BaseException],\n __traceback: Optional[TracebackType],\n ) -> Optional[bool]: ...\n\n@runtime_checkable\nclass AsyncContextManager(Protocol[_T_co]):\n def __aenter__(self) -> Awaitable[_T_co]: ...\n def __aexit__(\n self, exc_type: Optional[Type[BaseException]], exc_value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Awaitable[Optional[bool]]: ...\n\nclass Mapping(_Collection[_KT], Generic[_KT, _VT_co]):\n # TODO: We wish the key type could also be covariant, but that doesn't work,\n # see discussion in https: //github.com/python/typing/pull/273.\n @abstractmethod\n def __getitem__(self, k: _KT) -> _VT_co: ...\n # Mixin methods\n @overload\n def get(self, key: _KT) -> Optional[_VT_co]: ...\n @overload\n def get(self, key: _KT, default: Union[_VT_co, _T]) -> Union[_VT_co, _T]: ...\n def items(self) -> AbstractSet[Tuple[_KT, _VT_co]]: ...\n def keys(self) -> AbstractSet[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def __contains__(self, o: object) -> bool: ...\n\nclass MutableMapping(Mapping[_KT, _VT], Generic[_KT, _VT]):\n @abstractmethod\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n @abstractmethod\n def __delitem__(self, v: _KT) -> None: ...\n def clear(self) -> None: ...\n @overload\n def pop(self, key: _KT) -> _VT: ...\n @overload\n def pop(self, key: _KT, default: Union[_VT, _T] = ...) -> Union[_VT, _T]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, key: _KT, default: _VT = ...) -> _VT: ...\n # 'update' used to take a Union, but using overloading is better.\n # The second overloaded type here is a bit too general, because\n # Mapping[Tuple[_KT, _VT], W] is a subclass of Iterable[Tuple[_KT, _VT]],\n # but will always have the behavior of the first overloaded type\n # at runtime, leading to keys of a mix of types _KT and Tuple[_KT, _VT].\n # We don't currently have any way of forcing all Mappings to use\n # the first overload, but by using overloading rather than a Union,\n # mypy will commit to using the first overload when the argument is\n # known to be a Mapping with unknown type parameters, which is closer\n # to the behavior we want. See mypy issue #1430.\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n\nText = str\n\nTYPE_CHECKING = True\n\nclass IO(Iterator[AnyStr], Generic[AnyStr]):\n # TODO use abstract properties\n @property\n def mode(self) -> str: ...\n @property\n def name(self) -> str: ...\n @abstractmethod\n def close(self) -> None: ...\n @property\n def closed(self) -> bool: ...\n @abstractmethod\n def fileno(self) -> int: ...\n @abstractmethod\n def flush(self) -> None: ...\n @abstractmethod\n def isatty(self) -> bool: ...\n @abstractmethod\n def read(self, n: int = ...) -> AnyStr: ...\n @abstractmethod\n def readable(self) -> bool: ...\n @abstractmethod\n def readline(self, limit: int = ...) -> AnyStr: ...\n @abstractmethod\n def readlines(self, hint: int = ...) -> list[AnyStr]: ...\n @abstractmethod\n def seek(self, offset: int, whence: int = ...) -> int: ...\n @abstractmethod\n def seekable(self) -> bool: ...\n @abstractmethod\n def tell(self) -> int: ...\n @abstractmethod\n def truncate(self, size: Optional[int] = ...) -> int: ...\n @abstractmethod\n def writable(self) -> bool: ...\n @abstractmethod\n def write(self, s: AnyStr) -> int: ...\n @abstractmethod\n def writelines(self, lines: Iterable[AnyStr]) -> None: ...\n @abstractmethod\n def __next__(self) -> AnyStr: ...\n @abstractmethod\n def __iter__(self) -> Iterator[AnyStr]: ...\n @abstractmethod\n def __enter__(self) -> IO[AnyStr]: ...\n @abstractmethod\n def __exit__(\n self, t: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Optional[bool]: ...\n\nclass BinaryIO(IO[bytes]):\n @abstractmethod\n def __enter__(self) -> BinaryIO: ...\n\nclass TextIO(IO[str]):\n # TODO use abstractproperty\n @property\n def buffer(self) -> BinaryIO: ...\n @property\n def encoding(self) -> str: ...\n @property\n def errors(self) -> Optional[str]: ...\n @property\n def line_buffering(self) -> int: ... # int on PyPy, bool on CPython\n @property\n def newlines(self) -> Any: ... # None, str or tuple\n @abstractmethod\n def __enter__(self) -> TextIO: ...\n\nclass ByteString(Sequence[int], metaclass=ABCMeta): ...\n\nclass Match(Generic[AnyStr]):\n pos: int\n endpos: int\n lastindex: Optional[int]\n lastgroup: Optional[AnyStr]\n string: AnyStr\n\n # The regular expression object whose match() or search() method produced\n # this match instance.\n re: Pattern[AnyStr]\n def expand(self, template: AnyStr) -> AnyStr: ...\n # group() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def group(self, __group: _Literal[0] = ...) -> AnyStr: ...\n @overload\n def group(self, __group: str | int) -> AnyStr | Any: ...\n @overload\n def group(self, __group1: str | int, __group2: str | int, *groups: str | int) -> Tuple[AnyStr | Any, ...]: ...\n # Each item of groups()'s return tuple is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groups(self) -> Tuple[AnyStr | Any, ...]: ...\n @overload\n def groups(self, default: _T) -> Tuple[AnyStr | _T, ...]: ...\n # Each value in groupdict()'s return dict is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groupdict(self) -> dict[str, AnyStr | Any]: ...\n @overload\n def groupdict(self, default: _T) -> dict[str, AnyStr | _T]: ...\n def start(self, __group: Union[int, str] = ...) -> int: ...\n def end(self, __group: Union[int, str] = ...) -> int: ...\n def span(self, __group: Union[int, str] = ...) -> Tuple[int, int]: ...\n @property\n def regs(self) -> Tuple[Tuple[int, int], ...]: ... # undocumented\n # __getitem__() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def __getitem__(self, __key: _Literal[0]) -> AnyStr: ...\n @overload\n def __getitem__(self, __key: int | str) -> AnyStr | Any: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass Pattern(Generic[AnyStr]):\n flags: int\n groupindex: Mapping[str, int]\n groups: int\n pattern: AnyStr\n def search(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def match(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def fullmatch(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def split(self, string: AnyStr, maxsplit: int = ...) -> list[AnyStr]: ...\n def findall(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> list[Any]: ...\n def finditer(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Iterator[Match[AnyStr]]: ...\n @overload\n def sub(self, repl: AnyStr, string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def sub(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def subn(self, repl: AnyStr, string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n @overload\n def subn(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\n# Functions\n\nif sys.version_info >= (3, 7):\n _get_type_hints_obj_allowed_types = Union[\n object,\n Callable[..., Any],\n FunctionType,\n BuiltinFunctionType,\n MethodType,\n ModuleType,\n WrapperDescriptorType,\n MethodWrapperType,\n MethodDescriptorType,\n ]\nelse:\n _get_type_hints_obj_allowed_types = Union[\n object, Callable[..., Any], FunctionType, BuiltinFunctionType, MethodType, ModuleType,\n ]\n\nif sys.version_info >= (3, 9):\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types,\n globalns: Optional[Dict[str, Any]] = ...,\n localns: Optional[Dict[str, Any]] = ...,\n include_extras: bool = ...,\n ) -> Dict[str, Any]: ...\n\nelse:\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types, globalns: Optional[Dict[str, Any]] = ..., localns: Optional[Dict[str, Any]] = ...\n ) -> Dict[str, Any]: ...\n\nif sys.version_info >= (3, 8):\n def get_origin(tp: Any) -> Optional[Any]: ...\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n\n@overload\ndef cast(typ: Type[_T], val: Any) -> _T: ...\n@overload\ndef cast(typ: str, val: Any) -> Any: ...\n@overload\ndef cast(typ: object, val: Any) -> Any: ...\n\n# Type constructors\n\n# NamedTuple is special-cased in the type checker\nclass NamedTuple(Tuple[Any, ...]):\n _field_types: collections.OrderedDict[str, Type[Any]]\n _field_defaults: Dict[str, Any] = ...\n _fields: Tuple[str, ...]\n _source: str\n def __init__(self, typename: str, fields: Iterable[Tuple[str, Any]] = ..., **kwargs: Any) -> None: ...\n @classmethod\n def _make(cls: Type[_T], iterable: Iterable[Any]) -> _T: ...\n if sys.version_info >= (3, 8):\n def _asdict(self) -> Dict[str, Any]: ...\n else:\n def _asdict(self) -> collections.OrderedDict[str, Any]: ...\n def _replace(self: _T, **kwargs: Any) -> _T: ...\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __or__(self: _T, __value: _T) -> _T: ...\n def __ior__(self: _T, __value: _T) -> _T: ...\n\ndef NewType(name: str, tp: Type[_T]) -> Type[_T]: ...\n\n# This itself is only available during type checking\ndef type_check_only(func_or_cls: _F) -> _F: ...\n\nif sys.version_info >= (3, 7):\n class ForwardRef:\n __forward_arg__: str\n __forward_code__: CodeType\n __forward_evaluated__: bool\n __forward_value__: Optional[Any]\n __forward_is_argument__: bool\n def __init__(self, arg: str, is_argument: bool = ...) -> None: ...\n def _evaluate(self, globalns: Optional[Dict[str, Any]], localns: Optional[Dict[str, Any]]) -> Optional[Any]: ...\n def __eq__(self, other: Any) -> bool: ...\n def __hash__(self) -> int: ...\n def __repr__(self) -> str: ...\n\nif sys.version_info >= (3, 10):\n def is_typeddict(tp: Any) -> bool: ...\n", + "/typeshed/stdlib/typing_extensions.pyi": "import abc\nimport sys\nfrom typing import (\n TYPE_CHECKING as TYPE_CHECKING,\n Any,\n AsyncContextManager as AsyncContextManager,\n AsyncGenerator as AsyncGenerator,\n AsyncIterable as AsyncIterable,\n AsyncIterator as AsyncIterator,\n Awaitable as Awaitable,\n Callable,\n ChainMap as ChainMap,\n ClassVar as ClassVar,\n ContextManager as ContextManager,\n Coroutine as Coroutine,\n Counter as Counter,\n DefaultDict as DefaultDict,\n Deque as Deque,\n ItemsView,\n KeysView,\n Mapping,\n NewType as NewType,\n NoReturn as NoReturn,\n Text as Text,\n Tuple,\n Type as Type,\n TypeVar,\n ValuesView,\n _Alias,\n overload as overload,\n)\n\n_T = TypeVar(\"_T\")\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> Any: ...\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n\n# This alias for above is kept here for backwards compatibility.\nruntime = runtime_checkable\nProtocol: _SpecialForm = ...\nFinal: _SpecialForm = ...\n\ndef final(f: _F) -> _F: ...\n\nLiteral: _SpecialForm = ...\n\ndef IntVar(name: str) -> Any: ... # returns a new TypeVar\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=abc.ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n\n# TypedDict is a (non-subscriptable) special form.\nTypedDict: object = ...\n\nOrderedDict = _Alias()\n\ndef get_type_hints(\n obj: Callable[..., Any],\n globalns: dict[str, Any] | None = ...,\n localns: dict[str, Any] | None = ...,\n include_extras: bool = ...,\n) -> dict[str, Any]: ...\n\nif sys.version_info >= (3, 7):\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n def get_origin(tp: Any) -> Any | None: ...\n\nAnnotated: _SpecialForm = ...\n_AnnotatedAlias: Any = ... # undocumented\n\n@runtime_checkable\nclass SupportsIndex(Protocol, metaclass=abc.ABCMeta):\n @abc.abstractmethod\n def __index__(self) -> int: ...\n\n# PEP 612 support for Python < 3.9\nif sys.version_info >= (3, 10):\n from typing import Concatenate as Concatenate, ParamSpec as ParamSpec, TypeAlias as TypeAlias, TypeGuard as TypeGuard\nelse:\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Type[Any] | None\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: None | Type[Any] | str = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n", + "/typeshed/stdlib/uarray.pyi": "from array import *\n", + "/typeshed/stdlib/ucollections.pyi": "from collections import *\n", + "/typeshed/stdlib/uerrno.pyi": "from errno import *\n", + "/typeshed/stdlib/urandom.pyi": "from random import *\n", + "/typeshed/stdlib/ustruct.pyi": "from struct import *\n", + "/typeshed/stdlib/usys.pyi": "from sys import *\n", + "/typeshed/stdlib/utime.pyi": "from time import *\n", + "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", + "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"\u7aef\u5b50\u3001\u30a4\u30e1\u30fc\u30b8\u3001\u30b5\u30a6\u30f3\u30c9\u3001\u6e29\u5ea6\u3068\u97f3\u91cf\u3002\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"time \u5f15\u6570\u3067\u6307\u5b9a\u3057\u305f\u9593\u9694\u3067\u95a2\u6570\u3092\u5b9f\u884c\u3059\u308b\u3088\u3046\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u3057\u307e\u3059\u3002 **V2** \u306e\u307f\u3067\u4f7f\u3048\u307e\u3059\u3002\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: \u6307\u5b9a\u3057\u305f\u9593\u9694\u3067\u547c\u3073\u51fa\u3059\u95a2\u6570\u3002\u30c7\u30b3\u30ec\u30fc\u30bf\u3068\u3057\u3066\u4f7f\u3046\u5834\u5408\u306f\u7701\u7565\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n:param days: \u30b9\u30b1\u30b8\u30e5\u30fc\u30ea\u30f3\u30b0\u306e\u305f\u3081\u306e\u65e5\u6570\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n:param h: \u30b9\u30b1\u30b8\u30e5\u30fc\u30ea\u30f3\u30b0\u306e\u305f\u3081\u306e\u6642\u9593\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n:param min: \u30b9\u30b1\u30b8\u30e5\u30fc\u30ea\u30f3\u30b0\u306e\u305f\u3081\u306e\u5206\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n:param s: \u30b9\u30b1\u30b8\u30e5\u30fc\u30ea\u30f3\u30b0\u306e\u305f\u3081\u306e\u79d2\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n:param ms: \u30b9\u30b1\u30b8\u30e5\u30fc\u30ea\u30f3\u30b0\u306e\u305f\u3081\u306e\u30df\u30ea\u79d2\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"\u30d1\u30cb\u30c3\u30af\u30e2\u30fc\u30c9\u306b\u5165\u308a\u307e\u3059\u3002\n\nExample: ``panic(127)``\n\n:param n: \u72b6\u614b\u3092\u793a\u3059 255 \u4ee5\u4e0b\u306e\u4efb\u610f\u306e\u6574\u6570\u3002\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"\u30dc\u30fc\u30c9\u3092\u518d\u8d77\u52d5\u3057\u307e\u3059\u3002\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"\u3042\u308b\u6574\u6570\u533a\u9593\u304b\u3089\u5225\u306e\u6574\u6570\u533a\u9593\u306b\u5024\u3092\u5909\u63db\u3057\u307e\u3059\u3002\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: \u5909\u63db\u3059\u308b\u6570\u5024\u3002\n:param from_: \u5909\u63db\u5143\u306e\u533a\u9593\u3092\u5b9a\u7fa9\u3059\u308b\u305f\u3081\u306e\u30bf\u30d7\u30eb\u3002\n:param to: \u5909\u63db\u5148\u306e\u533a\u9593\u3092\u5b9a\u7fa9\u3059\u308b\u305f\u3081\u306e\u30bf\u30d7\u30eb\u3002\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"\u3042\u308b\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u533a\u9593\u304b\u3089\u5225\u306e\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u533a\u9593\u306b\u5024\u3092\u5909\u63db\u3057\u307e\u3059\u3002\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: \u5909\u63db\u3059\u308b\u6570\u5024\u3002\n:param from_: \u5909\u63db\u5143\u306e\u533a\u9593\u3092\u5b9a\u7fa9\u3059\u308b\u305f\u3081\u306e\u30bf\u30d7\u30eb\u3002\n:param to: \u5909\u63db\u5148\u306e\u533a\u9593\u3092\u5b9a\u7fa9\u3059\u308b\u305f\u3081\u306e\u30bf\u30d7\u30eb\u3002\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"``n`` \u30df\u30ea\u79d2\u5f85\u6a5f\u3057\u307e\u3059\u3002\n\nExample: ``sleep(1000)``\n\n:param n: \u30df\u30ea\u79d2\u5358\u4f4d\u306e\u5f85\u6a5f\u6642\u9593\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"\u30dc\u30fc\u30c9\u306e\u5b9f\u884c\u6642\u9593\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"micro:bit\u306e\u6e29\u5ea6\u3092\u6442\u6c0f\u3067\u53d6\u5f97\u3057\u307e\u3059\u3002 (\u6e29\u5ea6)\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"\u97f3\u91cf\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``set_volume(127)``\n\n:param v: 0\uff08\u4e0b\u9650\uff09\u304b\u3089 255\uff08\u4e0a\u9650\uff09\u307e\u3067\u306e\u9593\u306e\u5024\u3002\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"\u30dc\u30bf\u30f3 ``button_a`` \u3068 ``button_b`` \u306e\u30af\u30e9\u30b9\u3002\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"\u30dc\u30bf\u30f3\u304c\u62bc\u3055\u308c\u3066\u3044\u308b\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"\u30c7\u30d0\u30a4\u30b9\u304c\u8d77\u52d5\u3055\u308c\u3066\u304b\u3089\u3001\u3082\u3057\u304f\u306f\u524d\u56de\u3053\u306e\u30e1\u30bd\u30c3\u30c9\u304c\u547c\u3073\u51fa\u3055\u308c\u3066\u304b\u3089\u30dc\u30bf\u30f3\u304c\u62bc\u3055\u308c\u305f\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"\u30dc\u30bf\u30f3\u3092\u62bc\u3057\u305f\u56de\u6570\u306e\u5408\u8a08\u3092\u53d6\u5f97\u3057\u3001\u8fd4\u3059\u524d\u306b\u56de\u6570\u3092\u30bc\u30ed\u306b\u30ea\u30bb\u30c3\u30c8\u3057\u307e\u3059\u3002\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"\u5de6\u306e\u30dc\u30bf\u30f3 ``Button`` \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3002\"\"\"\nbutton_b: Button\n\"\"\"\u53f3\u306e\u30dc\u30bf\u30f3 ``Button`` \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3002\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"\u30c7\u30b8\u30bf\u30eb\u7aef\u5b50\u3002\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"\u7aef\u5b50\u306e\u30c7\u30b8\u30bf\u30eb\u5024\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"\u7aef\u5b50\u306e\u30c7\u30b8\u30bf\u30eb\u5024\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``pin0.write_digital(1)``\n\n:param value: \u7aef\u5b50\u3092\u30cf\u30a4\u306b\u3059\u308b\u306b\u306f 1 \u3001\u30ed\u30fc\u306b\u3059\u308b\u306b\u306f 0 \u3092\u6307\u5b9a\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"\u30d7\u30eb\u72b6\u614b\u3092 ``PULL_UP``\u3001``PULL_DOWN``\u3001``NO_PULL`` \u306e\uff13\u3064\u306e\u5024\u306e\u3044\u305a\u308c\u304b\u306b\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: ``pin0.PULL_UP`` \u306a\u3069\u306e\u95a2\u9023\u3059\u308b\u7aef\u5b50\u306e\u30d7\u30eb\u72b6\u614b\u3002\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"\u7aef\u5b50\u306e\u30d7\u30eb\u72b6\u614b\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"\u7aef\u5b50\u306e\u30e2\u30fc\u30c9\u3092\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"PWM \u4fe1\u53f7\u3092\u7aef\u5b50\u306b\u51fa\u529b\u3057\u307e\u3059\u3002\u6642\u9593\u5e45\u5468\u671f\u306f ``value`` \u306b\u6bd4\u4f8b\u3057\u307e\u3059\u3002\n\nExample: ``pin0.write_analog(254)``\n\n:param value: 0\uff08\u6642\u9593\u5e45\u5468\u671f 0%\uff09\u304b\u3089 1023\uff08\u6642\u9593\u5e45\u5468\u671f 100%\uff09\u307e\u3067\u306e\u6574\u6570\u307e\u305f\u306f\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u3002\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"\u51fa\u529b\u3055\u308c\u308bPWM\u4fe1\u53f7\u306e\u5468\u671f\u3092 ``period`` \u306b\u30df\u30ea\u79d2\u5358\u4f4d\u3067\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: \u5468\u671f\u3092\u30df\u30ea\u79d2\u5358\u4f4d\u3067\u6307\u5b9a\u3002\u6709\u52b9\u306a\u6700\u5c0f\u5024\u306f1ms\u3002\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"\u51fa\u529b\u3055\u308c\u308bPWM\u4fe1\u53f7\u306e\u5468\u671f\u3092 ``period`` \u306b\u30de\u30a4\u30af\u30ed\u79d2\u5358\u4f4d\u3067\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: \u5468\u671f\u3092\u30de\u30a4\u30af\u30ed\u79d2\u5358\u4f4d\u3067\u6307\u5b9a\u3002\u6709\u52b9\u306a\u6700\u5c0f\u5024\u306f256\u00b5s\u3002\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"\u30a2\u30ca\u30ed\u30b0\u3068\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"\u7aef\u5b50\u306b\u304b\u304b\u3063\u3066\u3044\u308b\u96fb\u5727\u3092\u8aad\u307f\u53d6\u308a\u307e\u3059\u3002\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"\u30a2\u30ca\u30ed\u30b0\u3001\u30c7\u30b8\u30bf\u30eb\u3001\u30bf\u30c3\u30c1\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"\u7aef\u5b50\u306b\u30bf\u30c3\u30c1\u3057\u3066\u3044\u308b\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"\u7aef\u5b50\u306e\u30bf\u30c3\u30c1\u30e2\u30fc\u30c9\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: \u95a2\u9023\u3059\u308b\u7aef\u5b50\u306e ``CAPACITIVE`` \u307e\u305f\u306f ``RESISTIVE``\u3002\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u3001\u30a2\u30ca\u30ed\u30b0\u3001\u30bf\u30c3\u30c1\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin1: MicroBitTouchPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u3001\u30a2\u30ca\u30ed\u30b0\u3001\u30bf\u30c3\u30c1\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin2: MicroBitTouchPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u3001\u30a2\u30ca\u30ed\u30b0\u3001\u30bf\u30c3\u30c1\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u3068\u30a2\u30ca\u30ed\u30b0\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u3068\u30a2\u30ca\u30ed\u30b0\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u3068\u30a2\u30ca\u30ed\u30b0\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"micro:bit\u306e\u524d\u9762\u306b\u3042\u308b\u30bf\u30c3\u30c1\u30bb\u30f3\u30b5\u30fc\u6a5f\u80fd\u306e\u3042\u308b\u30ed\u30b4\u306e\u7aef\u5b50\u3067\u3059\u3002\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u306f\u9759\u96fb\u5bb9\u91cf\u65b9\u5f0f\u30bf\u30c3\u30c1\u30e2\u30fc\u30c9\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"micro:bit\u30b9\u30d4\u30fc\u30ab\u30fc\u3092\u30a2\u30c9\u30ec\u30b9\u3059\u308b\u305f\u3081\u306e\u7aef\u5b50\u3002\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"micro:bit\u306eLED\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u306b\u8868\u793a\u3059\u308b\u30a4\u30e1\u30fc\u30b8\u3002\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"\u300c\u30cf\u30fc\u30c8\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n HEART_SMALL: Image\n \"\"\"\u300c\u5c0f\u3055\u3044\u30cf\u30fc\u30c8\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n HAPPY: Image\n \"\"\"\u300c\u3046\u308c\u3057\u3044\u9854\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n SMILE: Image\n \"\"\"\u300c\u7b11\u9854\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n SAD: Image\n \"\"\"\u300c\u304b\u306a\u3057\u3044\u9854\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CONFUSED: Image\n \"\"\"\u300c\u3053\u307e\u308a\u9854\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ANGRY: Image\n \"\"\"\u300c\u304a\u3053\u308a\u9854\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ASLEEP: Image\n \"\"\"\u300c\u306d\u3066\u308b\u9854\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n SURPRISED: Image\n \"\"\"\u300c\u3073\u3063\u304f\u308a\u9854\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n SILLY: Image\n \"\"\"\u300c\u3078\u3093\u9854\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n FABULOUS: Image\n \"\"\"\u300c\u30b5\u30f3\u30b0\u30e9\u30b9\u306e\u7b11\u9854\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n MEH: Image\n \"\"\"\u300c\u3075\u30fc\u3093\u300d\u30a4\u30e1\u30fc\u30b8\"\"\"\n YES: Image\n \"\"\"\u300c\u30c1\u30a7\u30c3\u30af\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n NO: Image\n \"\"\"\u300c\u30d0\u30c4\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK12: Image\n \"\"\"\u300c12\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK11: Image\n \"\"\"\u300c11\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK10: Image\n \"\"\"\u300c10\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK9: Image\n \"\"\"\u300c9\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK8: Image\n \"\"\"\u300c8\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK7: Image\n \"\"\"\u300c7\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK6: Image\n \"\"\"\u300c6\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK5: Image\n \"\"\"\u300c5\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK4: Image\n \"\"\"\u300c4\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK3: Image\n \"\"\"\u300c3\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK2: Image\n \"\"\"\u300c2\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK1: Image\n \"\"\"\u300c1\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ARROW_N: Image\n \"\"\"\u300c\u5317\u3092\u6307\u3059\u77e2\u5370\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ARROW_NE: Image\n \"\"\"\u300c\u5317\u6771\u3092\u6307\u3059\u77e2\u5370\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ARROW_E: Image\n \"\"\"\u300c\u897f\u3092\u6307\u3059\u77e2\u5370\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ARROW_SE: Image\n \"\"\"\u300c\u5357\u6771\u3092\u6307\u3059\u77e2\u5370\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ARROW_S: Image\n \"\"\"\u300c\u5357\u3092\u6307\u3059\u77e2\u5370\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ARROW_SW: Image\n \"\"\"\u300c\u5357\u897f\u3092\u6307\u3059\u77e2\u5370\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ARROW_W: Image\n \"\"\"\u300c\u897f\u3092\u6307\u3059\u77e2\u5370\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ARROW_NW: Image\n \"\"\"\u300c\u5317\u897f\u3092\u6307\u3059\u77e2\u5370\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n TRIANGLE: Image\n \"\"\"\u300c\u4e0a\u5411\u304d\u306e\u4e09\u89d2\u5f62\u300d\u30a4\u30e1\u30fc\u30b8\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"\u300c\u5de6\u5411\u304d\u4e09\u89d2\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CHESSBOARD: Image\n \"\"\"\u30c1\u30a7\u30b9\u76e4\u30d1\u30bf\u30fc\u30f3\u3067\u4ea4\u4e92\u306b\u70b9\u706f\u3059\u308bLED\u3002\"\"\"\n DIAMOND: Image\n \"\"\"\u300c\u30c0\u30a4\u30e4\u30e2\u30f3\u30c9\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"\u300c\u5c0f\u3055\u3044\u30c0\u30a4\u30e4\u30e2\u30f3\u30c9\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n SQUARE: Image\n \"\"\"\u300c\u56db\u89d2\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n SQUARE_SMALL: Image\n \"\"\"\u300c\u5c0f\u3055\u3044\u56db\u89d2\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n RABBIT: Image\n \"\"\"\u300c\u3046\u3055\u304e\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n COW: Image\n \"\"\"\u300c\u3046\u3057\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"\u300c\uff14\u5206\u97f3\u7b26\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"\u300c\uff18\u5206\u97f3\u7b26\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"\u300c\u9023\u7d50\u3057\u305f\uff18\u5206\u97f3\u7b26\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n PITCHFORK: Image\n \"\"\"\u300c\u304f\u307e\u3067\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n XMAS: Image\n \"\"\"\u300c\u30af\u30ea\u30b9\u30de\u30b9\u30c4\u30ea\u30fc\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n PACMAN: Image\n \"\"\"\u300c\u30d1\u30c3\u30af\u30de\u30f3\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n TARGET: Image\n \"\"\"\u300c\u307e\u3068\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n TSHIRT: Image\n \"\"\"\u300cT\u30b7\u30e3\u30c4\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ROLLERSKATE: Image\n \"\"\"\u300c\u30ed\u30fc\u30e9\u30fc\u30b9\u30b1\u30fc\u30c8\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n DUCK: Image\n \"\"\"\u300c\u3042\u3072\u308b\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n HOUSE: Image\n \"\"\"\u300c\u5bb6\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n TORTOISE: Image\n \"\"\"\u300c\u304b\u3081\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n BUTTERFLY: Image\n \"\"\"\u300c\u3061\u3087\u3046\u3061\u3087\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n STICKFIGURE: Image\n \"\"\"\u300c\u68d2\u4eba\u9593\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n GHOST: Image\n \"\"\"\u300c\u304a\u3070\u3051\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n SWORD: Image\n \"\"\"\u300c\u5263\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n GIRAFFE: Image\n \"\"\"\u300c\u304d\u308a\u3093\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n SKULL: Image\n \"\"\"\u300c\u304c\u3044\u3053\u3064\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n UMBRELLA: Image\n \"\"\"\u300c\u304b\u3055\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n SNAKE: Image\n \"\"\"\u300c\u3078\u3073\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n SCISSORS: Image\n \"\"\"\u300c\u306f\u3055\u307f\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"\u3059\u3079\u3066\u306e\u6642\u8a08\u30a4\u30e1\u30fc\u30b8\u3092\u9806\u756a\u306b\u4e26\u3079\u305f\u30ea\u30b9\u30c8\u3002\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"\u3059\u3079\u3066\u306e\u77e2\u5370\u30a4\u30e1\u30fc\u30b8\u3092\u9806\u756a\u306b\u4e26\u3079\u305f\u30ea\u30b9\u30c8\u3002\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"LED\u306e\u70b9\u706f\u30d1\u30bf\u30fc\u30f3\u3092\u793a\u3059\u6587\u5b57\u5217\u304b\u3089\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: \u30a4\u30e1\u30fc\u30b8\u306b\u3064\u3044\u3066\u8a18\u8ff0\u3059\u308b\u6587\u5b57\u5217\u3002\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"``width`` \u5217\u3068 ``height`` \u884c\u304b\u3089\u306a\u308b\u7a7a\u306e\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\n:param width: \u30a4\u30e1\u30fc\u30b8\u306e\u5e45\u3092\u6307\u5b9a\u3059\u308b\u30aa\u30d7\u30b7\u30e7\u30f3\n:param height: \u30a4\u30e1\u30fc\u30b8\u306e\u9ad8\u3055\u3092\u6307\u5b9a\u3059\u308b\u30aa\u30d7\u30b7\u30e7\u30f3\n:param buffer: \u30a4\u30e1\u30fc\u30b8\u3092\u521d\u671f\u5316\u3059\u308b\u305f\u3081\u306b\u3001\u6574\u6570\u5024\uff080\uff5e9\uff09\u3092 ``width``\u00d7``height`` \u500b\u4e26\u3079\u305f\u914d\u5217\u307e\u305f\u306f\u30d0\u30a4\u30c8\u5217\u3092\u6307\u5b9a\u3057\u307e\u3059\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"\u5217\u6570\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"\u884c\u6570\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"1\u30d4\u30af\u30bb\u30eb\u306e\u660e\u308b\u3055\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: \u5217\u6570\n:param y: \u884c\u6570\n:param value: \u660e\u308b\u3055\u3092 0\uff08\u6697\u3044\uff09\u304b\u3089 9\uff08\u660e\u308b\u3044\uff09\u307e\u3067\u306e\u6574\u6570\u5024\u3067\u6307\u5b9a\u3057\u307e\u3059\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"1\u30d4\u30af\u30bb\u30eb\u306e\u660e\u308b\u3055\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: \u5217\u6570\n:param y: \u884c\u6570\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"\u753b\u50cf\u3092\u5de6\u306b\u30b7\u30d5\u30c8\u3057\u305f\u65b0\u3057\u3044\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: \u30b7\u30d5\u30c8\u3059\u308b\u5217\u6570\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"\u753b\u50cf\u3092\u53f3\u306b\u30b7\u30d5\u30c8\u3057\u305f\u65b0\u3057\u3044\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: \u30b7\u30d5\u30c8\u3059\u308b\u5217\u6570\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"\u753b\u50cf\u3092\u4e0a\u306b\u30b7\u30d5\u30c8\u3057\u305f\u65b0\u3057\u3044\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: \u30b7\u30d5\u30c8\u3059\u308b\u884c\u6570\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"\u753b\u50cf\u3092\u4e0b\u306b\u30b7\u30d5\u30c8\u3057\u305f\u65b0\u3057\u3044\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: \u30b7\u30d5\u30c8\u3059\u308b\u884c\u6570\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"\u753b\u50cf\u3092\u30c8\u30ea\u30df\u30f3\u30b0\u3057\u305f\u65b0\u3057\u3044\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: \u30c8\u30ea\u30df\u30f3\u30b0\u3059\u308b\u30aa\u30d5\u30bb\u30c3\u30c8\u5217\n:param y: \u30c8\u30ea\u30df\u30f3\u30b0\u3059\u308b\u30aa\u30d5\u30bb\u30c3\u30c8\u884c\n:param w: \u30c8\u30ea\u30df\u30f3\u30b0\u3059\u308b\u5e45\n:param h: \u30c8\u30ea\u30df\u30f3\u30b0\u3059\u308b\u9ad8\u3055\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"\u30a4\u30e1\u30fc\u30b8\u5168\u4f53\u306e\u30b3\u30d4\u30fc\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"\u5143\u30a4\u30e1\u30fc\u30b8\u306e\u30d4\u30af\u30bb\u30eb\u306e\u660e\u308b\u3055\u3092\u53cd\u8ee2\u3057\u305f\u65b0\u3057\u3044\u30a4\u30e1\u30fc\u30b8\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"\u30a4\u30e1\u30fc\u30b8\u306e\u3059\u3079\u3066\u306e\u30d4\u30af\u30bb\u30eb\u306e\u660e\u308b\u3055\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``my_image.fill(5)``\n\n:param value: 0\uff08\u6697\u3044\uff09\u304b\u3089 9\uff08\u660e\u308b\u3044\uff09\u307e\u3067\u306e\u6570\u5024\u3067\u65b0\u3057\u3044\u660e\u308b\u3055\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"\u3053\u306e\u30a4\u30e1\u30fc\u30b8\u306b\u5225\u306e\u30a4\u30e1\u30fc\u30b8\u304b\u3089\u9818\u57df\u3092\u30b3\u30d4\u30fc\u3057\u307e\u3059\u3002\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: \u5143\u30a4\u30e1\u30fc\u30b8\n:param x: \u5143\u30a4\u30e1\u30fc\u30b8\u306e\u958b\u59cb\u5217\u30aa\u30d5\u30bb\u30c3\u30c8\n:param y: \u5143\u30a4\u30e1\u30fc\u30b8\u306e\u958b\u59cb\u884c\u30aa\u30d5\u30bb\u30c3\u30c8\n:param w: \u30b3\u30d4\u30fc\u3059\u308b\u5217\u6570\n:param h: \u30b3\u30d4\u30fc\u3059\u308b\u884c\u6570\n:param xdest: \u3053\u306e\u30a4\u30e1\u30fc\u30b8\u3067\u5909\u66f4\u3059\u308b\u5217\u30aa\u30d5\u30bb\u30c3\u30c8\n:param ydest: \u3053\u306e\u30a4\u30e1\u30fc\u30b8\u3067\u5909\u66f4\u3059\u308b\u884c\u30aa\u30d5\u30bb\u30c3\u30c8\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"\u30a4\u30e1\u30fc\u30b8\u306e\u30b3\u30f3\u30d1\u30af\u30c8\u306a\u6587\u5b57\u5217\u8868\u73fe\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"\u30a4\u30e1\u30fc\u30b8\u306e\u5224\u8aad\u53ef\u80fd\u306a\u6587\u5b57\u5217\u8868\u73fe\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"\uff12\u3064\u306e\u30a4\u30e1\u30fc\u30b8\u306e\u5404\u30d4\u30af\u30bb\u30eb\u306e\u660e\u308b\u3055\u3092\u8db3\u3057\u305f\u65b0\u3057\u3044\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: \u52a0\u7b97\u3059\u308b\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"\u3053\u306e\u30a4\u30e1\u30fc\u30b8\u304b\u3089\u4ed6\u306e\u30a4\u30e1\u30fc\u30b8\u306e\u660e\u308b\u3055\u306e\u5024\u3092\u5f15\u3044\u305f\u65b0\u3057\u3044\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: \u6e1b\u7b97\u3059\u308b\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"\u5404\u30d4\u30af\u30bb\u30eb\u306e\u660e\u308b\u3055\u3092 ``n`` \u500d\u3057\u305f\u65b0\u3057\u3044\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``Image.HEART * 0.5``\n\n:param n: \u4e57\u7b97\u3059\u308b\u5024\u3002\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"\u5404\u30d4\u30af\u30bb\u30eb\u306e\u660e\u308b\u3055\u3092 ``n`` \u3067\u5272\u3063\u305f\u65b0\u3057\u3044\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``Image.HEART / 2``\n\n:param n: \u9664\u7b97\u3059\u308b\u5024\u3002\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"\u62cd\u624b\u3084\u53eb\u3073\u58f0\u306a\u3069\u3067 ``quiet`` \u304b\u3089 ``loud`` \u3078\u306e\u30b5\u30a6\u30f3\u30c9\u30a4\u30d9\u30f3\u30c8\u306e\u5909\u5316\u3092\u8868\u3057\u307e\u3059\u3002\"\"\"\n QUIET: SoundEvent\n \"\"\"\u767a\u8a71\u3084BGM\u306a\u3069\u3067 ``loud`` \u304b\u3089 ``quiet`` \u3078\u306e\u30b5\u30a6\u30f3\u30c9\u30a4\u30d9\u30f3\u30c8\u306e\u5909\u5316\u3092\u8868\u3057\u307e\u3059\u3002\"\"\"\n\nclass Sound:\n \"\"\"\u5185\u8535\u306e\u30b5\u30a6\u30f3\u30c9\u306f ``audio.play(Sound.NAME)`` \u3067\u547c\u3073\u51fa\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\"\"\"\n GIGGLE: Sound\n \"\"\"\u300c\u304f\u3059\u304f\u3059\u7b11\u3046\u300d\u30b5\u30a6\u30f3\u30c9\u3002\"\"\"\n HAPPY: Sound\n \"\"\"\u300c\u30cf\u30c3\u30d4\u30fc\u300d\u30b5\u30a6\u30f3\u30c9\u3002\"\"\"\n HELLO: Sound\n \"\"\"\u300c\u30cf\u30ed\u30fc\u300d\u30b5\u30a6\u30f3\u30c9\"\"\"\n MYSTERIOUS: Sound\n \"\"\"\u300c\u30df\u30b9\u30c6\u30ea\u30a2\u30b9\u300d\u30b5\u30a6\u30f3\u30c9\u3002\"\"\"\n SAD: Sound\n \"\"\"\u300c\u60b2\u3057\u3044\u300d\u30b5\u30a6\u30f3\u30c9\u3002\"\"\"\n SLIDE: Sound\n \"\"\"\u300c\u3059\u308b\u3059\u308b\u52d5\u304f\u300d\u30b5\u30a6\u30f3\u30c9\u3002\"\"\"\n SOARING: Sound\n \"\"\"\u300c\u821e\u3044\u4e0a\u304c\u308b\u300d\u30b5\u30a6\u30f3\u30c9\u3002\"\"\"\n SPRING: Sound\n \"\"\"\u300c\u30d0\u30cd\u300d\u30b5\u30a6\u30f3\u30c9\u3002\"\"\"\n TWINKLE: Sound\n \"\"\"\u300c\u30ad\u30e9\u30ad\u30e9\u300d\u30b5\u30a6\u30f3\u30c9\u3002\"\"\"\n YAWN: Sound\n \"\"\"\u300c\u3042\u304f\u3073\u300d\u30b5\u30a6\u30f3\u30c9\u3002\"\"\"", + "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"micro:bit\u306e\u52a0\u901f\u5ea6\u6e2c\u5b9a\u3068\u30b8\u30a7\u30b9\u30c1\u30e3\u30fc\u8a8d\u8b58\u3092\u3057\u307e\u3059\u3002\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"``x`` \u8ef8\u306e\u52a0\u901f\u5ea6\u6e2c\u5b9a\u5024\u3092\u30df\u30eag\u5358\u4f4d\u3067\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"``y`` \u8ef8\u306e\u52a0\u901f\u5ea6\u6e2c\u5b9a\u5024\u3092\u30df\u30eag\u5358\u4f4d\u3067\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"``z`` \u8ef8\u306e\u52a0\u901f\u5ea6\u6e2c\u5b9a\u5024\u3092\u30df\u30eag\u5358\u4f4d\u3067\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"\u3059\u3079\u3066\u306e\u8ef8\u306e\u52a0\u901f\u5ea6\u6e2c\u5b9a\u5024\u3092\u30bf\u30d7\u30eb\u3068\u3057\u3066\u4e00\u5ea6\u306b\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"\u3059\u3079\u3066\u306e\u8ef8\u3092\u5408\u6210\u3057\u305f\u52a0\u901f\u5ea6\u6e2c\u5b9a\u5024\u3092\u6b63\u306e\u6574\u6570\u5024\u3067\u5f97\u307e\u3059\u3002\u3053\u308c\u306f X\u8ef8\u3001Y\u8ef8\u3001Z\u8ef8\u306e\u30d4\u30bf\u30b4\u30e9\u30b9\u548c\u306b\u306a\u308a\u307e\u3059\u3002\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"\u73fe\u5728\u306e\u30b8\u30a7\u30b9\u30c1\u30e3\u30fc\u306e\u540d\u524d\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"\u6307\u5b9a\u3057\u305f\u540d\u524d\u306e\u30b8\u30a7\u30b9\u30c1\u30e3\u30fc\u304c\u73fe\u5728\u30a2\u30af\u30c6\u30a3\u30d6\u3067\u3042\u308b\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: \u30b8\u30a7\u30b9\u30c1\u30e3\u30fc\u540d\u3002\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"\u76f4\u524d\u306e\u547c\u3073\u51fa\u3057\u4ee5\u964d\u306b\u3001\u6307\u5b9a\u3057\u305f\u540d\u524d\u306e\u30b8\u30a7\u30b9\u30c1\u30e3\u30fc\u304c\u30a2\u30af\u30c6\u30a3\u30d6\u306b\u306a\u3063\u305f\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: \u30b8\u30a7\u30b9\u30c1\u30e3\u30fc\u540d\u3002\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"\u30b8\u30a7\u30b9\u30c1\u30e3\u30fc\u5c65\u6b74\u306e\u30bf\u30d7\u30eb\u3092\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"\u52a0\u901f\u5ea6\u30bb\u30f3\u30b5\u30fc\u306e\u611f\u5ea6\u7bc4\u56f2\u3092 g (\u6a19\u6e96\u91cd\u529b)\u3067\u8a2d\u5b9a\u3057\u307e\u3059\u3002\u8a2d\u5b9a\u5024\u306f\u3001\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u304c\u30b5\u30dd\u30fc\u30c8\u3059\u308b\u6700\u3082\u8fd1\u3044\u5024\u3001\u3059\u306a\u308f\u3061 ``2``\u3001``4``\u3001``8`` g \u306e\u3044\u305a\u308c\u304b\u306b\u4e38\u3081\u3089\u308c\u307e\u3059\u3002\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: \u52a0\u901f\u5ea6\u30bb\u30f3\u30b5\u30fc\u306e\u65b0\u3057\u3044\u611f\u5ea6\u7bc4\u56f2\u3002``g`` \u5358\u4f4d\u306e\u6574\u6570\u5024\u3067\u6307\u5b9a\u3057\u307e\u3059\u3002\"\"\"", + "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"micro:bit\u3067\u30b5\u30a6\u30f3\u30c9\u3092\u518d\u751f\u3057\u307e\u3059\uff08V1\u3068\u306e\u4e92\u63db\u306e\u305f\u3081\u306b ``audio`` \u3092\u30a4\u30f3\u30dd\u30fc\u30c8\u3057\u3066\u304f\u3060\u3055\u3044\uff09\u3002\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"\u5185\u8535\u30b5\u30a6\u30f3\u30c9\u3001\u30b5\u30a6\u30f3\u30c9\u52b9\u679c\u3001\u30ab\u30b9\u30bf\u30e0\u5316\u3057\u305f\u30aa\u30fc\u30c7\u30a3\u30aa\u30d5\u30ec\u30fc\u30e0\u306e\u3044\u305a\u308c\u304b\u3092\u518d\u751f\u3057\u307e\u3059\u3002\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: ``Sound.GIGGLE`` \u306a\u3069\u306e\u5185\u8535\u306e``Sound``\u3001``SoundEffect``\u3001``AudioFrame`` \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u30a4\u30c6\u30e9\u30d6\u30eb\u3067\u3042\u308b\u30b5\u30f3\u30d7\u30eb\u30c7\u30fc\u30bf\u306e\u3044\u305a\u308c\u304b\u3002\n:param wait: ``wait`` \u304c ``True`` \u306e\u5834\u5408\u3001\u30b5\u30a6\u30f3\u30c9\u306e\u518d\u751f\u304c\u7d42\u308f\u308b\u307e\u3067\u3053\u306e\u95a2\u6570\u304c\u30d6\u30ed\u30c3\u30af\u3057\u307e\u3059\u3002\n:param pin: (\u30d4\u30f3) \u51fa\u529b\u7aef\u5b50\u3092\u30c7\u30d5\u30a9\u30eb\u30c8\u306e ``pin0`` \u304b\u3089\u5909\u3048\u308b\u305f\u3081\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u5f15\u6570\u3067\u3059\u3002\u97f3\u3092\u9cf4\u3089\u3057\u305f\u304f\u306a\u3044\u5834\u5408\u306f ``pin=None`` \u3092\u6307\u5b9a\u3057\u307e\u3059\u3002\n:param return_pin: \u30b0\u30e9\u30f3\u30c9\u3067\u306f\u306a\u304f\u5916\u90e8\u30b9\u30d4\u30fc\u30ab\u30fc\u306b\u63a5\u7d9a\u3059\u308b\u5dee\u52d5\u30a8\u30c3\u30b8\u30b3\u30cd\u30af\u30bf\u306e\u7aef\u5b50\n\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002**V2** \u3067\u306f\u3053\u306e\u6307\u5b9a\u3092\u7121\u8996\u3057\u307e\u3059\u3002\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"\u30aa\u30fc\u30c7\u30a3\u30aa\u304c\u518d\u751f\u4e2d\u3067\u3042\u308b\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"\u3059\u3079\u3066\u306e\u30aa\u30fc\u30c7\u30a3\u30aa\u518d\u751f\u3092\u505c\u6b62\u3057\u307e\u3059\u3002\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u3084\u5c5e\u6027\u3067\u8a2d\u5b9a\u3057\u305f\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u30bb\u30c3\u30c8\u3067\u69cb\u6210\u3055\u308c\u308b\u30b5\u30a6\u30f3\u30c9\u52b9\u679c\u3002\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"``waveform`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u30b5\u30a4\u30f3\u6ce2\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"``waveform`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u306e\u3053\u304e\u308a\u6ce2\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"``waveform`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u4e09\u89d2\u6ce2\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"``waveform`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u77e9\u5f62\u6ce2\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"``waveform`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u30ce\u30a4\u30ba\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"``shape`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u30ea\u30cb\u30a2\u88dc\u9593\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"``shape`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u30ab\u30fc\u30d6\u88dc\u9593\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"``shape`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u5bfe\u6570\u88dc\u9593\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"``fx`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u52b9\u679c\u306a\u3057\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"``fx`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u30c8\u30ec\u30e2\u30ed\u52b9\u679c\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"``fx`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u30d3\u30d6\u30e9\u30fc\u30c8\u52b9\u679c\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"``fx`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u30ef\u30d6\u30eb\u52b9\u679c\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n freq_start: int\n \"\"\"\u958b\u59cb\u5468\u6ce2\u6570\u3002\u5358\u4f4d\u306f\u30d8\u30eb\u30c4(Hz)\u3067\u3001``0``\u304b\u3089``9999``\u306e\u7bc4\u56f2\u306e\u6570\u5024\u3067\u3059\u3002\"\"\"\n freq_end: int\n \"\"\"\u7d42\u4e86\u5468\u6ce2\u6570\u3002\u5358\u4f4d\u306f\u30d8\u30eb\u30c4(Hz)\u3067\u3001``0``\u304b\u3089``9999``\u306e\u7bc4\u56f2\u306e\u6570\u5024\u3067\u3059\u3002\"\"\"\n duration: int\n \"\"\"\u30b5\u30a6\u30f3\u30c9\u306e\u9577\u3055\u3002``0`` \u304b\u3089``9999``\u306e\u7bc4\u56f2\u306e\u6570\u5024\u3067\u3059\u3002\"\"\"\n vol_start: int\n \"\"\"\u958b\u59cb\u97f3\u91cf\u3002``0``\u304b\u3089``255``\u306e\u7bc4\u56f2\u306e\u6570\u5024\u3067\u3059\u3002\"\"\"\n vol_end: int\n \"\"\"\u7d42\u4e86\u97f3\u91cf\u3002``0``\u304b\u3089``255``\u306e\u7bc4\u56f2\u306e\u6570\u5024\u3067\u3059\u3002\"\"\"\n waveform: int\n \"\"\"\u6ce2\u5f62\u306e\u7a2e\u985e\u3002\u6b21\u306e\u5024\u306e\u3044\u305a\u308c\u304b: ``WAVEFORM_SINE``\u3001 ``WAVEFORM_SAWTOOTH``\u3001``WAVEFORM_TRIANGLE``\u3001 ``WAVEFORM_SQUARE``\u3001``WAVEFORM_NOISE`` (\u30e9\u30f3\u30c0\u30e0\u306b\u751f\u6210\u3057\u305f\u30ce\u30a4\u30ba)\"\"\"\n fx: int\n \"\"\"\u30b5\u30a6\u30f3\u30c9\u306b\u8ffd\u52a0\u3059\u308b\u52b9\u679c\u3002\u6b21\u306e\u5024\u306e\u3044\u305a\u308c\u304b: ``FX_TREMOLO``\u3001``FX_VIBRATO``\u3001``FX_WARBLE``\u3001``FX_NONE``\"\"\"\n shape: int\n \"\"\"\u958b\u59cb\u5468\u6ce2\u6570\u3068\u7d42\u4e86\u5468\u6ce2\u6570\u306e\u88dc\u9593\u66f2\u7dda\u306e\u7a2e\u985e\u3067\u3001\u6ce2\u5f62\u306e\u9055\u3044\u306b\u3088\u308a\u5468\u6ce2\u6570\u306e\u5909\u5316\u7387\u304c\u7570\u306a\u308a\u307e\u3059\u3002\u6b21\u306e\u5024\u306e\u3046\u3061\u306e\u3044\u305a\u308c\u304b: ``SHAPE_LINEAR``\u3001``SHAPE_CURVE``\u3001``SHAPE_LOG``\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"\u65b0\u3057\u3044\u30b5\u30a6\u30f3\u30c9\u52b9\u679c\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: \u958b\u59cb\u5468\u6ce2\u6570\u3002\u5358\u4f4d\u306f\u30d8\u30eb\u30c4(Hz)\u3067\u3001``0``\u304b\u3089``9999``\u306e\u7bc4\u56f2\u306e\u6570\u5024\u3067\u3059\u3002\n:param freq_end: \u7d42\u4e86\u5468\u6ce2\u6570\u3002\u5358\u4f4d\u306f\u30d8\u30eb\u30c4(Hz)\u3067\u3001``0``\u304b\u3089``9999``\u306e\u7bc4\u56f2\u306e\u6570\u5024\u3067\u3059\u3002\n:param duration: \u30b5\u30a6\u30f3\u30c9\u306e\u9577\u3055\u3002\u5358\u4f4d\u306f\u30df\u30ea\u79d2\u3067\u3001``0`` \u304b\u3089``9999``\u306e\u7bc4\u56f2\u306e\u6570\u5024\u3067\u3059\u3002\n:param vol_start: \u958b\u59cb\u97f3\u91cf\u3002``0``\u304b\u3089``255``\u306e\u7bc4\u56f2\u306e\u6570\u5024\u3067\u3059\u3002\n:param vol_end: \u7d42\u4e86\u97f3\u91cf\u3002``0``\u304b\u3089``255``\u306e\u7bc4\u56f2\u306e\u6570\u5024\u3067\u3059\u3002\n:param waveform: \u6ce2\u5f62\u306e\u7a2e\u985e\u3002\u6b21\u306e\u5024\u306e\u3044\u305a\u308c\u304b: ``WAVEFORM_SINE``\u3001 ``WAVEFORM_SAWTOOTH``\u3001``WAVEFORM_TRIANGLE``\u3001 ``WAVEFORM_SQUARE``\u3001``WAVEFORM_NOISE`` (\u30e9\u30f3\u30c0\u30e0\u306b\u751f\u6210\u3057\u305f\u30ce\u30a4\u30ba)\u3002\n:param fx: \u30b5\u30a6\u30f3\u30c9\u306b\u8ffd\u52a0\u3059\u308b\u52b9\u679c\u3002\u6b21\u306e\u5024\u306e\u3044\u305a\u308c\u304b: ``FX_TREMOLO``\u3001``FX_VIBRATO``\u3001``FX_WARBLE``\u3001``FX_NONE``\n:param shape: \u958b\u59cb\u5468\u6ce2\u6570\u3068\u7d42\u4e86\u5468\u6ce2\u6570\u306e\u88dc\u9593\u66f2\u7dda\u306e\u7a2e\u985e\u3067\u3001\u6ce2\u5f62\u306e\u9055\u3044\u306b\u3088\u308a\u5468\u6ce2\u6570\u306e\u5909\u5316\u7387\u304c\u7570\u306a\u308a\u307e\u3059\u3002\u6b21\u306e\u5024\u306e\u3046\u3061\u306e\u3044\u305a\u308c\u304b: ``SHAPE_LINEAR``\u3001``SHAPE_CURVE``\u3001``SHAPE_LOG``\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"\u3053\u306e ``SoundEffect`` \u306e\u30b3\u30d4\u30fc\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"``AudioFrame`` \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306f32\u500b\u306e\u30b5\u30f3\u30d7\u30eb\u304b\u3089\u306a\u308b\u30ea\u30b9\u30c8\u3067\u3059\u3002\u305d\u308c\u305e\u306e\u30b5\u30f3\u30d7\u30eb\u306f\u7b26\u53f7\u306a\u3057\u30d0\u30a4\u30c8\uff080\u301c255\u306e\u6574\u6570\uff09\u3067\u3059\u3002\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"\u3053\u306e ``AudioFrame`` \u306e\u30c7\u30fc\u30bf\u3092\u3001\u5225\u306e ``AudioFrame`` \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u30c7\u30fc\u30bf\u3067\u4e0a\u66f8\u304d\u3057\u307e\u3059\u3002\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: \u30b3\u30d4\u30fc\u3059\u308b\u30c7\u30fc\u30bf\u3092\u6301\u3064 ``AudioFrame`` \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3002\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", + "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"\u5185\u8535\u306e\u30b3\u30f3\u30d1\u30b9\u3092\u4f7f\u3044\u307e\u3059\u3002 (\u65b9\u4f4d\u78c1\u91dd\uff08\u30b3\u30f3\u30d1\u30b9\uff09)\"\"\"\n\ndef calibrate() -> None:\n \"\"\"\u8abf\u6574\u51e6\u7406\u3092\u958b\u59cb\u3057\u307e\u3059\u3002\n\nExample: ``compass.calibrate()``\n\nAn instructive message will be scrolled to the user after which they will need\nto rotate the device in order to draw a circle on the LED display.\"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"\u30b3\u30f3\u30d1\u30b9\u304c\u8abf\u6574\u3055\u308c\u3066\u3044\u308b\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``compass.is_calibrated()``\n\n:return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"\u8abf\u6574\u3092\u53d6\u308a\u6d88\u3057\u3001\u30b3\u30f3\u30d1\u30b9\u3092\u672a\u8abf\u6574\u72b6\u614b\u306b\u3057\u307e\u3059\u3002\n\nExample: ``compass.clear_calibration()``\"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"``x`` \u8ef8\u306e\u78c1\u5834\u5f37\u5ea6\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``compass.get_x()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"``y`` \u8ef8\u306e\u78c1\u5834\u5f37\u5ea6\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``compass.get_y()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"``z`` \u8ef8\u306e\u78c1\u5834\u5f37\u5ea6\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``compass.get_z()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"\u30b3\u30f3\u30d1\u30b9\u306e\u65b9\u4f4d\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``compass.heading()``\n\n:return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"\u30c7\u30d0\u30a4\u30b9\u306e\u307e\u308f\u308a\u306e\u78c1\u5834\u306e\u5f37\u3055\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``compass.get_field_strength()``\n\n:return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...", + "/typeshed/stdlib/microbit/display.pyi": "\"\"\"5\u00d75 LED \u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u4e0a\u306b\u30c6\u30ad\u30b9\u30c8\u3001\u30a4\u30e1\u30fc\u30b8\u3001\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u3092\u8868\u793a\u3057\u307e\u3059\u3002\"\"\"\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"``x`` \u5217 ``y`` \u884c\u306e LED\u306e\u660e\u308b\u3055\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``display.get_pixel(0, 0)``\n\n:param x: \u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u306e\u5217 (0..4)\n:param y: \u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u306e\u884c (0..4)\n:return: A number between 0 (off) and 9 (bright)\"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"``x`` \u5217 ``y`` \u884c\u306e LED\u306e\u660e\u308b\u3055\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``display.set_pixel(0, 0, 9)``\n\n:param x: \u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u306e\u5217 (0..4)\n:param y: \u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u306e\u884c (0..4)\n:param value: 0\uff08\u30aa\u30d5\uff09\u304b\u3089 9\uff08\u660e\u308b\u3044\uff09\u307e\u3067\u306e\u660e\u308b\u3055\"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"\u3059\u3079\u3066\u306e LED \u306e\u660e\u308b\u3055\u3092 0\uff08\u30aa\u30d5\uff09\u306b\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``display.clear()``\"\"\"\n ...\n\ndef show(image: Union[str, float, int, Image, Iterable[Image]], delay: int=400, wait: bool=True, loop: bool=False, clear: bool=False) -> None:\n \"\"\"\u30a4\u30e1\u30fc\u30b8\u3001\u6587\u5b57\u3001\u6570\u5b57\u3092LED\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u306b\u8868\u793a\u3057\u307e\u3059\u3002\n\nExample: ``display.show(Image.HEART)``\n\nWhen ``image`` is an image or a list of images then each image is displayed in turn.\nIf ``image`` is a string or number, each letter or digit is displayed in turn.\n\n:param image: \u8868\u793a\u3059\u308b\u6587\u5b57\u5217\u3001\u6570\u5024\u3001\u30a4\u30e1\u30fc\u30b8\u3001\u30a4\u30e1\u30fc\u30b8\u306e\u30ea\u30b9\u30c8\u3002\n:param delay: \u305d\u308c\u305e\u308c\u306e\u6587\u5b57\u3001\u6570\u5b57\u3001\u30a4\u30e1\u30fc\u30b8\u306f ``delay`` \u30df\u30ea\u79d2\u9593\u9694\u3067\u8868\u793a\u3055\u308c\u307e\u3059\u3002\n:param wait: ``wait`` \u304c ``True`` \u3067\u3042\u308b\u5834\u5408\u3001\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u304c\u7d42\u4e86\u3059\u308b\u307e\u3067\u95a2\u6570\u304c\u30d6\u30ed\u30c3\u30af\u3057\u3001 \u305d\u3046\u3067\u306a\u3044\u5834\u5408\u306b\u306f\u30d0\u30c3\u30af\u30b0\u30e9\u30a6\u30f3\u30c9\u3067\u5b9f\u884c\u3055\u308c\u307e\u3059\u3002\n:param loop: ``loop`` \u304c ``True`` \u3067\u3042\u308b\u5834\u5408\u3001\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u3092\u6c38\u9060\u306b\u7e70\u308a\u8fd4\u3057\u307e\u3059\u3002\n:param clear: ``clear`` \u304c ``True`` \u3067\u3042\u308b\u5834\u5408\u3001\u30b7\u30fc\u30b1\u30f3\u30b9\u306e\u7d42\u4e86\u5f8c\u306b\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u3092\u30af\u30ea\u30a2\u3057\u307e\u3059\u3002\n\nThe ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\"\"\"\n ...\n\ndef scroll(text: Union[str, float, int], delay: int=150, wait: bool=True, loop: bool=False, monospace: bool=False) -> None:\n \"\"\"LED\u30c7\u30a3\u30b9\u30d7\u30ec\u30a3\u4e0a\u306b\u6570\u5024\u3084\u30c6\u30ad\u30b9\u30c8\u3092\u30b9\u30af\u30ed\u30fc\u30eb\u8868\u793a\u3057\u307e\u3059\u3002\n\nExample: ``display.scroll('micro:bit')``\n\n:param text: \u30b9\u30af\u30ed\u30fc\u30eb\u3059\u308b\u6587\u5b57\u5217\u3002``text`` \u304c\u6574\u6570\u304b\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u3067\u3042\u308c\u3070\u3001\u307e\u305a ``str()`` \u3092\u4f7f\u3063\u3066\u6587\u5b57\u5217\u306b\u5909\u63db\u3057\u307e\u3059\u3002\n:param delay: ``delay`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306f\u30c6\u30ad\u30b9\u30c8\u306e\u30b9\u30af\u30ed\u30fc\u30eb\u901f\u5ea6\u3092\u5236\u5fa1\u3057\u307e\u3059\u3002\n:param wait: ``wait`` \u304c ``True`` \u3067\u3042\u308b\u5834\u5408\u3001\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u304c\u7d42\u4e86\u3059\u308b\u307e\u3067\u95a2\u6570\u304c\u30d6\u30ed\u30c3\u30af\u3057\u3001 \u305d\u3046\u3067\u306a\u3044\u5834\u5408\u306b\u306f\u30d0\u30c3\u30af\u30b0\u30e9\u30a6\u30f3\u30c9\u3067\u5b9f\u884c\u3055\u308c\u307e\u3059\u3002\n:param loop: ``loop`` \u304c ``True`` \u3067\u3042\u308b\u5834\u5408\u3001\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u3092\u6c38\u9060\u306b\u7e70\u308a\u8fd4\u3057\u307e\u3059\u3002\n:param monospace: ``monospace`` \u304c ``True`` \u3067\u3042\u308b\u5834\u5408\u3001\u6587\u5b57\u306e\u5e45\u304c 5 \u30d4\u30af\u30bb\u30eb\u306b\u306a\u308a\u3001\u305d\u3046\u3067\u306a\u3044\u5834\u5408\u306b\u306f\u30b9\u30af\u30ed\u30fc\u30eb\u6642\u306e\u6587\u5b57\u9593\u306e\u5e45\u304c 1 \u30d4\u30af\u30bb\u30eb\u306b\u306a\u308a\u307e\u3059\u3002\n\nThe ``wait``, ``loop`` and ``monospace`` arguments must be specified\nusing their keyword.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u3092\u30aa\u30f3\u306b\u3057\u307e\u3059\u3002\n\nExample: ``display.on()``\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"LED\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u3092\u30aa\u30d5\u306b\u3057\u307e\u3059\uff08\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u3092\u7121\u52b9\u306b\u3059\u308b\u3053\u3068\u306b\u3088\u308a\u3001GPIO\u7aef\u5b50\u3092\u4ed6\u306e\u76ee\u7684\u306b\u518d\u5229\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\uff09\u3002\n\nExample: ``display.off()``\"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"LED\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u304c\u6709\u52b9\u3067\u3042\u308b\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``display.is_on()``\n\n:return: ``True`` if the display is on, otherwise returns ``False``.\"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u306e\u307e\u308f\u308a\u306e\u5149\u91cf\u3092\u8aad\u307f\u53d6\u308a\u307e\u3059\u3002\n\nExample: ``display.read_light_level()``\n\nUses the display's LEDs in reverse-bias mode to sense the amount of light\nfalling on the display.\n\n:return: An integer between 0 and 255 representing the light level, with larger meaning more light.\"\"\"\n ...", + "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"I\u00b2C \u30d0\u30b9\u30d7\u30ed\u30c8\u30b3\u30eb\u3067\u30c7\u30d0\u30a4\u30b9\u3068\u901a\u4fe1\u3057\u307e\u3059\u3002\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"\u30da\u30ea\u30d5\u30a7\u30e9\u30eb\u3092\u518d\u521d\u671f\u5316\u3057\u307e\u3059\u3002\n\nExample: ``i2c.init()``\n\n:param freq: \u30af\u30ed\u30c3\u30af\u5468\u6ce2\u6570\n:param sda: ``sda`` \u7aef\u5b50\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f 20\uff09\n:param scl: ``scl`` \u7aef\u5b50\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f 19\uff09\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"\u30d0\u30b9\u3092\u30b9\u30ad\u30e3\u30f3\u3057\u3066\u30c7\u30d0\u30a4\u30b9\u3092\u63a2\u3057\u307e\u3059\u3002\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"\u30c7\u30d0\u30a4\u30b9\u304b\u3089\u30d0\u30a4\u30c8\u5217\u3092\u8aad\u307f\u53d6\u308a\u307e\u3059\u3002\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: \u30c7\u30d0\u30a4\u30b9\u306e7\u30d3\u30c3\u30c8\u30a2\u30c9\u30ec\u30b9\n:param n: \u8aad\u307f\u53d6\u308b\u30d0\u30a4\u30c8\u6570\n:param repeat: ``True`` \u306b\u3059\u308b\u3068\u3001\u30b9\u30c8\u30c3\u30d7\u30d3\u30c3\u30c8\u304c\u9001\u3089\u308c\u307e\u305b\u3093\u3002\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"\u30c7\u30d0\u30a4\u30b9\u306b\u30d0\u30a4\u30c8\u5217\u3092\u66f8\u304d\u8fbc\u307f\u307e\u3059\u3002\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: \u30c7\u30d0\u30a4\u30b9\u306e7\u30d3\u30c3\u30c8\u30a2\u30c9\u30ec\u30b9\n:param buf: \u66f8\u304d\u8fbc\u3080\u30d0\u30a4\u30c8\u3092\u542b\u3080\u30d0\u30c3\u30d5\u30a1\n:param repeat: ``True`` \u306b\u3059\u308b\u3068\u3001\u30b9\u30c8\u30c3\u30d7\u30d3\u30c3\u30c8\u304c\u9001\u3089\u308c\u307e\u305b\u3093\u3002\"\"\"\n ...", + "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"\u5185\u8535\u30de\u30a4\u30af\u3092\u4f7f\u3063\u3066\u97f3\u306b\u5fdc\u7b54\u3057\u307e\u3059\uff08V2 \u306e\u307f\uff09\u3002\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"\u8a18\u9332\u3055\u308c\u3066\u3044\u308b\u6700\u65b0\u306e\u30b5\u30a6\u30f3\u30c9\u30a4\u30d9\u30f3\u30c8\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"\u76f4\u524d\u306e\u547c\u3073\u51fa\u3057\u304b\u3089\u5c11\u306a\u304f\u3068\u3082\u4e00\u5ea6\u306f\u30b5\u30a6\u30f3\u30c9\u30a4\u30d9\u30f3\u30c8\u304c\u767a\u751f\u3057\u305f\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: ``SoundEvent.LOUD`` \u3084 ``SoundEvent.QUIET`` \u306a\u3069\u306e\u30a4\u30d9\u30f3\u30c8\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"\u76f4\u8fd1\u306b\u691c\u51fa\u3055\u308c\u305f\u30b5\u30a6\u30f3\u30c9\u30a4\u30d9\u30f3\u30c8\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: ``SoundEvent.LOUD`` \u3084 ``SoundEvent.QUIET`` \u306a\u3069\u3001\u78ba\u8a8d\u3059\u308b\u30b5\u30a6\u30f3\u30c9\u30a4\u30d9\u30f3\u30c8\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"\u30b5\u30a6\u30f3\u30c9\u30a4\u30d9\u30f3\u30c8\u5c65\u6b74\u3092\u30bf\u30d7\u30eb\u3068\u3057\u3066\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"\u30b5\u30a6\u30f3\u30c9\u30a4\u30d9\u30f3\u30c8\u306e\u3057\u304d\u3044\u5024\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: ``SoundEvent.LOUD`` \u3084 ``SoundEvent.QUIET`` \u306a\u3069\u306e\u30b5\u30a6\u30f3\u30c9\u30a4\u30d9\u30f3\u30c8\u3002\n:param value: 0\uff5e255\u306e\u7bc4\u56f2\u3067\u6307\u5b9a\u3059\u308b\u3057\u304d\u3044\u5024\u30ec\u30d9\u30eb\u3002\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"\u97f3\u5727\u30ec\u30d9\u30eb\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", + "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"\u5185\u8535\u30b9\u30d4\u30fc\u30ab\u30fc\u3092\u5236\u5fa1\u3057\u307e\u3059\uff08V2\u306e\u307f\uff09\u3002\"\"\"\n\ndef off() -> None:\n \"\"\"\u30b9\u30d4\u30fc\u30ab\u30fc\u3092\u30aa\u30d5\u306b\u3057\u307e\u3059\u3002\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"\u30b9\u30d4\u30fc\u30ab\u30fc\u3092\u30aa\u30f3\u306b\u3057\u307e\u3059\u3002\n\nExample: ``speaker.on()``\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"\u30b7\u30ea\u30a2\u30eb\u30da\u30ea\u30d5\u30a7\u30e9\u30eb\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9\uff08SPI\uff09\u30d0\u30b9\u3092\u4f7f\u3063\u3066\u30c7\u30d0\u30a4\u30b9\u3068\u901a\u4fe1\u3057\u307e\u3059\u3002\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"SPI\u901a\u4fe1\u3092\u521d\u671f\u5316\u3057\u307e\u3059\u3002\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: \u901a\u4fe1\u901f\u5ea6\u3002\n:param bits: \u9001\u4fe1\u6642\u306e\u30d3\u30c3\u30c8\u5e45\u3002\u73fe\u5728\u306e\u3068\u3053\u308d\u306f ``bits=8`` \u3060\u3051\u3092\u30b5\u30dd\u30fc\u30c8\u3002\u3057\u304b\u3057\u3001\u3053\u308c\u306f\u5c06\u6765\u7684\u306b\u5909\u66f4\u3059\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002\n:param mode: \u30af\u30ed\u30c3\u30af\u306e\u6975\u6027\u3068\u4f4d\u76f8\u306e\u7d44\u307f\u5408\u308f\u305b\u3092\u6c7a\u5b9a\u3057\u307e\u3059 - `\u30aa\u30f3\u30e9\u30a4\u30f3\u306e\u8868\u3092\u53c2\u7167 `_ \u3002\n:param sclk: sclk \u7aef\u5b50\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f 13\uff09\n:param mosi: mosi \u7aef\u5b50\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f 15\uff09\n:param miso: miso \u7aef\u5b50\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f 14\uff09\"\"\"\n ...\n\ndef read(nbytes: int) -> bytes:\n \"\"\"\u30d0\u30a4\u30c8\u5217\u3092\u8aad\u307f\u53d6\u308a\u307e\u3059\u3002\n\nExample: ``spi.read(64)``\n\n:param nbytes: \u8aad\u307f\u53d6\u308b\u6700\u5927\u30d0\u30a4\u30c8\u6570\u3002\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"\u30c7\u30d0\u30a4\u30b9\u306b\u30d0\u30a4\u30c8\u5217\u3092\u66f8\u304d\u8fbc\u307f\u307e\u3059\u3002\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: \u30c7\u30fc\u30bf\u306e\u8aad\u307f\u53d6\u308a\u5143\u306e\u30d0\u30c3\u30d5\u30a1\u3002\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"``out`` \u30d0\u30c3\u30d5\u30a1\u3092\u30d0\u30b9\u306b\u66f8\u304d\u8fbc\u307f\u3001\u4efb\u610f\u306e\u30ec\u30b9\u30dd\u30f3\u30b9\u3092 ``in_`` \u30d0\u30c3\u30d5\u30a1\u306b\u8aad\u307f\u53d6\u308a\u307e\u3059\u3002\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: \u30ec\u30b9\u30dd\u30f3\u30b9\u306e\u66f8\u304d\u8fbc\u307f\u30d0\u30c3\u30d5\u30a1\u3002\n:param in_: \u30c7\u30fc\u30bf\u306e\u8aad\u307f\u53d6\u308a\u5143\u306e\u30d0\u30c3\u30d5\u30a1\u3002\"\"\"\n ...", + "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"\u30b7\u30ea\u30a2\u30eb\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3092\u4f7f\u3063\u3066\u30c7\u30d0\u30a4\u30b9\u3068\u901a\u4fe1\u3057\u307e\u3059\u3002\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"\u5947\u6570\u30d1\u30ea\u30c6\u30a3\"\"\"\nEVEN: int\n\"\"\"\u5076\u6570\u30d1\u30ea\u30c6\u30a3\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"\u30b7\u30ea\u30a2\u30eb\u901a\u4fe1\u3092\u521d\u671f\u5316\u3057\u307e\u3059\u3002\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: \u901a\u4fe1\u901f\u5ea6\u3002\n:param bits: \u9001\u4fe1\u3059\u308b\u30d3\u30c3\u30c8\u5e45\u3002micro:bit\u306f8\u3060\u3051\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u3059\u3002\n:param parity: \u30d1\u30ea\u30c6\u30a3\u306e\u30c1\u30a7\u30c3\u30af\u65b9\u6cd5\u3002``None``\u3001``uart.ODD``\u3001``uart.EVEN`` \u306e\u3044\u305a\u308c\u304b\u3092\u6307\u5b9a\u3067\u304d\u307e\u3059\u3002\n:param stop: \u30b9\u30c8\u30c3\u30d7\u30d3\u30c3\u30c8\u306e\u6570\u306fmicro:bit\u3067\u306f1\u306b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\n:param tx: \u9001\u4fe1\u7aef\u5b50\u3002\n:param rx: \u53d7\u4fe1\u7aef\u5b50\u3002\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"\u53d7\u4fe1\u5f85\u3061\u306e\u30c7\u30fc\u30bf\u304c\u3042\u308b\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"\u30d0\u30a4\u30c8\u5217\u3092\u8aad\u307f\u53d6\u308a\u307e\u3059\u3002\n\nExample: ``uart.read()``\n\n:param nbytes: ``nbytes`` \u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u308c\u3070\u3001\u305d\u306e\u30d0\u30a4\u30c8\u6570\u307e\u3067\u8aad\u307f\u8fbc\u307f\u307e\u3059\u3002\u6307\u5b9a\u3055\u308c\u3066\u3044\u306a\u3051\u308c\u3070\u3001\u3067\u304d\u308b\u3060\u3051\u591a\u304f\u8aad\u307f\u53d6\u308a\u307e\u3059\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"``buf`` \u306b\u30d0\u30a4\u30c8\u5217\u3092\u8aad\u307f\u53d6\u308a\u307e\u3059\u3002\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: \u66f8\u304d\u8fbc\u307f\u30d0\u30c3\u30d5\u30a1\u3002\n:param nbytes: ``nbytes`` \u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u308c\u3070\u3001\u305d\u306e\u30d0\u30a4\u30c8\u6570\u307e\u3067\u8aad\u307f\u8fbc\u307f\u307e\u3059\u3002\u6307\u5b9a\u3055\u308c\u3066\u3044\u306a\u3051\u308c\u3070\u3001``len(buf)`` \u3092\u8aad\u307f\u53d6\u308a\u307e\u3059\u3002\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"\u6539\u884c\u6587\u5b57\u3067\u7d42\u308f\u308b\u884c\u3092\u8aad\u307f\u307e\u3059\u3002\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"\u30d0\u30b9\u306b\u30d0\u30c3\u30d5\u30a1\u3092\u66f8\u304d\u8fbc\u307f\u307e\u3059\u3002\n\nExample: ``uart.write('hello world')``\n\n:param buf: \u30d0\u30a4\u30c8\u5217\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u307e\u305f\u306f\u6587\u5b57\u5217\u3002\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", + "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", + "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" + } +} \ No newline at end of file diff --git a/src/micropython/beta/typeshed.ko.json b/src/micropython/beta/typeshed.ko.json new file mode 100644 index 000000000..bd06f1b73 --- /dev/null +++ b/src/micropython/beta/typeshed.ko.json @@ -0,0 +1,51 @@ +{ + "files": { + "/typeshed/stdlib/VERSIONS": "# The structure of this file is as follows:\n# - Blank lines and comments starting with `#` are ignored.\n# - Lines contain the name of a module, followed by a colon,\n# a space, and a version range (for example: `symbol: 2.7-3.9`).\n#\n# Version ranges may be of the form \"X.Y-A.B\" or \"X.Y-\". The\n# first form means that a module was introduced in version X.Y and last\n# available in version A.B. The second form means that the module was\n# introduced in version X.Y and is still available in the latest\n# version of Python.\n#\n# If a submodule is not listed separately, it has the same lifetime as\n# its parent module.\n#\n# Python versions before 2.7 are ignored, so any module that was already\n# present in 2.7 will have \"2.7\" as its minimum version. Version ranges\n# for unsupported versions of Python 3 (currently 3.5 and lower) are\n# generally accurate but we do not guarantee their correctness.\n\nantigravity: 3.0-\narray: 3.0-\naudio: 3.0-\nbuiltins: 3.0-\nerrno: 3.0-\ngc: 3.0-\nlove: 3.0-\nmachine: 3.0-\nmath: 3.0-\nmicrobit: 3.0-\nmicropython: 3.0-\nmusic: 3.0-\nneopixel: 3.0-\nos: 3.0-\nradio: 3.0-\nrandom: 3.0-\nspeech: 3.0-\nstruct: 3.0-\nsys: 3.0-\nthis: 3.0-\ntime: 3.0-\ntyping_extensions: 3.0-\ntyping: 3.0-\nuarray: 3.0-\nucollections: 3.0-\nuerrno: 3.0-\nuos: 3.0-\nurandom: 3.0-\nustruct: 3.0-\nusys: 3.0-\nutime: 3.0-", + "/typeshed/stdlib/abc.pyi": "from _typeshed import SupportsWrite\nfrom typing import Any, Callable, Tuple, Type, TypeVar\n\n_T = TypeVar(\"_T\")\n_FuncT = TypeVar(\"_FuncT\", bound=Callable[..., Any])\n\n# These definitions have special processing in mypy\nclass ABCMeta(type):\n __abstractmethods__: frozenset[str]\n def __init__(\n self, name: str, bases: Tuple[type, ...], namespace: dict[str, Any]\n ) -> None: ...\n def __instancecheck__(cls: ABCMeta, instance: Any) -> Any: ...\n def __subclasscheck__(cls: ABCMeta, subclass: Any) -> Any: ...\n def _dump_registry(cls: ABCMeta, file: SupportsWrite[str] | None = ...) -> None: ...\n def register(cls: ABCMeta, subclass: Type[_T]) -> Type[_T]: ...\n\ndef abstractmethod(funcobj: _FuncT) -> _FuncT: ...\n\nclass abstractproperty(property): ...\n\n# These two are deprecated and not supported by mypy\ndef abstractstaticmethod(callable: _FuncT) -> _FuncT: ...\ndef abstractclassmethod(callable: _FuncT) -> _FuncT: ...\n\nclass ABC(metaclass=ABCMeta): ...\n\ndef get_cache_token() -> object: ...\n", + "/typeshed/stdlib/antigravity.pyi": "", + "/typeshed/stdlib/array.pyi": "from typing import Generic, Iterable, MutableSequence, TypeVar, Union, overload\nfrom typing_extensions import Literal\n\n_IntTypeCode = Literal[\"b\", \"B\", \"h\", \"H\", \"i\", \"I\", \"l\", \"L\", \"q\", \"Q\"]\n_FloatTypeCode = Literal[\"f\", \"d\"]\n_TypeCode = Union[_IntTypeCode, _FloatTypeCode]\n\n_T = TypeVar(\"_T\", int, float)\n\nclass array(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(\n self: array[int],\n typecode: _IntTypeCode,\n __initializer: Union[bytes, Iterable[_T]] = ...,\n ) -> None: ...\n @overload\n def __init__(\n self: array[float],\n typecode: _FloatTypeCode,\n __initializer: Union[bytes, Iterable[_T]] = ...,\n ) -> None: ...\n @overload\n def __init__(\n self, typecode: str, __initializer: Union[bytes, Iterable[_T]] = ...\n ) -> None: ...\n def append(self, __v: _T) -> None: ...\n def decode(self) -> str: ...\n def extend(self, __bb: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n @overload\n def __getitem__(self, i: int) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> array[_T]: ...\n @overload # type: ignore # Overrides MutableSequence\n def __setitem__(self, i: int, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: array[_T]) -> None: ...\n def __add__(self, x: array[_T]) -> array[_T]: ...\n def __iadd__(self, x: array[_T]) -> array[_T]: ... # type: ignore # Overrides MutableSequence\n\nArrayType = array\n", + "/typeshed/stdlib/audio.pyi": "\"\"\"Play sounds using the micro:bit (import ``audio`` for V1 compatibility).\n\"\"\"\n\n# Re-export for V1 compatibility.\nfrom .microbit.audio import (\n is_playing as is_playing,\n play as play,\n stop as stop,\n AudioFrame as AudioFrame,\n SoundEffect as SoundEffect,\n)\n", + "/typeshed/stdlib/builtins.pyi": "import sys\nimport types\nfrom _typeshed import (\n OpenBinaryMode,\n OpenTextMode,\n ReadableBuffer,\n Self,\n StrOrBytesPath,\n SupportsDivMod,\n SupportsKeysAndGetItem,\n SupportsLenAndGetItem,\n SupportsLessThan,\n SupportsLessThanT,\n SupportsRDivMod,\n SupportsWrite,\n)\nfrom types import CodeType, TracebackType\nfrom typing import (\n IO,\n AbstractSet,\n Any,\n AsyncIterable,\n AsyncIterator,\n BinaryIO,\n ByteString,\n Callable,\n FrozenSet,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n MutableMapping,\n MutableSequence,\n MutableSet,\n NoReturn,\n Protocol,\n Reversible,\n Sequence,\n Set,\n Sized,\n SupportsAbs,\n SupportsBytes,\n SupportsComplex,\n SupportsFloat,\n SupportsInt,\n SupportsRound,\n TextIO,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, SupportsIndex, final\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\nclass _SupportsTrunc(Protocol):\n def __trunc__(self) -> int: ...\n\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n_S = TypeVar(\"_S\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T3 = TypeVar(\"_T3\")\n_T4 = TypeVar(\"_T4\")\n_T5 = TypeVar(\"_T5\")\n_TT = TypeVar(\"_TT\", bound=\"type\")\n_TBE = TypeVar(\"_TBE\", bound=\"BaseException\")\n\nclass object:\n __doc__: str | None\n __dict__: dict[str, Any]\n __slots__: str | Iterable[str]\n __module__: str\n __annotations__: dict[str, Any]\n @property\n def __class__(self: _T) -> Type[_T]: ...\n # Ignore errors about type mismatch between property getter and setter\n @__class__.setter\n def __class__(self, __type: Type[object]) -> None: ... # type: ignore # noqa: F811\n def __init__(self) -> None: ...\n def __new__(cls: Type[_T]) -> _T: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __eq__(self, o: object) -> bool: ...\n def __ne__(self, o: object) -> bool: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n def __format__(self, format_spec: str) -> str: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __delattr__(self, name: str) -> None: ...\n def __sizeof__(self) -> int: ...\n def __reduce__(self) -> str | Tuple[Any, ...]: ...\n if sys.version_info >= (3, 8):\n def __reduce_ex__(self, protocol: SupportsIndex) -> str | Tuple[Any, ...]: ...\n else:\n def __reduce_ex__(self, protocol: int) -> str | Tuple[Any, ...]: ...\n def __dir__(self) -> Iterable[str]: ...\n def __init_subclass__(cls) -> None: ...\n\nclass staticmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass classmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass type(object):\n __base__: type\n __bases__: Tuple[type, ...]\n __basicsize__: int\n __dict__: dict[str, Any]\n __dictoffset__: int\n __flags__: int\n __itemsize__: int\n __module__: str\n __name__: str\n __qualname__: str\n __text_signature__: str | None\n __weakrefoffset__: int\n @overload\n def __init__(self, o: object) -> None: ...\n @overload\n def __init__(\n self, name: str, bases: Tuple[type, ...], dict: dict[str, Any], **kwds: Any\n ) -> None: ...\n @overload\n def __new__(cls, o: object) -> type: ...\n @overload\n def __new__(\n cls: Type[_TT],\n name: str,\n bases: Tuple[type, ...],\n namespace: dict[str, Any],\n **kwds: Any,\n ) -> _TT: ...\n def __call__(self, *args: Any, **kwds: Any) -> Any: ...\n def __subclasses__(self: _TT) -> list[_TT]: ...\n def __instancecheck__(self, instance: Any) -> bool: ...\n def __subclasscheck__(self, subclass: type) -> bool: ...\n @classmethod\n def __prepare__(\n metacls, __name: str, __bases: Tuple[type, ...], **kwds: Any\n ) -> Mapping[str, Any]: ...\n if sys.version_info >= (3, 10):\n def __or__(self, t: Any) -> types.UnionType: ...\n def __ror__(self, t: Any) -> types.UnionType: ...\n\nclass super(object):\n @overload\n def __init__(self, t: Any, obj: Any) -> None: ...\n @overload\n def __init__(self, t: Any) -> None: ...\n @overload\n def __init__(self) -> None: ...\n\nclass int:\n @overload\n def __new__(\n cls: Type[_T],\n x: str | bytes | SupportsInt | SupportsIndex | _SupportsTrunc = ...,\n ) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], x: str | bytes | bytearray, base: SupportsIndex\n ) -> _T: ...\n def to_bytes(\n self,\n length: SupportsIndex,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> bytes: ...\n @classmethod\n def from_bytes(\n cls,\n bytes: Iterable[SupportsIndex] | SupportsBytes,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> int: ... # TODO buffer object argument\n def __add__(self, x: int) -> int: ...\n def __sub__(self, x: int) -> int: ...\n def __mul__(self, x: int) -> int: ...\n def __floordiv__(self, x: int) -> int: ...\n def __truediv__(self, x: int) -> float: ...\n def __mod__(self, x: int) -> int: ...\n def __divmod__(self, x: int) -> Tuple[int, int]: ...\n def __radd__(self, x: int) -> int: ...\n def __rsub__(self, x: int) -> int: ...\n def __rmul__(self, x: int) -> int: ...\n def __rfloordiv__(self, x: int) -> int: ...\n def __rtruediv__(self, x: int) -> float: ...\n def __rmod__(self, x: int) -> int: ...\n def __rdivmod__(self, x: int) -> Tuple[int, int]: ...\n @overload\n def __pow__(self, __x: Literal[2], __modulo: int | None = ...) -> int: ...\n @overload\n def __pow__(\n self, __x: int, __modulo: int | None = ...\n ) -> Any: ... # Return type can be int or float, depending on x.\n def __rpow__(self, x: int, mod: int | None = ...) -> Any: ...\n def __and__(self, n: int) -> int: ...\n def __or__(self, n: int) -> int: ...\n def __xor__(self, n: int) -> int: ...\n def __lshift__(self, n: int) -> int: ...\n def __rshift__(self, n: int) -> int: ...\n def __rand__(self, n: int) -> int: ...\n def __ror__(self, n: int) -> int: ...\n def __rxor__(self, n: int) -> int: ...\n def __rlshift__(self, n: int) -> int: ...\n def __rrshift__(self, n: int) -> int: ...\n def __neg__(self) -> int: ...\n def __pos__(self) -> int: ...\n def __invert__(self) -> int: ...\n def __trunc__(self) -> int: ...\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n def __round__(self, ndigits: SupportsIndex = ...) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: int) -> bool: ...\n def __le__(self, x: int) -> bool: ...\n def __gt__(self, x: int) -> bool: ...\n def __ge__(self, x: int) -> bool: ...\n def __str__(self) -> str: ...\n def __float__(self) -> float: ...\n def __int__(self) -> int: ...\n def __abs__(self) -> int: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n def __index__(self) -> int: ...\n\nclass float:\n def __new__(\n cls: Type[_T], x: SupportsFloat | SupportsIndex | str | bytes | bytearray = ...\n ) -> _T: ...\n def __add__(self, x: float) -> float: ...\n def __sub__(self, x: float) -> float: ...\n def __mul__(self, x: float) -> float: ...\n def __floordiv__(self, x: float) -> float: ...\n def __truediv__(self, x: float) -> float: ...\n def __mod__(self, x: float) -> float: ...\n def __divmod__(self, x: float) -> Tuple[float, float]: ...\n def __pow__(\n self, x: float, mod: None = ...\n ) -> float: ... # In Python 3, returns complex if self is negative and x is not whole\n def __radd__(self, x: float) -> float: ...\n def __rsub__(self, x: float) -> float: ...\n def __rmul__(self, x: float) -> float: ...\n def __rfloordiv__(self, x: float) -> float: ...\n def __rtruediv__(self, x: float) -> float: ...\n def __rmod__(self, x: float) -> float: ...\n def __rdivmod__(self, x: float) -> Tuple[float, float]: ...\n def __rpow__(self, x: float, mod: None = ...) -> float: ...\n def __getnewargs__(self) -> Tuple[float]: ...\n def __trunc__(self) -> int: ...\n if sys.version_info >= (3, 9):\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n @overload\n def __round__(self, ndigits: None = ...) -> int: ...\n @overload\n def __round__(self, ndigits: SupportsIndex) -> float: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: float) -> bool: ...\n def __le__(self, x: float) -> bool: ...\n def __gt__(self, x: float) -> bool: ...\n def __ge__(self, x: float) -> bool: ...\n def __neg__(self) -> float: ...\n def __pos__(self) -> float: ...\n def __str__(self) -> str: ...\n def __int__(self) -> int: ...\n def __float__(self) -> float: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass complex:\n @overload\n def __new__(cls: Type[_T], real: float = ..., imag: float = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], real: str | SupportsComplex | SupportsIndex | complex\n ) -> _T: ...\n @property\n def real(self) -> float: ...\n @property\n def imag(self) -> float: ...\n def __add__(self, x: complex) -> complex: ...\n def __sub__(self, x: complex) -> complex: ...\n def __mul__(self, x: complex) -> complex: ...\n def __pow__(self, x: complex, mod: None = ...) -> complex: ...\n def __truediv__(self, x: complex) -> complex: ...\n def __radd__(self, x: complex) -> complex: ...\n def __rsub__(self, x: complex) -> complex: ...\n def __rmul__(self, x: complex) -> complex: ...\n def __rpow__(self, x: complex, mod: None = ...) -> complex: ...\n def __rtruediv__(self, x: complex) -> complex: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __neg__(self) -> complex: ...\n def __pos__(self) -> complex: ...\n def __str__(self) -> str: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass str(Sequence[str]):\n @overload\n def __new__(cls: Type[_T], o: object = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], o: bytes, encoding: str = ..., errors: str = ...\n ) -> _T: ...\n def count(\n self,\n x: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def encode(self, encoding: str = ..., errors: str = ...) -> bytes: ...\n def endswith(\n self,\n __suffix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def format(self, *args: object, **kwargs: object) -> str: ...\n def index(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable: Iterable[str]) -> str: ...\n def lower(self) -> str: ...\n def lstrip(self, __chars: str | None = ...) -> str: ...\n def replace(self, __old: str, __new: str, __count: SupportsIndex = ...) -> str: ...\n def rfind(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def rstrip(self, __chars: str | None = ...) -> str: ...\n def split(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def startswith(\n self,\n __prefix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __chars: str | None = ...) -> str: ...\n def upper(self) -> str: ...\n def __add__(self, s: str) -> str: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: str) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ge__(self, x: str) -> bool: ...\n def __getitem__(self, i: int | slice) -> str: ...\n def __gt__(self, x: str) -> bool: ...\n def __hash__(self) -> int: ...\n def __iter__(self) -> Iterator[str]: ...\n def __le__(self, x: str) -> bool: ...\n def __len__(self) -> int: ...\n def __lt__(self, x: str) -> bool: ...\n def __mod__(self, x: Any) -> str: ...\n def __mul__(self, n: SupportsIndex) -> str: ...\n def __ne__(self, x: object) -> bool: ...\n def __repr__(self) -> str: ...\n def __rmul__(self, n: SupportsIndex) -> str: ...\n def __str__(self) -> str: ...\n def __getnewargs__(self) -> Tuple[str]: ...\n\nclass bytes(ByteString):\n @overload\n def __new__(cls: Type[_T], ints: Iterable[SupportsIndex]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], string: str, encoding: str, errors: str = ...) -> _T: ...\n @overload\n def __new__(cls: Type[_T], length: SupportsIndex) -> _T: ...\n @overload\n def __new__(cls: Type[_T]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], o: SupportsBytes) -> _T: ...\n def count(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def endswith(\n self,\n __suffix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def index(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable_of_bytes: Iterable[ByteString | memoryview]) -> bytes: ...\n def lower(self) -> bytes: ...\n def lstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def replace(\n self, __old: bytes, __new: bytes, __count: SupportsIndex = ...\n ) -> bytes: ...\n def rfind(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def rstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def split(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def startswith(\n self,\n __prefix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __bytes: bytes | None = ...) -> bytes: ...\n def upper(self) -> bytes: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytes: ...\n def __add__(self, s: bytes) -> bytes: ...\n def __mul__(self, n: SupportsIndex) -> bytes: ...\n def __rmul__(self, n: SupportsIndex) -> bytes: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n def __getnewargs__(self) -> Tuple[bytes]: ...\n\nclass bytearray:\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, ints: Iterable[SupportsIndex]) -> None: ...\n @overload\n def __init__(self, string: str, encoding: str, errors: str = ...) -> None: ...\n @overload\n def __init__(self, length: SupportsIndex) -> None: ...\n def append(self, __item: SupportsIndex) -> None: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def extend(self, __iterable_of_ints: Iterable[SupportsIndex]) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytearray: ...\n @overload\n def __setitem__(self, i: SupportsIndex, x: SupportsIndex) -> None: ...\n @overload\n def __setitem__(self, s: slice, x: Iterable[SupportsIndex] | bytes) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, s: bytes) -> bytearray: ...\n def __iadd__(self, s: Iterable[int]) -> bytearray: ...\n def __mul__(self, n: SupportsIndex) -> bytearray: ...\n def __rmul__(self, n: SupportsIndex) -> bytearray: ...\n def __imul__(self, n: SupportsIndex) -> bytearray: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n\nclass memoryview(Sized, Sequence[int]):\n def __init__(self, obj: ReadableBuffer) -> None: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> memoryview: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n def __len__(self) -> int: ...\n @overload\n def __setitem__(self, s: slice, o: bytes) -> None: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: SupportsIndex) -> None: ...\n\n@final\nclass bool(int):\n def __new__(cls: Type[_T], __o: object = ...) -> _T: ...\n @overload\n def __and__(self, x: bool) -> bool: ...\n @overload\n def __and__(self, x: int) -> int: ...\n @overload\n def __or__(self, x: bool) -> bool: ...\n @overload\n def __or__(self, x: int) -> int: ...\n @overload\n def __xor__(self, x: bool) -> bool: ...\n @overload\n def __xor__(self, x: int) -> int: ...\n @overload\n def __rand__(self, x: bool) -> bool: ...\n @overload\n def __rand__(self, x: int) -> int: ...\n @overload\n def __ror__(self, x: bool) -> bool: ...\n @overload\n def __ror__(self, x: int) -> int: ...\n @overload\n def __rxor__(self, x: bool) -> bool: ...\n @overload\n def __rxor__(self, x: int) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n\nclass slice(object):\n start: Any\n step: Any\n stop: Any\n __hash__: None # type: ignore\n def indices(self, len: SupportsIndex) -> Tuple[int, int, int]: ...\n\nclass tuple(Sequence[_T_co], Generic[_T_co]):\n def __new__(cls: Type[_T], iterable: Iterable[_T_co] = ...) -> _T: ...\n def __len__(self) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n @overload\n def __getitem__(self, x: int) -> _T_co: ...\n @overload\n def __getitem__(self, x: slice) -> Tuple[_T_co, ...]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __lt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __le__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __gt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __ge__(self, x: Tuple[_T_co, ...]) -> bool: ...\n @overload\n def __add__(self, x: Tuple[_T_co, ...]) -> Tuple[_T_co, ...]: ...\n @overload\n def __add__(self, x: Tuple[_T, ...]) -> Tuple[_T_co | _T, ...]: ...\n def __mul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def __rmul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def count(self, __value: Any) -> int: ...\n def index(\n self, __value: Any, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n\n# Can we remove this?\nclass function:\n # TODO not defined in builtins!\n __name__: str\n __module__: str\n __code__: CodeType\n __qualname__: str\n __annotations__: dict[str, Any]\n\nclass frozenset(AbstractSet[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls: type[Self]) -> Self: ...\n @overload\n def __new__(cls: type[Self], __iterable: Iterable[_T_co]) -> Self: ...\n def copy(self) -> FrozenSet[_T_co]: ...\n def difference(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def intersection(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def isdisjoint(self, s: Iterable[_T_co]) -> bool: ...\n def issubset(self, s: Iterable[object]) -> bool: ...\n def issuperset(self, s: Iterable[object]) -> bool: ...\n def symmetric_difference(self, s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def union(self, *s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __sub__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass list(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[_T]) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> list[_T]: ...\n def append(self, __object: _T) -> None: ...\n def extend(self, __iterable: Iterable[_T]) -> None: ...\n def pop(self, __index: SupportsIndex = ...) -> _T: ...\n def index(\n self, __value: _T, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n def count(self, __value: _T) -> int: ...\n def insert(self, __index: SupportsIndex, __object: _T) -> None: ...\n def remove(self, __value: _T) -> None: ...\n def reverse(self) -> None: ...\n @overload\n def sort(\n self: list[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n ) -> None: ...\n @overload\n def sort(\n self, *, key: Callable[[_T], SupportsLessThan], reverse: bool = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> list[_T]: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, x: list[_T]) -> list[_T]: ...\n def __iadd__(self: _S, x: Iterable[_T]) -> _S: ...\n def __mul__(self, n: SupportsIndex) -> list[_T]: ...\n def __rmul__(self, n: SupportsIndex) -> list[_T]: ...\n def __imul__(self: _S, n: SupportsIndex) -> _S: ...\n def __contains__(self, o: object) -> bool: ...\n def __reversed__(self) -> Iterator[_T]: ...\n def __gt__(self, x: list[_T]) -> bool: ...\n def __ge__(self, x: list[_T]) -> bool: ...\n def __lt__(self, x: list[_T]) -> bool: ...\n def __le__(self, x: list[_T]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass dict(MutableMapping[_KT, _VT], Generic[_KT, _VT]):\n @overload\n def __init__(self: dict[_KT, _VT]) -> None: ...\n @overload\n def __init__(self: dict[str, _VT], **kwargs: _VT) -> None: ...\n @overload\n def __init__(\n self, map: SupportsKeysAndGetItem[_KT, _VT], **kwargs: _VT\n ) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n def __new__(cls: Type[_T1], *args: Any, **kwargs: Any) -> _T1: ...\n def clear(self) -> None: ...\n def copy(self) -> dict[_KT, _VT]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, __key: _KT, __default: _VT = ...) -> _VT: ...\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT]: ...\n def items(self) -> ItemsView[_KT, _VT]: ...\n @classmethod\n @overload\n def fromkeys(\n cls, __iterable: Iterable[_T], __value: None = ...\n ) -> dict[_T, Any | None]: ...\n @classmethod\n @overload\n def fromkeys(cls, __iterable: Iterable[_T], __value: _S) -> dict[_T, _S]: ...\n def __len__(self) -> int: ...\n def __getitem__(self, k: _KT) -> _VT: ...\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n def __delitem__(self, v: _KT) -> None: ...\n def __iter__(self) -> Iterator[_KT]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __or__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ror__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ior__(self, __value: Mapping[_KT, _VT]) -> dict[_KT, _VT]: ... # type: ignore\n\nclass set(MutableSet[_T], Generic[_T]):\n def __init__(self, iterable: Iterable[_T] = ...) -> None: ...\n def add(self, element: _T) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> Set[_T]: ...\n def difference(self, *s: Iterable[Any]) -> Set[_T]: ...\n def difference_update(self, *s: Iterable[Any]) -> None: ...\n def discard(self, element: _T) -> None: ...\n def intersection(self, *s: Iterable[Any]) -> Set[_T]: ...\n def intersection_update(self, *s: Iterable[Any]) -> None: ...\n def isdisjoint(self, s: Iterable[Any]) -> bool: ...\n def issubset(self, s: Iterable[Any]) -> bool: ...\n def issuperset(self, s: Iterable[Any]) -> bool: ...\n def pop(self) -> _T: ...\n def remove(self, element: _T) -> None: ...\n def symmetric_difference(self, s: Iterable[_T]) -> Set[_T]: ...\n def symmetric_difference_update(self, s: Iterable[_T]) -> None: ...\n def union(self, *s: Iterable[_T]) -> Set[_T]: ...\n def update(self, *s: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __iand__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __or__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ior__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __sub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __isub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __xor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass enumerate(Iterator[Tuple[int, _T]], Generic[_T]):\n def __init__(self, iterable: Iterable[_T], start: int = ...) -> None: ...\n def __iter__(self) -> Iterator[Tuple[int, _T]]: ...\n def __next__(self) -> Tuple[int, _T]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass range(Sequence[int]):\n start: int\n stop: int\n step: int\n @overload\n def __init__(self, stop: SupportsIndex) -> None: ...\n @overload\n def __init__(\n self, start: SupportsIndex, stop: SupportsIndex, step: SupportsIndex = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> range: ...\n def __repr__(self) -> str: ...\n def __reversed__(self) -> Iterator[int]: ...\n\nclass property(object):\n fget: Callable[[Any], Any] | None\n fset: Callable[[Any, Any], None] | None\n fdel: Callable[[Any], None] | None\n def __init__(\n self,\n fget: Callable[[Any], Any] | None = ...,\n fset: Callable[[Any, Any], None] | None = ...,\n fdel: Callable[[Any], None] | None = ...,\n doc: str | None = ...,\n ) -> None: ...\n def getter(self, fget: Callable[[Any], Any]) -> property: ...\n def setter(self, fset: Callable[[Any, Any], None]) -> property: ...\n def deleter(self, fdel: Callable[[Any], None]) -> property: ...\n def __get__(self, obj: Any, type: type | None = ...) -> Any: ...\n def __set__(self, obj: Any, value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nclass _NotImplementedType(Any): # type: ignore\n # A little weird, but typing the __call__ as NotImplemented makes the error message\n # for NotImplemented() much better\n __call__: NotImplemented # type: ignore\n\nNotImplemented: _NotImplementedType\n\ndef abs(__x: SupportsAbs[_T]) -> _T: ...\ndef all(__iterable: Iterable[object]) -> bool: ...\ndef any(__iterable: Iterable[object]) -> bool: ...\ndef bin(__number: int | SupportsIndex) -> str: ...\n\nif sys.version_info >= (3, 7):\n def breakpoint(*args: Any, **kws: Any) -> None: ...\n\ndef callable(__obj: object) -> bool: ...\ndef chr(__i: int) -> str: ...\n\n# We define this here instead of using os.PathLike to avoid import cycle issues.\n# See https://github.com/python/typeshed/pull/991#issuecomment-288160993\n_AnyStr_co = TypeVar(\"_AnyStr_co\", str, bytes, covariant=True)\n\nclass _PathLike(Protocol[_AnyStr_co]):\n def __fspath__(self) -> _AnyStr_co: ...\n\nif sys.version_info >= (3, 10):\n def aiter(__iterable: AsyncIterable[_T]) -> AsyncIterator[_T]: ...\n @overload\n async def anext(__i: AsyncIterator[_T]) -> _T: ...\n @overload\n async def anext(__i: AsyncIterator[_T], default: _VT) -> _T | _VT: ...\n\ndef delattr(__obj: Any, __name: str) -> None: ...\ndef dir(__o: object = ...) -> list[str]: ...\n@overload\ndef divmod(__x: SupportsDivMod[_T_contra, _T_co], __y: _T_contra) -> _T_co: ...\n@overload\ndef divmod(__x: _T_contra, __y: SupportsRDivMod[_T_contra, _T_co]) -> _T_co: ...\ndef eval(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\ndef exec(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\n\nclass filter(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __function: None, __iterable: Iterable[_T | None]) -> None: ...\n @overload\n def __init__(\n self, __function: Callable[[_T], Any], __iterable: Iterable[_T]\n ) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\n@overload\ndef getattr(__o: object, name: str) -> Any: ...\n\n# While technically covered by the last overload, spelling out the types for None and bool\n# help mypy out in some tricky situations involving type context (aka bidirectional inference)\n@overload\ndef getattr(__o: object, name: str, __default: None) -> Any | None: ...\n@overload\ndef getattr(__o: object, name: str, __default: bool) -> Any | bool: ...\n@overload\ndef getattr(__o: object, name: str, __default: _T) -> Any | _T: ...\ndef globals() -> dict[str, Any]: ...\ndef hasattr(__obj: object, __name: str) -> bool: ...\ndef hash(__obj: object) -> int: ...\ndef help(*args: Any, **kwds: Any) -> None: ...\ndef hex(__number: int | SupportsIndex) -> str: ...\ndef id(__obj: object) -> int: ...\ndef input(__prompt: Any = ...) -> str: ...\n@overload\ndef iter(__iterable: Iterable[_T]) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T | None], __sentinel: None) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T], __sentinel: Any) -> Iterator[_T]: ...\n\nif sys.version_info >= (3, 10):\n def isinstance(\n __obj: object,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n def issubclass(\n __cls: type,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n\nelse:\n def isinstance(\n __obj: object, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n def issubclass(\n __cls: type, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n\ndef len(__obj: Sized) -> int: ...\ndef locals() -> dict[str, Any]: ...\n\nclass map(Iterator[_S], Generic[_S]):\n @overload\n def __init__(self, __func: Callable[[_T1], _S], __iter1: Iterable[_T1]) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4, _T5], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[..., _S],\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> None: ...\n def __iter__(self) -> Iterator[_S]: ...\n def __next__(self) -> _S: ...\n\n@overload\ndef max(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef max(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef max(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef max(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef min(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef min(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef min(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef min(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef next(__i: Iterator[_T]) -> _T: ...\n@overload\ndef next(__i: Iterator[_T], default: _VT) -> _T | _VT: ...\ndef oct(__number: int | SupportsIndex) -> str: ...\n\n_OpenFile = Union[StrOrBytesPath, int]\n_Opener = Callable[[str, int], int]\n\n# Text mode: always returns a TextIOWrapper\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenTextMode = ...,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> TextIO: ...\n\n# Unbuffered binary mode: returns a FileIO\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenBinaryMode,\n buffering: int = ...,\n encoding: None = ...,\n errors: None = ...,\n newline: None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> BinaryIO: ...\n\n# Fallback if mode is not specified\n@overload\ndef open(\n file: _OpenFile,\n mode: str,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> IO[Any]: ...\ndef ord(__c: str | bytes) -> int: ...\ndef print(\n *values: object,\n sep: str | None = ...,\n end: str | None = ...,\n file: SupportsWrite[str] | None = ...,\n flush: bool = ...,\n) -> None: ...\n\n_E = TypeVar(\"_E\", contravariant=True)\n_M = TypeVar(\"_M\", contravariant=True)\n\nclass _SupportsPow2(Protocol[_E, _T_co]):\n def __pow__(self, __other: _E) -> _T_co: ...\n\nclass _SupportsPow3(Protocol[_E, _M, _T_co]):\n def __pow__(self, __other: _E, __modulo: _M) -> _T_co: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def pow(\n base: int, exp: int, mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(base: int, exp: int, mod: int) -> int: ...\n @overload\n def pow(base: float, exp: float, mod: None = ...) -> float: ...\n @overload\n def pow(base: _SupportsPow2[_E, _T_co], exp: _E) -> _T_co: ...\n @overload\n def pow(base: _SupportsPow3[_E, _M, _T_co], exp: _E, mod: _M) -> _T_co: ...\n\nelse:\n @overload\n def pow(\n __base: int, __exp: int, __mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(__base: int, __exp: int, __mod: int) -> int: ...\n @overload\n def pow(__base: float, __exp: float, __mod: None = ...) -> float: ...\n @overload\n def pow(__base: _SupportsPow2[_E, _T_co], __exp: _E) -> _T_co: ...\n @overload\n def pow(__base: _SupportsPow3[_E, _M, _T_co], __exp: _E, __mod: _M) -> _T_co: ...\n\nclass reversed(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __sequence: Reversible[_T]) -> None: ...\n @overload\n def __init__(self, __sequence: SupportsLenAndGetItem[_T]) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\ndef repr(__obj: object) -> str: ...\n@overload\ndef round(number: SupportsRound[Any]) -> int: ...\n@overload\ndef round(number: SupportsRound[Any], ndigits: None) -> int: ...\n@overload\ndef round(number: SupportsRound[_T], ndigits: SupportsIndex) -> _T: ...\ndef setattr(__obj: object, __name: str, __value: Any) -> None: ...\n@overload\ndef sorted(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n) -> list[SupportsLessThanT]: ...\n@overload\ndef sorted(\n __iterable: Iterable[_T],\n *,\n key: Callable[[_T], SupportsLessThan],\n reverse: bool = ...,\n) -> list[_T]: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], start: _S) -> _T | _S: ...\n\nelse:\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], __start: _S) -> _T | _S: ...\n\nclass zip(Iterator[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls, __iter1: Iterable[_T1]) -> zip[Tuple[_T1]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2]\n ) -> zip[Tuple[_T1, _T2]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]\n ) -> zip[Tuple[_T1, _T2, _T3]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4, _T5]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> zip[Tuple[Any, ...]]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __next__(self) -> _T_co: ...\n\ndef __import__(\n name: str,\n globals: Mapping[str, Any] | None = ...,\n locals: Mapping[str, Any] | None = ...,\n fromlist: Sequence[str] = ...,\n level: int = ...,\n) -> Any: ...\n\n# Actually the type of Ellipsis is , but since it's\n# not exposed anywhere under that name, we make it private here.\nclass ellipsis: ...\n\nEllipsis: ellipsis\n\nclass BaseException(object):\n args: Tuple[Any, ...]\n __cause__: BaseException | None\n __context__: BaseException | None\n __suppress_context__: bool\n __traceback__: TracebackType | None\n def __init__(self, *args: object) -> None: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def with_traceback(self: _TBE, tb: TracebackType | None) -> _TBE: ...\n\nclass GeneratorExit(BaseException): ...\nclass KeyboardInterrupt(BaseException): ...\n\nclass SystemExit(BaseException):\n code: int\n\nclass Exception(BaseException): ...\n\nclass StopIteration(Exception):\n value: Any\n\n_StandardError = Exception\n\nclass OSError(Exception):\n errno: int\n strerror: str\n # filename, filename2 are actually str | bytes | None\n filename: Any\n filename2: Any\n if sys.platform == \"win32\":\n winerror: int\n\nif sys.platform == \"win32\":\n WindowsError = OSError\n\nclass ArithmeticError(_StandardError): ...\nclass AssertionError(_StandardError): ...\n\nclass AttributeError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n obj: object\n\nclass EOFError(_StandardError): ...\n\nclass ImportError(_StandardError):\n def __init__(\n self, *args: object, name: str | None = ..., path: str | None = ...\n ) -> None: ...\n name: str | None\n path: str | None\n msg: str # undocumented\n\nclass LookupError(_StandardError): ...\nclass MemoryError(_StandardError): ...\n\nclass NameError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n\nclass RuntimeError(_StandardError): ...\n\nclass StopAsyncIteration(Exception):\n value: Any\n\nclass SyntaxError(_StandardError):\n msg: str\n lineno: int | None\n offset: int | None\n text: str | None\n filename: str | None\n if sys.version_info >= (3, 10):\n end_lineno: int | None\n end_offset: int | None\n\nclass TypeError(_StandardError): ...\nclass ValueError(_StandardError): ...\nclass FloatingPointError(ArithmeticError): ...\nclass OverflowError(ArithmeticError): ...\nclass ZeroDivisionError(ArithmeticError): ...\nclass IndexError(LookupError): ...\nclass KeyError(LookupError): ...\nclass NotImplementedError(RuntimeError): ...\nclass IndentationError(SyntaxError): ...\nclass TabError(IndentationError): ...\n", + "/typeshed/stdlib/errno.pyi": "from typing import Mapping\n\nerrorcode: Mapping[int, str]\n\nEACCES: int\nEADDRINUSE: int\nEAGAIN: int\nEALREADY: int\nEBADF: int\nECONNABORTED: int\nECONNREFUSED: int\nECONNRESET: int\nEEXIST: int\nEHOSTUNREACH: int\nEINPROGRESS: int\nEINVAL: int\nEIO: int\nEISDIR: int\nENOBUFS: int\nENODEV: int\nENOENT: int\nENOMEM: int\nENOTCONN: int\nEOPNOTSUPP: int\nEPERM: int\nETIMEDOUT: int\n", + "/typeshed/stdlib/gc.pyi": "\"\"\"\uac00\ube44\uc9c0 \uceec\ub809\ud130 \uc81c\uc5b4\"\"\"\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"\uc790\ub3d9 \uac00\ube44\uc9c0 \uceec\ub809\uc158\uc744 \ud65c\uc131\ud654\ud569\ub2c8\ub2e4.\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"\uc790\ub3d9 \uac00\ube44\uc9c0 \uceec\ub809\uc158\uc744 \ube44\ud65c\uc131\ud654\ud569\ub2c8\ub2e4.\n\nHeap memory can still be allocated,\nand garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"\uac00\ube44\uc9c0 \uceec\ub809\uc158\uc744 \uc2e4\ud589\ud569\ub2c8\ub2e4.\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"\ud560\ub2f9\ub41c \ud799 RAM\uc758 \ubc14\uc774\ud2b8 \uc218\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\n:return: The number of bytes allocated.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"\uc774\uc6a9 \uac00\ub2a5\ud55c \ud799 RAM\uc758 \ubc14\uc774\ud2b8 \uc218\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4. \uac12\uc744 \uc54c \uc218 \uc5c6\ub294 \uacbd\uc6b0 -1\uc744 \ubc18\ud658\ud569\ub2c8\ub2e4.\n\n:return: The number of bytes free.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"\ucd94\uac00 GC \ud560\ub2f9 \uc784\uacc4\uac12\uc744 \uc694\uccad\ud569\ub2c8\ub2e4.\n\n:return: The GC allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"\ucd94\uac00 GC \ud560\ub2f9 \uc784\uacc4\uac12\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\nNormally, a collection is triggered only when a new allocation\ncannot be satisfied, i.e. on an out-of-memory (OOM) condition.\nIf this function is called, in addition to OOM, a collection\nwill be triggered each time after ``amount`` bytes have been\nallocated (in total, since the previous time such an amount of bytes\nhave been allocated). ``amount`` is usually specified as less than the\nfull heap size, with the intention to trigger a collection earlier than when the\nheap becomes exhausted, and in the hope that an early collection will prevent\nexcessive memory fragmentation. This is a heuristic measure, the effect\nof which will vary from application to application, as well as\nthe optimal value of the ``amount`` parameter.\n\nA value of -1 means a disabled allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\n\n:param amount: \uac00\ube44\uc9c0 \uceec\ub809\uc158\uc774 \ud2b8\ub9ac\uac70\ub418\ub294 \ubc14\uc774\ud2b8 \uc218\uc785\ub2c8\ub2e4.\"\"\"\n ...", + "/typeshed/stdlib/log.pyi": "\"\"\"micro:bit V2\uc5d0 \ub370\uc774\ud130\ub97c \uae30\ub85d\ud569\ub2c8\ub2e4.\"\"\"\nfrom typing import Literal, Mapping, Optional, Union, overload\nMILLISECONDS = 1\n\"\"\"\ubc00\ub9ac\ucd08 \ud0c0\uc784\uc2a4\ud0ec\ud504 \ud615\uc2dd\uc785\ub2c8\ub2e4.\"\"\"\nSECONDS = 10\n\"\"\"\ucd08 \ud0c0\uc784\uc2a4\ud0ec\ud504 \ud615\uc2dd\uc785\ub2c8\ub2e4.\"\"\"\nMINUTES = 600\n\"\"\"\ubd84 \ud0c0\uc784\uc2a4\ud0ec\ud504 \ud615\uc2dd\uc785\ub2c8\ub2e4.\"\"\"\nHOURS = 36000\n\"\"\"\uc2dc\uac04 \ud0c0\uc784\uc2a4\ud0ec\ud504 \ud615\uc2dd\uc785\ub2c8\ub2e4.\"\"\"\nDAYS = 864000\n\"\"\"\uc77c \ud0c0\uc784\uc2a4\ud0ec\ud504 \ud615\uc2dd\uc785\ub2c8\ub2e4.\"\"\"\n\ndef set_labels(*labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]]=SECONDS) -> None:\n \"\"\"\ub85c\uadf8 \ud30c\uc77c \ud5e4\ub354\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\nIdeally this function should be called a single time, before any data is\nlogged, to configure the data table header once.\n\nIf a log file already exists when the program starts, or if this function\nis called multiple times, it will check the labels already defined in the\nlog file. If this function call contains any new labels not already\npresent, it will generate a new header row with the additional columns.\n\nBy default the first column contains a timestamp for each row. The time\nunit can be selected via the timestamp argument.\n\n:param *labels: (*\ub808\uc774\ube14) \uac01\uac01 \ub85c\uadf8 \ud5e4\ub354\uc758 \ud56d\ubaa9\uc5d0 \ud574\ub2f9\ud558\ub294 \uc784\uc758\uc758 \uc704\uce58 \uc778\uc218 \uc218\uc785\ub2c8\ub2e4.\n:param timestamp: (\ud0c0\uc784\uc2a4\ud0ec\ud504) \ubaa8\ub4e0 \ud589\uc758 \uccab \ubc88\uc9f8\uc5d0 \uc790\ub3d9\uc73c\ub85c \uc0bd\uc785\ub420 \ud0c0\uc784\uc2a4\ud0ec\ud504 \ub2e8\uc704\ub97c \uc120\ud0dd\ud558\uc2ed\uc2dc\uc624. \ud0c0\uc784\uc2a4\ud0ec\ud504\uc758 \uac12\uc740 ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, ``log.HOURS``, ``log.DAYS``\uac00 \ub420 \uc218 \uc788\uace0 \ube44\ud65c\uc131\ud654\ud558\ub824\uba74 ``None``\uac12\uc73c\ub85c \uc124\uc815\ud558\uc2ed\uc2dc\uc624. \ud0c0\uc784\uc2a4\ud0ec\ud504\uc758 \uae30\ubcf8\uac12\uc740 ``log.SECONDS``\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n@overload\ndef add(data_dictionary: Optional[Mapping[str, Union[str, int, float]]]) -> None:\n \"\"\"\ud5e4\ub354 \ubc0f \uac12\uc758 \ub515\uc154\ub108\ub9ac\ub97c \ud328\uc2a4\ud574 \ub85c\uadf8\uc5d0 \ub370\uc774\ud130 \ud589\uc744 \ucd94\uac00\ud569\ub2c8\ub2e4.\n\nExample: ``log.add({ 'temp': temperature() })``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\n\n:param data_dictionary: (\ub370\uc774\ud130 \uc0ac\uc804) \uac01 \ud5e4\ub354\uc5d0 \ub300\ud55c \ud0a4\uac00 \uc788\ub294 \uc0ac\uc804\uc73c\ub85c \uae30\ub85d\ud560 \ub370\uc774\ud130\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"\ud0a4\uc6cc\ub4dc \uc778\uc790\ub97c \uc0ac\uc6a9\ud574 \ub85c\uadf8\uc5d0 \ub370\uc774\ud130 \ud589\uc744 \ucd94\uac00\ud569\ub2c8\ub2e4.\n\nExample: ``log.add(temp=temperature())``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"\ud5e4\ub354\ub97c \ud3ec\ud568\ud55c \ub85c\uadf8\uc758 \ub0b4\uc6a9\uc744 \uc0ad\uc81c\ud569\ub2c8\ub2e4.\n\nExample: ``log.delete()``\n\nTo add the log headers again the ``set_labels`` function should to be called after this function.\n\nThere are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\nand \u201cfast\u201d invalidates the data without removing it.\n\n:param full: ``True``\ub294 \"\uc804\uccb4\" \uc9c0\uc6b0\uae30\ub97c \uc120\ud0dd\ud558\uace0 ``False``\ub294 \"\ube60\ub978\" \uc9c0\uc6b0\uae30 \ubc29\ubc95\uc744 \uc120\ud0dd\ud569\ub2c8\ub2e4.\"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"\uc9c1\ub82c \ucd9c\ub825\uc5d0 \ub300\ud55c \ub370\uc774\ud130 \ub85c\uae45 \uc791\uc5c5 \ubbf8\ub7ec\ub9c1\uc744 \uad6c\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``log.set_mirroring(True)``\n\nSerial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n:param serial: ``True`` enables mirroring data to the serial output.\"\"\"\n ...", + "/typeshed/stdlib/love.pyi": "def badaboom() -> None: ...\n", + "/typeshed/stdlib/machine.pyi": "\"\"\"\ub85c\uc6b0 \ub808\ubca8 \uc720\ud2f8\ub9ac\ud2f0\uc785\ub2c8\ub2e4.\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"\ubcf4\ub4dc\uc758 \uace0\uc720 \uc2dd\ubcc4\uc790\uac00 \uc788\ub294 \ubc14\uc774\ud2b8 \ubb38\uc790\uc5f4\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``machine.unique_id()``\n\n:return: An identifier that varies from one board instance to another.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"\uc678\ubd80 \ucd08\uae30\ud654 \ubc84\ud2bc\uc744 \ub204\ub978 \uac83\uacfc \uc720\uc0ac\ud55c \ubc29\uc2dd\uc73c\ub85c \uae30\uae30\ub97c \ucd08\uae30\ud654\ud569\ub2c8\ub2e4.\n\nExample: ``machine.reset()``\"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"\ud5e4\ub974\uce20\ub85c \ud45c\uc2dc\ub41c CPU \uc9c4\ub3d9\uc218\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``machine.freq()``\n\n:return: The CPU frequency.\"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"\uc778\ud130\ub7fd\ud2b8 \uc694\uccad\uc744 \ube44\ud65c\uc131\ud654\ud569\ub2c8\ub2e4.\n\nExample: ``interrupt_state = machine.disable_irq()``\n\n:return: the previous IRQ state which should be considered an opaque value\n\nThe return value should be passed to the ``enable_irq`` function to restore\ninterrupts to their original state.\"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"\uc778\ud130\ub7fd\ud2b8 \uc694\uccad\uc744 \uc7ac\ud65c\uc131\ud654\ud569\ub2c8\ub2e4.\n\nExample: ``machine.enable_irq(interrupt_state)``\n\n:param state: ``disable_irq`` \ud568\uc218\uc5d0\uc11c \uac00\uc7a5 \ucd5c\uadfc\uc5d0 \ud638\ucd9c\ub41c \uac12\uc744 \ubc18\ud658\ud569\ub2c8\ub2e4.\"\"\"\n ...\n\ndef time_pulse_us(pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int=1000000) -> int:\n \"\"\"\ud540 \ud384\uc2a4 \uc2dc\uac04\uc744 \uce21\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``time_pulse_us(pin0, 1)``\n\nIf the current input value of the pin is different to ``pulse_level``, the\nfunction first waits until the pin input becomes equal to\n``pulse_level``, then times the duration that the pin is equal to\n``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\nstarts straight away.\n\n:param pin: (\ud540) \uc0ac\uc6a9\ud560 \ud540\n:param pulse_level: (\ud384\uc2a4 \ub808\ubca8) \ub85c\uc6b0 \ud384\uc2a4\uc758 \uc2dc\uac04\uc744 \uce21\uc815\ud558\ub824\uba74 0, \ud558\uc774 \ud384\uc2a4\ub294 1\n:param timeout_us: \ub9c8\uc774\ud06c\ub85c\ucd08 \uc2dc\uac04 \ucd08\uacfc\n:return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\"\"\"\n ...\n\nclass mem:\n \"\"\"``mem8``, ``mem16``, ``mem32`` \uba54\ubaa8\ub9ac \ubdf0 \ud074\ub798\uc2a4\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"\uba54\ubaa8\ub9ac \uac12\uc5d0 \uc561\uc138\uc2a4\ud569\ub2c8\ub2e4.\n\n:param address: \uba54\ubaa8\ub9ac \uc8fc\uc18c\uc785\ub2c8\ub2e4.\n:return: The value at that address as an integer.\"\"\"\n ...\n\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"\uc81c\uacf5\ub41c \uc8fc\uc18c\uc5d0 \uac12\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\n:param address: \uba54\ubaa8\ub9ac \uc8fc\uc18c\uc785\ub2c8\ub2e4.\n:param value: \uc124\uc815\ud560 \uc815\uc218\uac12\uc785\ub2c8\ub2e4.\"\"\"\n ...\nmem8: mem\n\"\"\"8\ube44\ud2b8(\ubc14\uc774\ud2b8) \uba54\ubaa8\ub9ac \ubdf0\uc785\ub2c8\ub2e4.\"\"\"\nmem16: mem\n\"\"\"16\ube44\ud2b8 \uba54\ubaa8\ub9ac \ubdf0\uc785\ub2c8\ub2e4.\"\"\"\nmem32: mem\n\"\"\"32\ube44\ud2b8 \uba54\ubaa8\ub9ac \ubdf0\uc785\ub2c8\ub2e4.\"\"\"", + "/typeshed/stdlib/math.pyi": "\"\"\"\uc218\ud559 \ud568\uc218\uc785\ub2c8\ub2e4.\"\"\"\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"\ucf54\uc0ac\uc778\uc758 \uc5ed\uc744 \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.acos(1)``\n\n:param x: \uc22b\uc790\n:return: The inverse cosine of ``x``\"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"\uc0ac\uc778\uc758 \uc5ed\uc744 \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.asin(0)``\n\n:param x: \uc22b\uc790\n:return: The inverse sine of ``x``\"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"\ud0c4\uc820\ud2b8\uc758 \uc5ed\uc744 \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.atan(0)``\n\n:param x: \uc22b\uc790\n:return: The inverse tangent of ``x``\"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"``y/x``\uc758 \uc5ed \ud0c4\uc820\ud2b8\uc758 \uc8fc \uac12\uc744 \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.atan2(0, -1)``\n\n:param y: \uc22b\uc790\n:param x: \uc22b\uc790\n:return: The principal value of the inverse tangent of ``y/x``\"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"\uc591\uc758 \ubb34\ud55c\ub300\ub85c \uc22b\uc790\ub97c \ubc18\uc62c\ub9bc\ud569\ub2c8\ub2e4.\n\nExample: ``math.ceil(0.1)``\n\n:param x: \uc22b\uc790\n:return: ``x`` rounded towards positive infinity.\"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"``y``\uc758 \uc0ac\uc778 \uac12\uc73c\ub85c ``x``\ub97c \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.copysign(1, -1)``\n\n:param x: \uc22b\uc790\n:param y: \ubc18\ud658\uac12\uc758 \uc0ac\uc778\uc758 \ucd9c\ucc98\n:return: ``x`` with the sign of ``y``\"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"``x``\uc758 \ucf54\uc0ac\uc778\uc744 \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.cos(0)``\n\n:param x: \uc22b\uc790\n:return: The cosine of ``x``\"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"\ud638\ub3c4\ubc95\uc744 \uac01\ub3c4\ubc95\uc73c\ub85c \ubcc0\ud658\ud569\ub2c8\ub2e4. (\ub3c4)\n\nExample: ``math.degrees(2 * math.pi)``\n\n:param x: \ud638\ub3c4\ubc95 \uac12\n:return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"``x``\uc758 \uc9c0\uc218\ub97c \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.exp(1)``\n\n:param x: \uc22b\uc790\n:return: The exponential of ``x``.\"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"``x``\uc758 \uc808\ub313\uac12\uc744 \ubc18\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``math.fabs(-0.1)``\n\n:param x: \uc22b\uc790\n:return: The absolute value of ``x``\"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"\uc74c\uc758 \ubb34\ud55c\ub300\ub85c \uc22b\uc790\ub97c \ubc18\uc62c\ub9bc\ud569\ub2c8\ub2e4.\n\nExample: ``math.floor(0.9)``\n\n:param x: \uc22b\uc790\n:return: ``x`` rounded towards negative infinity.\"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"``x/y``\uc758 \ub098\uba38\uc9c0\ub97c \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.fmod(10, 3)``\n\n:param x: \ubd84\uc790\n:param y: \ubd84\ubaa8\"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"\ubd80\ub3d9 \uc18c\uc218\uc810 \uc218\ub97c \uac00\uc218\uc640 \uc9c0\uc218\ub85c \ubd84\ud574\ud569\ub2c8\ub2e4.\n\nExample: ``mantissa, exponent = math.frexp(2)``\n\nThe returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\nexactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\nthe relation ``0.5 <= abs(m) < 1`` holds.\n\n:param x: \ubd80\ub3d9 \uc18c\uc218\uc810 \uc218\n:return: A tuple of length two containing its mantissa then exponent\"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"\uac12\uc774 \uc720\ud55c\uac12\uc778\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``math.isfinite(float('inf'))``\n\n:param x: \uc22b\uc790\uc785\ub2c8\ub2e4.\n:return: ``True`` if ``x`` is finite, ``False`` otherwise.\"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"\uac12\uc774 \ubb34\ud55c\uc778\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``math.isinf(float('-inf'))``\n\n:param x: \uc22b\uc790\uc785\ub2c8\ub2e4.\n:return: ``True`` if ``x`` is infinite, ``False`` otherwise.\"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"\uac12\uc774 \uc22b\uc790\uac00 \uc544\ub2cc \uac12(NaN)\uc778\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``math.isnan(float('nan'))``\n\n:param x: \uc22b\uc790\n:return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"``x * (2**exp)``\ub97c \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.ldexp(0.5, 2)``\n\n:param x: \uc22b\uc790\n:param exp: \uc815\uc218 \uc9c0\uc218\n:return: ``x * (2**exp)``\"\"\"\n ...\n\ndef log(x: float, base: float=e) -> float:\n \"\"\"``x``\uc758 \ub85c\uadf8\ub97c \uc8fc\uc5b4\uc9c4 \ubca0\uc774\uc2a4\uc5d0 \ub530\ub77c \uacc4\uc0b0\ud569\ub2c8\ub2e4(\uae30\ubcf8\uac12\uc740 \uc790\uc5f0\ub85c\uadf8).\n\nExample: ``math.log(math.e)``\n\nWith one argument, return the natural logarithm of x (to base e).\n\nWith two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n:param x: \uc22b\uc790\n:param base: \uc0ac\uc6a9\ud560 \ubca0\uc774\uc2a4\n:return: The natural logarithm of ``x``\"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"``x``\uc758 \ubd84\uc218 \ubc0f \uc815\uc218 \ubd80\ubd84\uc744 \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``fractional, integral = math.modf(1.5)``\n\n:param x: \uc22b\uc790\n:return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\nBoth the fractional and integral values have the same sign as ``x``.\"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"``y``\uc758 \uc81c\uacf1\uc744 ``x``(\uc73c)\ub85c \ubc18\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``math.pow(4, 0.5)``\n\n:param x: \uc22b\uc790\n:param y: \uc9c0\uc218\n:return: ``x`` to the power of ``y``\"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"\uac01\ub3c4\ubc95\uc744 \ud638\ub3c4\ubc95\uc73c\ub85c \ubcc0\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``math.radians(360)``\n\n:param x: \uac01\ub3c4\ubc95 \uac12\n:return: The value converted to radians\"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"``x``\uc758 \uc0ac\uc778\uc744 \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.sin(math.pi/2)``\n\n:param x: \uc22b\uc790\n:return: The sine of ``x``\"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"``x``\uc758 \uc81c\uacf1\uadfc\uc744 \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.sqrt(4)``\n\n:param x: \uc22b\uc790\n:return: The square root of ``x``\"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"``x``\uc758 \ud0c4\uc820\ud2b8\ub97c \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.tan(0)``\n\n:param x: \uc22b\uc790\n:return: The tangent of ``x``.\"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"\uc22b\uc790\ub97c 0\uc73c\ub85c \ubc18\uc62c\ub9bc\ud569\ub2c8\ub2e4.\n\nExample: ``math.trunc(-0.9)``\n\n:param x: \uc22b\uc790\n:return: ``x`` rounded towards zero.\"\"\"\n ...\ne: float\n\"\"\"\uc790\uc5f0 \uc54c\uace0\ub9ac\uc998 \ubca0\uc774\uc2a4\"\"\"\npi: float\n\"\"\"\uc6d0\uc758 \uc6d0\uc8fc\uc640 \uc9c0\ub984\uc758 \ube44\uc728\"\"\"", + "/typeshed/stdlib/micropython.pyi": "\"\"\"MicroPython \ub0b4\ubd80 \uc815\ubcf4\uc785\ub2c8\ub2e4.\"\"\"\nfrom typing import Any, TypeVar, overload\n_T = TypeVar('_T')\n\ndef const(expr: _T) -> _T:\n \"\"\"\ucef4\ud30c\uc77c\ub7ec\uac00 \ucd5c\uc801\ud654\ud560 \uc218 \uc788\ub3c4\ub85d \ud574\ub2f9 \uc218\uc2dd\uc774 \uc0c1\uc218\uc784\uc744 \uc120\uc5b8\ud569\ub2c8\ub2e4.\n\nThe use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\nConstants declared this way are still accessible as global variables from\noutside the module they are declared in. On the other hand, if a constant\nbegins with an underscore then it is hidden, it is not available as a\nglobal variable, and does not take up any memory during execution.\n\n:param expr: \uc0c1\uc218 \ud45c\ud604\uc2dd\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"\uc2a4\ud06c\ub9bd\ud2b8\uc758 \ud604\uc7ac \ucef4\ud30c\uc77c \ucd5c\uc801\ud654 \ub808\ubca8\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``micropython.opt_level()``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n:return: An integer representing the current level.\"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"\uc2a4\ud06c\ub9bd\ud2b8\uc758 \ud6c4\uc18d \ucef4\ud30c\uc77c \ucd5c\uc801\ud654 \ub808\ubca8\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``micropython.opt_level(1)``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\nThe default optimisation level is usually level 0.\n\n:param level: \uc815\uc218\ub85c \ub41c \ucd5c\uc801\ud654 \ub808\ubca8\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\ndef mem_info(verbose: Any=None) -> None:\n \"\"\"\ud604\uc7ac \uc0ac\uc6a9 \uc911\uc778 \uba54\ubaa8\ub9ac\uc5d0 \ub300\ud55c \uc815\ubcf4\ub97c \ud504\ub9b0\ud2b8\ud569\ub2c8\ub2e4.\n\nExample: ``micropython.mem_info()``\n\n:param verbose: ``verbose`` \uc778\uc790\uac00 \uc8fc\uc5b4\uc9c0\uba74 \ucd94\uac00 \uc815\ubcf4\ub97c \ud504\ub9b0\ud2b8\ud569\ub2c8\ub2e4.\"\"\"\n ...\n\ndef qstr_info(verbose: Any=None) -> None:\n \"\"\"\ud604\uc7ac \ubc18\ud658\ub41c \ubb38\uc790\uc5f4\uc5d0 \ub300\ud55c \uc815\ubcf4\ub97c \ud504\ub9b0\ud2b8\ud569\ub2c8\ub2e4.\n\nExample: ``micropython.qstr_info()``\n\n:param verbose: ``verbose`` \uc778\uc790\uac00 \uc8fc\uc5b4\uc9c0\uba74 \ucd94\uac00 \uc815\ubcf4\ub97c \ud504\ub9b0\ud2b8\ud569\ub2c8\ub2e4.\n\nThe information that is printed is implementation dependent, but currently\nincludes the number of interned strings and the amount of RAM they use. In\nverbose mode it prints out the names of all RAM-interned strings.\"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"\ud604\uc7ac \uc0ac\uc6a9 \uc911\uc778 \uc2a4\ud0dd\uc758 \uc218\ub97c \ub098\ud0c0\ub0b4\ub294 \uc815\uc218\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``micropython.stack_use()``\n\nThe absolute value of this is not particularly useful, rather it\nshould be used to compute differences in stack usage at different points.\n\n:return: An integer representing current stack use.\"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"\ud799\uc744 \uc7a0\uae09\ub2c8\ub2e4.\n\nExample: ``micropython.heap_lock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"\ud799\uc744 \uc7a0\uae08 \ud574\uc81c\ud569\ub2c8\ub2e4.\n\nExample: ``micropython.heap_unlock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"``KeyboardInterrupt`` \uc608\uc678\ub97c \uc81c\uae30\ud560 \ubb38\uc790\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``micropython.kbd_intr(-1)``\n\n:param chr: \uc778\ud130\ub7fd\ud2b8\ub97c \uc81c\uae30\ud558\uae30 \uc704\ud55c \ubb38\uc790 \ucf54\ub4dc\uc785\ub2c8\ub2e4. -1\uc740 Ctrl-C \ucea1\ucc98\ub97c \ube44\ud65c\uc131\ud654\ud569\ub2c8\ub2e4.\n\nBy default this is set to 3 during script execution, corresponding to Ctrl-C.\nPassing -1 to this function will disable capture of Ctrl-C, and passing 3\nwill restore it.\n\nThis function can be used to prevent the capturing of Ctrl-C on the\nincoming stream of characters that is usually used for the REPL, in case\nthat stream is used for other purposes.\"\"\"\n ...", + "/typeshed/stdlib/music.pyi": "\"\"\"\uba5c\ub85c\ub514\ub97c \uc0dd\uc131\ud558\uace0 \uc7ac\uc0dd\ud569\ub2c8\ub2e4.\"\"\"\nfrom typing import Optional, Tuple, Union, List\nfrom .microbit import MicroBitDigitalPin, pin0\nDADADADUM: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \ubca0\ud1a0\ubca4\uc758 \uad50\ud5a5\uace1 \uc81c5\ubc88 \ub2e4 \ub2e8\uc870 \ub3c4\uc785\ubd80\uc785\ub2c8\ub2e4.\"\"\"\nENTERTAINER: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \uc2a4\ucf67 \uc870\ud50c\ub9b0\uc758 \ub798\uadf8\ud0c0\uc784 \uace0\uc804 \u201cThe Entertainer\u201d \ub3c4\uc785\ubd80 \uc77c\ubd80\uc785\ub2c8\ub2e4.\"\"\"\nPRELUDE: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \uc694\ud55c \uc81c\ubc14\uc2a4\ud2f0\uc548 \ubc14\ud750\uc758 48 Preludes and Fugues \ub2e4 \uc7a5\uc870 \uccab \uc804\uc8fc\uace1 \ub3c4\uc785\ubd80\uc785\ub2c8\ub2e4.\"\"\"\nODE: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \ubca0\ud1a0\ubca4\uc758 \uad50\ud5a5\uace1 \uc81c9\ubc88 \ub77c \ub2e8\uc870 \u201cOde to Joy\u201d \ud14c\ub9c8\uc785\ub2c8\ub2e4.\"\"\"\nNYAN: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: Nyan Cat \ud14c\ub9c8\uc785\ub2c8\ub2e4(http://www.nyan.cat/).\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\nRINGTONE: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \ud734\ub300\ud3f0 \ubca8\uc18c\ub9ac\uc640 \uc720\uc0ac\ud55c \uc18c\ub9ac\uc785\ub2c8\ub2e4.\n\nTo be used to indicate an incoming message.\n\"\"\"\nFUNK: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \ube44\ubc00 \uc694\uc6d0\uacfc \ucc9c\uc7ac \ubc94\uc8c4\uc790\uc5d0 \uc5b4\uc6b8\ub9ac\ub294 \ud391\ud0a4 \ubca0\uc774\uc2a4 \ub77c\uc778\uc785\ub2c8\ub2e4.\"\"\"\nBLUES: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \ubd80\uae30 \uc6b0\uae30 12\ubc14 \ube14\ub8e8\uc2a4 \uc6cc\ud0b9 \ubca0\uc774\uc2a4\uc785\ub2c8\ub2e4.\"\"\"\nBIRTHDAY: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \uc0dd\uc77c \ucd95\ud558 \ub178\ub798\uc785\ub2c8\ub2e4.\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\nWEDDING: Tuple[str, ...]\n\"\"\"Melody: \ubc14\uadf8\ub108\uc758 \uc624\ud398\ub77c \u201c\ub85c\uc5d4\uadf8\ub9b0\u201d\uc758 \uacb0\ud63c\uc2dd \ud569\ucc3d\uc785\ub2c8\ub2e4.\"\"\"\nFUNERAL: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \u201c\uc7a5\uc1a1\ud589\uc9c4\uace1\u201d\uc774\ub77c\uace0\ub3c4 \uc54c\ub824\uc9c4 \ud504\ub808\ub370\ub9ac\ud06c \uc1fc\ud33d\uc758 \ud53c\uc544\ub178 \uc18c\ub098\ud0c0 \uc81c2\ubc88 B\u266d \ub2e8\uc870 Op. 35\uc785\ub2c8\ub2e4.\"\"\"\nPUNCHLINE: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \ub18d\ub2f4\ud560 \ub54c \ub098\uc624\ub294 \uc7ac\ubbf8\uc788\ub294 \uba5c\ub85c\ub514\uc785\ub2c8\ub2e4.\"\"\"\nPYTHON: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \uc874 \ud544\ub9bd \uc218\uc790\uc758 \u201c\uc790\uc720\uc758 \uc885\u201d \ud589\uc9c4\uace1\uc785\ub2c8\ub2e4. \u201c\ubaac\ud2f0 \ud30c\uc774\ud2bc\uc758 \ube44\ud589 \uc11c\ucee4\uc2a4\u201d \ud14c\ub9c8\uace1\uc73c\ub85c\ub3c4 \uc54c\ub824\uc838 \uc788\uc2b5\ub2c8\ub2e4(Python \ud504\ub85c\uadf8\ub798\ubc0d \uc5b8\uc5b4\ub294 \ubaac\ud2f0 \ud30c\uc774\ud2bc\uc758 \uc774\ub984\uc5d0\uc11c \uc720\ub798\ud588\uc2b5\ub2c8\ub2e4).\"\"\"\nBADDY: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \ubb34\uc131 \uc601\ud654 \uc2dc\ub300\uc758 \uc545\ub2f9 \ub4f1\uc7a5 \uba5c\ub85c\ub514\uc785\ub2c8\ub2e4.\"\"\"\nCHASE: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \ubb34\uc131 \uc601\ud654 \uc2dc\ub300\uc758 \ucd94\uaca9 \uc7a5\uba74 \uba5c\ub85c\ub514\uc785\ub2c8\ub2e4.\"\"\"\nBA_DING: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514:\uc5b4\ub5a4 \uc77c\uc774 \uc77c\uc5b4\ub0ac\ub2e4\ub294 \uac83\uc744 \uc54c\ub824\uc8fc\ub294 \uc9e7\uc740 \uc2e0\ud638\uc74c\uc785\ub2c8\ub2e4.\"\"\"\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \uc544\uc8fc \uc2ac\ud508 \ud2b8\ub7fc\ubcf8 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\nJUMP_UP: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \uac8c\uc784\uc5d0\uc11c \uc704\ub85c \uc6c0\uc9c1\uc774\ub294 \uac83\uc744 \ud45c\ud604\ud558\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \uac8c\uc784\uc5d0\uc11c \uc544\ub798\ub85c \uc6c0\uc9c1\uc774\ub294 \uac83\uc744 \ud45c\ud604\ud558\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\nPOWER_UP: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \uc5c5\uc801 \ub2ec\uc131\uc744 \uc54c\ub9ac\ub294 \ud321\ud30c\ub974 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \uc5c5\uc801 \ub2ec\uc131 \uc2e4\ud328\ub97c \uc758\ubbf8\ud558\ub294 \uc2ac\ud508 \ud321\ud30c\ub974 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n\ndef set_tempo(ticks: int=4, bpm: int=120) -> None:\n \"\"\"\ud50c\ub808\uc774\ubc31\uc758 \ube60\ub974\uae30\ub97c \ub300\ub7b5\uc801\uc73c\ub85c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``music.set_tempo(bpm=120)``\n\n:param ticks: \ube44\ud2b8 \ud558\ub098\ub97c \uad6c\uc131\ud558\ub294 \ud2f1\uc758 \uc218\uc785\ub2c8\ub2e4.\n:param bpm: \ubd84\ub2f9 \ube44\ud2b8 \uc218\ub97c \uacb0\uc815\ud558\ub294 \uc815\uc218\uc785\ub2c8\ub2e4.\n\nSuggested default values allow the following useful behaviour:\n\n- music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n- music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n- music.set_tempo(bpm=180) \u2013 just change the tempo\n\nTo work out the length of a tick in milliseconds is very simple arithmetic:\n60000/bpm/ticks_per_beat. For the default values that\u2019s\n60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"\ud604\uc7ac \ube60\ub974\uae30\ub97c \uc815\uc218 \ud29c\ud50c\ub85c \uac00\uc838\uc635\ub2c8\ub2e4: ``(ticks, bpm)``.\n\nExample: ``ticks, beats = music.get_tempo()``\n\n:return: The temp as a tuple with two integer values, the ticks then the beats per minute.\"\"\"\n ...\n\ndef play(music: Union[str, List[str], Tuple[str, ...]], pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True, loop: bool=False) -> None:\n \"\"\"\uc74c\uc545\uc744 \uc7ac\uc0dd\ud569\ub2c8\ub2e4.\n\nExample: ``music.play(music.NYAN)``\n\n:param music: `\ubcc4\ucca8 `_\uc5d0 \uba85\uc2dc\ub41c \uc74c\uc545\n:param pin: (\ud540) \uc678\uc7a5 \uc2a4\ud53c\ucee4\uc5d0 \uc0ac\uc6a9\ud560 \ucd9c\ub825 \ud540\uc785\ub2c8\ub2e4(\uae30\ubcf8\uac12 ``pin0``). ``None``\uc73c\ub85c \uc124\uc815\ud558\uba74 \uc18c\ub9ac\uac00 \uc7ac\uc0dd\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.\n:param wait: ``wait``\uc774 ``True``\ub85c \uc124\uc815\ub41c \uacbd\uc6b0 \uc774 \uae30\ub2a5\uc740 \ube14\ub85c\ud0b9 \uc0c1\ud0dc\uac00 \ub429\ub2c8\ub2e4.\n:param loop: ``loop``\uac00 ``True``\uc778 \uacbd\uc6b0 ``stop``\uc774 \ud638\ucd9c\ub418\uac70\ub098 \ube14\ub85c\ud0b9 \ud638\ucd9c\uc774 \uc778\ud130\ub7fd\ud2b8\ub418\uae30 \uc804\uae4c\uc9c0 \uacc4\uc18d \ubc18\ubcf5\ub429\ub2c8\ub2e4.\n\nMany built-in melodies are defined in this module.\"\"\"\n ...\n\ndef pitch(frequency: int, duration: int=-1, pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True) -> None:\n \"\"\"\uc74c\uc744 \uc7ac\uc0dd\ud569\ub2c8\ub2e4. (\uc55e-\ub4a4 \uae30\uc6b8\uae30)\n\nExample: ``music.pitch(185, 1000)``\n\n:param frequency: (\uc9c4\ub3d9\uc218) \uc815\uc218 \uc9c4\ub3d9\uc218\uc785\ub2c8\ub2e4.\n:param duration: \ubc00\ub9ac\ucd08 \ub2e8\uc704\uc758 \uae30\uac04\uc785\ub2c8\ub2e4. \uc74c\uc218\uc778 \uacbd\uc6b0 \uc18c\ub9ac\uac00 \ub2e4\uc74c \ud638\ucd9c \ub610\ub294 ``stop`` \ud638\ucd9c\uae4c\uc9c0 \uacc4\uc18d \uc7ac\uc0dd\ub429\ub2c8\ub2e4.\n:param pin: (\ud540) \ucd9c\ub825 \ud540\uc785\ub2c8\ub2e4(\uae30\ubcf8\uac12 ``pin0``)(\uc120\ud0dd \uc0ac\ud56d).\n:param wait: ``wait``\uc774 ``True``\ub85c \uc124\uc815\ub41c \uacbd\uc6b0 \uc774 \uae30\ub2a5\uc740 \ube14\ub85c\ud0b9 \uc0c1\ud0dc\uac00 \ub429\ub2c8\ub2e4.\n\nFor example, if the frequency is set to 440 and the length to\n1000 then we hear a standard concert A for one second.\n\nYou can only play one pitch on one pin at any one time.\"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"\ub0b4\uc7a5 \uc2a4\ud53c\ucee4\uc640 \ud540\uc73c\ub85c \ucd9c\ub825\ub418\ub294 \ubaa8\ub4e0 \uc74c\uc545 \ud50c\ub808\uc774\ubc31\uc744 \uba48\ucda5\ub2c8\ub2e4.\n\nExample: ``music.stop()``\n\n:param pin: (\ud540) \ud540\uc744 \ud2b9\uc815\ud558\uae30 \uc704\ud55c \uc778\uc790\uc785\ub2c8\ub2e4(\uc608: ``music.stop(pin1)``)(\uc120\ud0dd \uc0ac\ud56d).\"\"\"\n\ndef reset() -> None:\n \"\"\"\ud2f1, bpm, \uae30\uac04 \ubc0f \uc625\ud0c0\ube0c\ub97c \uae30\ubcf8\uac12\uc73c\ub85c \ucd08\uae30\ud654\ud569\ub2c8\ub2e4.\n\nExample: ``music.reset()``\n\nValues:\n- ``ticks = 4``\n- ``bpm = 120``\n- ``duration = 4``\n- ``octave = 4``\"\"\"\n ...", + "/typeshed/stdlib/neopixel.pyi": "\"\"\"\uac1c\ubcc4 \uc8fc\uc18c\ub97c \uc9c0\uc815\ud560 \uc218 \uc788\ub294 RGB \ubc0f RGBW LED \uc2a4\ud2b8\ub9bd\uc785\ub2c8\ub2e4.\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"\ud540\uc73c\ub85c \uc81c\uc5b4\ub418\ub294 \uc0c8\ub85c\uc6b4 \uc2a4\ud2b8\ub9bd\uc758 \ub124\uc624\ud53d\uc140 LED\ub97c \uc2dc\uc791\ud569\ub2c8\ub2e4. (string)\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: (\ud540) \ub124\uc624\ud53d\uc140 \uc2a4\ud2b8\ub9bd\uc744 \uc81c\uc5b4\ud558\ub294 \ud540\uc785\ub2c8\ub2e4.\n:param n: \uc2a4\ud2b8\ub9bd\uc758 \ub124\uc624\ud53d\uc140 \uc218\uc785\ub2c8\ub2e4.\n:param bpp: \ud53d\uc140\ub2f9 \ubc14\uc774\ud2b8\uc785\ub2c8\ub2e4. RGBW \ub124\uc624\ud53d\uc140 \uc9c0\uc6d0\uc744 \uc704\ud574\uc11c\ub294 RGB \ubc0f GRB\uc758 \uae30\ubcf8\uac12 3 \ub300\uc2e0 4\ub97c \ud328\uc2a4\ud574\uc57c \ud569\ub2c8\ub2e4.\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"\ubaa8\ub4e0 \ud53d\uc140\uc744 \uc9c0\uc6c1\ub2c8\ub2e4.\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"\ud53d\uc140\uc744 \ud45c\uc2dc\ud569\ub2c8\ub2e4.\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"\ud53d\uc140\uc744 \ud45c\uc2dc\ud569\ub2c8\ub2e4(micro:bit V2 \uc804\uc6a9).\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"\ubaa8\ub4e0 \ud53d\uc140\uc5d0 \uc8fc\uc5b4\uc9c4 RGB/RGBW \uac12\uc744 \uce60\ud569\ub2c8\ub2e4(micro:bit V2 \uc804\uc6a9).\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: \ud53d\uc140 \ub2f9 \ubc14\uc774\ud2b8 \uc218(bpp)\uc640 \uac19\uc740 \uae38\uc774\uc758 \ud29c\ud50c\uc785\ub2c8\ub2e4.\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"\ud53d\uc140 \uc0c9\uc0c1\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: \ud53d\uc140 \ubc88\ud638\uc785\ub2c8\ub2e4.\n:param value: \uc0c9\uc0c1\uc785\ub2c8\ub2e4.\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"\ud53d\uc140 \uc0c9\uc0c1\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``r, g, b = np[0]``\n\n:param key: \ud53d\uc140 \ubc88\ud638\uc785\ub2c8\ub2e4.\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"\uc774 \ud53d\uc140 \uc2a4\ud2b8\ub9bd\uc758 \uae38\uc774\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``len(np)``\"\"\"", + "/typeshed/stdlib/os.pyi": "\"\"\"\ud30c\uc77c \uc2dc\uc2a4\ud15c\uc5d0 \uc561\uc138\uc2a4\ud569\ub2c8\ub2e4.\"\"\"\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"\ud30c\uc77c\uc744 \ub098\uc5f4\ud569\ub2c8\ub2e4.\n\nExample: ``os.listdir()``\n\n:return: A list of the names of all the files contained within the local\npersistent on-device file system.\"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"\ud30c\uc77c\uc744 \uc81c\uac70(\uc0ad\uc81c)\ud569\ub2c8\ub2e4.\n\nExample: ``os.remove('data.txt')``\n\n:param filename: \uc0ad\uc81c\ud560 \ud30c\uc77c\uc785\ub2c8\ub2e4.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"\ud30c\uc77c\uc758 \ud06c\uae30\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``os.size('data.txt')``\n\n:param filename: \ud30c\uc77c\n:return: The size in bytes.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"``os.uname()``\uc758 \uacb0\uacfc\"\"\"\n sysname: str\n \"\"\"\uc6b4\uc601 \uccb4\uc81c \uc774\ub984\uc785\ub2c8\ub2e4.\"\"\"\n nodename: str\n \"\"\"\ub124\ud2b8\uc6cc\ud06c\uc0c1\uc758 \uba38\uc2e0 \uc774\ub984\uc785\ub2c8\ub2e4(\uad6c\ud604 \ubc29\ubc95\uc5d0 \ub530\ub77c \uc815\uc758\ub428).\"\"\"\n release: str\n \"\"\"\uc6b4\uc601 \uccb4\uc81c \ub9b4\ub9ac\uc2a4\uc785\ub2c8\ub2e4.\"\"\"\n version: str\n \"\"\"\uc6b4\uc601 \uccb4\uc81c \ubc84\uc804\uc785\ub2c8\ub2e4.\"\"\"\n machine: str\n \"\"\"\ud558\ub4dc\uc6e8\uc5b4 \uc2dd\ubcc4\uc790\uc785\ub2c8\ub2e4.\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"\ud604\uc7ac \uc6b4\uc601 \uc2dc\uc2a4\ud15c\uc744 \uc2dd\ubcc4\ud558\ub294 \uc815\ubcf4\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``os.uname()``\n\nThe return value is an object with five attributes:\n\n- ``sysname`` - operating system name\n- ``nodename`` - name of machine on network (implementation-defined)\n- ``release`` - operating system release\n- ``version`` - operating system version\n- ``machine`` - hardware identifier\n\nThere is no underlying operating system in MicroPython. As a result the\ninformation returned by the ``uname`` function is mostly useful for\nversioning details.\"\"\"\n ...", + "/typeshed/stdlib/power.pyi": "\"\"\"Manage the power modes of the micro:bit (V2 only).\n\"\"\"\n\nfrom microbit import MicroBitDigitalPin, Button\nfrom typing import Optional, Tuple, Union\n\ndef off() -> None:\n \"\"\"Power down the board to the lowest possible power mode.\n\n Example: ``power.off()``\n\n This is the equivalent to pressing the reset button for a few seconds,\n to set the board in \"Off mode\".\n\n The micro:bit will only wake up if the reset button is pressed or,\n if on battery power, when a USB cable is connected.\n\n When the board wakes up it will start for a reset state, so your program\n will start running from the beginning.\n \"\"\"\n ...\n\ndef deep_sleep(\n ms: Optional[int] = None,\n wake_on: Optional[\n Union[MicroBitDigitalPin, Button] | Tuple[MicroBitDigitalPin | Button, ...]\n ] = None,\n run_every: bool = True,\n) -> None:\n \"\"\"Set the micro:bit into a low power mode where it can wake up and continue operation.\n\n Example: ``power.deep_sleep(wake_on=(button_a, button_b))``\n\n The program state is preserved and when it wakes up it will resume\n operation where it left off.\n\n Deep Sleep mode will consume more battery power than Off mode.\n\n The wake up sources are configured via arguments.\n\n The board will always wake up when receiving UART data, when the reset\n button is pressed (which resets the board) or, in battery power,\n when the USB cable is inserted.\n\n When the ``run_every`` parameter is set to ``True`` (the default), any\n function scheduled with ``run_every`` will momentarily wake up the board\n to run and when it finishes it will go back to sleep.\n\n :param ms: A time in milliseconds to wait before it wakes up.\n :param wake_on: A single instance or a tuple of pins and/or buttons to wake up the board, e.g. ``deep_sleep(wake_on=button_a)`` or ``deep_sleep(wake_on=(pin0, pin2, button_b))``.\n :param run_every: A boolean to configure if the functions scheduled with ``microbit.run_every`` will continue to run while it sleeps.\n \"\"\"\n ...\n", + "/typeshed/stdlib/radio.pyi": "\"\"\"\ub0b4\uc7a5 \ub77c\ub514\uc624\ub97c \uc0ac\uc6a9\ud574 micro:bit\ub07c\ub9ac \ud1b5\uc2e0\ud569\ub2c8\ub2e4.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\nRATE_1MBIT: int\n\"\"\"\ucd08\ub2f9 1 MBit\uc758 \ucc98\ub9ac\uc728\uc744 \uc9c0\uc815\ud558\ub294 \ub370 \uc0ac\uc6a9\ud558\ub294 \uc0c1\uc218\"\"\"\nRATE_2MBIT: int\n\"\"\"\ucd08\ub2f9 2 MBit\uc758 \ucc98\ub9ac\uc728\uc744 \uc9c0\uc815\ud558\ub294 \ub370 \uc0ac\uc6a9\ud558\ub294 \uc0c1\uc218.\"\"\"\n\ndef on() -> None:\n \"\"\"\ub77c\ub514\uc624\ub97c \ucf2d\ub2c8\ub2e4.\n\nExample: ``radio.on()``\n\nThis needs to be explicitly called since the radio draws power and takes\nup memory that you may otherwise need.\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"\ub77c\ub514\uc624\ub97c \uaebc \uc804\ub825\uacfc \uba54\ubaa8\ub9ac\ub97c \uc808\uc57d\ud569\ub2c8\ub2e4.\n\nExample: ``radio.off()``\"\"\"\n ...\n\ndef config(length: int=32, queue: int=3, channel: int=7, power: int=6, address: int=1969383796, group: int=0, data_rate: int=RATE_1MBIT) -> None:\n \"\"\"\ub77c\ub514\uc624\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``radio.config(group=42)``\n\nThe default configuration is suitable for most use.\n\n:param length: (\uae30\ubcf8\uac12=32) \ub77c\ub514\uc624\ub97c \ud1b5\ud574 \uc804\uc1a1\ub418\ub294 \uba54\uc2dc\uc9c0\uc758 \ucd5c\ub300 \uae38\uc774\ub97c \ubc14\uc774\ud2b8\ub85c \uc815\uc758\ud569\ub2c8\ub2e4.\n\ucd5c\ub300 251\ubc14\uc774\ud2b8\uae4c\uc9c0 \uc815\uc758\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4(S0, LENGTH \ubc0f S1 \ud504\ub9ac\uc570\ube14\uc758 \uacbd\uc6b0 254 - 3\ubc14\uc774\ud2b8).\n:param queue: (\uae30\ubcf8\uac12=3) \uc218\uc2e0 \uba54\uc2dc\uc9c0 \ub300\uae30\uc5f4\uc5d0 \ubcf4\uad00\ud560 \uc218 \uc788\ub294 \uba54\uc2dc\uc9c0\uc758 \uc218\ub97c \ud2b9\uc815\ud569\ub2c8\ub2e4. \ub9cc\uc57d \uc218\uc2e0 \uba54\uc2dc\uc9c0\uc758 \ub300\uae30\uc5f4 \uacf5\uac04\uc774 \ubd80\uc871\ud558\ub2e4\uba74 \uc218\uc2e0 \uba54\uc2dc\uc9c0\ub294 \ub4dc\ub86d\ub429\ub2c8\ub2e4.\n:param channel: (\uae30\ubcf8\uac12=7) \uc784\uc758\uc758 \"\ucc44\ub110\"\uc744 \ub77c\ub514\uc624 \ucc44\ub110\ub85c \uc124\uc815\ud558\ub294 0\ubd80\ud130 83\uae4c\uc9c0\uc758 \uc815\uc218(\uacbd\uacc4\uac12 \ud3ec\ud568)\uc785\ub2c8\ub2e4. \uba54\uc2dc\uc9c0\ub294 \uc774 \ucc44\ub110\ub85c \uc804\uc1a1\ub418\uba70 \uc774 \ucc44\ub110\uc744 \ud1b5\ud574 \ubc1b\uc740 \uba54\uc2dc\uc9c0\ub9cc \uc218\uc2e0 \uba54\uc2dc\uc9c0 \ub300\uae30\uc5f4\uc5d0 \ub4f1\ub85d\ub429\ub2c8\ub2e4. 2400MHz \uae30\uc900\uc73c\ub85c \uac01 \ub2e8\uacc4\ub294 1MHz \ub300\uc5ed\uc785\ub2c8\ub2e4.\n:param power: (\uae30\ubcf8\uac12=6) 0\ubd80\ud130 7\uc758 \uc815\uc218\uac12(\uacbd\uacc4\uac12 \ud3ec\ud568)\uc73c\ub85c \uba54\uc2dc\uc9c0\ub97c \uc1a1\ucd9c\ud560 \ub54c\uc758 \uc2e0\ud638 \uac15\ub3c4\ub97c \ud45c\ud604\ud569\ub2c8\ub2e4.\n\uac12\uc774 \ub192\uc744 \uc218\ub85d \uc2e0\ud638\ub294 \uac15\ud574\uc9c0\uc9c0\ub9cc \uc7a5\uce58\uc758 \uc804\ub825\uc744 \ub354 \uc18c\ubaa8\ud569\ub2c8\ub2e4. \uac01 \uc22b\uc790\ub294 \ub2e4\uc74c dBm(\ub370\uc2dc\ubca8 \ubc00\ub9ac\uc640\ud2b8)\uac12 \ub9ac\uc2a4\ud2b8\uc758 \uc704\uce58\ub85c \ubcc0\ud658\ub429\ub2c8\ub2e4: -30, -20, -16, -12, -8, -4, 0, 4.\n:param address: (\uae30\ubcf8=0x75626974) 32\ube44\ud2b8\ub85c \ud45c\ud604\ub418\ub294 \uc784\uc758\uc758 \uc774\ub984\uc785\ub2c8\ub2e4. \ud558\ub4dc\uc6e8\uc5b4 \ub808\ubca8\uc5d0\uc11c \uc218\uc2e0 \ud328\ud0b7\uc744 \ud544\ud130\ub9c1\ud558\ub294 \ub370 \uc0ac\uc6a9\ub418\uba70 \uc124\uc815\ud55c \uc8fc\uc18c\uc640 \uc77c\uce58\ud558\ub294 \ud328\ud0b7\ub9cc \uc720\uc9c0\ud569\ub2c8\ub2e4. \ub2e4\ub978 micro:bit \uad00\ub828 \ud50c\ub7ab\ud3fc\uc774 \uc0ac\uc6a9\ud558\ub294 \uae30\ubcf8\uac12\uc740 \uc5ec\uae30\uc5d0\uc11c\ub3c4 \uc0ac\uc6a9\ub429\ub2c8\ub2e4.\n:param group: \uba54\uc2dc\uc9c0\ub97c \ud544\ud130\ub9c1\ud560 \ub54c ``address``\uc640 \ud568\uaed8 \uc0ac\uc6a9\ub418\ub294 8\ube44\ud2b8 \uac12(0~255)\uc785\ub2c8\ub2e4. \uac1c\ub150\uc0c1 \"address(\uc8fc\uc18c)\"\ub294 \uc9d1/\uc0ac\ubb34\uc2e4 \uc8fc\uc18c, \"group(\uadf8\ub8f9)\"\uc740 \ud574\ub2f9 \uc8fc\uc18c\uc5d0\uc11c \uba54\uc2dc\uc9c0\ub97c \ubcf4\ub0b4\uace0\uc790 \ud558\ub294 \uc778\ubb3c\uc785\ub2c8\ub2e4.\n:param data_rate: (default=``radio.RATE_1MBIT``) \ub370\uc774\ud130 \ucc98\ub9ac\uc728\uc758 \uc18d\ub3c4\ub97c \uc9c0\uc815\ud569\ub2c8\ub2e4. ``radio`` \ubaa8\ub4c8\uc758 \ub2e4\uc74c \uc0c1\uc218 \uc911 \ud558\ub098\uac00 \ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4: ``RATE_250KBIT``, ``RATE_1MBIT`` \ub610\ub294 ``RATE_2MBIT``.\n\nIf ``config`` is not called then the defaults described above are assumed.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"\uc124\uc815\uc744 \uae30\ubcf8\uac12\uc73c\ub85c \ucd08\uae30\ud654\ud569\ub2c8\ub2e4.\n\nExample: ``radio.reset()``\n\nThe defaults as as per the ``config`` function above.\"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"\ubc14\uc774\ud2b8\uac00 \ud3ec\ud568\ub41c \uba54\uc2dc\uc9c0\ub97c \uc804\uc1a1\ud569\ub2c8\ub2e4.\n\nExample: ``radio.send_bytes(b'hello')``\n\n:param message: \uc804\uc1a1\ud560 \ubc14\uc774\ud2b8\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"\uba54\uc2dc\uc9c0 \ub300\uae30\uc5f4\uc5d0 \uc788\ub294 \ub2e4\uc74c \uc218\uc2e0 \uba54\uc2dc\uc9c0\ub97c \ubc1b\uc2b5\ub2c8\ub2e4.\n\nExample: ``radio.receive_bytes()``\n\n:return: The message bytes if any, otherwise ``None``.\"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"\uba54\uc2dc\uc9c0 \ub300\uae30\uc5f4\uc5d0 \uc788\ub294 \ub2e4\uc74c \uc218\uc2e0 \uba54\uc2dc\uc9c0\ub97c \ubc84\ud37c\uc5d0 \ubcf5\uc0ac\ud569\ub2c8\ub2e4.\n\nExample: ``radio.receive_bytes_info(buffer)``\n\n:param buffer: \ubaa9\ud45c \ubc84\ud37c\uc785\ub2c8\ub2e4. \uba54\uc2dc\uc9c0\uac00 \ubc84\ud37c\ubcf4\ub2e4 \ud06c\uba74 \uba54\uc2dc\uc9c0\uac00 \uc798\ub9bd\ub2c8\ub2e4.\n:return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"\uba54\uc2dc\uc9c0 \ubb38\uc790\uc5f4\uc744 \uc804\uc1a1\ud569\ub2c8\ub2e4.\n\nExample: ``radio.send('hello')``\n\nThis is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\nprepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n:param message: \uc804\uc1a1\ud560 \ubb38\uc790\uc5f4\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"``receive_bytes``\uc640 \uc815\ud655\ud788 \ub3d9\uc77c\ud55c \uc791\uc5c5\uc744 \ud558\uc9c0\ub9cc \ubaa8\ub4e0 \uc804\uc1a1 \ud56d\ubaa9\uc744 \ubc18\ud658\ud55c\ub2e4\ub294 \ucc28\uc774\uac00 \uc788\uc2b5\ub2c8\ub2e4.\n\nExample: ``radio.receive()``\n\nEquivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\nthree bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\nmay target the micro:bit).\n\n:return: The message with the prepended bytes stripped and converted to a string.\n\nA ``ValueError`` exception is raised if conversion to string fails.\"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"\uba54\uc2dc\uc9c0 \ub300\uae30\uc5f4\uc5d0 \uc788\ub294 \ub2e4\uc74c \uc218\uc2e0 \uba54\uc2dc\uc9c0\uc758 \uc815\ubcf4\ub97c \uc138 \uc885\ub958\uc758 \uac12\uc774 \ud3ec\ud568\ub41c \ud29c\ud50c\ub85c \ubc18\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``radio.receive_full()``\n\nIf there are no pending messages then ``None`` is returned.\n\nThe three values in the tuple represent:\n\n- the next incoming message on the message queue as bytes.\n- the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n- a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\nFor example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\nThis function is useful for providing information needed for triangulation\nand/or trilateration with other micro:bit devices.\n\n:return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\"\"\"\n ...", + "/typeshed/stdlib/random.pyi": "\"\"\"\ubb34\uc791\uc704 \uc22b\uc790\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\"\"\"\nfrom typing import TypeVar, Sequence, Union, overload\n\ndef getrandbits(n: int) -> int:\n \"\"\"\ubb34\uc791\uc704 \ube44\ud2b8\uac00 ``n``\uac1c \uc788\ub294 \uc815\uc218\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``random.getrandbits(1)``\n\n:param n: 1~30 \uc0ac\uc774\uc758 \uac12\uc785\ub2c8\ub2e4(\uacbd\uacc4\uac12 \ud3ec\ud568).\"\"\"\n ...\n\ndef seed(n: int) -> None:\n \"\"\"\ubb34\uc791\uc704 \uc22b\uc790 \uc0dd\uc131\uae30\ub97c \ucd08\uae30\ud654\ud569\ub2c8\ub2e4.\n\nExample: ``random.seed(0)``\n\n:param n: \uc815\uc218 \uc2dc\ub4dc\n\nThis will give you reproducibly deterministic randomness from a given starting\nstate (``n``).\"\"\"\n ...\n\ndef randint(a: int, b: int) -> int:\n \"\"\"``a``\ubd80\ud130 ``b``\uae4c\uc9c0 \uc911 \ubb34\uc791\uc704 \uc815\uc218\ub97c \uc120\ud0dd\ud569\ub2c8\ub2e4(\uacbd\uacc4\uac12 \ud3ec\ud568).\n\nExample: ``random.randint(0, 9)``\n\n:param a: \ubc94\uc704 \uc2dc\uc791 \uac12(\uacbd\uacc4\uac12 \ud3ec\ud568)\n:param b: \ubc94\uc704 \uc885\ub8cc \uac12(\uacbd\uacc4\uac12 \ud3ec\ud568)\n\nAlias for ``randrange(a, b + 1)``.\"\"\"\n ...\n\n@overload\ndef randrange(stop: int) -> int:\n \"\"\"0\uacfc``stop``\uc0ac\uc774\uc758 \ubb34\uc791\uc704 \uc815\uc218\ub97c \uc120\ud0dd\ud569\ub2c8\ub2e4(\uacbd\uacc4\uac12 \uc81c\uc678).\n\nExample: ``random.randrange(10)``\n\n:param stop: \ubc94\uc704 \uc885\ub8cc \uac12(\uacbd\uacc4\uac12 \uc81c\uc678)\"\"\"\n ...\n\n@overload\ndef randrange(start: int, stop: int, step: int=1) -> int:\n \"\"\"``range(start, stop, step)``\uc5d0\uc11c \ubb34\uc791\uc704\ub85c \uc815\ud574\uc9c0\ub294 \uc694\uc18c\ub97c \uc120\ud0dd\ud569\ub2c8\ub2e4.\n\nExample: ``random.randrange(0, 10)``\n\n:param start: \ubc94\uc704 \uc2dc\uc791(\uacbd\uacc4\uac12 \ud3ec\ud568)\n:param stop: \ubc94\uc704 \ub05d(\uacbd\uacc4\uac12 \uc81c\uc678)\n:param step: \uac78\uc74c \uc218\uc785\ub2c8\ub2e4.\"\"\"\n ...\n_T = TypeVar('_T')\n\ndef choice(seq: Sequence[_T]) -> _T:\n \"\"\"\uacf5\ubc31\uc774 \uc544\ub2cc ``seq`` \uc2dc\ud000\uc2a4\ub85c\ubd80\ud130 \ubb34\uc791\uc704 \uc694\uc18c\ub97c \uc120\ud0dd\ud569\ub2c8\ub2e4.\n\nExample: ``random.choice([Image.HAPPY, Image.SAD])``\n\n:param seq: \uc2dc\ud000\uc2a4\uc785\ub2c8\ub2e4.\n\nIf ``seq`` is empty, raises ``IndexError``.\"\"\"\n ...\n\ndef random() -> float:\n \"\"\"[0.0, 1.0) \ubc94\uc704 \ub0b4\uc758 \ubb34\uc791\uc704 \ubd80\ub3d9 \uc18c\uc218\uc810 \uc218\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``random.random()``\n\n:return: The random floating point number\"\"\"\n ...\n\ndef uniform(a: float, b: float) -> float:\n \"\"\"\uacbd\uacc4\uac12\uc744 \ud3ec\ud568\ud55c ``a``\uc640 ``b``\uc0ac\uc774\uc758 \ubb34\uc791\uc704 \ubd80\ub3d9 \uc18c\uc218\uc810 \uc218\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``random.uniform(0, 9)``\n\n:param a: \ubc94\uc704 \uc2dc\uc791 \uac12(\uacbd\uacc4\uac12 \ud3ec\ud568)\n:param b: \ubc94\uc704 \uc885\ub8cc \uac12(\uacbd\uacc4\uac12 \ud3ec\ud568)\"\"\"\n ...", + "/typeshed/stdlib/speech.pyi": "\"\"\"micro:bit\uc774 \ub9d0\ud558\uace0 \ub178\ub798\ubd80\ub974\uace0 \uc18c\ub9ac\ub97c \uc7ac\uc0dd\ud558\uac8c \ud569\ub2c8\ub2e4.\"\"\"\nfrom typing import Optional\nfrom .microbit import MicroBitDigitalPin, pin0\n\ndef translate(words: str) -> str:\n \"\"\"\uc601\ub2e8\uc5b4\ub97c \uc74c\uc18c\ub85c \ubcc0\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``speech.translate('hello world')``\n\n:param words: \uc601\ub2e8\uc5b4 \ubb38\uc790\uc5f4\uc785\ub2c8\ub2e4.\n:return: A string containing a best guess at the appropriate phonemes to pronounce.\nThe output is generated from this `text to phoneme translation table `_.\n\nThis function should be used to generate a first approximation of phonemes\nthat can be further hand-edited to improve accuracy, inflection and\nemphasis.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef pronounce(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"\uc74c\uc18c\ub97c \ubc1c\uc74c\ud569\ub2c8\ub2e4.\n\nExample: ``speech.pronounce(' /HEHLOW WERLD')``\n\n:param phonemes: \ubc1c\uc74c\ud560 \uc74c\uc18c\uc758 \ubb38\uc790\uc5f4\n:param pitch: (\uc55e-\ub4a4 \uae30\uc6b8\uae30) \ubaa9\uc18c\ub9ac\uc758 \uc74c\ub192\uc774\ub97c \ud45c\ud604\ud558\ub294 \uc22b\uc790\n:param speed: \ubaa9\uc18c\ub9ac\uc758 \uc18d\ub3c4\ub97c \ud45c\ud604\ud558\ub294 \uc22b\uc790\n:param mouth: \ubaa9\uc18c\ub9ac\uc758 \uc785 \ubaa8\uc591\uc744 \ud45c\ud604\ud558\ub294 \uc22b\uc790\n:param throat: \ubaa9\uc18c\ub9ac\uc758 \ubaa9 \ubaa8\uc591\uc744 \ud45c\ud604\ud558\ub294 \uc22b\uc790\n:param pin: (\ud540) ``pin0``\uc758 \uae30\ubcf8\uac12\uc744 \ub36e\uc5b4\uc4f0\uace0 \ucd9c\ub825 \ud540\uc744 \ud2b9\uc815\ud558\ub294 \uc778\uc790\uc785\ub2c8\ub2e4(\uc120\ud0dd \uc0ac\ud56d).\n\ud540\uc5d0\uc11c \uc0ac\uc6b4\ub4dc\ub97c \uc7ac\uc0dd\ud558\uae30 \uc2eb\ub2e4\uba74 ``pin=None``\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. micro:bit V2 \uc804\uc6a9\uc785\ub2c8\ub2e4.\n\nOverride the optional pitch, speed, mouth and throat settings to change the\ntimbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef say(words: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"\uc601\uc5b4 \ub2e8\uc5b4\ub97c \ub9d0\ud569\ub2c8\ub2e4.\n\nExample: ``speech.say('hello world')``\n\n:param words: \ub9d0\ud560 \ub2e8\uc5b4\uc758 \ubb38\uc790\uc5f4\uc785\ub2c8\ub2e4.\n:param pitch: (\uc55e-\ub4a4 \uae30\uc6b8\uae30) \ubaa9\uc18c\ub9ac\uc758 \uc74c\ub192\uc774\ub97c \ud45c\ud604\ud558\ub294 \uc22b\uc790\n:param speed: \ubaa9\uc18c\ub9ac\uc758 \uc18d\ub3c4\ub97c \ud45c\ud604\ud558\ub294 \uc22b\uc790\n:param mouth: \ubaa9\uc18c\ub9ac\uc758 \uc785 \ubaa8\uc591\uc744 \ud45c\ud604\ud558\ub294 \uc22b\uc790\n:param throat: \ubaa9\uc18c\ub9ac\uc758 \ubaa9 \ubaa8\uc591\uc744 \ud45c\ud604\ud558\ub294 \uc22b\uc790\n:param pin: (\ud540) ``pin0``\uc758 \uae30\ubcf8\uac12\uc744 \ub36e\uc5b4\uc4f0\uace0 \ucd9c\ub825 \ud540\uc744 \ud2b9\uc815\ud558\ub294 \uc778\uc790\uc785\ub2c8\ub2e4(\uc120\ud0dd \uc0ac\ud56d).\n\ud540\uc5d0\uc11c \uc0ac\uc6b4\ub4dc\ub97c \uc7ac\uc0dd\ud558\uae30 \uc2eb\ub2e4\uba74 ``pin=None``\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. micro:bit V2 \uc804\uc6a9\uc785\ub2c8\ub2e4.\n\nThe result is semi-accurate for English. Override the optional pitch, speed,\nmouth and throat settings to change the timbre (quality) of the voice.\n\nThis is a short-hand equivalent of:\n``speech.pronounce(speech.translate(words))``\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef sing(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"\uc74c\uc18c\ub97c \ub178\ub798\ud569\ub2c8\ub2e4.\n\nExample: ``speech.sing(' /HEHLOW WERLD')``\n\n:param phonemes: \ub178\ub798\ud560 \ub2e8\uc5b4 \ubb38\uc790\uc5f4\uc785\ub2c8\ub2e4.\n:param pitch: (\uc55e-\ub4a4 \uae30\uc6b8\uae30) \ubaa9\uc18c\ub9ac\uc758 \uc74c\ub192\uc774\ub97c \ud45c\ud604\ud558\ub294 \uc22b\uc790\n:param speed: \ubaa9\uc18c\ub9ac\uc758 \uc18d\ub3c4\ub97c \ud45c\ud604\ud558\ub294 \uc22b\uc790\n:param mouth: \ubaa9\uc18c\ub9ac\uc758 \uc785 \ubaa8\uc591\uc744 \ud45c\ud604\ud558\ub294 \uc22b\uc790\n:param throat: \ubaa9\uc18c\ub9ac\uc758 \ubaa9 \ubaa8\uc591\uc744 \ud45c\ud604\ud558\ub294 \uc22b\uc790\n:param pin: (\ud540) ``pin0``\uc758 \uae30\ubcf8\uac12\uc744 \ub36e\uc5b4\uc4f0\uace0 \ucd9c\ub825 \ud540\uc744 \ud2b9\uc815\ud558\ub294 \uc778\uc790\uc785\ub2c8\ub2e4(\uc120\ud0dd \uc0ac\ud56d).\n\ud540\uc5d0\uc11c \uc0ac\uc6b4\ub4dc\ub97c \uc7ac\uc0dd\ud558\uae30 \uc2eb\ub2e4\uba74 ``pin=None``\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. micro:bit V2 \uc804\uc6a9\uc785\ub2c8\ub2e4.\n\nOverride the optional pitch, speed, mouth and throat settings to change\nthe timbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...", + "/typeshed/stdlib/struct.pyi": "\"\"\"\uc6d0\uc2dc \ub370\uc774\ud130 \uc720\ud615\uc744 \ud328\ud0b9\ud558\uace0 \uc5b8\ud328\ud0b9\ud569\ub2c8\ub2e4.\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom typing import Any, Tuple, Union\n\ndef calcsize(fmt: str) -> int:\n \"\"\"\uc8fc\uc5b4\uc9c4 ``fmt``\ub97c \uc800\uc7a5\ud558\ub294 \ub370 \ud544\uc694\ud55c \ubc14\uc774\ud2b8\uc758 \uc218\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``struct.calcsize('hf')``\n\n:param fmt: \ud615\uc2dd \ubb38\uc790\uc5f4\uc785\ub2c8\ub2e4.\n:return The number of bytes needed to store such a value.\"\"\"\n ...\n\ndef pack(fmt: str, v1: Any, *vn: Any) -> bytes:\n \"\"\"\ud615\uc2dd \ubb38\uc790\uc5f4\uc5d0 \ub530\ub77c \uac12\uc744 \ud328\ud0b9\ud569\ub2c8\ub2e4.\n\nExample: ``struct.pack('hf', 1, 3.1415)``\n\n:param fmt: \ud615\uc2dd \ubb38\uc790\uc5f4\uc785\ub2c8\ub2e4.\n:param v1: \uccab \uac12\uc785\ub2c8\ub2e4.\n:param *vn: \ub0a8\uc740 \uac12\uc785\ub2c8\ub2e4.\n:return A bytes object encoding the values.\"\"\"\n ...\n\ndef pack_into(fmt: str, buffer: WriteableBuffer, offset: int, v1: Any, *vn: Any) -> None:\n \"\"\"\ud615\uc2dd \ubb38\uc790\uc5f4\uc5d0 \ub530\ub77c \uac12\uc744 \ud328\ud0b9\ud569\ub2c8\ub2e4.\n\nExample: ``struct.pack_info('hf', buffer, 1, 3.1415)``\n\n:param fmt: \ud615\uc2dd \ubb38\uc790\uc5f4\uc785\ub2c8\ub2e4.\n:param buffer: \uc791\uc131\ud560 \ubaa9\ud45c \ubc84\ud37c\uc785\ub2c8\ub2e4.\n:param offset: \ubc84\ud37c\uc5d0 \uc801\uc6a9\ud560 \uc624\ud504\uc14b\uc785\ub2c8\ub2e4. \uc74c\uc218\ub97c \uc785\ub825\ud558\uba74 \ubc84\ud37c \ub05d\ubd80\ud130 \uc140 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n:param v1: \uccab \uac12\uc785\ub2c8\ub2e4.\n:param *vn: \ub0a8\uc740 \uac12\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\ndef unpack(fmt: str, data: ReadableBuffer) -> Tuple[Any, ...]:\n \"\"\"\ud615\uc2dd \ubb38\uc790\uc5f4\uc5d0 \ub530\ub77c \ub370\uc774\ud130\ub97c \uc5b8\ud328\ud0b9\ud569\ub2c8\ub2e4.\n\nExample: ``v1, v2 = struct.unpack('hf', buffer)``\n\n:param fmt: \ud615\uc2dd \ubb38\uc790\uc5f4\uc785\ub2c8\ub2e4.\n:param data: \ub370\uc774\ud130\uc785\ub2c8\ub2e4.\n:return: A tuple of the unpacked values.\"\"\"\n ...\n\ndef unpack_from(fmt: str, buffer: ReadableBuffer, offset: int=0) -> Tuple:\n \"\"\"\ud615\uc2dd \ubb38\uc790\uc5f4\uc5d0 \ub530\ub77c \ubc84\ud37c\ub85c\ubd80\ud130 \ub370\uc774\ud130\ub97c \uc5b8\ud328\ud0b9\ud569\ub2c8\ub2e4.\n\nExample: ``v1, v2 = struct.unpack_from('hf', buffer)``\n\n:param fmt: \ud615\uc2dd \ubb38\uc790\uc5f4\uc785\ub2c8\ub2e4.\n:param buffer: \uc77d\uc744 \uc18c\uc2a4 \ubc84\ud37c\uc785\ub2c8\ub2e4.\n:param offset: (\uc624\ud504\uc14b) \ubc84\ud37c\uc5d0 \uc801\uc6a9\ud560 \uc624\ud504\uc14b\uc785\ub2c8\ub2e4. \uc74c\uc218\ub97c \uc785\ub825\ud558\uba74 \ubc84\ud37c \ub05d\ubd80\ud130 \uc140 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n:return: A tuple of the unpacked values.\"\"\"\n ...", + "/typeshed/stdlib/sys.pyi": "\"\"\"\uc2dc\uc2a4\ud15c \ud2b9\uc815 \ud568\uc218\"\"\"\nfrom typing import Any, Dict, List, NoReturn, TextIO, Tuple\n\ndef exit(retval: object=...) -> NoReturn:\n \"\"\"\uc8fc\uc5b4\uc9c4 \uc885\ub8cc \ucf54\ub4dc\ub85c \ud604\uc7ac \ud504\ub85c\uadf8\ub7a8\uc744 \uc885\ub8cc\ud569\ub2c8\ub2e4.\n\nExample: ``sys.exit(1)``\n\nThis function raises a ``SystemExit`` exception. If an argument is given, its\nvalue given as an argument to ``SystemExit``.\n\n:param retval: \uc885\ub8cc \ucf54\ub4dc \ub610\ub294 \uba54\uc2dc\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\ndef print_exception(exc: Exception) -> None:\n \"\"\"\ud2b8\ub808\uc774\uc2a4\ubc31\uc73c\ub85c \uc608\uc678\ub97c \ud504\ub9b0\ud2b8\ud569\ub2c8\ub2e4.\n\nExample: ``sys.print_exception(e)``\n\n:param exc: \ud504\ub9b0\ud2b8\ud560 \uc608\uc678\n\nThis is simplified version of a function which appears in the\n``traceback`` module in CPython.\"\"\"\nargv: List[str]\n\"\"\"\ud604\uc7ac \ud504\ub85c\uadf8\ub7a8\uacfc \uac19\uc774 \uc2dc\uc791\ub41c \uc778\uc790\uc758 \uac00\ubcc0 \ub9ac\uc2a4\ud2b8\uc785\ub2c8\ub2e4.\"\"\"\nbyteorder: str\n\"\"\"\uc2dc\uc2a4\ud15c\uc758 \ubc14\uc774\ud2b8 \uc21c\uc11c\ub97c (``\"little\"`` \ub610\ub294 ``\"big\"``)\uc73c\ub85c \uc815\ub82c\ud569\ub2c8\ub2e4.\"\"\"\n\nclass _implementation:\n name: str\n version: Tuple[int, int, int]\nimplementation: _implementation\n\"\"\"\ud604\uc7ac Python \uad6c\ud604\uc5d0 \uad00\ud55c \uc815\ubcf4\uac00 \ub2f4\uae34 \uac1c\uccb4\n\nFor MicroPython, it has following attributes:\n\n- ``name`` - string \"micropython\"\n- ``version`` - tuple (major, minor, micro), e.g. (1, 7, 0)\n\nThis object is the recommended way to distinguish MicroPython from other\nPython implementations (note that it still may not exist in the very\nminimal ports).\n\nCPython mandates more attributes for this object, but the actual useful\nbare minimum is implemented in MicroPython.\n\"\"\"\nmaxsize: int\n\"\"\"\n\ud604\uc7ac \ud50c\ub7ab\ud3fc\uc5d0\uc11c \uc790\uc5f0 \uc815\uc218 \uc720\ud615\uc774 \uc9c0\uc6d0\ud560 \uc218 \uc788\ub294 \ucd5c\ub300 \uac12, \ub610\ub294 \uac12\uc774 \ud50c\ub7ab\ud3fc\uc758 \ucd5c\ub300 \uac12\ubcf4\ub2e4 \uc791\ub2e4\uba74 MicroPython \uc815\uc218 \uc720\ud615\uc73c\ub85c \ud45c\ud604\ud560 \uc218 \uc788\ub294 \ucd5c\ub300 \uac12\uc785\ub2c8\ub2e4(long int\ub97c \uc9c0\uc6d0\ud558\uc9c0 \uc54a\ub294 MicroPython \ud3ec\ud2b8\uc758 \uacbd\uc6b0).\n\nThis attribute is useful for detecting \"bitness\" of a platform (32-bit vs\n64-bit, etc.). It's recommended to not compare this attribute to some\nvalue directly, but instead count number of bits in it::\n\n bits = 0\n v = sys.maxsize\n while v:\n bits += 1\n v >>= 1\n if bits > 32:\n # 64-bit (or more) platform\n ...\n else:\n # 32-bit (or less) platform\n # Note that on 32-bit platform, value of bits may be less than 32\n # (e.g. 31) due to peculiarities described above, so use \"> 16\",\n # \"> 32\", \"> 64\" style of comparisons.\n\"\"\"\nmodules: Dict[str, Any]\n\"\"\"\ub85c\ub4dc\ub41c \ubaa8\ub4c8\uc758 \ub515\uc154\ub108\ub9ac\uc785\ub2c8\ub2e4. \n\nOn some ports, it may not include builtin modules.\"\"\"\npath: List[str]\n\"\"\"\ubd88\ub7ec\uc628 \ubaa8\ub4c8\uc744 \uac80\uc0c9\ud558\uae30 \uc704\ud55c \ub515\uc154\ub108\ub9ac \uac00\ubcc0 \ub9ac\uc2a4\ud2b8\uc785\ub2c8\ub2e4.\"\"\"\nplatform: str\n\"\"\"MicroPython\uc774 \uc2e4\ud589\ub418\uace0 \uc788\ub294 \ud50c\ub7ab\ud3fc\uc785\ub2c8\ub2e4. \n\nFor OS/RTOS ports, this is usually an identifier of the OS, e.g. ``\"linux\"``.\nFor baremetal ports it is an identifier of a board, e.g. ``\"pyboard\"`` for \nthe original MicroPython reference board. It thus can be used to\ndistinguish one board from another.\n\nIf you need to check whether your program runs on MicroPython (vs other\nPython implementation), use ``sys.implementation`` instead.\n\"\"\"\nversion: str\n\"\"\"\uc774 \uad6c\ud604\uc774 \uc900\uc218\ud558\ub294 Python \uc5b8\uc5b4 \ubc84\uc804\uc744 \ubb38\uc790\uc5f4\ub85c \uc81c\uacf5\ud569\ub2c8\ub2e4.\"\"\"\nversion_info: Tuple[int, int, int]\n\"\"\"\uc774 \uad6c\ud604\uc774 \uc900\uc218\ud558\ub294 Python \uc5b8\uc5b4 \ubc84\uc804\uc744 \uc815\uc218 \ud29c\ud50c\ub85c \uc81c\uacf5\ud569\ub2c8\ub2e4.\n\nOnly the first three version numbers (major, minor, micro) are supported and\nthey can be referenced only by index, not by name.\n\"\"\"", + "/typeshed/stdlib/this.pyi": "def authors() -> str: ...\n", + "/typeshed/stdlib/time.pyi": "\"\"\"\uc2dc\uac04\uc744 \uce21\uc815\ud558\uace0 \ud504\ub85c\uadf8\ub7a8\uc5d0 \uc9c0\uc5f0\uc744 \ubd80\uc5ec\ud569\ub2c8\ub2e4.\"\"\"\nfrom typing import Union\n\ndef sleep(seconds: Union[int, float]) -> None:\n \"\"\"\ucd08 \ub2e8\uc704\ub85c \uc9c0\uc5f0\uc744 \ubd80\uc5ec\ud569\ub2c8\ub2e4.\n\nExample: ``time.sleep(1)``\n\n:param seconds: \uc808\uc804 \uc0c1\ud0dc\ub97c \uc124\uc815\ud560 \ucd08 \ub2e8\uc704\uc785\ub2c8\ub2e4.\n\ucd08 \ub2e8\uc704 \ubbf8\ub9cc\uc73c\ub85c \uc808\uc804 \uc0c1\ud0dc\ub97c \uc124\uc815\ud558\ub824\uba74 \ubd80\ub3d9 \uc18c\uc218\uc810 \uc218\ub97c \uc0ac\uc6a9\ud558\uc138\uc694.\"\"\"\n ...\n\ndef sleep_ms(ms: int) -> None:\n \"\"\"\ubc00\ub9ac\ucd08 \ub2e8\uc704\ub85c \uc9c0\uc5f0\uc744 \ubd80\uc5ec\ud569\ub2c8\ub2e4.\n\nExample: ``time.sleep_ms(1_000_000)``\n\n:param ms: \ubc00\ub9ac\ucd08 \ub2e8\uc704\uc758 \uc9c0\uc5f0 \uc2dc\uac04\uc785\ub2c8\ub2e4(>= 0).\"\"\"\n ...\n\ndef sleep_us(us: int) -> None:\n \"\"\"\ub9c8\uc774\ud06c\ub85c\ucd08 \ub2e8\uc704\ub85c \uc9c0\uc5f0\uc744 \ubd80\uc5ec\ud569\ub2c8\ub2e4.\n\nExample: ``time.sleep_us(1000)``\n\n:param us: \ub9c8\uc774\ud06c\ub85c\ucd08 \ub2e8\uc704\uc758 \uc9c0\uc5f0 \uc2dc\uac04\uc785\ub2c8\ub2e4(>= 0).\"\"\"\n ...\n\ndef ticks_ms() -> int:\n \"\"\"\uc784\uc758\uc758 \ub808\ud37c\ub7f0\uc2a4 \ud3ec\uc778\ud2b8\uac00 \uc788\ub294 \uc810\uc9c4\uc801\uc73c\ub85c \uc99d\uac00\ud558\ub294 \ubc00\ub9ac\ucd08 \uce74\uc6b4\ud130\ub85c, \uc77c\ubd80 \uac12\uc744 \ub530\ub77c \ub798\ud551\ud569\ub2c8\ub2e4.\n\nExample: ``time.ticks_ms()``\n\n:return: The counter value in milliseconds.\"\"\"\n ...\n\ndef ticks_us() -> int:\n \"\"\"\uc784\uc758\uc758 \ub808\ud37c\ub7f0\uc2a4 \ud3ec\uc778\ud2b8\uac00 \uc788\ub294 \uc810\uc9c4\uc801\uc73c\ub85c \uc99d\uac00\ud558\ub294 \ub9c8\uc774\ud06c\ub85c\ucd08 \uce74\uc6b4\ud130\ub85c, \uc77c\ubd80 \uac12\uc744 \ub530\ub77c \ub798\ud551\ud569\ub2c8\ub2e4.\n\nExample: ``time.ticks_us()``\n\n:return: The counter value in microseconds.\"\"\"\n ...\n\ndef ticks_add(ticks: int, delta: int) -> int:\n \"\"\"\uc8fc\uc5b4\uc9c4 \uc22b\uc790\uc5d0 \ub530\ub77c \ud2f1 \uac12\uc744 \uc624\ud504\uc14b\uc73c\ub85c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \uc591\uc218\ub098 \uc74c\uc218\uc77c \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n\nExample: ``time.ticks_add(time.ticks_ms(), 200)``\n\nGiven a ticks value, this function allows to calculate ticks\nvalue delta ticks before or after it, following modular-arithmetic\ndefinition of tick values.\n\n:param ticks: \ud2f1 \uac12\n:param delta: \uc815\uc218 \uc624\ud504\uc14b\n\nExample::\n\n # Find out what ticks value there was 100ms ago\n print(ticks_add(time.ticks_ms(), -100))\n\n # Calculate deadline for operation and test for it\n deadline = ticks_add(time.ticks_ms(), 200)\n while ticks_diff(deadline, time.ticks_ms()) > 0:\n do_a_little_of_something()\n\n # Find out TICKS_MAX used by this port\n print(ticks_add(0, -1))\"\"\"\n ...\n\ndef ticks_diff(ticks1: int, ticks2: int) -> int:\n \"\"\"``time.ticks_ms()`` \ub610\ub294 ``ticks_us()``\uc5d0\uc11c \ubc18\ud658\ub41c \uac12 \uc0ac\uc774\uc758 \ud2f1 \ucc28\uc774\ub97c \uce21\uc815\ud569\ub2c8\ub2e4. \uc11c\uba85\ub41c \uac12\uc740 \ub798\ud551\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n\nExample: ``time.ticks_diff(scheduled_time, now)``\n\n:param ticks1: \ube84 \uac12\n:param ticks2: \ube84 \uac12\n\nThe argument order is the same as for subtraction operator,\n``ticks_diff(ticks1, ticks2)`` has the same meaning as ``ticks1 - ticks2``.\n\n``ticks_diff()`` is designed to accommodate various usage\npatterns, among them:\n\nPolling with timeout. In this case, the order of events is known, and you\nwill deal only with positive results of :func:`time.ticks_diff()`::\n\n # Wait for GPIO pin to be asserted, but at most 500us\n start = time.ticks_us()\n while pin.value() == 0:\n if time.ticks_diff(time.ticks_us(), start) > 500:\n raise TimeoutError\n\n\nScheduling events. In this case, :func:`time.ticks_diff()` result may be\nnegative if an event is overdue::\n\n # This code snippet is not optimized\n now = time.ticks_ms()\n scheduled_time = task.scheduled_time()\n if ticks_diff(scheduled_time, now) > 0:\n print(\"Too early, let's nap\")\n sleep_ms(ticks_diff(scheduled_time, now))\n task.run()\n elif ticks_diff(scheduled_time, now) == 0:\n print(\"Right at time!\")\n task.run()\n elif ticks_diff(scheduled_time, now) < 0:\n print(\"Oops, running late, tell task to run faster!\")\n task.run(run_faster=True)\"\"\"\n ...", + "/typeshed/stdlib/types.pyi": "import sys\nfrom typing import (\n Any,\n AsyncGenerator,\n Awaitable,\n Callable,\n Generator,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n Tuple,\n Type,\n TypeVar,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, final\n\n# Note, all classes \"defined\" here require special handling.\n\n_T = TypeVar(\"_T\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_V_co = TypeVar(\"_V_co\", covariant=True)\n\n@final\nclass _Cell:\n __hash__: None # type: ignore\n cell_contents: Any\n\n@final\nclass FunctionType:\n __closure__: Tuple[_Cell, ...] | None\n __code__: CodeType\n __defaults__: Tuple[Any, ...] | None\n __dict__: dict[str, Any]\n __globals__: dict[str, Any]\n __name__: str\n __qualname__: str\n __annotations__: dict[str, Any]\n __kwdefaults__: dict[str, Any]\n def __init__(\n self,\n code: CodeType,\n globals: dict[str, Any],\n name: str | None = ...,\n argdefs: Tuple[object, ...] | None = ...,\n closure: Tuple[_Cell, ...] | None = ...,\n ) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: object | None, type: type | None) -> MethodType: ...\n\nLambdaType = FunctionType\n\n@final\nclass CodeType:\n \"\"\"Create a code object. Not for the faint of heart.\"\"\"\n\n co_argcount: int\n if sys.version_info >= (3, 8):\n co_posonlyargcount: int\n co_kwonlyargcount: int\n co_nlocals: int\n co_stacksize: int\n co_flags: int\n co_code: bytes\n co_consts: Tuple[Any, ...]\n co_names: Tuple[str, ...]\n co_varnames: Tuple[str, ...]\n co_filename: str\n co_name: str\n co_firstlineno: int\n co_lnotab: bytes\n co_freevars: Tuple[str, ...]\n co_cellvars: Tuple[str, ...]\n if sys.version_info >= (3, 8):\n def __init__(\n self,\n argcount: int,\n posonlyargcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n else:\n def __init__(\n self,\n argcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n if sys.version_info >= (3, 8):\n def replace(\n self,\n *,\n co_argcount: int = ...,\n co_posonlyargcount: int = ...,\n co_kwonlyargcount: int = ...,\n co_nlocals: int = ...,\n co_stacksize: int = ...,\n co_flags: int = ...,\n co_firstlineno: int = ...,\n co_code: bytes = ...,\n co_consts: Tuple[Any, ...] = ...,\n co_names: Tuple[str, ...] = ...,\n co_varnames: Tuple[str, ...] = ...,\n co_freevars: Tuple[str, ...] = ...,\n co_cellvars: Tuple[str, ...] = ...,\n co_filename: str = ...,\n co_name: str = ...,\n co_lnotab: bytes = ...,\n ) -> CodeType: ...\n\n@final\nclass MappingProxyType(Mapping[_KT, _VT_co], Generic[_KT, _VT_co]):\n __hash__: None # type: ignore\n def __init__(self, mapping: Mapping[_KT, _VT_co]) -> None: ...\n def __getitem__(self, k: _KT) -> _VT_co: ...\n def __iter__(self) -> Iterator[_KT]: ...\n def __len__(self) -> int: ...\n def copy(self) -> dict[_KT, _VT_co]: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def items(self) -> ItemsView[_KT, _VT_co]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def __or__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n def __ror__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n\nclass SimpleNamespace:\n __hash__: None # type: ignore\n def __init__(self, **kwargs: Any) -> None: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __delattr__(self, name: str) -> None: ...\n\nclass ModuleType:\n __name__: str\n __file__: str\n __dict__: dict[str, Any]\n __package__: str | None\n def __init__(self, name: str, doc: str | None = ...) -> None: ...\n\n@final\nclass GeneratorType(Generator[_T_co, _T_contra, _V_co]):\n gi_code: CodeType\n gi_frame: FrameType\n gi_running: bool\n gi_yieldfrom: GeneratorType[_T_co, _T_contra, Any] | None\n def __iter__(self) -> GeneratorType[_T_co, _T_contra, _V_co]: ...\n def __next__(self) -> _T_co: ...\n def close(self) -> None: ...\n def send(self, __arg: _T_contra) -> _T_co: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> _T_co: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> _T_co: ...\n\n@final\nclass AsyncGeneratorType(AsyncGenerator[_T_co, _T_contra]):\n ag_await: Awaitable[Any] | None\n ag_frame: FrameType\n ag_running: bool\n ag_code: CodeType\n def __aiter__(self) -> AsyncGeneratorType[_T_co, _T_contra]: ...\n def __anext__(self) -> Awaitable[_T_co]: ...\n def asend(self, __val: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Awaitable[_T_co]: ...\n def aclose(self) -> Awaitable[None]: ...\n\n@final\nclass CoroutineType:\n cr_await: Any | None\n cr_code: CodeType\n cr_frame: FrameType\n cr_running: bool\n def close(self) -> None: ...\n def send(self, __arg: Any) -> Any: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Any: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Any: ...\n\nclass _StaticFunctionType:\n \"\"\"Fictional type to correct the type of MethodType.__func__.\n\n FunctionType is a descriptor, so mypy follows the descriptor protocol and\n converts MethodType.__func__ back to MethodType (the return type of\n FunctionType.__get__). But this is actually a special case; MethodType is\n implemented in C and its attribute access doesn't go through\n __getattribute__.\n\n By wrapping FunctionType in _StaticFunctionType, we get the right result;\n similar to wrapping a function in staticmethod() at runtime to prevent it\n being bound as a method.\n \"\"\"\n\n def __get__(self, obj: object | None, type: type | None) -> FunctionType: ...\n\n@final\nclass MethodType:\n __closure__: Tuple[_Cell, ...] | None # inherited from the added function\n __defaults__: Tuple[Any, ...] | None # inherited from the added function\n __func__: _StaticFunctionType\n __self__: object\n __name__: str # inherited from the added function\n __qualname__: str # inherited from the added function\n def __init__(self, func: Callable[..., Any], obj: object) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\n@final\nclass BuiltinFunctionType:\n __self__: object | ModuleType\n __name__: str\n __qualname__: str\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\nBuiltinMethodType = BuiltinFunctionType\n\nif sys.version_info >= (3, 7):\n @final\n class WrapperDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class MethodWrapperType:\n __self__: object\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __eq__(self, other: Any) -> bool: ...\n def __ne__(self, other: Any) -> bool: ...\n @final\n class MethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class ClassMethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n\n@final\nclass TracebackType:\n if sys.version_info >= (3, 7):\n def __init__(\n self,\n tb_next: TracebackType | None,\n tb_frame: FrameType,\n tb_lasti: int,\n tb_lineno: int,\n ) -> None: ...\n tb_next: TracebackType | None\n else:\n @property\n def tb_next(self) -> TracebackType | None: ...\n # the rest are read-only even in 3.7\n @property\n def tb_frame(self) -> FrameType: ...\n @property\n def tb_lasti(self) -> int: ...\n @property\n def tb_lineno(self) -> int: ...\n\n@final\nclass FrameType:\n f_back: FrameType | None\n f_builtins: dict[str, Any]\n f_code: CodeType\n f_globals: dict[str, Any]\n f_lasti: int\n f_lineno: int\n f_locals: dict[str, Any]\n f_trace: Callable[[FrameType, str, Any], Any] | None\n if sys.version_info >= (3, 7):\n f_trace_lines: bool\n f_trace_opcodes: bool\n def clear(self) -> None: ...\n\n@final\nclass GetSetDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\n@final\nclass MemberDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nif sys.version_info >= (3, 7):\n def new_class(\n name: str,\n bases: Iterable[object] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n def resolve_bases(bases: Iterable[object]) -> Tuple[Any, ...]: ...\n\nelse:\n def new_class(\n name: str,\n bases: Tuple[type, ...] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n\ndef prepare_class(\n name: str, bases: Tuple[type, ...] = ..., kwds: dict[str, Any] | None = ...\n) -> Tuple[type, dict[str, Any], dict[str, Any]]: ...\n\n# Actually a different type, but `property` is special and we want that too.\nDynamicClassAttribute = property\n\ndef coroutine(func: Callable[..., Any]) -> CoroutineType: ...\n\nif sys.version_info >= (3, 8):\n CellType = _Cell\n\nif sys.version_info >= (3, 9):\n class GenericAlias:\n __origin__: type\n __args__: Tuple[Any, ...]\n __parameters__: Tuple[Any, ...]\n def __init__(self, origin: type, args: Any) -> None: ...\n def __getattr__(self, name: str) -> Any: ... # incomplete\n\nif sys.version_info >= (3, 10):\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n EllipsisType = ellipsis # noqa F811 from builtins\n from builtins import _NotImplementedType\n\n NotImplementedType = _NotImplementedType # noqa F811 from builtins\n @final\n class UnionType:\n __args__: Tuple[Any, ...]\n def __or__(self, obj: Any) -> UnionType: ...\n def __ror__(self, obj: Any) -> UnionType: ...\n", + "/typeshed/stdlib/typing.pyi": "import collections # Needed by aliases like DefaultDict, see mypy issue 2986\nimport sys\nfrom abc import ABCMeta, abstractmethod\nfrom types import BuiltinFunctionType, CodeType, FrameType, FunctionType, MethodType, ModuleType, TracebackType\nfrom typing_extensions import Literal as _Literal\n\nif sys.version_info >= (3, 7):\n from types import MethodDescriptorType, MethodWrapperType, WrapperDescriptorType\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n# Definitions of special type checking related constructs. Their definitions\n# are not used, so their value does not matter.\n\nAny = object()\n\nclass TypeVar:\n __name__: str\n __bound__: Optional[Type[Any]]\n __constraints__: Tuple[Type[Any], ...]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self,\n name: str,\n *constraints: Type[Any],\n bound: Union[None, Type[Any], str] = ...,\n covariant: bool = ...,\n contravariant: bool = ...,\n ) -> None: ...\n\n_promote = object()\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> object: ...\n\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n\ndef overload(func: _F) -> _F: ...\n\nUnion: _SpecialForm = ...\nOptional: _SpecialForm = ...\nTuple: _SpecialForm = ...\nGeneric: _SpecialForm = ...\n# Protocol is only present in 3.8 and later, but mypy needs it unconditionally\nProtocol: _SpecialForm = ...\nCallable: _SpecialForm = ...\nType: _SpecialForm = ...\nClassVar: _SpecialForm = ...\nif sys.version_info >= (3, 8):\n Final: _SpecialForm = ...\n def final(f: _F) -> _F: ...\n Literal: _SpecialForm = ...\n # TypedDict is a (non-subscriptable) special form.\n TypedDict: object\n\nif sys.version_info < (3, 7):\n class GenericMeta(type): ...\n\nif sys.version_info >= (3, 10):\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Optional[Type[Any]]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: Union[None, Type[Any], str] = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n\n# Return type that indicates a function does not return.\n# This type is equivalent to the None type, but the no-op Union is necessary to\n# distinguish the None type from the None value.\nNoReturn = Union[None]\n\n# These type variables are used by the container types.\n_T = TypeVar(\"_T\")\n_S = TypeVar(\"_S\")\n_KT = TypeVar(\"_KT\") # Key type.\n_VT = TypeVar(\"_VT\") # Value type.\n_T_co = TypeVar(\"_T_co\", covariant=True) # Any type covariant containers.\n_V_co = TypeVar(\"_V_co\", covariant=True) # Any type covariant containers.\n_KT_co = TypeVar(\"_KT_co\", covariant=True) # Key type covariant containers.\n_VT_co = TypeVar(\"_VT_co\", covariant=True) # Value type covariant containers.\n_T_contra = TypeVar(\"_T_contra\", contravariant=True) # Ditto contravariant.\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\ndef no_type_check(arg: _F) -> _F: ...\ndef no_type_check_decorator(decorator: _F) -> _F: ...\n\n# Type aliases and type constructors\n\nclass _Alias:\n # Class for defining generic aliases for library types.\n def __getitem__(self, typeargs: Any) -> Any: ...\n\nList = _Alias()\nDict = _Alias()\nDefaultDict = _Alias()\nSet = _Alias()\nFrozenSet = _Alias()\nCounter = _Alias()\nDeque = _Alias()\nChainMap = _Alias()\n\nif sys.version_info >= (3, 7):\n OrderedDict = _Alias()\n\nif sys.version_info >= (3, 9):\n Annotated: _SpecialForm = ...\n\n# Predefined type variables.\nAnyStr = TypeVar(\"AnyStr\", str, bytes)\n\n# Abstract base classes.\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n@runtime_checkable\nclass SupportsInt(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __int__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsFloat(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __float__(self) -> float: ...\n\n@runtime_checkable\nclass SupportsComplex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __complex__(self) -> complex: ...\n\n@runtime_checkable\nclass SupportsBytes(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __bytes__(self) -> bytes: ...\n\nif sys.version_info >= (3, 8):\n @runtime_checkable\n class SupportsIndex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __index__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsAbs(Protocol[_T_co]):\n @abstractmethod\n def __abs__(self) -> _T_co: ...\n\n@runtime_checkable\nclass SupportsRound(Protocol[_T_co]):\n @overload\n @abstractmethod\n def __round__(self) -> int: ...\n @overload\n @abstractmethod\n def __round__(self, ndigits: int) -> _T_co: ...\n\n@runtime_checkable\nclass Sized(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __len__(self) -> int: ...\n\n@runtime_checkable\nclass Hashable(Protocol, metaclass=ABCMeta):\n # TODO: This is special, in that a subclass of a hashable class may not be hashable\n # (for example, list vs. object). It's not obvious how to represent this. This class\n # is currently mostly useless for static checking.\n @abstractmethod\n def __hash__(self) -> int: ...\n\n@runtime_checkable\nclass Iterable(Protocol[_T_co]):\n @abstractmethod\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Iterator(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __next__(self) -> _T_co: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Reversible(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass Generator(Iterator[_T_co], Generic[_T_co, _T_contra, _V_co]):\n def __next__(self) -> _T_co: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n def close(self) -> None: ...\n def __iter__(self) -> Generator[_T_co, _T_contra, _V_co]: ...\n @property\n def gi_code(self) -> CodeType: ...\n @property\n def gi_frame(self) -> FrameType: ...\n @property\n def gi_running(self) -> bool: ...\n @property\n def gi_yieldfrom(self) -> Optional[Generator[Any, Any, Any]]: ...\n\n@runtime_checkable\nclass Awaitable(Protocol[_T_co]):\n @abstractmethod\n def __await__(self) -> Generator[Any, None, _T_co]: ...\n\nclass Coroutine(Awaitable[_V_co], Generic[_T_co, _T_contra, _V_co]):\n __name__: str\n __qualname__: str\n @property\n def cr_await(self) -> Optional[Any]: ...\n @property\n def cr_code(self) -> CodeType: ...\n @property\n def cr_frame(self) -> FrameType: ...\n @property\n def cr_running(self) -> bool: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n @abstractmethod\n def close(self) -> None: ...\n\n# NOTE: This type does not exist in typing.py or PEP 484.\n# The parameters correspond to Generator, but the 4th is the original type.\nclass AwaitableGenerator(\n Awaitable[_V_co], Generator[_T_co, _T_contra, _V_co], Generic[_T_co, _T_contra, _V_co, _S], metaclass=ABCMeta\n): ...\n\n@runtime_checkable\nclass AsyncIterable(Protocol[_T_co]):\n @abstractmethod\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\n@runtime_checkable\nclass AsyncIterator(AsyncIterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\nclass AsyncGenerator(AsyncIterator[_T_co], Generic[_T_co, _T_contra]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n @abstractmethod\n def asend(self, __value: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> Awaitable[_T_co]: ...\n @abstractmethod\n def aclose(self) -> Awaitable[None]: ...\n @abstractmethod\n def __aiter__(self) -> AsyncGenerator[_T_co, _T_contra]: ...\n @property\n def ag_await(self) -> Any: ...\n @property\n def ag_code(self) -> CodeType: ...\n @property\n def ag_frame(self) -> FrameType: ...\n @property\n def ag_running(self) -> bool: ...\n\n@runtime_checkable\nclass Container(Protocol[_T_co]):\n @abstractmethod\n def __contains__(self, __x: object) -> bool: ...\n\n@runtime_checkable\nclass Collection(Iterable[_T_co], Container[_T_co], Protocol[_T_co]):\n # Implement Sized (but don't have it as a base class).\n @abstractmethod\n def __len__(self) -> int: ...\n\n_Collection = Collection[_T_co]\n\nclass Sequence(_Collection[_T_co], Reversible[_T_co], Generic[_T_co]):\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T_co: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> Sequence[_T_co]: ...\n # Mixin methods\n def index(self, value: Any, start: int = ..., stop: int = ...) -> int: ...\n def count(self, value: Any) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass MutableSequence(Sequence[_T], Generic[_T]):\n @abstractmethod\n def insert(self, index: int, value: _T) -> None: ...\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> MutableSequence[_T]: ...\n @overload\n @abstractmethod\n def __setitem__(self, i: int, o: _T) -> None: ...\n @overload\n @abstractmethod\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: int) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: slice) -> None: ...\n # Mixin methods\n def append(self, value: _T) -> None: ...\n def clear(self) -> None: ...\n def extend(self, values: Iterable[_T]) -> None: ...\n def reverse(self) -> None: ...\n def pop(self, index: int = ...) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __iadd__(self, x: Iterable[_T]) -> MutableSequence[_T]: ...\n\nclass AbstractSet(_Collection[_T_co], Generic[_T_co]):\n @abstractmethod\n def __contains__(self, x: object) -> bool: ...\n # Mixin methods\n def __le__(self, s: AbstractSet[Any]) -> bool: ...\n def __lt__(self, s: AbstractSet[Any]) -> bool: ...\n def __gt__(self, s: AbstractSet[Any]) -> bool: ...\n def __ge__(self, s: AbstractSet[Any]) -> bool: ...\n def __and__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def __sub__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def isdisjoint(self, other: Iterable[Any]) -> bool: ...\n\nclass MutableSet(AbstractSet[_T], Generic[_T]):\n @abstractmethod\n def add(self, value: _T) -> None: ...\n @abstractmethod\n def discard(self, value: _T) -> None: ...\n # Mixin methods\n def clear(self) -> None: ...\n def pop(self) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __ior__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __iand__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __isub__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n\nclass MappingView(Sized):\n def __init__(self, mapping: Mapping[Any, Any]) -> None: ... # undocumented\n def __len__(self) -> int: ...\n\nclass ItemsView(MappingView, AbstractSet[Tuple[_KT_co, _VT_co]], Generic[_KT_co, _VT_co]):\n def __init__(self, mapping: Mapping[_KT_co, _VT_co]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n\nclass KeysView(MappingView, AbstractSet[_KT_co], Generic[_KT_co]):\n def __init__(self, mapping: Mapping[_KT_co, Any]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_KT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT_co]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n\nclass ValuesView(MappingView, Iterable[_VT_co], Generic[_VT_co]):\n def __init__(self, mapping: Mapping[Any, _VT_co]) -> None: ... # undocumented\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_VT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_VT_co]: ...\n\n@runtime_checkable\nclass ContextManager(Protocol[_T_co]):\n def __enter__(self) -> _T_co: ...\n def __exit__(\n self,\n __exc_type: Optional[Type[BaseException]],\n __exc_value: Optional[BaseException],\n __traceback: Optional[TracebackType],\n ) -> Optional[bool]: ...\n\n@runtime_checkable\nclass AsyncContextManager(Protocol[_T_co]):\n def __aenter__(self) -> Awaitable[_T_co]: ...\n def __aexit__(\n self, exc_type: Optional[Type[BaseException]], exc_value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Awaitable[Optional[bool]]: ...\n\nclass Mapping(_Collection[_KT], Generic[_KT, _VT_co]):\n # TODO: We wish the key type could also be covariant, but that doesn't work,\n # see discussion in https: //github.com/python/typing/pull/273.\n @abstractmethod\n def __getitem__(self, k: _KT) -> _VT_co: ...\n # Mixin methods\n @overload\n def get(self, key: _KT) -> Optional[_VT_co]: ...\n @overload\n def get(self, key: _KT, default: Union[_VT_co, _T]) -> Union[_VT_co, _T]: ...\n def items(self) -> AbstractSet[Tuple[_KT, _VT_co]]: ...\n def keys(self) -> AbstractSet[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def __contains__(self, o: object) -> bool: ...\n\nclass MutableMapping(Mapping[_KT, _VT], Generic[_KT, _VT]):\n @abstractmethod\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n @abstractmethod\n def __delitem__(self, v: _KT) -> None: ...\n def clear(self) -> None: ...\n @overload\n def pop(self, key: _KT) -> _VT: ...\n @overload\n def pop(self, key: _KT, default: Union[_VT, _T] = ...) -> Union[_VT, _T]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, key: _KT, default: _VT = ...) -> _VT: ...\n # 'update' used to take a Union, but using overloading is better.\n # The second overloaded type here is a bit too general, because\n # Mapping[Tuple[_KT, _VT], W] is a subclass of Iterable[Tuple[_KT, _VT]],\n # but will always have the behavior of the first overloaded type\n # at runtime, leading to keys of a mix of types _KT and Tuple[_KT, _VT].\n # We don't currently have any way of forcing all Mappings to use\n # the first overload, but by using overloading rather than a Union,\n # mypy will commit to using the first overload when the argument is\n # known to be a Mapping with unknown type parameters, which is closer\n # to the behavior we want. See mypy issue #1430.\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n\nText = str\n\nTYPE_CHECKING = True\n\nclass IO(Iterator[AnyStr], Generic[AnyStr]):\n # TODO use abstract properties\n @property\n def mode(self) -> str: ...\n @property\n def name(self) -> str: ...\n @abstractmethod\n def close(self) -> None: ...\n @property\n def closed(self) -> bool: ...\n @abstractmethod\n def fileno(self) -> int: ...\n @abstractmethod\n def flush(self) -> None: ...\n @abstractmethod\n def isatty(self) -> bool: ...\n @abstractmethod\n def read(self, n: int = ...) -> AnyStr: ...\n @abstractmethod\n def readable(self) -> bool: ...\n @abstractmethod\n def readline(self, limit: int = ...) -> AnyStr: ...\n @abstractmethod\n def readlines(self, hint: int = ...) -> list[AnyStr]: ...\n @abstractmethod\n def seek(self, offset: int, whence: int = ...) -> int: ...\n @abstractmethod\n def seekable(self) -> bool: ...\n @abstractmethod\n def tell(self) -> int: ...\n @abstractmethod\n def truncate(self, size: Optional[int] = ...) -> int: ...\n @abstractmethod\n def writable(self) -> bool: ...\n @abstractmethod\n def write(self, s: AnyStr) -> int: ...\n @abstractmethod\n def writelines(self, lines: Iterable[AnyStr]) -> None: ...\n @abstractmethod\n def __next__(self) -> AnyStr: ...\n @abstractmethod\n def __iter__(self) -> Iterator[AnyStr]: ...\n @abstractmethod\n def __enter__(self) -> IO[AnyStr]: ...\n @abstractmethod\n def __exit__(\n self, t: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Optional[bool]: ...\n\nclass BinaryIO(IO[bytes]):\n @abstractmethod\n def __enter__(self) -> BinaryIO: ...\n\nclass TextIO(IO[str]):\n # TODO use abstractproperty\n @property\n def buffer(self) -> BinaryIO: ...\n @property\n def encoding(self) -> str: ...\n @property\n def errors(self) -> Optional[str]: ...\n @property\n def line_buffering(self) -> int: ... # int on PyPy, bool on CPython\n @property\n def newlines(self) -> Any: ... # None, str or tuple\n @abstractmethod\n def __enter__(self) -> TextIO: ...\n\nclass ByteString(Sequence[int], metaclass=ABCMeta): ...\n\nclass Match(Generic[AnyStr]):\n pos: int\n endpos: int\n lastindex: Optional[int]\n lastgroup: Optional[AnyStr]\n string: AnyStr\n\n # The regular expression object whose match() or search() method produced\n # this match instance.\n re: Pattern[AnyStr]\n def expand(self, template: AnyStr) -> AnyStr: ...\n # group() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def group(self, __group: _Literal[0] = ...) -> AnyStr: ...\n @overload\n def group(self, __group: str | int) -> AnyStr | Any: ...\n @overload\n def group(self, __group1: str | int, __group2: str | int, *groups: str | int) -> Tuple[AnyStr | Any, ...]: ...\n # Each item of groups()'s return tuple is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groups(self) -> Tuple[AnyStr | Any, ...]: ...\n @overload\n def groups(self, default: _T) -> Tuple[AnyStr | _T, ...]: ...\n # Each value in groupdict()'s return dict is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groupdict(self) -> dict[str, AnyStr | Any]: ...\n @overload\n def groupdict(self, default: _T) -> dict[str, AnyStr | _T]: ...\n def start(self, __group: Union[int, str] = ...) -> int: ...\n def end(self, __group: Union[int, str] = ...) -> int: ...\n def span(self, __group: Union[int, str] = ...) -> Tuple[int, int]: ...\n @property\n def regs(self) -> Tuple[Tuple[int, int], ...]: ... # undocumented\n # __getitem__() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def __getitem__(self, __key: _Literal[0]) -> AnyStr: ...\n @overload\n def __getitem__(self, __key: int | str) -> AnyStr | Any: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass Pattern(Generic[AnyStr]):\n flags: int\n groupindex: Mapping[str, int]\n groups: int\n pattern: AnyStr\n def search(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def match(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def fullmatch(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def split(self, string: AnyStr, maxsplit: int = ...) -> list[AnyStr]: ...\n def findall(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> list[Any]: ...\n def finditer(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Iterator[Match[AnyStr]]: ...\n @overload\n def sub(self, repl: AnyStr, string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def sub(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def subn(self, repl: AnyStr, string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n @overload\n def subn(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\n# Functions\n\nif sys.version_info >= (3, 7):\n _get_type_hints_obj_allowed_types = Union[\n object,\n Callable[..., Any],\n FunctionType,\n BuiltinFunctionType,\n MethodType,\n ModuleType,\n WrapperDescriptorType,\n MethodWrapperType,\n MethodDescriptorType,\n ]\nelse:\n _get_type_hints_obj_allowed_types = Union[\n object, Callable[..., Any], FunctionType, BuiltinFunctionType, MethodType, ModuleType,\n ]\n\nif sys.version_info >= (3, 9):\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types,\n globalns: Optional[Dict[str, Any]] = ...,\n localns: Optional[Dict[str, Any]] = ...,\n include_extras: bool = ...,\n ) -> Dict[str, Any]: ...\n\nelse:\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types, globalns: Optional[Dict[str, Any]] = ..., localns: Optional[Dict[str, Any]] = ...\n ) -> Dict[str, Any]: ...\n\nif sys.version_info >= (3, 8):\n def get_origin(tp: Any) -> Optional[Any]: ...\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n\n@overload\ndef cast(typ: Type[_T], val: Any) -> _T: ...\n@overload\ndef cast(typ: str, val: Any) -> Any: ...\n@overload\ndef cast(typ: object, val: Any) -> Any: ...\n\n# Type constructors\n\n# NamedTuple is special-cased in the type checker\nclass NamedTuple(Tuple[Any, ...]):\n _field_types: collections.OrderedDict[str, Type[Any]]\n _field_defaults: Dict[str, Any] = ...\n _fields: Tuple[str, ...]\n _source: str\n def __init__(self, typename: str, fields: Iterable[Tuple[str, Any]] = ..., **kwargs: Any) -> None: ...\n @classmethod\n def _make(cls: Type[_T], iterable: Iterable[Any]) -> _T: ...\n if sys.version_info >= (3, 8):\n def _asdict(self) -> Dict[str, Any]: ...\n else:\n def _asdict(self) -> collections.OrderedDict[str, Any]: ...\n def _replace(self: _T, **kwargs: Any) -> _T: ...\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __or__(self: _T, __value: _T) -> _T: ...\n def __ior__(self: _T, __value: _T) -> _T: ...\n\ndef NewType(name: str, tp: Type[_T]) -> Type[_T]: ...\n\n# This itself is only available during type checking\ndef type_check_only(func_or_cls: _F) -> _F: ...\n\nif sys.version_info >= (3, 7):\n class ForwardRef:\n __forward_arg__: str\n __forward_code__: CodeType\n __forward_evaluated__: bool\n __forward_value__: Optional[Any]\n __forward_is_argument__: bool\n def __init__(self, arg: str, is_argument: bool = ...) -> None: ...\n def _evaluate(self, globalns: Optional[Dict[str, Any]], localns: Optional[Dict[str, Any]]) -> Optional[Any]: ...\n def __eq__(self, other: Any) -> bool: ...\n def __hash__(self) -> int: ...\n def __repr__(self) -> str: ...\n\nif sys.version_info >= (3, 10):\n def is_typeddict(tp: Any) -> bool: ...\n", + "/typeshed/stdlib/typing_extensions.pyi": "import abc\nimport sys\nfrom typing import (\n TYPE_CHECKING as TYPE_CHECKING,\n Any,\n AsyncContextManager as AsyncContextManager,\n AsyncGenerator as AsyncGenerator,\n AsyncIterable as AsyncIterable,\n AsyncIterator as AsyncIterator,\n Awaitable as Awaitable,\n Callable,\n ChainMap as ChainMap,\n ClassVar as ClassVar,\n ContextManager as ContextManager,\n Coroutine as Coroutine,\n Counter as Counter,\n DefaultDict as DefaultDict,\n Deque as Deque,\n ItemsView,\n KeysView,\n Mapping,\n NewType as NewType,\n NoReturn as NoReturn,\n Text as Text,\n Tuple,\n Type as Type,\n TypeVar,\n ValuesView,\n _Alias,\n overload as overload,\n)\n\n_T = TypeVar(\"_T\")\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> Any: ...\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n\n# This alias for above is kept here for backwards compatibility.\nruntime = runtime_checkable\nProtocol: _SpecialForm = ...\nFinal: _SpecialForm = ...\n\ndef final(f: _F) -> _F: ...\n\nLiteral: _SpecialForm = ...\n\ndef IntVar(name: str) -> Any: ... # returns a new TypeVar\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=abc.ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n\n# TypedDict is a (non-subscriptable) special form.\nTypedDict: object = ...\n\nOrderedDict = _Alias()\n\ndef get_type_hints(\n obj: Callable[..., Any],\n globalns: dict[str, Any] | None = ...,\n localns: dict[str, Any] | None = ...,\n include_extras: bool = ...,\n) -> dict[str, Any]: ...\n\nif sys.version_info >= (3, 7):\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n def get_origin(tp: Any) -> Any | None: ...\n\nAnnotated: _SpecialForm = ...\n_AnnotatedAlias: Any = ... # undocumented\n\n@runtime_checkable\nclass SupportsIndex(Protocol, metaclass=abc.ABCMeta):\n @abc.abstractmethod\n def __index__(self) -> int: ...\n\n# PEP 612 support for Python < 3.9\nif sys.version_info >= (3, 10):\n from typing import Concatenate as Concatenate, ParamSpec as ParamSpec, TypeAlias as TypeAlias, TypeGuard as TypeGuard\nelse:\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Type[Any] | None\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: None | Type[Any] | str = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n", + "/typeshed/stdlib/uarray.pyi": "from array import *\n", + "/typeshed/stdlib/ucollections.pyi": "from collections import *\n", + "/typeshed/stdlib/uerrno.pyi": "from errno import *\n", + "/typeshed/stdlib/urandom.pyi": "from random import *\n", + "/typeshed/stdlib/ustruct.pyi": "from struct import *\n", + "/typeshed/stdlib/usys.pyi": "from sys import *\n", + "/typeshed/stdlib/utime.pyi": "from time import *\n", + "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", + "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"\ud540, \uc774\ubbf8\uc9c0, \uc18c\ub9ac, \uc628\ub3c4 \ubc0f \uc74c\ub7c9\uc785\ub2c8\ub2e4.\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Schedule to run a function at the interval specified by the time arguments **V2 only**.\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: Function to call at the provided interval. Omit when using as a decorator.\n:param days: Sets the day mark for the scheduling.\n:param h: Sets the hour mark for the scheduling.\n:param min: Sets the minute mark for the scheduling.\n:param s: Sets the second mark for the scheduling.\n:param ms: Sets the millisecond mark for the scheduling.\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"\ud328\ub2c9 \ubaa8\ub4dc\ub97c \ud65c\uc131\ud654\ud569\ub2c8\ub2e4.\n\nExample: ``panic(127)``\n\n:param n: <= 255\uc758 \uc784\uc758 \uc815\uc218\ub85c \uc0c1\ud0dc\ub97c \ud45c\uc2dc\ud569\ub2c8\ub2e4.\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"\ubcf4\ub4dc\ub97c \uc7ac\uc2dc\uc791\ud569\ub2c8\ub2e4.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Converts a value from a range to an integer range.\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: A number to convert.\n:param from_: A tuple to define the range to convert from.\n:param to: A tuple to define the range to convert to.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Converts a value from a range to a floating point range.\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: A number to convert.\n:param from_: A tuple to define the range to convert from.\n:param to: A tuple to define the range to convert to.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"``n``\ubc00\ub9ac\ucd08 \ub3d9\uc548 \ub300\uae30\ud569\ub2c8\ub2e4.\n\nExample: ``sleep(1000)``\n\n:param n: \ub300\uae30\ud560 \ubc00\ub9ac\ucd08 \uc218\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"\ubcf4\ub4dc\uc758 \uc2e4\ud589 \uc2dc\uac04\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"\uc12d\uc528\ub85c micro:bit\uc758 \uc628\ub3c4\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4. (\uc628\ub3c4)\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"\uc74c\ub7c9\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``set_volume(127)``\n\n:param v: 0(\ub0ae\uc74c) \ubc0f 255(\ub192\uc74c) \uc0ac\uc774\uc758 \uac12\uc785\ub2c8\ub2e4.\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"``button_a`` \ubc0f ``button_b`` \ubc84\ud2bc \ud074\ub798\uc2a4\uc785\ub2c8\ub2e4.\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"\ud574\ub2f9 \ubc84\ud2bc\uc774 \ub20c\ub838\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"\uc7a5\uce58\uac00 \uc2dc\uc791\ud55c \ud6c4 \ub610\ub294 \uc774 \uba54\uc11c\ub4dc\uac00 \ud638\ucd9c\ub41c \ud6c4 \ud574\ub2f9 \ubc84\ud2bc\uc774 \ub20c\ub838\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"\ubc84\ud2bc\uc774 \ub20c\ub9b0 \ucd1d \ud69f\uc218\ub97c \ubd88\ub7ec\uc624\uace0, \ucd1d\uac12\uc744 \ubc18\ud658\ud558\uae30 \uc804 \ucd08\uae30\ud654\ud569\ub2c8\ub2e4.\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"\uc67c\ucabd \ubc84\ud2bc ``Button`` \uac1c\uccb4\uc785\ub2c8\ub2e4.\"\"\"\nbutton_b: Button\n\"\"\"\uc624\ub978\ucabd \ubc84\ud2bc ``Button`` \uac1c\uccb4\uc785\ub2c8\ub2e4.\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"\ub514\uc9c0\ud138 \ud540\uc785\ub2c8\ub2e4.\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"\ud540\uc758 \ub514\uc9c0\ud138 \uac12\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"\ud540\uc758 \ub514\uc9c0\ud138 \uac12\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.write_digital(1)``\n\n:param value: \ud540\uc744 \ud558\uc774\ub85c \uc124\uc815\ud558\ub824\uba74 1, \ub85c\uc6b0\ub85c \uc124\uc815\ud558\ub824\uba74 0\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"\ub2e4\uc74c \uc911 \ud558\ub098\uc758 \uac12\uc73c\ub85c \ud480 \uc0c1\ud0dc\ub97c \uc124\uc815: ``PULL_UP``, ``PULL_DOWN`` \ub610\ub294 ``NO_PULL``\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: \uad00\ub828 \ud540\uc758 \ud480 \uc0c1\ud0dc\uc785\ub2c8\ub2e4. (\uc608: ``pin0.PULL_UP``)\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"\ud540\uc758 \ud480 \uc0c1\ud0dc\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"\ud540 \ubaa8\ub4dc\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"\ud540\uc758 PWM \uc2e0\ud638\ub97c \ucd9c\ub825\ud558\uace0 ``value``\uc640(\uacfc) \ube44\ub840\ud574 \ub4c0\ud2f0 \uc0ac\uc774\ud074\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.write_analog(254)``\n\n:param value: 0(0% \ub4c0\ud2f0 \uc0ac\uc774\ud074) \ubc0f 1023(100% \ub4c0\ud2f0) \uc0ac\uc774\uc758 \uc815\uc218 \ub610\ub294 \ubd80\ub3d9 \uc18c\uc218\uc810 \uc218\uc785\ub2c8\ub2e4.\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"PWM \uc2e0\ud638\uac00 \ucd9c\ub825\ub418\ub294 \uc8fc\uae30\ub97c ``period``\ubc00\ub9ac\ucd08\ub85c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: \uc720\ud6a8\ud55c \ucd5c\uc18c\uac12\uc774 1ms\uc778 \ubc00\ub9ac\ucd08 \uc8fc\uae30\uc785\ub2c8\ub2e4.\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"PWM \uc2e0\ud638\uac00 \ucd9c\ub825\ub418\ub294 \uc8fc\uae30\ub97c ``period``\ub9c8\uc774\ud06c\ub85c\ucd08\ub85c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: \uc720\ud6a8\ud55c \ucd5c\uc18c\uac12\uc774 256\u00b5s\uc778 \ub9c8\uc774\ud06c\ub85c\ucd08 \uc8fc\uae30\uc785\ub2c8\ub2e4.\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"\uc544\ub0a0\ub85c\uadf8 \ubc0f \ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"\ud540\uc5d0 \uc801\uc6a9\ub41c \uc804\uc555\uc744 \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"\uc544\ub0a0\ub85c\uadf8, \ub514\uc9c0\ud138, \ud130\uce58 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"\ud540\uc774 \uc811\ucd09 \uc0c1\ud0dc\uc778\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"\ud540\uc758 \ud130\uce58 \ubaa8\ub4dc\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: \uad00\ub828 \ud540\uc758 ``CAPACITIVE`` \ub610\ub294 ``RESISTIVE``\uc785\ub2c8\ub2e4.\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8, \ud130\uce58 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin1: MicroBitTouchPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8, \ud130\uce58 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin2: MicroBitTouchPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8, \ud130\uce58 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4. (pin speaker)\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"micro:bit \uc804\uba74\uc758 \ud130\uce58 \uac10\uc9c0 \ub85c\uace0 \ud540\uc73c\ub85c, \uae30\ubcf8\uac12\uc740 \uc815\uc804\uc2dd \ud130\uce58 \ubaa8\ub4dc\uc785\ub2c8\ub2e4. (\ud540 \ub85c\uace0)\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"micro:bit \uc2a4\ud53c\ucee4\ub97c \ucc98\ub9ac\ud558\ub294 \ud540\uc785\ub2c8\ub2e4. (\ud540 \uc2a4\ud53c\ucee4)\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"micro:bit LED \ub514\uc2a4\ud50c\ub808\uc774\uc5d0 \ud45c\uc2dc\ud560 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"\ud558\ud2b8 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n HEART_SMALL: Image\n \"\"\"\uc791\uc740 \ud558\ud2b8 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n HAPPY: Image\n \"\"\"\ud589\ubcf5\ud55c \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SMILE: Image\n \"\"\"\ubbf8\uc18c \uc9d3\ub294 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SAD: Image\n \"\"\"\uc2ac\ud508 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CONFUSED: Image\n \"\"\"\ud63c\ub780\uc2a4\ub7ec\uc6b4 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ANGRY: Image\n \"\"\"\ud654\ub09c \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ASLEEP: Image\n \"\"\"\uc790\ub294 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SURPRISED: Image\n \"\"\"\ub180\ub780 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SILLY: Image\n \"\"\"\uc6b0\uc2a4\uaf5d\uc2a4\ub7ec\uc6b4 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n FABULOUS: Image\n \"\"\"\uc120\uae00\ub77c\uc2a4\ub97c \uc4f4 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n MEH: Image\n \"\"\"\uc9c0\ub8e8\ud55c \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n YES: Image\n \"\"\"\uccb4\ud06c \ud45c\uc2dc \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n NO: Image\n \"\"\"\uc5d1\uc2a4 \ud45c\uc2dc \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK12: Image\n \"\"\"12\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK11: Image\n \"\"\"11\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK10: Image\n \"\"\"10\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK9: Image\n \"\"\"9\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK8: Image\n \"\"\"8\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK7: Image\n \"\"\"7\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK6: Image\n \"\"\"6\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK5: Image\n \"\"\"5\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK4: Image\n \"\"\"4\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK3: Image\n \"\"\"3\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK2: Image\n \"\"\"2\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK1: Image\n \"\"\"1\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_N: Image\n \"\"\"\ubd81\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_NE: Image\n \"\"\"\ubd81\ub3d9\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_E: Image\n \"\"\"\ub3d9\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_SE: Image\n \"\"\"\ub0a8\ub3d9\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_S: Image\n \"\"\"\ub0a8\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_SW: Image\n \"\"\"\ub0a8\uc11c\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_W: Image\n \"\"\"\uc11c\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_NW: Image\n \"\"\"\ubd81\uc11c\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n TRIANGLE: Image\n \"\"\"\uc704\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \uc0bc\uac01\ud615 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"\uc67c\ucabd \uad6c\uc11d\uc758 \uc0bc\uac01\ud615 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CHESSBOARD: Image\n \"\"\"\uccb4\uc2a4\ud310 \ud328\ud134\uc73c\ub85c \uae5c\ube61\uc774\ub294 LED \ubd88\ube5b\uc785\ub2c8\ub2e4.\"\"\"\n DIAMOND: Image\n \"\"\"\ub2e4\uc774\uc544\ubaac\ub4dc \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"\uc791\uc740 \ub2e4\uc774\uc544\ubaac\ub4dc \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SQUARE: Image\n \"\"\"\uc0ac\uac01\ud615 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SQUARE_SMALL: Image\n \"\"\"\uc791\uc740 \uc0ac\uac01\ud615 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n RABBIT: Image\n \"\"\"\ud1a0\ub07c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n COW: Image\n \"\"\"\uc18c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"\uc0ac\ubd84\uc74c\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"\ud314\ubd84\uc74c\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"\ub450 \uac1c\uc758 \ud314\ubd84\uc74c\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n PITCHFORK: Image\n \"\"\"\uc1e0\uc2a4\ub791 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n XMAS: Image\n \"\"\"\ud06c\ub9ac\uc2a4\ub9c8\uc2a4 \ub098\ubb34 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n PACMAN: Image\n \"\"\"\uc624\ub77d\uc2e4 \uce90\ub9ad\ud130 Pac-Man \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n TARGET: Image\n \"\"\"\ud45c\uc801 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n TSHIRT: Image\n \"\"\"\ud2f0\uc154\uce20 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ROLLERSKATE: Image\n \"\"\"\ub864\ub7ec\uc2a4\ucf00\uc774\ud2b8 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n DUCK: Image\n \"\"\"\uc624\ub9ac \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n HOUSE: Image\n \"\"\"\uc9d1 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n TORTOISE: Image\n \"\"\"\uac70\ubd81\uc774 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n BUTTERFLY: Image\n \"\"\"\ub098\ube44 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n STICKFIGURE: Image\n \"\"\"\ub9c9\ub300\uc778\uac04 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n GHOST: Image\n \"\"\"\uc720\ub839 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SWORD: Image\n \"\"\"\uce7c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n GIRAFFE: Image\n \"\"\"\uae30\ub9b0 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SKULL: Image\n \"\"\"\ud574\uace8 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n UMBRELLA: Image\n \"\"\"\uc6b0\uc0b0 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SNAKE: Image\n \"\"\"\ubc40 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SCISSORS: Image\n \"\"\"Scissors image.\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"\ubaa8\ub4e0 CLOCK_ \uc774\ubbf8\uc9c0\ub97c \uc21c\uc11c\ub300\ub85c \ub098\uc5f4\ud55c \ub9ac\uc2a4\ud2b8\uc785\ub2c8\ub2e4.\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"\ubaa8\ub4e0 ARROW_ \uc774\ubbf8\uc9c0\ub97c \uc21c\uc11c\ub300\ub85c \ub098\uc5f4\ud55c \ub9ac\uc2a4\ud2b8\uc785\ub2c8\ub2e4.\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"\uc5b4\ub5a4 LED\uac00 \ucf1c\uc838\uc788\ub294\uc9c0 \uc124\uba85\ud558\ub294 \ubb38\uc790\uc5f4\ub85c\ubd80\ud130 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4. (string)\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: \uc774\ubbf8\uc9c0\ub97c \uc124\uba85\ud558\ub294 \ubb38\uc790\uc5f4\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"``width`` \uc5f4\uacfc ``height`` \ud589\uc758 \ube44\uc5b4\uc788\ub294 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\n:param width: \uc774\ubbf8\uc9c0 \ub108\ube44(\uc120\ud0dd \uc0ac\ud56d)\n:param height: \uc774\ubbf8\uc9c0 \ub192\uc774(\uc120\ud0dd \uc0ac\ud56d)\n:param buffer: 0~9\uc758 \ubc94\uc704\uc5d0 \uc18d\ud558\ub294 \uc815\uc218\ub85c \uad6c\uc131\ub41c ``width``x``height`` \ubc30\uc5f4 \ub610\ub294 \ubc14\uc774\ud2b8(\uc120\ud0dd \uc0ac\ud56d)\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"\uc5f4\uc758 \uc218\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"\ud589\uc758 \uc218\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"\ud53d\uc140\uc758 \ubc1d\uae30\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: \uc5f4 \ubc88\ud638\n:param y: \ud589 \ubc88\ud638\n:param value: 0(\uc5b4\ub450\uc6c0)\uacfc 9(\ubc1d\uc74c) \uc0ac\uc774\uc758 \uc815\uc218\ub85c \ubc1d\uae30\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"\ud53d\uc140\uc758 \ubc1d\uae30\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: \uc5f4 \ubc88\ud638\n:param y: \ud589 \ubc88\ud638\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"\uc0ac\uc9c4\uc744 \uc67c\ucabd\uc73c\ub85c \uc62e\uaca8 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: \uc62e\uae38 \uc5f4\uc758 \uc218\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"\uc0ac\uc9c4\uc744 \uc624\ub978\ucabd\uc73c\ub85c \uc62e\uaca8 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: \uc62e\uae38 \uc5f4\uc758 \uc218\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"\uc0ac\uc9c4\uc744 \uc704\ub85c \uc62e\uaca8 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: \uc62e\uae38 \ud589\uc758 \uc218\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"\uc0ac\uc9c4\uc744 \uc544\ub798\ub85c \uc62e\uaca8 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: \uc62e\uae38 \ud589\uc758 \uc218\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"\uc0ac\uc9c4\uc744 \uc798\ub77c \ub0b4 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: \uc790\ub974\uae30 \uc624\ud504\uc14b \uc5f4\n:param y: \uc790\ub974\uae30 \uc624\ud504\uc14b \ud589\n:param w: \uc790\ub974\uae30 \ub108\ube44\n:param h: \uc790\ub974\uae30 \ub192\uc774\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"\uc774\ubbf8\uc9c0\uc640 \ub3d9\uc77c\ud55c \uc0ac\ubcf8\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"\uc18c\uc2a4 \uc774\ubbf8\uc9c0\uc5d0 \uc788\ub294 \ud53d\uc140\uc744 \ubc1d\uae30\ub97c \ubc18\uc804\ud574 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"\uc774\ubbf8\uc9c0\uc758 \ubaa8\ub4e0 \ud53d\uc140\uc758 \ubc1d\uae30\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``my_image.fill(5)``\n\n:param value: \uc0c8\ub85c\uc6b4 \ubc1d\uae30\ub97c 0(\uc5b4\ub450\uc6c0)\uacfc 9(\ubc1d\uae30) \uc0ac\uc774\ub85c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"\ub2e4\ub978 \uc774\ubbf8\uc9c0\ub85c\ubd80\ud130 \uc601\uc5ed\uc744 \ubcf5\uc0ac\ud574 \uc774 \uc774\ubbf8\uc9c0\ub85c \uac00\uc838\uc635\ub2c8\ub2e4.\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: \uc18c\uc2a4 \uc774\ubbf8\uc9c0\n:param x: \uc18c\uc2a4 \uc774\ubbf8\uc9c0 \ub0b4 \uc2dc\uc791 \uc5f4 \uc624\ud504\uc14b\n:param y: \uc18c\uc2a4 \uc774\ubbf8\uc9c0 \ub0b4 \uc2dc\uc791 \ud589 \uc624\ud504\uc14b\n:param w: \ubcf5\uc0ac\ud560 \uc5f4\uc758 \uc218\n:param h: \ubcf5\uc0ac\ud560 \ud589 \ubc88\ud638\n:param xdest: \uc774 \uc774\ubbf8\uc9c0\uc5d0\uc11c \uc218\uc815\ud560 \uc5f4\uc758 \uc624\ud504\uc14b\n:param ydest: \uc774 \uc774\ubbf8\uc9c0\uc5d0\uc11c \uc218\uc815\ud560 \ud589\uc758 \uc624\ud504\uc14b\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"\uc774\ubbf8\uc9c0\uc5d0 \ud574\ub2f9\ud558\ub294 \ucef4\ud329\ud2b8 \uc2a4\ud2b8\ub9c1\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"\uc774\ubbf8\uc9c0\uc5d0 \ud574\ub2f9\ud558\ub294 \uc77d\uae30 \uac00\ub2a5 \ubb38\uc790\uc5f4\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"\ub450 \uc774\ubbf8\uc9c0\uc758 \uac01 \ud53d\uc140\uc758 \ubc1d\uae30 \uac12\uc744 \ub354\ud574 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: \ub354\ud560 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"\ub450 \uc774\ubbf8\uc9c0\uc758 \uac01 \ud53d\uc140\uc758 \ubc1d\uae30 \uac12\uc744 \ube7c \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: \ube84 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"\uac01 \ud53d\uc140\uc758 \ubc1d\uae30 \uac12\uc744 ``n``\ub9cc\ud07c \uacf1\ud574 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART * 0.5``\n\n:param n: \uacf1\ud560 \uac12\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"\uac01 \ud53d\uc140\uc758 \ubc1d\uae30 \uac12\uc744 ``n``\ub9cc\ud07c \ub098\ub204\uc5b4 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART / 2``\n\n:param n: \ub098\ub20c \uac12\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"``quiet``\uc5d0\uc11c \ubc15\uc218 \ub610\ub294 \ud568\uc131 \ub4f1 ``loud``\ub85c \uc18c\ub9ac \uc774\ubca4\ud2b8\uc758 \ubcc0\ud654\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4.\"\"\"\n QUIET: SoundEvent\n \"\"\"``loud``\uc5d0\uc11c \ub9d0\uc18c\ub9ac \ub610\ub294 \ubc30\uacbd \uc74c\uc545 \ub4f1 ``quiet``\ub85c \uc18c\ub9ac \uc774\ubca4\ud2b8\uc758 \ubcc0\ud654\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4.\"\"\"\n\nclass Sound:\n \"\"\"``audio.play(Sound.NAME)``\uc744 \uc0ac\uc6a9\ud574 \ub0b4\uc7a5\ub41c \uc18c\ub9ac\ub97c \ud638\ucd9c\ud569\ub2c8\ub2e4.\"\"\"\n GIGGLE: Sound\n \"\"\"\uc6c3\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n HAPPY: Sound\n \"\"\"\ud589\ubcf5\ud574\ud558\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n HELLO: Sound\n \"\"\"\uc778\uc0ac \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n MYSTERIOUS: Sound\n \"\"\"\uc2e0\ube44\ud55c \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n SAD: Sound\n \"\"\"\uc2ac\ud37c\ud558\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n SLIDE: Sound\n \"\"\"\uc2ac\ub77c\uc774\ub4dc \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n SOARING: Sound\n \"\"\"\uc19f\uc544\uc624\ub974\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n SPRING: Sound\n \"\"\"\uc2a4\ud504\ub9c1 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n TWINKLE: Sound\n \"\"\"\ubc18\uc9dd\uc774\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n YAWN: Sound\n \"\"\"\ud558\ud488 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"", + "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"micro:bit\uc758 \uac00\uc18d\ub3c4\ub97c \uce21\uc815\ud558\uace0 \uc81c\uc2a4\uccd0\ub97c \uc778\uc2dd\ud569\ub2c8\ub2e4.\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"``x`` \ucd95\uc758 \uac00\uc18d\ub3c4 \uce21\uc815\uac12\uc744 milli-g\ub85c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"``y`` \ucd95\uc758 \uac00\uc18d\ub3c4 \uce21\uc815\uac12\uc744 milli-g\ub85c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"``z`` \ucd95\uc758 \uac00\uc18d\ub3c4 \uce21\uc815\uac12\uc744 milli-g\ub85c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"\ud55c \ubc88\uc5d0 \ubaa8\ub4e0 \ucd95\uc758 \uac00\uc18d\ub3c4 \uce21\uc815\uac12\uc744 \ud29c\ud50c\ub85c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Get the acceleration measurement of all axes combined, as a positive integer. This is the Pythagorean sum of the X, Y and Z axes.\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"\ud604\uc7ac \uc81c\uc2a4\ucc98\uc758 \uc774\ub984\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"\ud574\ub2f9 \uc774\ub984\uc758 \uc81c\uc2a4\ucc98\uac00 \ud604\uc7ac \ud65c\uc131\ud654 \uc0c1\ud0dc\uc778\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: \uc81c\uc2a4\uccd0 \uc774\ub984.\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"\ud574\ub2f9 \uc774\ub984\uc758 \uc81c\uc2a4\ucc98\uac00 \ub9c8\uc9c0\ub9c9 \ud638\ucd9c \uc774\ud6c4\ub85c \ud65c\uc131\ud654\ub41c \uc801\uc774 \uc788\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: \uc81c\uc2a4\ucc98 \uc774\ub984\uc785\ub2c8\ub2e4.\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"\uc81c\uc2a4\ucc98 \uae30\ub85d\uc758 \ud29c\ud50c\uc744 \ubc18\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Set the accelerometer sensitivity range, in g (standard gravity), to the closest values supported by the hardware, so it rounds to either ``2``, ``4``, or ``8`` g.\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: New range for the accelerometer, an integer in ``g``.\"\"\"", + "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"micro:bit\uc744 \ud65c\uc6a9\ud574 \uc18c\ub9ac\ub97c \uc7ac\uc0dd\ud569\ub2c8\ub2e4(V1 \ud638\ud658\uc744 \uc704\ud574\uc11c\ub294 ``audio``\ub97c \uac00\uc838\uc624\uc138\uc694).\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Play a built-in sound, sound effect or custom audio frames.\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: A built-in ``Sound`` such as ``Sound.GIGGLE``, a ``SoundEffect`` or sample data as an iterable of ``AudioFrame`` objects.\n:param wait: ``wait``\uc774 ``True``\uc778 \uacbd\uc6b0 \uc0ac\uc6b4\ub4dc \uc7ac\uc0dd\uc774 \uc644\ub8cc\ub420 \ub54c\uae4c\uc9c0 \uc774 \ud568\uc218\uac00 \ucc28\ub2e8\ub429\ub2c8\ub2e4.\n:param pin: (\ud540) ``pin0``\uc758 \uae30\ubcf8\uac12\uc744 \ub36e\uc5b4\uc4f0\ub294 \ub370 \uc0ac\uc6a9\ud560 \ucd9c\ub825 \ud540\uc744 \ud2b9\uc815\ud558\ub294 \uc778\uc790\uc785\ub2c8\ub2e4(\uc120\ud0dd \uc0ac\ud56d). \uc0ac\uc6b4\ub4dc\ub97c \uc7ac\uc0dd\ud558\uace0 \uc2f6\uc9c0 \uc54a\ub2e4\uba74 ``pin=None``\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n:param return_pin: \uc811\uc9c0 \ub300\uc2e0 \uc678\ubd80 \uc2a4\ud53c\ucee4\uc5d0 \uc5f0\uacb0\ud560 \ucc28\ub3d9 \uc5e3\uc9c0 \ucee4\ub125\ud130 \ud540\uc744 \ud2b9\uc815\ud569\ub2c8\ub2e4. **V2** \uc218\uc815 \ubc84\uc804\uc5d0\uc11c\ub294 \ubb34\uc2dc\ud569\ub2c8\ub2e4.\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"\uc18c\ub9ac\uac00 \uc7ac\uc0dd \uc911\uc778\uc9c0 \uccb4\ud06c\ud569\ub2c8\ub2e4.\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"\ubaa8\ub4e0 \uc624\ub514\uc624 \ud50c\ub808\uc774\ubc31\uc744 \uc911\uc9c0\ud569\ub2c8\ub2e4.\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"A sound effect, composed by a set of parameters configured via the constructor or attributes.\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Sine wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Sawtooth wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Triangle wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Square wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Noise option used for the ``waveform`` parameter.\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Linear interpolation option used for the ``shape`` parameter.\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Curve interpolation option used for the ``shape`` parameter.\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Logarithmic interpolation option used for the ``shape`` parameter.\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"No effect option used for the ``fx`` parameter.\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Tremolo effect option used for the ``fx`` parameter.\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Vibrato effect option used for the ``fx`` parameter.\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Warble effect option used for the ``fx`` parameter.\"\"\"\n freq_start: int\n \"\"\"Start frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n freq_end: int\n \"\"\"End frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n duration: int\n \"\"\"Duration of the sound in milliseconds, a number between ``0`` and ``9999``\"\"\"\n vol_start: int\n \"\"\"Start volume value, a number between ``0`` and ``255``\"\"\"\n vol_end: int\n \"\"\"End volume value, a number between ``0`` and ``255``\"\"\"\n waveform: int\n \"\"\"Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise)\"\"\"\n fx: int\n \"\"\"Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``\"\"\"\n shape: int\n \"\"\"The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Create a new sound effect. (string)\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: Start frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n:param freq_end: End frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n:param duration: Duration of the sound in milliseconds, a number between ``0`` and ``9999``.\n:param vol_start: Start volume value, a number between ``0`` and ``255``.\n:param vol_end: End volume value, a number between ``0`` and ``255``.\n:param waveform: Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise).\n:param fx: Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``.\n:param shape: The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Create a copy of this ``SoundEffect``.\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"``AudioFrame`` \uc624\ube0c\uc81d\ud2b8\ub294 \ubd80\ud638 \uc5c6\ub294 \ubc14\uc774\ud2b8 \uc0d8\ud50c 32\uac1c\uc758 \ub9ac\uc2a4\ud2b8\uc785\ub2c8\ub2e4(0\uc5d0\uc11c 255 \uc0ac\uc774\uc758 \ubaa8\ub4e0 \uc22b\uc790).\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Overwrite the data in this ``AudioFrame`` with the data from another ``AudioFrame`` instance.\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: ``AudioFrame`` instance from which to copy the data.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", + "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"\ub0b4\uc7a5\ub41c \ub098\uce68\ubc18\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. (\ub098\uce68\ubc18)\"\"\"\n\ndef calibrate() -> None:\n \"\"\"\ubcf4\uc815 \ud504\ub85c\uc138\uc2a4\ub97c \uc2dc\uc791\ud569\ub2c8\ub2e4.\n\nExample: ``compass.calibrate()``\n\nAn instructive message will be scrolled to the user after which they will need\nto rotate the device in order to draw a circle on the LED display.\"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"\ub098\uce68\ubc18\uc774 \ubcf4\uc815\ub418\uc5c8\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``compass.is_calibrated()``\n\n:return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"\ubcf4\uc815\uc744 \ud574\uc81c\ud574 \ub098\uce68\ubc18\uc744 \ubcf4\uc815\ud558\uc9c0 \uc54a\uc740 \uc0c1\ud0dc\ub85c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``compass.clear_calibration()``\"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"``x`` \ucd95\uc758 \uc790\uae30\uc7a5 \uac15\ub3c4\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``compass.get_x()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"``y`` \ucd95\uc758 \uc790\uae30\uc7a5 \uac15\ub3c4\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``compass.get_y()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"``z`` \ucd95\uc758 \uc790\uae30\uc7a5 \uac15\ub3c4\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``compass.get_z()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"\ub098\uce68\ubc18\uc758 \ubc29\ud5a5\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``compass.heading()``\n\n:return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"\uc7a5\uce58 \uc8fc\ubcc0\uc758 \uc790\uae30\uc7a5 \uaddc\ubaa8\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``compass.get_field_strength()``\n\n:return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...", + "/typeshed/stdlib/microbit/display.pyi": "\"\"\"5\u00d75 LED \ub514\uc2a4\ud50c\ub808\uc774\uc5d0 \ud14d\uc2a4\ud2b8, \uc774\ubbf8\uc9c0, \uc560\ub2c8\uba54\uc774\uc158\uc744 \ud45c\uc2dc\ud569\ub2c8\ub2e4.\"\"\"\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"\uc5f4 ``x``\uc640 \ud589 ``y``\uc758 LED\uc758 \ubc1d\uae30\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``display.get_pixel(0, 0)``\n\n:param x: \ub514\uc2a4\ud50c\ub808\uc774 \uc5f4(0..4)\n:param y: \ub514\uc2a4\ud50c\ub808\uc774 \ud589(0..4)\n:return: A number between 0 (off) and 9 (bright)\"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"\uc5f4 ``x``\uc640 \ud589 ``y``\uc758 LED\uc758 \ubc1d\uae30\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``display.set_pixel(0, 0, 9)``\n\n:param x: \ub514\uc2a4\ud50c\ub808\uc774 \uc5f4(0..4)\n:param y: \ub514\uc2a4\ud50c\ub808\uc774 \ud589(0..4)\n:param value: 0(\uaebc\uc9d0)\uacfc 9(\ubc1d\uc74c) \uc0ac\uc774\uc758 \ubc1d\uae30\"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"\ubaa8\ub4e0 LED\uc758 \ubc1d\uae30\ub97c 0(\uaebc\uc9d0)\uc73c\ub85c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``display.clear()``\"\"\"\n ...\n\ndef show(image: Union[str, float, int, Image, Iterable[Image]], delay: int=400, wait: bool=True, loop: bool=False, clear: bool=False) -> None:\n \"\"\"LED \ub514\uc2a4\ud50c\ub808\uc774\uc5d0 \uc774\ubbf8\uc9c0, \uae00\uc790 \ub610\ub294 \uc22b\uc790\ub97c \ud45c\uc2dc\ud569\ub2c8\ub2e4.\n\nExample: ``display.show(Image.HEART)``\n\nWhen ``image`` is an image or a list of images then each image is displayed in turn.\nIf ``image`` is a string or number, each letter or digit is displayed in turn.\n\n:param image: \ud45c\uc2dc\ud560 \ubb38\uc790\uc5f4, \uc22b\uc790, \uc774\ubbf8\uc9c0 \ub610\ub294 \uc774\ubbf8\uc9c0 \ubaa9\ub85d\uc785\ub2c8\ub2e4.\n:param delay: ``delay``\ubc00\ub9ac\ucd08\uc758 \uc9c0\uc5f0 \uc2dc\uac04\uc744 \ub450\uace0 \uac01 \uae00\uc790, \uc22b\uc790 \ub610\ub294 \uc774\ubbf8\uc9c0\uac00 \ud45c\uc2dc\ub429\ub2c8\ub2e4.\n:param wait: ``wait``\uac00 ``True``\uc778 \uacbd\uc6b0 \uc774 \uae30\ub2a5\uc740 \uc560\ub2c8\uba54\uc774\uc158\uc774 \uc885\ub8cc\ub420 \ub54c\uae4c\uc9c0 \ucc28\ub2e8\ub429\ub2c8\ub2e4. \uadf8\ub807\uc9c0 \uc54a\uc740 \uacbd\uc6b0 \uc560\ub2c8\uba54\uc774\uc158\uc774 \ubc31\uadf8\ub77c\uc6b4\ub4dc\uc5d0\uc11c \uc7ac\uc0dd\ub429\ub2c8\ub2e4.\n:param loop: ``loop``\uac00 ``True``\uc778 \uacbd\uc6b0 \uc560\ub2c8\uba54\uc774\uc158\uc774 \ubb34\ud55c \ubc18\ubcf5\ub429\ub2c8\ub2e4.\n:param clear: ``clear``\uac00 ``True``\uc778 \uacbd\uc6b0 \ub514\uc2a4\ud50c\ub808\uc774\ub294 \uc2dc\ud000\uc2a4\uac00 \uc885\ub8cc\ub41c \ud6c4 \ub0b4\uc6a9\uc744 \uc9c0\uc6c1\ub2c8\ub2e4.\n\nThe ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\"\"\"\n ...\n\ndef scroll(text: Union[str, float, int], delay: int=150, wait: bool=True, loop: bool=False, monospace: bool=False) -> None:\n \"\"\"LED \ub514\uc2a4\ud50c\ub808\uc774\uc758 \uc22b\uc790 \ub610\ub294 \ud14d\uc2a4\ud2b8\ub97c \uc2a4\ud06c\ub864\ud569\ub2c8\ub2e4.\n\nExample: ``display.scroll('micro:bit')``\n\n:param text: \uc2a4\ud06c\ub864\ud560 \ubb38\uc790\uc5f4. \ub9cc\uc57d ``text``\uac00 \uc815\uc218 \ub610\ub294 \ubd80\ub3d9\uc218\uc778 \uacbd\uc6b0 \uba3c\uc800 ``str()``\uc744 \uc0ac\uc6a9\ud574 \ubcc0\ud658\ub429\ub2c8\ub2e4.\n:param delay: ``delay`` \ub9e4\uac1c\ubcc0\uc218\ub294 \ud14d\uc2a4\ud2b8 \uc2a4\ud06c\ub864\ub9c1 \uc18d\ub3c4\ub97c \uc870\uc808\ud569\ub2c8\ub2e4.\n:param wait: ``wait``\uac00 ``True``\uc778 \uacbd\uc6b0 \uc774 \uae30\ub2a5\uc740 \uc560\ub2c8\uba54\uc774\uc158\uc774 \uc885\ub8cc\ub420 \ub54c\uae4c\uc9c0 \ucc28\ub2e8\ub429\ub2c8\ub2e4. \uadf8\ub807\uc9c0 \uc54a\uc740 \uacbd\uc6b0 \uc560\ub2c8\uba54\uc774\uc158\uc774 \ubc31\uadf8\ub77c\uc6b4\ub4dc\uc5d0\uc11c \uc7ac\uc0dd\ub429\ub2c8\ub2e4.\n:param loop: ``loop``\uac00 ``True``\uc778 \uacbd\uc6b0 \uc560\ub2c8\uba54\uc774\uc158\uc774 \ubb34\ud55c \ubc18\ubcf5\ub429\ub2c8\ub2e4.\n:param monospace: ``monospace``\uac00 ``True``\uc778 \uacbd\uc6b0 \uc2a4\ud06c\ub864 \uc911\uc5d0 \ubaa8\ub4e0 \uae00\uc790\ub294 5\uc5f4\uc758 \ud53d\uc140\ub9cc\ud07c\uc758 \ub108\ube44\ub97c \uc18c\ubaa8\ud558\uba70, \uadf8\ub807\uc9c0 \uc54a\uc740 \uacbd\uc6b0 \uae00\uc790 \uc0ac\uc774\uc5d0 \uc815\ud655\ud788 1\uc5f4\uc758 \ud53d\uc140\uc758 \uacf5\ubc31\uc774 \uc874\uc7ac\ud569\ub2c8\ub2e4.\n\nThe ``wait``, ``loop`` and ``monospace`` arguments must be specified\nusing their keyword.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"LED \ub514\uc2a4\ud50c\ub808\uc774\ub97c \ucf2d\ub2c8\ub2e4.\n\nExample: ``display.on()``\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"LED \ub514\uc2a4\ud50c\ub808\uc774\ub97c \ub055\ub2c8\ub2e4(\ub514\uc2a4\ud50c\ub808\uc774\ub97c \ube44\ud65c\uc131\ud654\ud558\uba74 GPIO \ud540\uc744 \ub2e4\ub978 \ubaa9\uc801\uc73c\ub85c \uc7ac\uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4).\n\nExample: ``display.off()``\"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"LED \ub514\uc2a4\ud50c\ub808\uc774\uac00 \ud65c\uc131\ud654\ub418\uc5b4\uc788\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``display.is_on()``\n\n:return: ``True`` if the display is on, otherwise returns ``False``.\"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"\ubc1d\uae30 \ub808\ubca8\uc744 \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``display.read_light_level()``\n\nUses the display's LEDs in reverse-bias mode to sense the amount of light\nfalling on the display.\n\n:return: An integer between 0 and 255 representing the light level, with larger meaning more light.\"\"\"\n ...", + "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"I\u00b2C \ubc84\uc2a4 \ud504\ub85c\ud1a0\ucf5c\uc744 \uc0ac\uc6a9\ud574 \uae30\uae30\uc640 \ud1b5\uc2e0\ud569\ub2c8\ub2e4.\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"\uc8fc\ubcc0 \uc7a5\uce58\ub97c \ub2e4\uc2dc \ucd08\uae30\ud654\ud569\ub2c8\ub2e4.\n\nExample: ``i2c.init()``\n\n:param freq: \ud074\ub7ed \uc9c4\ub3d9\uc218\n:param sda: ``scl`` \ud540(\uae30\ubcf8\uac12 20)\n:param scl: ``scl`` \ud540(\uae30\ubcf8\uac12 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"\ubc84\uc2a4\uc5d0\uc11c \uc7a5\uce58\ub97c \uc2a4\uce94\ud569\ub2c8\ub2e4.\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"\uc7a5\uce58\uc5d0\uc11c \ubc14\uc774\ud2b8 \uac12\uc744 \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: \uc7a5\uce58\uc758 7\ube44\ud2b8 \uc8fc\uc18c\n:param n: \uc77d\uc744 \ubc14\uc774\ud2b8 \uc218\n:param repeat: ``True``\uc778 \uacbd\uc6b0 \uc2a4\ud1b1 \ube44\ud2b8\uac00 \uc804\uc1a1\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"\uc7a5\uce58\uc5d0 \ubc14\uc774\ud2b8\ub97c \uc791\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: \uc7a5\uce58\uc758 7\ube44\ud2b8 \uc8fc\uc18c\n:param buf: \uc791\uc131\ud560 \ubc14\uc774\ud2b8\uac00 \ud3ec\ud568\ub41c \ubc84\ud37c\n:param repeat: ``True``\uc778 \uacbd\uc6b0 \uc2a4\ud1b1 \ube44\ud2b8\uac00 \uc804\uc1a1\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4\"\"\"\n ...", + "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"\ub0b4\uc7a5 \ub9c8\uc774\ud06c\ub97c \uc0ac\uc6a9\ud574 \uc18c\ub9ac\uc5d0 \ubc18\uc751\ud569\ub2c8\ub2e4(V2 \uc804\uc6a9).\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"\ub9c8\uc9c0\ub9c9\uc73c\ub85c \uae30\ub85d\ub41c \uc18c\ub9ac \uc774\ubca4\ud2b8\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"\ub9c8\uc9c0\ub9c9 \ud638\ucd9c \uc774\ud6c4\ub85c \uc18c\ub9ac\uac00 \ub4e4\ub838\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: ``SoundEvent.LOUD`` \ub610\ub294 ``SoundEvent.QUIET`` \ub4f1\uc744 \ud655\uc778\ud558\uae30 \uc704\ud55c \uc774\ubca4\ud2b8\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"\uac00\uc7a5 \ucd5c\uadfc \ud0d0\uc9c0\ub41c \uc18c\ub9ac \uc774\ubca4\ud2b8\ub97c \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: ``SoundEvent.LOUD`` \ub610\ub294 ``SoundEvent.QUIET`` \ub4f1\uc744 \ud655\uc778\ud558\uae30 \uc704\ud55c \uc774\ubca4\ud2b8\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"\uc18c\ub9ac \uc774\ubca4\ud2b8 \uae30\ub85d\uc744 \ud29c\ud50c\ub85c \uac00\uc838\uc635\ub2c8\ub2e4.\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"\uc18c\ub9ac \uc774\ubca4\ud2b8 \uc784\uacc4\uac12\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: ``SoundEvent.LOUD`` \ub610\ub294 ``SoundEvent.QUIET`` \ub4f1\uc758 \uc18c\ub9ac \uc774\ubca4\ud2b8\uc785\ub2c8\ub2e4.\n:param value: 0~255\uc758 \ubc94\uc704\ub85c \ub41c \uc784\uacc4\uac12\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"\uc74c\uc555 \ub808\ubca8\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", + "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"\ub0b4\uc7a5 \uc2a4\ud53c\ucee4\ub97c \uc81c\uc5b4\ud569\ub2c8\ub2e4(V2 \uc804\uc6a9).\"\"\"\n\ndef off() -> None:\n \"\"\"\uc2a4\ud53c\ucee4\ub97c \ub055\ub2c8\ub2e4.\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"\uc2a4\ud53c\ucee4\ub97c \ucf2d\ub2c8\ub2e4.\n\nExample: ``speaker.on()``\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"\uc9c1\ub82c \uc8fc\ubcc0 \uc7a5\uce58 \uc778\ud130\ud398\uc774\uc2a4(SPI) \ubc84\uc2a4\ub97c \uc0ac\uc6a9\ud574 \uc7a5\uce58\uc640 \ud1b5\uc2e0\ud569\ub2c8\ub2e4.\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"SPI \ud1b5\uc2e0\uc744 \uc2dc\uc791\ud569\ub2c8\ub2e4. (string)\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: \ud1b5\uc2e0 \uc18d\ub3c4\uc785\ub2c8\ub2e4.\n:param bits: \uac01 \uc804\uc1a1\uc758 \ube44\ud2b8\uc758 \ub108\ube44\uc785\ub2c8\ub2e4. \ud604\uc7ac ``bits=8``\ub9cc \uc9c0\uc6d0\ub418\ub098 \ud5a5\ud6c4 \ubcc0\uacbd\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n:param mode: \ud074\ub7ed \uadf9\uc131\uacfc \ud398\uc774\uc988\uc758 \uc870\ud569\uc744 \uacb0\uc815\ud569\ub2c8\ub2e4. \uc628\ub77c\uc778 \ud14c\uc774\ube14\uc744 \ucc38\uc870\ud558\uc138\uc694 `_.\n:param sclk: sclk \ud540(\uae30\ubcf8\uac12 13)\n:param mosi: mosi \ud540(\uae30\ubcf8\uac12 15)\n:param miso: miso \ud540(\uae30\ubcf8\uac12 14)\"\"\"\n ...\n\ndef read(nbytes: int) -> bytes:\n \"\"\"\ubc14\uc774\ud2b8\ub97c \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``spi.read(64)``\n\n:param nbytes: \uc77d\uc744 \ubc14\uc774\ud2b8\uc758 \ucd5c\ub300 \uc218\uc785\ub2c8\ub2e4.\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"\ubc84\uc2a4\uc5d0 \ubc14\uc774\ud2b8\ub97c \uc791\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: \ub370\uc774\ud130\ub97c \uc77d\uc744 \ubc84\ud37c\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"\ubc84\uc2a4\uc5d0 ``out`` \ubc84\ud37c\ub97c \uc791\uc131\ud558\uace0 \ubc1c\uc0dd\ud558\ub294 ``in_`` \ubc84\ud37c\uc758 \ubaa8\ub4e0 \uc751\ub2f5\uc744 \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: \uc751\ub2f5\uc744 \uc791\uc131\ud560 \ubc84\ud37c\uc785\ub2c8\ub2e4.\n:param in_: \ub370\uc774\ud130\ub97c \uc77d\uc744 \ubc84\ud37c\uc785\ub2c8\ub2e4.\"\"\"\n ...", + "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"\uc9c1\ub82c \uc778\ud130\ud398\uc774\uc2a4\ub97c \uc0ac\uc6a9\ud574 \uc7a5\uce58\uc640 \ud1b5\uc2e0\ud569\ub2c8\ub2e4.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"\ud640\uc218 \ud328\ub9ac\ud2f0\"\"\"\nEVEN: int\n\"\"\"\uc9dd\uc218 \ud328\ub9ac\ud2f0\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"\uc9c1\ub82c \ud1b5\uc2e0\uc744 \uc2dc\uc791\ud569\ub2c8\ub2e4. (string)\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: \ud1b5\uc2e0 \uc18d\ub3c4\uc785\ub2c8\ub2e4.\n:param bits: \uc804\uc1a1\ub418\ub294 \ubc14\uc774\ud2b8\uc758 \ud06c\uae30\uc785\ub2c8\ub2e4. micro:bit\ub294 8\ubc14\uc774\ud2b8\ub9cc \uc9c0\uc6d0\ud569\ub2c8\ub2e4.\n:param parity: (\ud328\ub9ac\ud2f0) \ud328\ub9ac\ud2f0\uac00 \uccb4\ud06c\ub418\ub294 \ubc29\uc2dd\uc73c\ub85c ``None``, ``uart.ODD`` \ub610\ub294 ``uart.EVEN``\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.\n:param stop: \uc2a4\ud1b1 \ube44\ud2b8\uc758 \ubc88\ud638\uc785\ub2c8\ub2e4. micro:bit\ub294 1\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.\n:param tx: \uc804\uc1a1\ud558\ub294 \ud540\uc785\ub2c8\ub2e4.\n:param rx: \uc218\uc2e0\ud558\ub294 \ud540\uc785\ub2c8\ub2e4.\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"\ub300\uae30 \uc911\uc778 \ub370\uc774\ud130\uac00 \uc788\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"\ubc14\uc774\ud2b8\ub97c \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``uart.read()``\n\n:param nbytes: ``nbytes``\uac00 \ud2b9\uc815\ub418\uc5b4 \uc788\ub2e4\uba74 \ud574\ub2f9 \ubc14\uc774\ud2b8 \uc218\ub9cc\ud07c \uc77d\uc2b5\ub2c8\ub2e4. \ud2b9\uc815\ub418\uc9c0 \uc54a\uc740 \uacbd\uc6b0 \ucd5c\ub300\ud55c \ub9ce\uc740 \ubc14\uc774\ud2b8\ub97c \uc77d\uc2b5\ub2c8\ub2e4.\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"``buf``\ub85c \ubc14\uc774\ud2b8\ub97c \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: \ubc14\uc774\ud2b8\ub97c \uae30\ub85d\ud560 \ubc84\ud37c\uc785\ub2c8\ub2e4.\n:param nbytes: ``nbytes``\uac00 \ud2b9\uc815\ub418\uc5b4 \uc788\ub2e4\uba74 \ud574\ub2f9 \ubc14\uc774\ud2b8 \uc218\ub9cc\ud07c \uc77d\uc2b5\ub2c8\ub2e4. \ud2b9\uc815\ub418\uc9c0 \uc54a\uc740 \uacbd\uc6b0 ``len(buf)``\ubc14\uc774\ud2b8\ub97c \uc77d\uc2b5\ub2c8\ub2e4.\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"\uc0c8\ub85c\uc6b4 \uc904 \ubb38\uc790\ub85c \ub05d\ub098\ub294 \uc904\uc744 \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"\ubc84\uc2a4\uc5d0 \ubc84\ud37c\ub97c \uae30\ub85d\ud569\ub2c8\ub2e4.\n\nExample: ``uart.write('hello world')``\n\n:param buf: \ubc14\uc774\ud2b8 \uc624\ube0c\uc81d\ud2b8 \ub610\ub294 \ubb38\uc790\uc5f4\uc785\ub2c8\ub2e4.\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", + "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", + "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" + } +} \ No newline at end of file diff --git a/src/micropython/beta/typeshed.nl.json b/src/micropython/beta/typeshed.nl.json new file mode 100644 index 000000000..f75b43176 --- /dev/null +++ b/src/micropython/beta/typeshed.nl.json @@ -0,0 +1,51 @@ +{ + "files": { + "/typeshed/stdlib/VERSIONS": "# The structure of this file is as follows:\n# - Blank lines and comments starting with `#` are ignored.\n# - Lines contain the name of a module, followed by a colon,\n# a space, and a version range (for example: `symbol: 2.7-3.9`).\n#\n# Version ranges may be of the form \"X.Y-A.B\" or \"X.Y-\". The\n# first form means that a module was introduced in version X.Y and last\n# available in version A.B. The second form means that the module was\n# introduced in version X.Y and is still available in the latest\n# version of Python.\n#\n# If a submodule is not listed separately, it has the same lifetime as\n# its parent module.\n#\n# Python versions before 2.7 are ignored, so any module that was already\n# present in 2.7 will have \"2.7\" as its minimum version. Version ranges\n# for unsupported versions of Python 3 (currently 3.5 and lower) are\n# generally accurate but we do not guarantee their correctness.\n\nantigravity: 3.0-\narray: 3.0-\naudio: 3.0-\nbuiltins: 3.0-\nerrno: 3.0-\ngc: 3.0-\nlove: 3.0-\nmachine: 3.0-\nmath: 3.0-\nmicrobit: 3.0-\nmicropython: 3.0-\nmusic: 3.0-\nneopixel: 3.0-\nos: 3.0-\nradio: 3.0-\nrandom: 3.0-\nspeech: 3.0-\nstruct: 3.0-\nsys: 3.0-\nthis: 3.0-\ntime: 3.0-\ntyping_extensions: 3.0-\ntyping: 3.0-\nuarray: 3.0-\nucollections: 3.0-\nuerrno: 3.0-\nuos: 3.0-\nurandom: 3.0-\nustruct: 3.0-\nusys: 3.0-\nutime: 3.0-", + "/typeshed/stdlib/abc.pyi": "from _typeshed import SupportsWrite\nfrom typing import Any, Callable, Tuple, Type, TypeVar\n\n_T = TypeVar(\"_T\")\n_FuncT = TypeVar(\"_FuncT\", bound=Callable[..., Any])\n\n# These definitions have special processing in mypy\nclass ABCMeta(type):\n __abstractmethods__: frozenset[str]\n def __init__(\n self, name: str, bases: Tuple[type, ...], namespace: dict[str, Any]\n ) -> None: ...\n def __instancecheck__(cls: ABCMeta, instance: Any) -> Any: ...\n def __subclasscheck__(cls: ABCMeta, subclass: Any) -> Any: ...\n def _dump_registry(cls: ABCMeta, file: SupportsWrite[str] | None = ...) -> None: ...\n def register(cls: ABCMeta, subclass: Type[_T]) -> Type[_T]: ...\n\ndef abstractmethod(funcobj: _FuncT) -> _FuncT: ...\n\nclass abstractproperty(property): ...\n\n# These two are deprecated and not supported by mypy\ndef abstractstaticmethod(callable: _FuncT) -> _FuncT: ...\ndef abstractclassmethod(callable: _FuncT) -> _FuncT: ...\n\nclass ABC(metaclass=ABCMeta): ...\n\ndef get_cache_token() -> object: ...\n", + "/typeshed/stdlib/antigravity.pyi": "", + "/typeshed/stdlib/array.pyi": "from typing import Generic, Iterable, MutableSequence, TypeVar, Union, overload\nfrom typing_extensions import Literal\n\n_IntTypeCode = Literal[\"b\", \"B\", \"h\", \"H\", \"i\", \"I\", \"l\", \"L\", \"q\", \"Q\"]\n_FloatTypeCode = Literal[\"f\", \"d\"]\n_TypeCode = Union[_IntTypeCode, _FloatTypeCode]\n\n_T = TypeVar(\"_T\", int, float)\n\nclass array(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(\n self: array[int],\n typecode: _IntTypeCode,\n __initializer: Union[bytes, Iterable[_T]] = ...,\n ) -> None: ...\n @overload\n def __init__(\n self: array[float],\n typecode: _FloatTypeCode,\n __initializer: Union[bytes, Iterable[_T]] = ...,\n ) -> None: ...\n @overload\n def __init__(\n self, typecode: str, __initializer: Union[bytes, Iterable[_T]] = ...\n ) -> None: ...\n def append(self, __v: _T) -> None: ...\n def decode(self) -> str: ...\n def extend(self, __bb: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n @overload\n def __getitem__(self, i: int) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> array[_T]: ...\n @overload # type: ignore # Overrides MutableSequence\n def __setitem__(self, i: int, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: array[_T]) -> None: ...\n def __add__(self, x: array[_T]) -> array[_T]: ...\n def __iadd__(self, x: array[_T]) -> array[_T]: ... # type: ignore # Overrides MutableSequence\n\nArrayType = array\n", + "/typeshed/stdlib/audio.pyi": "\"\"\"Play sounds using the micro:bit (import ``audio`` for V1 compatibility).\n\"\"\"\n\n# Re-export for V1 compatibility.\nfrom .microbit.audio import (\n is_playing as is_playing,\n play as play,\n stop as stop,\n AudioFrame as AudioFrame,\n SoundEffect as SoundEffect,\n)\n", + "/typeshed/stdlib/builtins.pyi": "import sys\nimport types\nfrom _typeshed import (\n OpenBinaryMode,\n OpenTextMode,\n ReadableBuffer,\n Self,\n StrOrBytesPath,\n SupportsDivMod,\n SupportsKeysAndGetItem,\n SupportsLenAndGetItem,\n SupportsLessThan,\n SupportsLessThanT,\n SupportsRDivMod,\n SupportsWrite,\n)\nfrom types import CodeType, TracebackType\nfrom typing import (\n IO,\n AbstractSet,\n Any,\n AsyncIterable,\n AsyncIterator,\n BinaryIO,\n ByteString,\n Callable,\n FrozenSet,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n MutableMapping,\n MutableSequence,\n MutableSet,\n NoReturn,\n Protocol,\n Reversible,\n Sequence,\n Set,\n Sized,\n SupportsAbs,\n SupportsBytes,\n SupportsComplex,\n SupportsFloat,\n SupportsInt,\n SupportsRound,\n TextIO,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, SupportsIndex, final\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\nclass _SupportsTrunc(Protocol):\n def __trunc__(self) -> int: ...\n\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n_S = TypeVar(\"_S\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T3 = TypeVar(\"_T3\")\n_T4 = TypeVar(\"_T4\")\n_T5 = TypeVar(\"_T5\")\n_TT = TypeVar(\"_TT\", bound=\"type\")\n_TBE = TypeVar(\"_TBE\", bound=\"BaseException\")\n\nclass object:\n __doc__: str | None\n __dict__: dict[str, Any]\n __slots__: str | Iterable[str]\n __module__: str\n __annotations__: dict[str, Any]\n @property\n def __class__(self: _T) -> Type[_T]: ...\n # Ignore errors about type mismatch between property getter and setter\n @__class__.setter\n def __class__(self, __type: Type[object]) -> None: ... # type: ignore # noqa: F811\n def __init__(self) -> None: ...\n def __new__(cls: Type[_T]) -> _T: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __eq__(self, o: object) -> bool: ...\n def __ne__(self, o: object) -> bool: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n def __format__(self, format_spec: str) -> str: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __delattr__(self, name: str) -> None: ...\n def __sizeof__(self) -> int: ...\n def __reduce__(self) -> str | Tuple[Any, ...]: ...\n if sys.version_info >= (3, 8):\n def __reduce_ex__(self, protocol: SupportsIndex) -> str | Tuple[Any, ...]: ...\n else:\n def __reduce_ex__(self, protocol: int) -> str | Tuple[Any, ...]: ...\n def __dir__(self) -> Iterable[str]: ...\n def __init_subclass__(cls) -> None: ...\n\nclass staticmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass classmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass type(object):\n __base__: type\n __bases__: Tuple[type, ...]\n __basicsize__: int\n __dict__: dict[str, Any]\n __dictoffset__: int\n __flags__: int\n __itemsize__: int\n __module__: str\n __name__: str\n __qualname__: str\n __text_signature__: str | None\n __weakrefoffset__: int\n @overload\n def __init__(self, o: object) -> None: ...\n @overload\n def __init__(\n self, name: str, bases: Tuple[type, ...], dict: dict[str, Any], **kwds: Any\n ) -> None: ...\n @overload\n def __new__(cls, o: object) -> type: ...\n @overload\n def __new__(\n cls: Type[_TT],\n name: str,\n bases: Tuple[type, ...],\n namespace: dict[str, Any],\n **kwds: Any,\n ) -> _TT: ...\n def __call__(self, *args: Any, **kwds: Any) -> Any: ...\n def __subclasses__(self: _TT) -> list[_TT]: ...\n def __instancecheck__(self, instance: Any) -> bool: ...\n def __subclasscheck__(self, subclass: type) -> bool: ...\n @classmethod\n def __prepare__(\n metacls, __name: str, __bases: Tuple[type, ...], **kwds: Any\n ) -> Mapping[str, Any]: ...\n if sys.version_info >= (3, 10):\n def __or__(self, t: Any) -> types.UnionType: ...\n def __ror__(self, t: Any) -> types.UnionType: ...\n\nclass super(object):\n @overload\n def __init__(self, t: Any, obj: Any) -> None: ...\n @overload\n def __init__(self, t: Any) -> None: ...\n @overload\n def __init__(self) -> None: ...\n\nclass int:\n @overload\n def __new__(\n cls: Type[_T],\n x: str | bytes | SupportsInt | SupportsIndex | _SupportsTrunc = ...,\n ) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], x: str | bytes | bytearray, base: SupportsIndex\n ) -> _T: ...\n def to_bytes(\n self,\n length: SupportsIndex,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> bytes: ...\n @classmethod\n def from_bytes(\n cls,\n bytes: Iterable[SupportsIndex] | SupportsBytes,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> int: ... # TODO buffer object argument\n def __add__(self, x: int) -> int: ...\n def __sub__(self, x: int) -> int: ...\n def __mul__(self, x: int) -> int: ...\n def __floordiv__(self, x: int) -> int: ...\n def __truediv__(self, x: int) -> float: ...\n def __mod__(self, x: int) -> int: ...\n def __divmod__(self, x: int) -> Tuple[int, int]: ...\n def __radd__(self, x: int) -> int: ...\n def __rsub__(self, x: int) -> int: ...\n def __rmul__(self, x: int) -> int: ...\n def __rfloordiv__(self, x: int) -> int: ...\n def __rtruediv__(self, x: int) -> float: ...\n def __rmod__(self, x: int) -> int: ...\n def __rdivmod__(self, x: int) -> Tuple[int, int]: ...\n @overload\n def __pow__(self, __x: Literal[2], __modulo: int | None = ...) -> int: ...\n @overload\n def __pow__(\n self, __x: int, __modulo: int | None = ...\n ) -> Any: ... # Return type can be int or float, depending on x.\n def __rpow__(self, x: int, mod: int | None = ...) -> Any: ...\n def __and__(self, n: int) -> int: ...\n def __or__(self, n: int) -> int: ...\n def __xor__(self, n: int) -> int: ...\n def __lshift__(self, n: int) -> int: ...\n def __rshift__(self, n: int) -> int: ...\n def __rand__(self, n: int) -> int: ...\n def __ror__(self, n: int) -> int: ...\n def __rxor__(self, n: int) -> int: ...\n def __rlshift__(self, n: int) -> int: ...\n def __rrshift__(self, n: int) -> int: ...\n def __neg__(self) -> int: ...\n def __pos__(self) -> int: ...\n def __invert__(self) -> int: ...\n def __trunc__(self) -> int: ...\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n def __round__(self, ndigits: SupportsIndex = ...) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: int) -> bool: ...\n def __le__(self, x: int) -> bool: ...\n def __gt__(self, x: int) -> bool: ...\n def __ge__(self, x: int) -> bool: ...\n def __str__(self) -> str: ...\n def __float__(self) -> float: ...\n def __int__(self) -> int: ...\n def __abs__(self) -> int: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n def __index__(self) -> int: ...\n\nclass float:\n def __new__(\n cls: Type[_T], x: SupportsFloat | SupportsIndex | str | bytes | bytearray = ...\n ) -> _T: ...\n def __add__(self, x: float) -> float: ...\n def __sub__(self, x: float) -> float: ...\n def __mul__(self, x: float) -> float: ...\n def __floordiv__(self, x: float) -> float: ...\n def __truediv__(self, x: float) -> float: ...\n def __mod__(self, x: float) -> float: ...\n def __divmod__(self, x: float) -> Tuple[float, float]: ...\n def __pow__(\n self, x: float, mod: None = ...\n ) -> float: ... # In Python 3, returns complex if self is negative and x is not whole\n def __radd__(self, x: float) -> float: ...\n def __rsub__(self, x: float) -> float: ...\n def __rmul__(self, x: float) -> float: ...\n def __rfloordiv__(self, x: float) -> float: ...\n def __rtruediv__(self, x: float) -> float: ...\n def __rmod__(self, x: float) -> float: ...\n def __rdivmod__(self, x: float) -> Tuple[float, float]: ...\n def __rpow__(self, x: float, mod: None = ...) -> float: ...\n def __getnewargs__(self) -> Tuple[float]: ...\n def __trunc__(self) -> int: ...\n if sys.version_info >= (3, 9):\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n @overload\n def __round__(self, ndigits: None = ...) -> int: ...\n @overload\n def __round__(self, ndigits: SupportsIndex) -> float: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: float) -> bool: ...\n def __le__(self, x: float) -> bool: ...\n def __gt__(self, x: float) -> bool: ...\n def __ge__(self, x: float) -> bool: ...\n def __neg__(self) -> float: ...\n def __pos__(self) -> float: ...\n def __str__(self) -> str: ...\n def __int__(self) -> int: ...\n def __float__(self) -> float: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass complex:\n @overload\n def __new__(cls: Type[_T], real: float = ..., imag: float = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], real: str | SupportsComplex | SupportsIndex | complex\n ) -> _T: ...\n @property\n def real(self) -> float: ...\n @property\n def imag(self) -> float: ...\n def __add__(self, x: complex) -> complex: ...\n def __sub__(self, x: complex) -> complex: ...\n def __mul__(self, x: complex) -> complex: ...\n def __pow__(self, x: complex, mod: None = ...) -> complex: ...\n def __truediv__(self, x: complex) -> complex: ...\n def __radd__(self, x: complex) -> complex: ...\n def __rsub__(self, x: complex) -> complex: ...\n def __rmul__(self, x: complex) -> complex: ...\n def __rpow__(self, x: complex, mod: None = ...) -> complex: ...\n def __rtruediv__(self, x: complex) -> complex: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __neg__(self) -> complex: ...\n def __pos__(self) -> complex: ...\n def __str__(self) -> str: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass str(Sequence[str]):\n @overload\n def __new__(cls: Type[_T], o: object = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], o: bytes, encoding: str = ..., errors: str = ...\n ) -> _T: ...\n def count(\n self,\n x: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def encode(self, encoding: str = ..., errors: str = ...) -> bytes: ...\n def endswith(\n self,\n __suffix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def format(self, *args: object, **kwargs: object) -> str: ...\n def index(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable: Iterable[str]) -> str: ...\n def lower(self) -> str: ...\n def lstrip(self, __chars: str | None = ...) -> str: ...\n def replace(self, __old: str, __new: str, __count: SupportsIndex = ...) -> str: ...\n def rfind(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def rstrip(self, __chars: str | None = ...) -> str: ...\n def split(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def startswith(\n self,\n __prefix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __chars: str | None = ...) -> str: ...\n def upper(self) -> str: ...\n def __add__(self, s: str) -> str: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: str) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ge__(self, x: str) -> bool: ...\n def __getitem__(self, i: int | slice) -> str: ...\n def __gt__(self, x: str) -> bool: ...\n def __hash__(self) -> int: ...\n def __iter__(self) -> Iterator[str]: ...\n def __le__(self, x: str) -> bool: ...\n def __len__(self) -> int: ...\n def __lt__(self, x: str) -> bool: ...\n def __mod__(self, x: Any) -> str: ...\n def __mul__(self, n: SupportsIndex) -> str: ...\n def __ne__(self, x: object) -> bool: ...\n def __repr__(self) -> str: ...\n def __rmul__(self, n: SupportsIndex) -> str: ...\n def __str__(self) -> str: ...\n def __getnewargs__(self) -> Tuple[str]: ...\n\nclass bytes(ByteString):\n @overload\n def __new__(cls: Type[_T], ints: Iterable[SupportsIndex]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], string: str, encoding: str, errors: str = ...) -> _T: ...\n @overload\n def __new__(cls: Type[_T], length: SupportsIndex) -> _T: ...\n @overload\n def __new__(cls: Type[_T]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], o: SupportsBytes) -> _T: ...\n def count(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def endswith(\n self,\n __suffix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def index(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable_of_bytes: Iterable[ByteString | memoryview]) -> bytes: ...\n def lower(self) -> bytes: ...\n def lstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def replace(\n self, __old: bytes, __new: bytes, __count: SupportsIndex = ...\n ) -> bytes: ...\n def rfind(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def rstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def split(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def startswith(\n self,\n __prefix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __bytes: bytes | None = ...) -> bytes: ...\n def upper(self) -> bytes: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytes: ...\n def __add__(self, s: bytes) -> bytes: ...\n def __mul__(self, n: SupportsIndex) -> bytes: ...\n def __rmul__(self, n: SupportsIndex) -> bytes: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n def __getnewargs__(self) -> Tuple[bytes]: ...\n\nclass bytearray:\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, ints: Iterable[SupportsIndex]) -> None: ...\n @overload\n def __init__(self, string: str, encoding: str, errors: str = ...) -> None: ...\n @overload\n def __init__(self, length: SupportsIndex) -> None: ...\n def append(self, __item: SupportsIndex) -> None: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def extend(self, __iterable_of_ints: Iterable[SupportsIndex]) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytearray: ...\n @overload\n def __setitem__(self, i: SupportsIndex, x: SupportsIndex) -> None: ...\n @overload\n def __setitem__(self, s: slice, x: Iterable[SupportsIndex] | bytes) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, s: bytes) -> bytearray: ...\n def __iadd__(self, s: Iterable[int]) -> bytearray: ...\n def __mul__(self, n: SupportsIndex) -> bytearray: ...\n def __rmul__(self, n: SupportsIndex) -> bytearray: ...\n def __imul__(self, n: SupportsIndex) -> bytearray: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n\nclass memoryview(Sized, Sequence[int]):\n def __init__(self, obj: ReadableBuffer) -> None: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> memoryview: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n def __len__(self) -> int: ...\n @overload\n def __setitem__(self, s: slice, o: bytes) -> None: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: SupportsIndex) -> None: ...\n\n@final\nclass bool(int):\n def __new__(cls: Type[_T], __o: object = ...) -> _T: ...\n @overload\n def __and__(self, x: bool) -> bool: ...\n @overload\n def __and__(self, x: int) -> int: ...\n @overload\n def __or__(self, x: bool) -> bool: ...\n @overload\n def __or__(self, x: int) -> int: ...\n @overload\n def __xor__(self, x: bool) -> bool: ...\n @overload\n def __xor__(self, x: int) -> int: ...\n @overload\n def __rand__(self, x: bool) -> bool: ...\n @overload\n def __rand__(self, x: int) -> int: ...\n @overload\n def __ror__(self, x: bool) -> bool: ...\n @overload\n def __ror__(self, x: int) -> int: ...\n @overload\n def __rxor__(self, x: bool) -> bool: ...\n @overload\n def __rxor__(self, x: int) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n\nclass slice(object):\n start: Any\n step: Any\n stop: Any\n __hash__: None # type: ignore\n def indices(self, len: SupportsIndex) -> Tuple[int, int, int]: ...\n\nclass tuple(Sequence[_T_co], Generic[_T_co]):\n def __new__(cls: Type[_T], iterable: Iterable[_T_co] = ...) -> _T: ...\n def __len__(self) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n @overload\n def __getitem__(self, x: int) -> _T_co: ...\n @overload\n def __getitem__(self, x: slice) -> Tuple[_T_co, ...]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __lt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __le__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __gt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __ge__(self, x: Tuple[_T_co, ...]) -> bool: ...\n @overload\n def __add__(self, x: Tuple[_T_co, ...]) -> Tuple[_T_co, ...]: ...\n @overload\n def __add__(self, x: Tuple[_T, ...]) -> Tuple[_T_co | _T, ...]: ...\n def __mul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def __rmul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def count(self, __value: Any) -> int: ...\n def index(\n self, __value: Any, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n\n# Can we remove this?\nclass function:\n # TODO not defined in builtins!\n __name__: str\n __module__: str\n __code__: CodeType\n __qualname__: str\n __annotations__: dict[str, Any]\n\nclass frozenset(AbstractSet[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls: type[Self]) -> Self: ...\n @overload\n def __new__(cls: type[Self], __iterable: Iterable[_T_co]) -> Self: ...\n def copy(self) -> FrozenSet[_T_co]: ...\n def difference(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def intersection(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def isdisjoint(self, s: Iterable[_T_co]) -> bool: ...\n def issubset(self, s: Iterable[object]) -> bool: ...\n def issuperset(self, s: Iterable[object]) -> bool: ...\n def symmetric_difference(self, s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def union(self, *s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __sub__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass list(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[_T]) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> list[_T]: ...\n def append(self, __object: _T) -> None: ...\n def extend(self, __iterable: Iterable[_T]) -> None: ...\n def pop(self, __index: SupportsIndex = ...) -> _T: ...\n def index(\n self, __value: _T, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n def count(self, __value: _T) -> int: ...\n def insert(self, __index: SupportsIndex, __object: _T) -> None: ...\n def remove(self, __value: _T) -> None: ...\n def reverse(self) -> None: ...\n @overload\n def sort(\n self: list[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n ) -> None: ...\n @overload\n def sort(\n self, *, key: Callable[[_T], SupportsLessThan], reverse: bool = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> list[_T]: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, x: list[_T]) -> list[_T]: ...\n def __iadd__(self: _S, x: Iterable[_T]) -> _S: ...\n def __mul__(self, n: SupportsIndex) -> list[_T]: ...\n def __rmul__(self, n: SupportsIndex) -> list[_T]: ...\n def __imul__(self: _S, n: SupportsIndex) -> _S: ...\n def __contains__(self, o: object) -> bool: ...\n def __reversed__(self) -> Iterator[_T]: ...\n def __gt__(self, x: list[_T]) -> bool: ...\n def __ge__(self, x: list[_T]) -> bool: ...\n def __lt__(self, x: list[_T]) -> bool: ...\n def __le__(self, x: list[_T]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass dict(MutableMapping[_KT, _VT], Generic[_KT, _VT]):\n @overload\n def __init__(self: dict[_KT, _VT]) -> None: ...\n @overload\n def __init__(self: dict[str, _VT], **kwargs: _VT) -> None: ...\n @overload\n def __init__(\n self, map: SupportsKeysAndGetItem[_KT, _VT], **kwargs: _VT\n ) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n def __new__(cls: Type[_T1], *args: Any, **kwargs: Any) -> _T1: ...\n def clear(self) -> None: ...\n def copy(self) -> dict[_KT, _VT]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, __key: _KT, __default: _VT = ...) -> _VT: ...\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT]: ...\n def items(self) -> ItemsView[_KT, _VT]: ...\n @classmethod\n @overload\n def fromkeys(\n cls, __iterable: Iterable[_T], __value: None = ...\n ) -> dict[_T, Any | None]: ...\n @classmethod\n @overload\n def fromkeys(cls, __iterable: Iterable[_T], __value: _S) -> dict[_T, _S]: ...\n def __len__(self) -> int: ...\n def __getitem__(self, k: _KT) -> _VT: ...\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n def __delitem__(self, v: _KT) -> None: ...\n def __iter__(self) -> Iterator[_KT]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __or__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ror__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ior__(self, __value: Mapping[_KT, _VT]) -> dict[_KT, _VT]: ... # type: ignore\n\nclass set(MutableSet[_T], Generic[_T]):\n def __init__(self, iterable: Iterable[_T] = ...) -> None: ...\n def add(self, element: _T) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> Set[_T]: ...\n def difference(self, *s: Iterable[Any]) -> Set[_T]: ...\n def difference_update(self, *s: Iterable[Any]) -> None: ...\n def discard(self, element: _T) -> None: ...\n def intersection(self, *s: Iterable[Any]) -> Set[_T]: ...\n def intersection_update(self, *s: Iterable[Any]) -> None: ...\n def isdisjoint(self, s: Iterable[Any]) -> bool: ...\n def issubset(self, s: Iterable[Any]) -> bool: ...\n def issuperset(self, s: Iterable[Any]) -> bool: ...\n def pop(self) -> _T: ...\n def remove(self, element: _T) -> None: ...\n def symmetric_difference(self, s: Iterable[_T]) -> Set[_T]: ...\n def symmetric_difference_update(self, s: Iterable[_T]) -> None: ...\n def union(self, *s: Iterable[_T]) -> Set[_T]: ...\n def update(self, *s: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __iand__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __or__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ior__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __sub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __isub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __xor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass enumerate(Iterator[Tuple[int, _T]], Generic[_T]):\n def __init__(self, iterable: Iterable[_T], start: int = ...) -> None: ...\n def __iter__(self) -> Iterator[Tuple[int, _T]]: ...\n def __next__(self) -> Tuple[int, _T]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass range(Sequence[int]):\n start: int\n stop: int\n step: int\n @overload\n def __init__(self, stop: SupportsIndex) -> None: ...\n @overload\n def __init__(\n self, start: SupportsIndex, stop: SupportsIndex, step: SupportsIndex = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> range: ...\n def __repr__(self) -> str: ...\n def __reversed__(self) -> Iterator[int]: ...\n\nclass property(object):\n fget: Callable[[Any], Any] | None\n fset: Callable[[Any, Any], None] | None\n fdel: Callable[[Any], None] | None\n def __init__(\n self,\n fget: Callable[[Any], Any] | None = ...,\n fset: Callable[[Any, Any], None] | None = ...,\n fdel: Callable[[Any], None] | None = ...,\n doc: str | None = ...,\n ) -> None: ...\n def getter(self, fget: Callable[[Any], Any]) -> property: ...\n def setter(self, fset: Callable[[Any, Any], None]) -> property: ...\n def deleter(self, fdel: Callable[[Any], None]) -> property: ...\n def __get__(self, obj: Any, type: type | None = ...) -> Any: ...\n def __set__(self, obj: Any, value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nclass _NotImplementedType(Any): # type: ignore\n # A little weird, but typing the __call__ as NotImplemented makes the error message\n # for NotImplemented() much better\n __call__: NotImplemented # type: ignore\n\nNotImplemented: _NotImplementedType\n\ndef abs(__x: SupportsAbs[_T]) -> _T: ...\ndef all(__iterable: Iterable[object]) -> bool: ...\ndef any(__iterable: Iterable[object]) -> bool: ...\ndef bin(__number: int | SupportsIndex) -> str: ...\n\nif sys.version_info >= (3, 7):\n def breakpoint(*args: Any, **kws: Any) -> None: ...\n\ndef callable(__obj: object) -> bool: ...\ndef chr(__i: int) -> str: ...\n\n# We define this here instead of using os.PathLike to avoid import cycle issues.\n# See https://github.com/python/typeshed/pull/991#issuecomment-288160993\n_AnyStr_co = TypeVar(\"_AnyStr_co\", str, bytes, covariant=True)\n\nclass _PathLike(Protocol[_AnyStr_co]):\n def __fspath__(self) -> _AnyStr_co: ...\n\nif sys.version_info >= (3, 10):\n def aiter(__iterable: AsyncIterable[_T]) -> AsyncIterator[_T]: ...\n @overload\n async def anext(__i: AsyncIterator[_T]) -> _T: ...\n @overload\n async def anext(__i: AsyncIterator[_T], default: _VT) -> _T | _VT: ...\n\ndef delattr(__obj: Any, __name: str) -> None: ...\ndef dir(__o: object = ...) -> list[str]: ...\n@overload\ndef divmod(__x: SupportsDivMod[_T_contra, _T_co], __y: _T_contra) -> _T_co: ...\n@overload\ndef divmod(__x: _T_contra, __y: SupportsRDivMod[_T_contra, _T_co]) -> _T_co: ...\ndef eval(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\ndef exec(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\n\nclass filter(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __function: None, __iterable: Iterable[_T | None]) -> None: ...\n @overload\n def __init__(\n self, __function: Callable[[_T], Any], __iterable: Iterable[_T]\n ) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\n@overload\ndef getattr(__o: object, name: str) -> Any: ...\n\n# While technically covered by the last overload, spelling out the types for None and bool\n# help mypy out in some tricky situations involving type context (aka bidirectional inference)\n@overload\ndef getattr(__o: object, name: str, __default: None) -> Any | None: ...\n@overload\ndef getattr(__o: object, name: str, __default: bool) -> Any | bool: ...\n@overload\ndef getattr(__o: object, name: str, __default: _T) -> Any | _T: ...\ndef globals() -> dict[str, Any]: ...\ndef hasattr(__obj: object, __name: str) -> bool: ...\ndef hash(__obj: object) -> int: ...\ndef help(*args: Any, **kwds: Any) -> None: ...\ndef hex(__number: int | SupportsIndex) -> str: ...\ndef id(__obj: object) -> int: ...\ndef input(__prompt: Any = ...) -> str: ...\n@overload\ndef iter(__iterable: Iterable[_T]) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T | None], __sentinel: None) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T], __sentinel: Any) -> Iterator[_T]: ...\n\nif sys.version_info >= (3, 10):\n def isinstance(\n __obj: object,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n def issubclass(\n __cls: type,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n\nelse:\n def isinstance(\n __obj: object, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n def issubclass(\n __cls: type, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n\ndef len(__obj: Sized) -> int: ...\ndef locals() -> dict[str, Any]: ...\n\nclass map(Iterator[_S], Generic[_S]):\n @overload\n def __init__(self, __func: Callable[[_T1], _S], __iter1: Iterable[_T1]) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4, _T5], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[..., _S],\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> None: ...\n def __iter__(self) -> Iterator[_S]: ...\n def __next__(self) -> _S: ...\n\n@overload\ndef max(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef max(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef max(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef max(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef min(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef min(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef min(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef min(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef next(__i: Iterator[_T]) -> _T: ...\n@overload\ndef next(__i: Iterator[_T], default: _VT) -> _T | _VT: ...\ndef oct(__number: int | SupportsIndex) -> str: ...\n\n_OpenFile = Union[StrOrBytesPath, int]\n_Opener = Callable[[str, int], int]\n\n# Text mode: always returns a TextIOWrapper\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenTextMode = ...,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> TextIO: ...\n\n# Unbuffered binary mode: returns a FileIO\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenBinaryMode,\n buffering: int = ...,\n encoding: None = ...,\n errors: None = ...,\n newline: None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> BinaryIO: ...\n\n# Fallback if mode is not specified\n@overload\ndef open(\n file: _OpenFile,\n mode: str,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> IO[Any]: ...\ndef ord(__c: str | bytes) -> int: ...\ndef print(\n *values: object,\n sep: str | None = ...,\n end: str | None = ...,\n file: SupportsWrite[str] | None = ...,\n flush: bool = ...,\n) -> None: ...\n\n_E = TypeVar(\"_E\", contravariant=True)\n_M = TypeVar(\"_M\", contravariant=True)\n\nclass _SupportsPow2(Protocol[_E, _T_co]):\n def __pow__(self, __other: _E) -> _T_co: ...\n\nclass _SupportsPow3(Protocol[_E, _M, _T_co]):\n def __pow__(self, __other: _E, __modulo: _M) -> _T_co: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def pow(\n base: int, exp: int, mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(base: int, exp: int, mod: int) -> int: ...\n @overload\n def pow(base: float, exp: float, mod: None = ...) -> float: ...\n @overload\n def pow(base: _SupportsPow2[_E, _T_co], exp: _E) -> _T_co: ...\n @overload\n def pow(base: _SupportsPow3[_E, _M, _T_co], exp: _E, mod: _M) -> _T_co: ...\n\nelse:\n @overload\n def pow(\n __base: int, __exp: int, __mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(__base: int, __exp: int, __mod: int) -> int: ...\n @overload\n def pow(__base: float, __exp: float, __mod: None = ...) -> float: ...\n @overload\n def pow(__base: _SupportsPow2[_E, _T_co], __exp: _E) -> _T_co: ...\n @overload\n def pow(__base: _SupportsPow3[_E, _M, _T_co], __exp: _E, __mod: _M) -> _T_co: ...\n\nclass reversed(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __sequence: Reversible[_T]) -> None: ...\n @overload\n def __init__(self, __sequence: SupportsLenAndGetItem[_T]) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\ndef repr(__obj: object) -> str: ...\n@overload\ndef round(number: SupportsRound[Any]) -> int: ...\n@overload\ndef round(number: SupportsRound[Any], ndigits: None) -> int: ...\n@overload\ndef round(number: SupportsRound[_T], ndigits: SupportsIndex) -> _T: ...\ndef setattr(__obj: object, __name: str, __value: Any) -> None: ...\n@overload\ndef sorted(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n) -> list[SupportsLessThanT]: ...\n@overload\ndef sorted(\n __iterable: Iterable[_T],\n *,\n key: Callable[[_T], SupportsLessThan],\n reverse: bool = ...,\n) -> list[_T]: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], start: _S) -> _T | _S: ...\n\nelse:\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], __start: _S) -> _T | _S: ...\n\nclass zip(Iterator[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls, __iter1: Iterable[_T1]) -> zip[Tuple[_T1]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2]\n ) -> zip[Tuple[_T1, _T2]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]\n ) -> zip[Tuple[_T1, _T2, _T3]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4, _T5]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> zip[Tuple[Any, ...]]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __next__(self) -> _T_co: ...\n\ndef __import__(\n name: str,\n globals: Mapping[str, Any] | None = ...,\n locals: Mapping[str, Any] | None = ...,\n fromlist: Sequence[str] = ...,\n level: int = ...,\n) -> Any: ...\n\n# Actually the type of Ellipsis is , but since it's\n# not exposed anywhere under that name, we make it private here.\nclass ellipsis: ...\n\nEllipsis: ellipsis\n\nclass BaseException(object):\n args: Tuple[Any, ...]\n __cause__: BaseException | None\n __context__: BaseException | None\n __suppress_context__: bool\n __traceback__: TracebackType | None\n def __init__(self, *args: object) -> None: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def with_traceback(self: _TBE, tb: TracebackType | None) -> _TBE: ...\n\nclass GeneratorExit(BaseException): ...\nclass KeyboardInterrupt(BaseException): ...\n\nclass SystemExit(BaseException):\n code: int\n\nclass Exception(BaseException): ...\n\nclass StopIteration(Exception):\n value: Any\n\n_StandardError = Exception\n\nclass OSError(Exception):\n errno: int\n strerror: str\n # filename, filename2 are actually str | bytes | None\n filename: Any\n filename2: Any\n if sys.platform == \"win32\":\n winerror: int\n\nif sys.platform == \"win32\":\n WindowsError = OSError\n\nclass ArithmeticError(_StandardError): ...\nclass AssertionError(_StandardError): ...\n\nclass AttributeError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n obj: object\n\nclass EOFError(_StandardError): ...\n\nclass ImportError(_StandardError):\n def __init__(\n self, *args: object, name: str | None = ..., path: str | None = ...\n ) -> None: ...\n name: str | None\n path: str | None\n msg: str # undocumented\n\nclass LookupError(_StandardError): ...\nclass MemoryError(_StandardError): ...\n\nclass NameError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n\nclass RuntimeError(_StandardError): ...\n\nclass StopAsyncIteration(Exception):\n value: Any\n\nclass SyntaxError(_StandardError):\n msg: str\n lineno: int | None\n offset: int | None\n text: str | None\n filename: str | None\n if sys.version_info >= (3, 10):\n end_lineno: int | None\n end_offset: int | None\n\nclass TypeError(_StandardError): ...\nclass ValueError(_StandardError): ...\nclass FloatingPointError(ArithmeticError): ...\nclass OverflowError(ArithmeticError): ...\nclass ZeroDivisionError(ArithmeticError): ...\nclass IndexError(LookupError): ...\nclass KeyError(LookupError): ...\nclass NotImplementedError(RuntimeError): ...\nclass IndentationError(SyntaxError): ...\nclass TabError(IndentationError): ...\n", + "/typeshed/stdlib/errno.pyi": "from typing import Mapping\n\nerrorcode: Mapping[int, str]\n\nEACCES: int\nEADDRINUSE: int\nEAGAIN: int\nEALREADY: int\nEBADF: int\nECONNABORTED: int\nECONNREFUSED: int\nECONNRESET: int\nEEXIST: int\nEHOSTUNREACH: int\nEINPROGRESS: int\nEINVAL: int\nEIO: int\nEISDIR: int\nENOBUFS: int\nENODEV: int\nENOENT: int\nENOMEM: int\nENOTCONN: int\nEOPNOTSUPP: int\nEPERM: int\nETIMEDOUT: int\n", + "/typeshed/stdlib/gc.pyi": "\"\"\"Beheer de garbagecollector\"\"\"\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"Automatische afvalcollectie inschakelen. (inschakelen)\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"Automatische afvalinzameling uitschakelen. (uitschakelen)\n\nHeap memory can still be allocated,\nand garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"Voer een garbagecollectie uit. (verzamel)\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"Krijg het aantal bytes van heap RAM die toegewezen zijn.\n\n:return: The number of bytes allocated.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"Krijg het aantal bytes van beschikbare heap RAM, of -1 als dit bedrag niet bekend is.\n\n:return: The number of bytes free.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"Vraag de extra GC toewijzingsdrempel op. (drempelwaarde)\n\n:return: The GC allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"Stel de extra GC toewijzingsdrempel in. (drempelwaarde)\n\nNormally, a collection is triggered only when a new allocation\ncannot be satisfied, i.e. on an out-of-memory (OOM) condition.\nIf this function is called, in addition to OOM, a collection\nwill be triggered each time after ``amount`` bytes have been\nallocated (in total, since the previous time such an amount of bytes\nhave been allocated). ``amount`` is usually specified as less than the\nfull heap size, with the intention to trigger a collection earlier than when the\nheap becomes exhausted, and in the hope that an early collection will prevent\nexcessive memory fragmentation. This is a heuristic measure, the effect\nof which will vary from application to application, as well as\nthe optimal value of the ``amount`` parameter.\n\nA value of -1 means a disabled allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\n\n:param amount: (bedrag) Het aantal bytes waarna een garbage collectie moet worden geactiveerd.\"\"\"\n ...", + "/typeshed/stdlib/log.pyi": "\"\"\"Log gegevens in op je micro:bit V2.\"\"\"\nfrom typing import Literal, Mapping, Optional, Union, overload\nMILLISECONDS = 1\n\"\"\"Milliseconden tijdstempel formaat. (milliseconden)\"\"\"\nSECONDS = 10\n\"\"\"Seconden tijdstempel formaat. (seconden)\"\"\"\nMINUTES = 600\n\"\"\"Minuten tijdstempel formaat. (minuten)\"\"\"\nHOURS = 36000\n\"\"\"Uren tijdstempel formaat. (uren)\"\"\"\nDAYS = 864000\n\"\"\"Dagen tijdstempel formaat. (dagen)\"\"\"\n\ndef set_labels(*labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]]=SECONDS) -> None:\n \"\"\"Stel de logbestandheader in. (kies labels)\n\nExample: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\nIdeally this function should be called a single time, before any data is\nlogged, to configure the data table header once.\n\nIf a log file already exists when the program starts, or if this function\nis called multiple times, it will check the labels already defined in the\nlog file. If this function call contains any new labels not already\npresent, it will generate a new header row with the additional columns.\n\nBy default the first column contains a timestamp for each row. The time\nunit can be selected via the timestamp argument.\n\n:param *labels: Een willekeurig aantal positionele argumenten, elk corresponderend aan een vermelding in de log header.\n:param timestamp: (tijdstempel) Selecteer de eenheid van de tijdsaanduiding die automatisch als eerste kolom in elke rij wordt toegevoegd. Tijdstempel waarden kunnen een van ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, , , ``log.HOURS``, ``log.DAYS`` of ``None`` om de tijdstempel uit te schakelen. De standaardwaarde is ``log.SECONDS``.\"\"\"\n ...\n\n@overload\ndef add(data_dictionary: Optional[Mapping[str, Union[str, int, float]]]) -> None:\n \"\"\"Voeg een gegevensrij toe aan de log door een woordenboek van koppen en waarden te passeren. (toevoegen)\n\nExample: ``log.add({ 'temp': temperature() })``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\n\n:param data_dictionary: (gegevenswoordenboek) De gegevens die moeten worden geregistreerd als woordenboek met een sleutel voor elke header.\"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"Voeg een gegevensrij toe aan het logboek met behulp van trefwoordargumenten. (toevoegen)\n\nExample: ``log.add(temp=temperature())``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"Verwijdert de inhoud van het log, inclusief headers. (verwijderen)\n\nExample: ``log.delete()``\n\nTo add the log headers again the ``set_labels`` function should to be called after this function.\n\nThere are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\nand \u201cfast\u201d invalidates the data without removing it.\n\n:param full: (volledig) ``True`` selecteert een \"volledige\" wissen en ``False`` selecteert de \"snel\" wis methode.\"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"Configureer het spiegelen van de data logging activiteit naar de seri\u00eble uitgang. (stel spiegelen in)\n\nExample: ``log.set_mirroring(True)``\n\nSerial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n:param serial: (serieel) ``True`` maakt het spiegelen van gegevens naar de seri\u00eble uitvoer mogelijk.\"\"\"\n ...", + "/typeshed/stdlib/love.pyi": "def badaboom() -> None: ...\n", + "/typeshed/stdlib/machine.pyi": "\"\"\"Hulpprogramma's op laag niveau.\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"Krijg een byte string met een uniek id van een bord. (uniek id)\n\nExample: ``machine.unique_id()``\n\n:return: An identifier that varies from one board instance to another.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Reset het apparaat op een manier die lijkt op de externe RESET knop.\n\nExample: ``machine.reset()``\"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"Krijg de CPU frequentie in Hertz. (frequentie)\n\nExample: ``machine.freq()``\n\n:return: The CPU frequency.\"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"Interruptie verzoeken uitschakelen. (irq uitschakelen)\n\nExample: ``interrupt_state = machine.disable_irq()``\n\n:return: the previous IRQ state which should be considered an opaque value\n\nThe return value should be passed to the ``enable_irq`` function to restore\ninterrupts to their original state.\"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"Zet interruptie verzoeken opnieuw aan. (irq inschakelen)\n\nExample: ``machine.enable_irq(interrupt_state)``\n\n:param state: (staat) De waarde die is teruggestuurd van de meest recente oproep naar de ``disable_irq`` functie.\"\"\"\n ...\n\ndef time_pulse_us(pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int=1000000) -> int:\n \"\"\"Time een puls op een pin. (tijd pulse us)\n\nExample: ``time_pulse_us(pin0, 1)``\n\nIf the current input value of the pin is different to ``pulse_level``, the\nfunction first waits until the pin input becomes equal to\n``pulse_level``, then times the duration that the pin is equal to\n``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\nstarts straight away.\n\n:param pin: De pin om te gebruiken\n:param pulse_level: (puls niveau) 0 om een lage puls te tikken of 1 om een hoge puls te tikken\n:param timeout_us: Een microseconde time-out\n:return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\"\"\"\n ...\n\nclass mem:\n \"\"\"De klasse van de ``mem8``, ``mem16`` en ``mem32`` geheugenweergaven.\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"Toegang tot een waarde uit het geheugen.\n\n:param address: (adres) Het geheugenadres.\n:return: The value at that address as an integer.\"\"\"\n ...\n\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"Stel een waarde in op het opgegeven adres.\n\n:param address: (adres) Het geheugen adres.\n:param value: (waarde) De integerwaarde die moet worden ingesteld.\"\"\"\n ...\nmem8: mem\n\"\"\"8-bit (byte) weergave van het geheugen.\"\"\"\nmem16: mem\n\"\"\"16-bit (byte) weergave van het geheugen.\"\"\"\nmem32: mem\n\"\"\"32-bit (byte) weergave van het geheugen.\"\"\"", + "/typeshed/stdlib/math.pyi": "\"\"\"Wiskundige functies. (wiskunde)\"\"\"\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"Bereken de inverse cosinus.\n\nExample: ``math.acos(1)``\n\n:param x: (\u0445) Een getal\n:return: The inverse cosine of ``x``\"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"Bereken de inverse sinus.\n\nExample: ``math.asin(0)``\n\n:param x: (\u0445) Een getal\n:return: The inverse sine of ``x``\"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"Bereken de inverse tangens.\n\nExample: ``math.atan(0)``\n\n:param x: (\u0445) Een getal\n:return: The inverse tangent of ``x``\"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"Bereken de hoofdwaarde van de inverse tangens van ``y/x``.\n\nExample: ``math.atan2(0, -1)``\n\n:param y: (\u0445) Een getal\n:param x: (\u0445) Een getal\n:return: The principal value of the inverse tangent of ``y/x``\"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"Rond een getal af op een positief oneindig. (plafond)\n\nExample: ``math.ceil(0.1)``\n\n:param x: (\u0445) Een getal\n:return: ``x`` rounded towards positive infinity.\"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"Bereken ``x`` met de teken van ``y``.\n\nExample: ``math.copysign(1, -1)``\n\n:param x: (\u0445) Een getal\n:param y: De bron van het teken voor de retourwaarde\n:return: ``x`` with the sign of ``y``\"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"Bereken de cosinus van ``x``.\n\nExample: ``math.cos(0)``\n\n:param x: (\u0445) Een getal\n:return: The cosine of ``x``\"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"radialen converteren naar graden: (graden)\n\nExample: ``math.degrees(2 * math.pi)``\n\n:param x: (\u0445) Een waarde in radialen\n:return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"Bereken de exponenti\u00eble van ``x``.\n\nExample: ``math.exp(1)``\n\n:param x: (\u0445) Een getal\n:return: The exponential of ``x``.\"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"Geeft de absolute waarde van ``x``.\n\nExample: ``math.fabs(-0.1)``\n\n:param x: (\u0445) Een getal\n:return: The absolute value of ``x``\"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"Rond een getal af op een negatief oneindig.\n\nExample: ``math.floor(0.9)``\n\n:param x: (\u0445) Een getal\n:return: ``x`` rounded towards negative infinity.\"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"Bereken de rest van ``x/y``.\n\nExample: ``math.fmod(10, 3)``\n\n:param x: (\u0445) De nummeraar\n:param y: De noemer\"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"Ontleedt een getal met drijvende komma in zijn mantisse en exponent.\n\nExample: ``mantissa, exponent = math.frexp(2)``\n\nThe returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\nexactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\nthe relation ``0.5 <= abs(m) < 1`` holds.\n\n:param x: (\u0445) Getal met drijvende komma\n:return: A tuple of length two containing its mantissa then exponent\"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"Controleer of een waarde eindig is. (is eindig)\n\nExample: ``math.isfinite(float('inf'))``\n\n:param x: (\u0445) Een getal.\n:return: ``True`` if ``x`` is finite, ``False`` otherwise.\"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"Controleer of een waarde oneindig is.\n\nExample: ``math.isinf(float('-inf'))``\n\n:param x: (\u0445) Een getal.\n:return: ``True`` if ``x`` is infinite, ``False`` otherwise.\"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"Check if is een waarde is geen getal (NaN).\n\nExample: ``math.isnan(float('nan'))``\n\n:param x: (\u0445) Een getal\n:return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"Bereken ``x * (2**exp)``.\n\nExample: ``math.ldexp(0.5, 2)``\n\n:param x: (\u0445) Een getal\n:param exp: Integer exponent\n:return: ``x * (2**exp)``\"\"\"\n ...\n\ndef log(x: float, base: float=e) -> float:\n \"\"\"Bereken het logaritme van ``x`` naar de opgegeven basis (standaard is het natuurlijke logalgoritme).\n\nExample: ``math.log(math.e)``\n\nWith one argument, return the natural logarithm of x (to base e).\n\nWith two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n:param x: (\u0445) Een getal\n:param base: (grondtal) Het grondtal om te gebruiken\n:return: The natural logarithm of ``x``\"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"Bereken de fractionele en integrale onderdelen van ``x``.\n\nExample: ``fractional, integral = math.modf(1.5)``\n\n:param x: (\u0445) Een getal\n:return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\nBoth the fractional and integral values have the same sign as ``x``.\"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"Retourneert ``x`` naar de kracht van ``y``.\n\nExample: ``math.pow(4, 0.5)``\n\n:param x: (\u0445) Een getal\n:param y: De exponent\n:return: ``x`` to the power of ``y``\"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"Converteer graden naar radialen. (radialen)\n\nExample: ``math.radians(360)``\n\n:param x: (\u0445) Een waarde in graden\n:return: The value converted to radians\"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"Bereken de sinus van ``x``.\n\nExample: ``math.sin(math.pi/2)``\n\n:param x: (\u0445) Een getal\n:return: The sine of ``x``\"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"Bereken de wortel van ``x``. (wortel)\n\nExample: ``math.sqrt(4)``\n\n:param x: (\u0445) Een getal\n:return: The square root of ``x``\"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"Bereken de tangens van ``x``.\n\nExample: ``math.tan(0)``\n\n:param x: (\u0445) Een getal\n:return: The tangent of ``x``.\"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"Rond een getal af naar 0.\n\nExample: ``math.trunc(-0.9)``\n\n:param x: (\u0445) Een getal\n:return: ``x`` rounded towards zero.\"\"\"\n ...\ne: float\n\"\"\"Basis van het natuurlijke logaritme\"\"\"\npi: float\n\"\"\"De omtrek van een cirkel tot de diameter\"\"\"", + "/typeshed/stdlib/micropython.pyi": "\"\"\"MicroPython intern.\"\"\"\nfrom typing import Any, TypeVar, overload\n_T = TypeVar('_T')\n\ndef const(expr: _T) -> _T:\n \"\"\"Gebruikt om te verklaren dat de expressie een constante is zodat de compiler\ndeze kan optimaliseren.\n\nThe use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\nConstants declared this way are still accessible as global variables from\noutside the module they are declared in. On the other hand, if a constant\nbegins with an underscore then it is hidden, it is not available as a\nglobal variable, and does not take up any memory during execution.\n\n:param expr: Een constante expressie.\"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"Krijg het huidige optimalisatieniveau voor de compilatie van scripts. (Kies niveau)\n\nExample: ``micropython.opt_level()``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n:return: An integer representing the current level.\"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"Stelt het optimalisatie niveau in voor de latere compilatie van scripts. (opt niveau)\n\nExample: ``micropython.opt_level(1)``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\nThe default optimisation level is usually level 0.\n\n:param level: (niveau) Een integer optimaliserings niveau.\"\"\"\n ...\n\ndef mem_info(verbose: Any=None) -> None:\n \"\"\"Druk informatie af over het momenteel gebruikte geheugen.\n\nExample: ``micropython.mem_info()``\n\n:param verbose: Als het argument van ``verbose`` wordt opgegeven, wordt extra informatie afgedrukt.\"\"\"\n ...\n\ndef qstr_info(verbose: Any=None) -> None:\n \"\"\"Druk informatie af over momenteel gebruikte interne tekenreeksen.\n\nExample: ``micropython.qstr_info()``\n\n:param verbose: Als het argument van ``verbose`` wordt opgegeven, wordt extra informatie afgedrukt.\n\nThe information that is printed is implementation dependent, but currently\nincludes the number of interned strings and the amount of RAM they use. In\nverbose mode it prints out the names of all RAM-interned strings.\"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"Retourneert een integer getal dat huidige hoeveelheid stack vertegenwoordigt die wordt gebruikt. (stapel gebruik)\n\nExample: ``micropython.stack_use()``\n\nThe absolute value of this is not particularly useful, rather it\nshould be used to compute differences in stack usage at different points.\n\n:return: An integer representing current stack use.\"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"Lock de heap. (heap slot)\n\nExample: ``micropython.heap_lock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"Unlock the heap.\n\nExample: ``micropython.heap_unlock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"Stel het karakter in dat een ``KeyboardInterrupt`` -uitzondering maakt.\n\nExample: ``micropython.kbd_intr(-1)``\n\n:param chr: Karakter code om de onderbreking of -1 om opname van Ctrl-C uit te schakelen.\n\nBy default this is set to 3 during script execution, corresponding to Ctrl-C.\nPassing -1 to this function will disable capture of Ctrl-C, and passing 3\nwill restore it.\n\nThis function can be used to prevent the capturing of Ctrl-C on the\nincoming stream of characters that is usually used for the REPL, in case\nthat stream is used for other purposes.\"\"\"\n ...", + "/typeshed/stdlib/music.pyi": "\"\"\"Maak en speel melodie\u00ebn. (muziek)\"\"\"\nfrom typing import Optional, Tuple, Union, List\nfrom .microbit import MicroBitDigitalPin, pin0\nDADADADUM: Tuple[str, ...]\n\"\"\"Melodie: de opening naar Beethoven's 5e Symfonie in C minor.\"\"\"\nENTERTAINER: Tuple[str, ...]\n\"\"\"Melody: het openingsfragment van Scott Joplin\u2019s Ragtime classic \u201cThe Entertainer\u201d.\"\"\"\nPRELUDE: Tuple[str, ...]\n\"\"\"Melodie: de opening van de eerste prelude in C Major van J.S.Bach's 48 Preludes en Fugues.\"\"\"\nODE: Tuple[str, ...]\n\"\"\"Melodie: het thema \"Ode aan Joy\" van Beethoven zijn negende Symfonie in D-klein.\"\"\"\nNYAN: Tuple[str, ...]\n\"\"\"Melodie: het Nyan Cat thema (http://www.nyan.cat/).\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\nRINGTONE: Tuple[str, ...]\n\"\"\"Melodie: iets dat klinkt als een beltoon van een mobiele telefoon. (beltoon)\n\nTo be used to indicate an incoming message.\n\"\"\"\nFUNK: Tuple[str, ...]\n\"\"\"Melodie: een grappige bas lijn voor geheime agenten en criminele meesterbreinen.\"\"\"\nBLUES: Tuple[str, ...]\n\"\"\"Melodie: een boogie-woogie 12-bar blues wandel bas. (Blues)\"\"\"\nBIRTHDAY: Tuple[str, ...]\n\"\"\"Melodie: \u201cHappy Birthday to You\u2026\u201d (verjaardag)\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\nWEDDING: Tuple[str, ...]\n\"\"\"Melodie: het bruidskoor van de opera van Wagner \u201cLohengrin\u201d. (bruiloft)\"\"\"\nFUNERAL: Tuple[str, ...]\n\"\"\"Melody: de \u201cbegrafenismars\u201d die ook bekend staat als Fr\u00e9d\u00e9ric Chopin\u2019s Piano Sonata No. 2 in B\u266d minor, Op. 35. (begrafenis)\"\"\"\nPUNCHLINE: Tuple[str, ...]\n\"\"\"Melodie: een grappig fragment dat aangeeft dat er een grap is gemaakt. (clou)\"\"\"\nPYTHON: Tuple[str, ...]\n\"\"\"Melodie: John Philip Sousa's mars \"Liberty Bell\", ook bekend als het thema voor \"Monty Python's Flying Circus\" (waarnaar de programmeertaal Python is vernoemd).\"\"\"\nBADDY: Tuple[str, ...]\n\"\"\"Melodie: stomme filmtijdperk de binnenkomst van een boef. (boef)\"\"\"\nCHASE: Tuple[str, ...]\n\"\"\"Melodie: stille film tijdperk achtervolgings-sc\u00e8ne. (achtervolgen)\"\"\"\nBA_DING: Tuple[str, ...]\n\"\"\"Melodie: een kort signaal om aan te geven dat er iets is gebeurd.\"\"\"\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"Melody: een zeer trieste trombone.\"\"\"\nJUMP_UP: Tuple[str, ...]\n\"\"\"Melody: voor gebruik in een spel om opwaartse beweging aan te geven. (spring omhoog)\"\"\"\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"Melody: voor gebruik in een spel, om neerwaartse beweging aan te geven. (spring omlaag)\"\"\"\nPOWER_UP: Tuple[str, ...]\n\"\"\"Melodie: een fanfare die aantoont dat een prestatie ontgrendeld is. (opstarten)\"\"\"\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"Melody: een droevige fanfare om aan te geven dat een prestatie verloren is gegaan. (afsluiten)\"\"\"\n\ndef set_tempo(ticks: int=4, bpm: int=120) -> None:\n \"\"\"Stelt het geschatte tempo in voor het afspelen. (kies tempo)\n\nExample: ``music.set_tempo(bpm=120)``\n\n:param ticks: (tikken) Het aantal tikken in een beat.\n:param bpm: Een geheel getal dat het aantal beats per minuut bepaalt.\n\nSuggested default values allow the following useful behaviour:\n\n- music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n- music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n- music.set_tempo(bpm=180) \u2013 just change the tempo\n\nTo work out the length of a tick in milliseconds is very simple arithmetic:\n60000/bpm/ticks_per_beat. For the default values that\u2019s\n60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"Haalt het huidige tempo op als een heel geheel getal: ``(ticks, bpm)``. (krijg tempo)\n\nExample: ``ticks, beats = music.get_tempo()``\n\n:return: The temp as a tuple with two integer values, the ticks then the beats per minute.\"\"\"\n ...\n\ndef play(music: Union[str, List[str], Tuple[str, ...]], pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True, loop: bool=False) -> None:\n \"\"\"Speelt muziek af. (afspelen)\n\nExample: ``music.play(music.NYAN)``\n\n:param music: (muziek) muziek opgegeven in `a special notation `_\n:param pin: de uitvoer pin voor gebruik met een externe luidspreker (standaard ``pin0``), ``None`` voor geen geluid.\n:param wait: (wacht) Als ``wait`` is ingesteld op ``True``wordt deze functie geblokkeerd.\n:param loop: Als ``loop`` is ingesteld op ``True``herhaalt de melodie tot ``stop`` wordt opgeroepen of wordt de blokkerende oproep word onderbroken.\n\nMany built-in melodies are defined in this module.\"\"\"\n ...\n\ndef pitch(frequency: int, duration: int=-1, pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True) -> None:\n \"\"\"Speel een noot. (toonhoogte)\n\nExample: ``music.pitch(185, 1000)``\n\n:param frequency: (frequentie) Een integere frequentie\n:param duration: (Duur) Een milliseconde duur. Als negatief dan gaat het geluid door tot de volgende oproep of een oproep tot ``stop``.\n:param pin: Optionele uitvoer pin (standaard ``pin0``).\n:param wait: (wacht) Als ``wait`` is ingesteld op ``True``wordt deze functie geblokkeerd.\n\nFor example, if the frequency is set to 440 and the length to\n1000 then we hear a standard concert A for one second.\n\nYou can only play one pitch on one pin at any one time.\"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"Stopt alle muziek op de ingebouwde luidspreker en elke pin die geluid uitzendt.\n\nExample: ``music.stop()``\n\n:param pin: Een optioneel argument kan worden opgegeven om een pin op te geven, bijvoorbeeld ``music.stop(pin1)``.\"\"\"\n\ndef reset() -> None:\n \"\"\"Reset ticks, bpm, duur en octaven naar hun standaardwaarden.\n\nExample: ``music.reset()``\n\nValues:\n- ``ticks = 4``\n- ``bpm = 120``\n- ``duration = 4``\n- ``octave = 4``\"\"\"\n ...", + "/typeshed/stdlib/neopixel.pyi": "\"\"\"Individueel adresseerbare RGB en RGBW LED-strips.\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"Initialiseer een nieuwe strip van neopixel LED's beheerd via een pin. (initialiseren)\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: De pin regelt de neopixelstrook.\n:param n: Het aantal neopixels in de strip.\n:param bpp: Bytes per pixel. Voor ondersteuning van RGBW neopixels geeft je 4 aan in plaats van de standaardwaarde van 3 voor RGB en GRB.\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"Verwijder alle pixels. (wissen)\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"Toon de pixels. (toon)\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"Toon de pixels (alleen micro:bit V2). (schrijven)\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"Kleur alle pixels een bepaalde RGB/RGBW waarde (alleen micro:bit V2). (opvullen)\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: (kleur) Een tuple van dezelfde lengte als het aantal bytes per pixel (bpp).\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"Stel een pixelkleur in.\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: (sleutel) Het pixelnummer.\n:param value: (waarde) De kleur.\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"Krijg een pixelkleur.\n\nExample: ``r, g, b = np[0]``\n\n:param key: (sleutel) Het pixelnummer.\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"Haal de lengte op van deze pixelstrip.\n\nExample: ``len(np)``\"\"\"", + "/typeshed/stdlib/os.pyi": "\"\"\"Toegang tot het bestandssysteem.\"\"\"\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"Bestanden weergeven.\n\nExample: ``os.listdir()``\n\n:return: A list of the names of all the files contained within the local\npersistent on-device file system.\"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"Verwijder (verwijder) een bestand. (verwijder)\n\nExample: ``os.remove('data.txt')``\n\n:param filename: (bestands naam) Het bestand is verwijderd\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"Geeft de grootte van een bestand weer. (grootte)\n\nExample: ``os.size('data.txt')``\n\n:param filename: (bestands naam) Het bestand\n:return: The size in bytes.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"Resultaat van ``os.uname()`` (uname resultaat)\"\"\"\n sysname: str\n \"\"\"Besturingssysteem naam\"\"\"\n nodename: str\n \"\"\"Naam van machine op het netwerk (implementation-defined).\"\"\"\n release: str\n \"\"\"Besturingssysteem release. (vrijgeven)\"\"\"\n version: str\n \"\"\"Besturingssysteem versie. (versie)\"\"\"\n machine: str\n \"\"\"Identificatie hardware\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"Geeft informatie terug die het huidige besturingssysteem identificeert.\n\nExample: ``os.uname()``\n\nThe return value is an object with five attributes:\n\n- ``sysname`` - operating system name\n- ``nodename`` - name of machine on network (implementation-defined)\n- ``release`` - operating system release\n- ``version`` - operating system version\n- ``machine`` - hardware identifier\n\nThere is no underlying operating system in MicroPython. As a result the\ninformation returned by the ``uname`` function is mostly useful for\nversioning details.\"\"\"\n ...", + "/typeshed/stdlib/power.pyi": "\"\"\"Manage the power modes of the micro:bit (V2 only).\n\"\"\"\n\nfrom microbit import MicroBitDigitalPin, Button\nfrom typing import Optional, Tuple, Union\n\ndef off() -> None:\n \"\"\"Power down the board to the lowest possible power mode.\n\n Example: ``power.off()``\n\n This is the equivalent to pressing the reset button for a few seconds,\n to set the board in \"Off mode\".\n\n The micro:bit will only wake up if the reset button is pressed or,\n if on battery power, when a USB cable is connected.\n\n When the board wakes up it will start for a reset state, so your program\n will start running from the beginning.\n \"\"\"\n ...\n\ndef deep_sleep(\n ms: Optional[int] = None,\n wake_on: Optional[\n Union[MicroBitDigitalPin, Button] | Tuple[MicroBitDigitalPin | Button, ...]\n ] = None,\n run_every: bool = True,\n) -> None:\n \"\"\"Set the micro:bit into a low power mode where it can wake up and continue operation.\n\n Example: ``power.deep_sleep(wake_on=(button_a, button_b))``\n\n The program state is preserved and when it wakes up it will resume\n operation where it left off.\n\n Deep Sleep mode will consume more battery power than Off mode.\n\n The wake up sources are configured via arguments.\n\n The board will always wake up when receiving UART data, when the reset\n button is pressed (which resets the board) or, in battery power,\n when the USB cable is inserted.\n\n When the ``run_every`` parameter is set to ``True`` (the default), any\n function scheduled with ``run_every`` will momentarily wake up the board\n to run and when it finishes it will go back to sleep.\n\n :param ms: A time in milliseconds to wait before it wakes up.\n :param wake_on: A single instance or a tuple of pins and/or buttons to wake up the board, e.g. ``deep_sleep(wake_on=button_a)`` or ``deep_sleep(wake_on=(pin0, pin2, button_b))``.\n :param run_every: A boolean to configure if the functions scheduled with ``microbit.run_every`` will continue to run while it sleeps.\n \"\"\"\n ...\n", + "/typeshed/stdlib/radio.pyi": "\"\"\"Communiceer tussen micro:bits met de ingebouwde radio.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\nRATE_1MBIT: int\n\"\"\"Constante gebruikt om een doorvoer van 1 MBit per seconde aan te geven.\"\"\"\nRATE_2MBIT: int\n\"\"\"Constante gebruikt om een doorvoer van 2 MBit per seconde aan te geven.\"\"\"\n\ndef on() -> None:\n \"\"\"Zet de radio aan. (aan)\n\nExample: ``radio.on()``\n\nThis needs to be explicitly called since the radio draws power and takes\nup memory that you may otherwise need.\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Schakelt de radio uit, bespaar stroom en geheugen. (uit)\n\nExample: ``radio.off()``\"\"\"\n ...\n\ndef config(length: int=32, queue: int=3, channel: int=7, power: int=6, address: int=1969383796, group: int=0, data_rate: int=RATE_1MBIT) -> None:\n \"\"\"Configureert de radio. (configuratie)\n\nExample: ``radio.config(group=42)``\n\nThe default configuration is suitable for most use.\n\n:param length: (lengte) (default=32) definieert de maximale lengte, in bytes, van een bericht dat via de radio wordt verzonden.\nHet kan maximaal 251 bytes lang zijn (254 - 3 bytes voor S0, LENGTH en S1 preamble).\n:param queue: (wachtrij) (standaard=3) geeft het aantal berichten aan dat in de wachtrij van het inkomende bericht kan worden opgeslagen.\nAls er geen ruimte meer is in de wachtrij voor binnenkomende berichten, dan valt het inkomende bericht weg.\n:param channel: (kanaal) (default=7) een integer waarde van 0 tot 83 (inclusief) die een willekeurig \"kanaal\" definieert waaraan de radio wordt afgestemd.\nBerichten worden via dit kanaal verzonden en alleen via dit kanaal worden berichten in de wachtrij van het inkomende berichten geplaatst. Elke stap is 1 MHz breed, gebaseerd op 2400MHz.\n:param power: (vermogen) (default=6) is een integer waarde van 0 tot 7 (inclusief) om de sterkte van het signaal aan te geven dat wordt gebruikt bij het uitzenden van een bericht.\nHoe hoger de waarde, des te sterker het signaal, maar hoe meer stroom het apparaat verbruikt. De nummering vertaalt naar posities in de volgende lijst van dBm (decibel milliwatt) waarden: -30, -20, -16, -12, -8, -4, 0, 4.\n:param address: (adres) (default=0x75626974) een willekeurige naam, uitgedrukt als een 32-bits adres, wordt gebruikt om inkomende pakketten op hardware-niveau te filteren, waarbij alleen de pakketten worden bewaard die overeenkomen met het adres dat je zelf instelt.\nDe standaard gebruiker door andere micro:bit gerelateerde platforms is de standaard instelling die hier wordt gebruikt.\n:param group: (groep) (standaard=0) een 8-bit waarde (0-255) gebruikt met de ``address`` bij het filteren van berichten.\nConceptueel, \"adres\" is als een huis/kantooradres en \"groep\" is als de persoon op dat adres waarnaar je je bericht wilt sturen.\n:param data_rate: (Gegevens snelheid) (default=``radio.RATE_1MBIT``) geeft aan hoe snel de doorvoer van gegevens plaatsvindt.\nKan een van de volgende constanten zijn gedefinieerd in de ``radio`` module: ``RATE_250KBIT``, ``RATE_1MBIT`` of ``RATE_2MBIT``.\n\nIf ``config`` is not called then the defaults described above are assumed.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Reset alle instellingen naar hun standaardwaarde.\n\nExample: ``radio.reset()``\n\nThe defaults as as per the ``config`` function above.\"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"Stuurt een bericht met bytes. (verstuur bytes)\n\nExample: ``radio.send_bytes(b'hello')``\n\n:param message: (bericht) De te verzenden bytes.\"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"Ontvang het volgende inkomende bericht in de wachtrij van het bericht. (ontvang bytes)\n\nExample: ``radio.receive_bytes()``\n\n:return: The message bytes if any, otherwise ``None``.\"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"Kopieer het volgende inkomende bericht in de wachtrij van het bericht naar een buffer. (ontvang bytes in)\n\nExample: ``radio.receive_bytes_info(buffer)``\n\n:param buffer: De doel buffer. Het bericht wordt ingekort als het groter is dan de buffer.\n:return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"Stuurt een berichtenreeks. (verzenden)\n\nExample: ``radio.send('hello')``\n\nThis is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\nprepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n:param message: (bericht) De te verzenden tekenreeks.\"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"Werkt op precies dezelfde manier als ``receive_bytes`` , maar retourneert wat er verzonden is. (ontvang)\n\nExample: ``radio.receive()``\n\nEquivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\nthree bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\nmay target the micro:bit).\n\n:return: The message with the prepended bytes stripped and converted to a string.\n\nA ``ValueError`` exception is raised if conversion to string fails.\"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"Geeft als resultaat een dup met drie waarden die het volgende inkomende bericht in de wachtrij van het bericht weergeven. (Ontvang vol)\n\nExample: ``radio.receive_full()``\n\nIf there are no pending messages then ``None`` is returned.\n\nThe three values in the tuple represent:\n\n- the next incoming message on the message queue as bytes.\n- the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n- a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\nFor example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\nThis function is useful for providing information needed for triangulation\nand/or trilateration with other micro:bit devices.\n\n:return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\"\"\"\n ...", + "/typeshed/stdlib/random.pyi": "\"\"\"Willekeurige getallen genereren. (willekeurig)\"\"\"\nfrom typing import TypeVar, Sequence, Union, overload\n\ndef getrandbits(n: int) -> int:\n \"\"\"Genereer een geheel getal met ``n`` willekeurige bits.\n\nExample: ``random.getrandbits(1)``\n\n:param n: Een waarde tussen 1-30 (inclusief).\"\"\"\n ...\n\ndef seed(n: int) -> None:\n \"\"\"Initialiseer de willekeurige getalgenerator.\n\nExample: ``random.seed(0)``\n\n:param n: De integer seed\n\nThis will give you reproducibly deterministic randomness from a given starting\nstate (``n``).\"\"\"\n ...\n\ndef randint(a: int, b: int) -> int:\n \"\"\"Kies een willekeurig geheel getal tussen ``a`` en ``b`` inclusief.\n\nExample: ``random.randint(0, 9)``\n\n:param a: Beginwaarde voor het bereik (inclusief)\n:param b: Eindwaarde voor het bereik (inclusief)\n\nAlias for ``randrange(a, b + 1)``.\"\"\"\n ...\n\n@overload\ndef randrange(stop: int) -> int:\n \"\"\"Kies een willekeurig geselecteerd geheel getal tussen nul en tot (maar niet\ninclusief) ``stop``.\n\nExample: ``random.randrange(10)``\n\n:param stop: Eindwaarde voor het bereik (exclusief)\"\"\"\n ...\n\n@overload\ndef randrange(start: int, stop: int, step: int=1) -> int:\n \"\"\"Kies een willekeurig geselecteerd element uit ``range(start, stop, step)``.\n\nExample: ``random.randrange(0, 10)``\n\n:param start: Het begin van het bereik (inclusief)\n:param stop: Einde van het bereik (exclusief)\n:param step: (stap) De stap.\"\"\"\n ...\n_T = TypeVar('_T')\n\ndef choice(seq: Sequence[_T]) -> _T:\n \"\"\"Kies een willekeurig element uit de niet-lege reeks ``seq``. (keuze)\n\nExample: ``random.choice([Image.HAPPY, Image.SAD])``\n\n:param seq: Een volgorde.\n\nIf ``seq`` is empty, raises ``IndexError``.\"\"\"\n ...\n\ndef random() -> float:\n \"\"\"Genereer een willekeurig zwevend puntnummer in het bereik [0.0, 1.0). (willekeurig)\n\nExample: ``random.random()``\n\n:return: The random floating point number\"\"\"\n ...\n\ndef uniform(a: float, b: float) -> float:\n \"\"\"Geeft een willekeurig zwevend punt nummer tussen ``a`` en ``b`` inclusief.\n\nExample: ``random.uniform(0, 9)``\n\n:param a: Beginwaarde voor het bereik (inclusief)\n:param b: Eindwaarde voor het bereik (inclusief)\"\"\"\n ...", + "/typeshed/stdlib/speech.pyi": "\"\"\"Laat de micro:bit praten, zingen en andere spraak maken, zoals geluid. (spraak)\"\"\"\nfrom typing import Optional\nfrom .microbit import MicroBitDigitalPin, pin0\n\ndef translate(words: str) -> str:\n \"\"\"Vertaal Engelse woorden naar fonemen. (vertalen)\n\nExample: ``speech.translate('hello world')``\n\n:param words: (woorden) Een tekenreeks Engelse woorden.\n:return: A string containing a best guess at the appropriate phonemes to pronounce.\nThe output is generated from this `text to phoneme translation table `_.\n\nThis function should be used to generate a first approximation of phonemes\nthat can be further hand-edited to improve accuracy, inflection and\nemphasis.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef pronounce(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"Uitspraak phonemes. (uitspreken)\n\nExample: ``speech.pronounce(' /HEHLOW WERLD')``\n\n:param phonemes: (fonemen) De reeks fonemen om uit te spreken\n:param pitch: (toonhoogte) Een nummer dat de toonhoogte van de stem weergeeft\n:param speed: (snelheid) Een nummer dat de snelheid van de stem vertegenwoordigt\n:param mouth: (mond) Een nummer dat de mond van de stem weergeeft\n:param throat: (keel) Een nummer dat de keel van de stem weergeeft\n:param pin: Een optioneel argument om de uitvoer pin op te geven, kan worden gebruikt om de standaard van ``pin0``te overschrijven. Als we geen geluid willen afspelen, kunnen we ``pin=None`` gebruiken. Alleen voor micro:bit V2.\n\nOverride the optional pitch, speed, mouth and throat settings to change the\ntimbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef say(words: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"Zeg Engelse woorden. (zeg)\n\nExample: ``speech.say('hello world')``\n\n:param words: (woorden) De tekenreeks van woorden om te zeggen.\n:param pitch: (toonhoogte) Een nummer dat de toonhoogte van de stem weergeeft\n:param speed: (snelheid) Een nummer dat de snelheid van de stem vertegenwoordigt\n:param mouth: (mond) Een nummer dat de mond van de stem weergeeft\n:param throat: (keel) Een nummer dat de keel van de stem weergeeft\n:param pin: Een optioneel argument om de uitvoer pin op te geven, kan worden gebruikt om de standaard van ``pin0``te overschrijven. Als we geen geluid willen afspelen, kunnen we ``pin=None`` gebruiken. Alleen voor micro:bit V2.\n\nThe result is semi-accurate for English. Override the optional pitch, speed,\nmouth and throat settings to change the timbre (quality) of the voice.\n\nThis is a short-hand equivalent of:\n``speech.pronounce(speech.translate(words))``\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef sing(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"Zing fonemen. (zing)\n\nExample: ``speech.sing(' /HEHLOW WERLD')``\n\n:param phonemes: (fonemen) De tekenreeks van woorden om te zingen.\n:param pitch: (toonhoogte) Een nummer dat de toonhoogte van de stem weergeeft\n:param speed: (snelheid) Een nummer dat de snelheid van de stem vertegenwoordigt\n:param mouth: (mond) Een nummer dat de mond van de stem weergeeft\n:param throat: (keel) Een nummer dat de keel van de stem weergeeft\n:param pin: Een optioneel argument om de uitvoer pin op te geven, kan worden gebruikt om de standaard van ``pin0``te overschrijven. Als we geen geluid willen afspelen, kunnen we ``pin=None`` gebruiken. Alleen voor micro:bit V2.\n\nOverride the optional pitch, speed, mouth and throat settings to change\nthe timbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...", + "/typeshed/stdlib/struct.pyi": "\"\"\"Primitieve datatypes inpakken en uitpakken.\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom typing import Any, Tuple, Union\n\ndef calcsize(fmt: str) -> int:\n \"\"\"Haal het aantal bytes op dat nodig is om de gegeven ``fmt`` op te slaan.\n\nExample: ``struct.calcsize('hf')``\n\n:param fmt: Tekenreeks opmaak.\n:return The number of bytes needed to store such a value.\"\"\"\n ...\n\ndef pack(fmt: str, v1: Any, *vn: Any) -> bytes:\n \"\"\"Verpak de waarden op basis van een string formaat. (inpakken)\n\nExample: ``struct.pack('hf', 1, 3.1415)``\n\n:param fmt: De formaat tekenreeks.\n:param v1: De eerste waarde.\n:param *vn: De resterende waarden.\n:return A bytes object encoding the values.\"\"\"\n ...\n\ndef pack_into(fmt: str, buffer: WriteableBuffer, offset: int, v1: Any, *vn: Any) -> None:\n \"\"\"Verpak de waarden op basis van een string formaat. (inpakken)\n\nExample: ``struct.pack_info('hf', buffer, 1, 3.1415)``\n\n:param fmt: De formaat tekenreeks.\n:param buffer: De doelbuffer om in te schrijven.\n:param offset: (Offset) De compensatie in de buffer. Kan negatief zijn om te tellen aan het einde van de buffer.\n:param v1: De eerste waarde.\n:param *vn: De resterende waarden.\"\"\"\n ...\n\ndef unpack(fmt: str, data: ReadableBuffer) -> Tuple[Any, ...]:\n \"\"\"Uitpakken van gegevens volgens een opmaakreeks. (uitpakken)\n\nExample: ``v1, v2 = struct.unpack('hf', buffer)``\n\n:param fmt: De formaat tekenreeks.\n:param data: (gegevens) De gegevens.\n:return: A tuple of the unpacked values.\"\"\"\n ...\n\ndef unpack_from(fmt: str, buffer: ReadableBuffer, offset: int=0) -> Tuple:\n \"\"\"Uitpakken van gegevens van een buffer volgens een opmaak. (uitpakken van)\n\nExample: ``v1, v2 = struct.unpack_from('hf', buffer)``\n\n:param fmt: De formaat tekenreeks.\n:param buffer: De bronbuffer om uit te lezen.\n:param offset: (Offset) De compensatie in de buffer. Kan negatief zijn om te tellen aan het einde van de buffer.\n:return: A tuple of the unpacked values.\"\"\"\n ...", + "/typeshed/stdlib/sys.pyi": "\"\"\"Systeem specifieke functies\"\"\"\nfrom typing import Any, Dict, List, NoReturn, TextIO, Tuple\n\ndef exit(retval: object=...) -> NoReturn:\n \"\"\"Be\u00ebindig het huidige programma met een bepaalde exit code. (afsluiten)\n\nExample: ``sys.exit(1)``\n\nThis function raises a ``SystemExit`` exception. If an argument is given, its\nvalue given as an argument to ``SystemExit``.\n\n:param retval: De exit code of bericht.\"\"\"\n ...\n\ndef print_exception(exc: Exception) -> None:\n \"\"\"Print een exception met traceback. (exceptie afdrukken)\n\nExample: ``sys.print_exception(e)``\n\n:param exc: De af te drukken uitzondering\n\nThis is simplified version of a function which appears in the\n``traceback`` module in CPython.\"\"\"\nargv: List[str]\n\"\"\"Een veranderlijke lijst met argumenten waarmee het huidige programma is gestart.\"\"\"\nbyteorder: str\n\"\"\"De byte volgorde van het systeem (``\"little\"`` of ``\"big\"``). (byte volgorde)\"\"\"\n\nclass _implementation:\n name: str\n version: Tuple[int, int, int]\nimplementation: _implementation\n\"\"\"Object met informatie over de huidige Python implementatie. (implementatie)\n\nFor MicroPython, it has following attributes:\n\n- ``name`` - string \"micropython\"\n- ``version`` - tuple (major, minor, micro), e.g. (1, 7, 0)\n\nThis object is the recommended way to distinguish MicroPython from other\nPython implementations (note that it still may not exist in the very\nminimal ports).\n\nCPython mandates more attributes for this object, but the actual useful\nbare minimum is implemented in MicroPython.\n\"\"\"\nmaxsize: int\n\"\"\"\nMaximale waarde die een native integer type kan aanhouden op het huidige platform, of de maximale waarde die kan worden vertegenwoordigd door MicroPython integer type, als het kleiner is dan platform max waarde (dat is het geval voor MicroPython poorten zonder\nlange int ondersteuning).\n\nThis attribute is useful for detecting \"bitness\" of a platform (32-bit vs\n64-bit, etc.). It's recommended to not compare this attribute to some\nvalue directly, but instead count number of bits in it::\n\n bits = 0\n v = sys.maxsize\n while v:\n bits += 1\n v >>= 1\n if bits > 32:\n # 64-bit (or more) platform\n ...\n else:\n # 32-bit (or less) platform\n # Note that on 32-bit platform, value of bits may be less than 32\n # (e.g. 31) due to peculiarities described above, so use \"> 16\",\n # \"> 32\", \"> 64\" style of comparisons.\n\"\"\"\nmodules: Dict[str, Any]\n\"\"\"Woordenboek van geladen modules. \n\nOn some ports, it may not include builtin modules.\"\"\"\npath: List[str]\n\"\"\"Een aanpasbare lijst van mappen om te zoeken naar ge\u00efmporteerde modules. (pad)\"\"\"\nplatform: str\n\"\"\"Het platform waarop MicroPython actief is. \n\nFor OS/RTOS ports, this is usually an identifier of the OS, e.g. ``\"linux\"``.\nFor baremetal ports it is an identifier of a board, e.g. ``\"pyboard\"`` for \nthe original MicroPython reference board. It thus can be used to\ndistinguish one board from another.\n\nIf you need to check whether your program runs on MicroPython (vs other\nPython implementation), use ``sys.implementation`` instead.\n\"\"\"\nversion: str\n\"\"\"Python taalversie waar deze implementatie mee overeenstemt als tekenreeks. (versie)\"\"\"\nversion_info: Tuple[int, int, int]\n\"\"\"Python taalversie waaraan deze implementatie voldoet, als een tupel van ints. (versie informatie)\n\nOnly the first three version numbers (major, minor, micro) are supported and\nthey can be referenced only by index, not by name.\n\"\"\"", + "/typeshed/stdlib/this.pyi": "def authors() -> str: ...\n", + "/typeshed/stdlib/time.pyi": "\"\"\"Meet tijd en voeg vertragingen toe aan programma's. (tijd)\"\"\"\nfrom typing import Union\n\ndef sleep(seconds: Union[int, float]) -> None:\n \"\"\"Vertraag een aantal seconden. (slapen)\n\nExample: ``time.sleep(1)``\n\n:param seconds: (seconden) Het aantal seconden om voor te slapen.\nGebruik een floating-point nummer om te slapen voor een fractioneel aantal seconden.\"\"\"\n ...\n\ndef sleep_ms(ms: int) -> None:\n \"\"\"Vertraging voor een bepaald aantal milliseconden. (slaap ms)\n\nExample: ``time.sleep_ms(1_000_000)``\n\n:param ms: Het aantal milliseconden vertraging (>= 0).\"\"\"\n ...\n\ndef sleep_us(us: int) -> None:\n \"\"\"Vertraging voor een bepaald aantal microseconden. (slaap us)\n\nExample: ``time.sleep_us(1000)``\n\n:param us: Het aantal microseconden vertraging (>= 0).\"\"\"\n ...\n\ndef ticks_ms() -> int:\n \"\"\"Krijg een toenemende milliseconde teller met een willekeurig referentiepunt, dat omwikkeld na een waarde.\n\nExample: ``time.ticks_ms()``\n\n:return: The counter value in milliseconds.\"\"\"\n ...\n\ndef ticks_us() -> int:\n \"\"\"Krijg een toenemende milliseconde teller met een willekeurig referentiepunt, dat omwikkeld na een waarde.\n\nExample: ``time.ticks_us()``\n\n:return: The counter value in microseconds.\"\"\"\n ...\n\ndef ticks_add(ticks: int, delta: int) -> int:\n \"\"\"Waarde van de offset ticks door een bepaald getal, die ofwel positief ofwel\nnegatief kan zijn. (ticks toevoegen)\n\nExample: ``time.ticks_add(time.ticks_ms(), 200)``\n\nGiven a ticks value, this function allows to calculate ticks\nvalue delta ticks before or after it, following modular-arithmetic\ndefinition of tick values.\n\n:param ticks: (tikken) Een ticks waarde\n:param delta: Een integer verschuiving\n\nExample::\n\n # Find out what ticks value there was 100ms ago\n print(ticks_add(time.ticks_ms(), -100))\n\n # Calculate deadline for operation and test for it\n deadline = ticks_add(time.ticks_ms(), 200)\n while ticks_diff(deadline, time.ticks_ms()) > 0:\n do_a_little_of_something()\n\n # Find out TICKS_MAX used by this port\n print(ticks_add(0, -1))\"\"\"\n ...\n\ndef ticks_diff(ticks1: int, ticks2: int) -> int:\n \"\"\"Meet het verschil in ticks tussen waarden die worden geretourneerd door ``time.ticks_ms()`` of ``ticks_us()``, als een ondertekende waarde die rond kan lopen.\n\nExample: ``time.ticks_diff(scheduled_time, now)``\n\n:param ticks1: De waarde om van af te trekken\n:param ticks2: De waarde om af te trekken\n\nThe argument order is the same as for subtraction operator,\n``ticks_diff(ticks1, ticks2)`` has the same meaning as ``ticks1 - ticks2``.\n\n``ticks_diff()`` is designed to accommodate various usage\npatterns, among them:\n\nPolling with timeout. In this case, the order of events is known, and you\nwill deal only with positive results of :func:`time.ticks_diff()`::\n\n # Wait for GPIO pin to be asserted, but at most 500us\n start = time.ticks_us()\n while pin.value() == 0:\n if time.ticks_diff(time.ticks_us(), start) > 500:\n raise TimeoutError\n\n\nScheduling events. In this case, :func:`time.ticks_diff()` result may be\nnegative if an event is overdue::\n\n # This code snippet is not optimized\n now = time.ticks_ms()\n scheduled_time = task.scheduled_time()\n if ticks_diff(scheduled_time, now) > 0:\n print(\"Too early, let's nap\")\n sleep_ms(ticks_diff(scheduled_time, now))\n task.run()\n elif ticks_diff(scheduled_time, now) == 0:\n print(\"Right at time!\")\n task.run()\n elif ticks_diff(scheduled_time, now) < 0:\n print(\"Oops, running late, tell task to run faster!\")\n task.run(run_faster=True)\"\"\"\n ...", + "/typeshed/stdlib/types.pyi": "import sys\nfrom typing import (\n Any,\n AsyncGenerator,\n Awaitable,\n Callable,\n Generator,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n Tuple,\n Type,\n TypeVar,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, final\n\n# Note, all classes \"defined\" here require special handling.\n\n_T = TypeVar(\"_T\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_V_co = TypeVar(\"_V_co\", covariant=True)\n\n@final\nclass _Cell:\n __hash__: None # type: ignore\n cell_contents: Any\n\n@final\nclass FunctionType:\n __closure__: Tuple[_Cell, ...] | None\n __code__: CodeType\n __defaults__: Tuple[Any, ...] | None\n __dict__: dict[str, Any]\n __globals__: dict[str, Any]\n __name__: str\n __qualname__: str\n __annotations__: dict[str, Any]\n __kwdefaults__: dict[str, Any]\n def __init__(\n self,\n code: CodeType,\n globals: dict[str, Any],\n name: str | None = ...,\n argdefs: Tuple[object, ...] | None = ...,\n closure: Tuple[_Cell, ...] | None = ...,\n ) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: object | None, type: type | None) -> MethodType: ...\n\nLambdaType = FunctionType\n\n@final\nclass CodeType:\n \"\"\"Create a code object. Not for the faint of heart.\"\"\"\n\n co_argcount: int\n if sys.version_info >= (3, 8):\n co_posonlyargcount: int\n co_kwonlyargcount: int\n co_nlocals: int\n co_stacksize: int\n co_flags: int\n co_code: bytes\n co_consts: Tuple[Any, ...]\n co_names: Tuple[str, ...]\n co_varnames: Tuple[str, ...]\n co_filename: str\n co_name: str\n co_firstlineno: int\n co_lnotab: bytes\n co_freevars: Tuple[str, ...]\n co_cellvars: Tuple[str, ...]\n if sys.version_info >= (3, 8):\n def __init__(\n self,\n argcount: int,\n posonlyargcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n else:\n def __init__(\n self,\n argcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n if sys.version_info >= (3, 8):\n def replace(\n self,\n *,\n co_argcount: int = ...,\n co_posonlyargcount: int = ...,\n co_kwonlyargcount: int = ...,\n co_nlocals: int = ...,\n co_stacksize: int = ...,\n co_flags: int = ...,\n co_firstlineno: int = ...,\n co_code: bytes = ...,\n co_consts: Tuple[Any, ...] = ...,\n co_names: Tuple[str, ...] = ...,\n co_varnames: Tuple[str, ...] = ...,\n co_freevars: Tuple[str, ...] = ...,\n co_cellvars: Tuple[str, ...] = ...,\n co_filename: str = ...,\n co_name: str = ...,\n co_lnotab: bytes = ...,\n ) -> CodeType: ...\n\n@final\nclass MappingProxyType(Mapping[_KT, _VT_co], Generic[_KT, _VT_co]):\n __hash__: None # type: ignore\n def __init__(self, mapping: Mapping[_KT, _VT_co]) -> None: ...\n def __getitem__(self, k: _KT) -> _VT_co: ...\n def __iter__(self) -> Iterator[_KT]: ...\n def __len__(self) -> int: ...\n def copy(self) -> dict[_KT, _VT_co]: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def items(self) -> ItemsView[_KT, _VT_co]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def __or__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n def __ror__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n\nclass SimpleNamespace:\n __hash__: None # type: ignore\n def __init__(self, **kwargs: Any) -> None: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __delattr__(self, name: str) -> None: ...\n\nclass ModuleType:\n __name__: str\n __file__: str\n __dict__: dict[str, Any]\n __package__: str | None\n def __init__(self, name: str, doc: str | None = ...) -> None: ...\n\n@final\nclass GeneratorType(Generator[_T_co, _T_contra, _V_co]):\n gi_code: CodeType\n gi_frame: FrameType\n gi_running: bool\n gi_yieldfrom: GeneratorType[_T_co, _T_contra, Any] | None\n def __iter__(self) -> GeneratorType[_T_co, _T_contra, _V_co]: ...\n def __next__(self) -> _T_co: ...\n def close(self) -> None: ...\n def send(self, __arg: _T_contra) -> _T_co: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> _T_co: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> _T_co: ...\n\n@final\nclass AsyncGeneratorType(AsyncGenerator[_T_co, _T_contra]):\n ag_await: Awaitable[Any] | None\n ag_frame: FrameType\n ag_running: bool\n ag_code: CodeType\n def __aiter__(self) -> AsyncGeneratorType[_T_co, _T_contra]: ...\n def __anext__(self) -> Awaitable[_T_co]: ...\n def asend(self, __val: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Awaitable[_T_co]: ...\n def aclose(self) -> Awaitable[None]: ...\n\n@final\nclass CoroutineType:\n cr_await: Any | None\n cr_code: CodeType\n cr_frame: FrameType\n cr_running: bool\n def close(self) -> None: ...\n def send(self, __arg: Any) -> Any: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Any: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Any: ...\n\nclass _StaticFunctionType:\n \"\"\"Fictional type to correct the type of MethodType.__func__.\n\n FunctionType is a descriptor, so mypy follows the descriptor protocol and\n converts MethodType.__func__ back to MethodType (the return type of\n FunctionType.__get__). But this is actually a special case; MethodType is\n implemented in C and its attribute access doesn't go through\n __getattribute__.\n\n By wrapping FunctionType in _StaticFunctionType, we get the right result;\n similar to wrapping a function in staticmethod() at runtime to prevent it\n being bound as a method.\n \"\"\"\n\n def __get__(self, obj: object | None, type: type | None) -> FunctionType: ...\n\n@final\nclass MethodType:\n __closure__: Tuple[_Cell, ...] | None # inherited from the added function\n __defaults__: Tuple[Any, ...] | None # inherited from the added function\n __func__: _StaticFunctionType\n __self__: object\n __name__: str # inherited from the added function\n __qualname__: str # inherited from the added function\n def __init__(self, func: Callable[..., Any], obj: object) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\n@final\nclass BuiltinFunctionType:\n __self__: object | ModuleType\n __name__: str\n __qualname__: str\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\nBuiltinMethodType = BuiltinFunctionType\n\nif sys.version_info >= (3, 7):\n @final\n class WrapperDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class MethodWrapperType:\n __self__: object\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __eq__(self, other: Any) -> bool: ...\n def __ne__(self, other: Any) -> bool: ...\n @final\n class MethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class ClassMethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n\n@final\nclass TracebackType:\n if sys.version_info >= (3, 7):\n def __init__(\n self,\n tb_next: TracebackType | None,\n tb_frame: FrameType,\n tb_lasti: int,\n tb_lineno: int,\n ) -> None: ...\n tb_next: TracebackType | None\n else:\n @property\n def tb_next(self) -> TracebackType | None: ...\n # the rest are read-only even in 3.7\n @property\n def tb_frame(self) -> FrameType: ...\n @property\n def tb_lasti(self) -> int: ...\n @property\n def tb_lineno(self) -> int: ...\n\n@final\nclass FrameType:\n f_back: FrameType | None\n f_builtins: dict[str, Any]\n f_code: CodeType\n f_globals: dict[str, Any]\n f_lasti: int\n f_lineno: int\n f_locals: dict[str, Any]\n f_trace: Callable[[FrameType, str, Any], Any] | None\n if sys.version_info >= (3, 7):\n f_trace_lines: bool\n f_trace_opcodes: bool\n def clear(self) -> None: ...\n\n@final\nclass GetSetDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\n@final\nclass MemberDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nif sys.version_info >= (3, 7):\n def new_class(\n name: str,\n bases: Iterable[object] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n def resolve_bases(bases: Iterable[object]) -> Tuple[Any, ...]: ...\n\nelse:\n def new_class(\n name: str,\n bases: Tuple[type, ...] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n\ndef prepare_class(\n name: str, bases: Tuple[type, ...] = ..., kwds: dict[str, Any] | None = ...\n) -> Tuple[type, dict[str, Any], dict[str, Any]]: ...\n\n# Actually a different type, but `property` is special and we want that too.\nDynamicClassAttribute = property\n\ndef coroutine(func: Callable[..., Any]) -> CoroutineType: ...\n\nif sys.version_info >= (3, 8):\n CellType = _Cell\n\nif sys.version_info >= (3, 9):\n class GenericAlias:\n __origin__: type\n __args__: Tuple[Any, ...]\n __parameters__: Tuple[Any, ...]\n def __init__(self, origin: type, args: Any) -> None: ...\n def __getattr__(self, name: str) -> Any: ... # incomplete\n\nif sys.version_info >= (3, 10):\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n EllipsisType = ellipsis # noqa F811 from builtins\n from builtins import _NotImplementedType\n\n NotImplementedType = _NotImplementedType # noqa F811 from builtins\n @final\n class UnionType:\n __args__: Tuple[Any, ...]\n def __or__(self, obj: Any) -> UnionType: ...\n def __ror__(self, obj: Any) -> UnionType: ...\n", + "/typeshed/stdlib/typing.pyi": "import collections # Needed by aliases like DefaultDict, see mypy issue 2986\nimport sys\nfrom abc import ABCMeta, abstractmethod\nfrom types import BuiltinFunctionType, CodeType, FrameType, FunctionType, MethodType, ModuleType, TracebackType\nfrom typing_extensions import Literal as _Literal\n\nif sys.version_info >= (3, 7):\n from types import MethodDescriptorType, MethodWrapperType, WrapperDescriptorType\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n# Definitions of special type checking related constructs. Their definitions\n# are not used, so their value does not matter.\n\nAny = object()\n\nclass TypeVar:\n __name__: str\n __bound__: Optional[Type[Any]]\n __constraints__: Tuple[Type[Any], ...]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self,\n name: str,\n *constraints: Type[Any],\n bound: Union[None, Type[Any], str] = ...,\n covariant: bool = ...,\n contravariant: bool = ...,\n ) -> None: ...\n\n_promote = object()\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> object: ...\n\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n\ndef overload(func: _F) -> _F: ...\n\nUnion: _SpecialForm = ...\nOptional: _SpecialForm = ...\nTuple: _SpecialForm = ...\nGeneric: _SpecialForm = ...\n# Protocol is only present in 3.8 and later, but mypy needs it unconditionally\nProtocol: _SpecialForm = ...\nCallable: _SpecialForm = ...\nType: _SpecialForm = ...\nClassVar: _SpecialForm = ...\nif sys.version_info >= (3, 8):\n Final: _SpecialForm = ...\n def final(f: _F) -> _F: ...\n Literal: _SpecialForm = ...\n # TypedDict is a (non-subscriptable) special form.\n TypedDict: object\n\nif sys.version_info < (3, 7):\n class GenericMeta(type): ...\n\nif sys.version_info >= (3, 10):\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Optional[Type[Any]]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: Union[None, Type[Any], str] = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n\n# Return type that indicates a function does not return.\n# This type is equivalent to the None type, but the no-op Union is necessary to\n# distinguish the None type from the None value.\nNoReturn = Union[None]\n\n# These type variables are used by the container types.\n_T = TypeVar(\"_T\")\n_S = TypeVar(\"_S\")\n_KT = TypeVar(\"_KT\") # Key type.\n_VT = TypeVar(\"_VT\") # Value type.\n_T_co = TypeVar(\"_T_co\", covariant=True) # Any type covariant containers.\n_V_co = TypeVar(\"_V_co\", covariant=True) # Any type covariant containers.\n_KT_co = TypeVar(\"_KT_co\", covariant=True) # Key type covariant containers.\n_VT_co = TypeVar(\"_VT_co\", covariant=True) # Value type covariant containers.\n_T_contra = TypeVar(\"_T_contra\", contravariant=True) # Ditto contravariant.\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\ndef no_type_check(arg: _F) -> _F: ...\ndef no_type_check_decorator(decorator: _F) -> _F: ...\n\n# Type aliases and type constructors\n\nclass _Alias:\n # Class for defining generic aliases for library types.\n def __getitem__(self, typeargs: Any) -> Any: ...\n\nList = _Alias()\nDict = _Alias()\nDefaultDict = _Alias()\nSet = _Alias()\nFrozenSet = _Alias()\nCounter = _Alias()\nDeque = _Alias()\nChainMap = _Alias()\n\nif sys.version_info >= (3, 7):\n OrderedDict = _Alias()\n\nif sys.version_info >= (3, 9):\n Annotated: _SpecialForm = ...\n\n# Predefined type variables.\nAnyStr = TypeVar(\"AnyStr\", str, bytes)\n\n# Abstract base classes.\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n@runtime_checkable\nclass SupportsInt(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __int__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsFloat(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __float__(self) -> float: ...\n\n@runtime_checkable\nclass SupportsComplex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __complex__(self) -> complex: ...\n\n@runtime_checkable\nclass SupportsBytes(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __bytes__(self) -> bytes: ...\n\nif sys.version_info >= (3, 8):\n @runtime_checkable\n class SupportsIndex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __index__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsAbs(Protocol[_T_co]):\n @abstractmethod\n def __abs__(self) -> _T_co: ...\n\n@runtime_checkable\nclass SupportsRound(Protocol[_T_co]):\n @overload\n @abstractmethod\n def __round__(self) -> int: ...\n @overload\n @abstractmethod\n def __round__(self, ndigits: int) -> _T_co: ...\n\n@runtime_checkable\nclass Sized(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __len__(self) -> int: ...\n\n@runtime_checkable\nclass Hashable(Protocol, metaclass=ABCMeta):\n # TODO: This is special, in that a subclass of a hashable class may not be hashable\n # (for example, list vs. object). It's not obvious how to represent this. This class\n # is currently mostly useless for static checking.\n @abstractmethod\n def __hash__(self) -> int: ...\n\n@runtime_checkable\nclass Iterable(Protocol[_T_co]):\n @abstractmethod\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Iterator(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __next__(self) -> _T_co: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Reversible(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass Generator(Iterator[_T_co], Generic[_T_co, _T_contra, _V_co]):\n def __next__(self) -> _T_co: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n def close(self) -> None: ...\n def __iter__(self) -> Generator[_T_co, _T_contra, _V_co]: ...\n @property\n def gi_code(self) -> CodeType: ...\n @property\n def gi_frame(self) -> FrameType: ...\n @property\n def gi_running(self) -> bool: ...\n @property\n def gi_yieldfrom(self) -> Optional[Generator[Any, Any, Any]]: ...\n\n@runtime_checkable\nclass Awaitable(Protocol[_T_co]):\n @abstractmethod\n def __await__(self) -> Generator[Any, None, _T_co]: ...\n\nclass Coroutine(Awaitable[_V_co], Generic[_T_co, _T_contra, _V_co]):\n __name__: str\n __qualname__: str\n @property\n def cr_await(self) -> Optional[Any]: ...\n @property\n def cr_code(self) -> CodeType: ...\n @property\n def cr_frame(self) -> FrameType: ...\n @property\n def cr_running(self) -> bool: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n @abstractmethod\n def close(self) -> None: ...\n\n# NOTE: This type does not exist in typing.py or PEP 484.\n# The parameters correspond to Generator, but the 4th is the original type.\nclass AwaitableGenerator(\n Awaitable[_V_co], Generator[_T_co, _T_contra, _V_co], Generic[_T_co, _T_contra, _V_co, _S], metaclass=ABCMeta\n): ...\n\n@runtime_checkable\nclass AsyncIterable(Protocol[_T_co]):\n @abstractmethod\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\n@runtime_checkable\nclass AsyncIterator(AsyncIterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\nclass AsyncGenerator(AsyncIterator[_T_co], Generic[_T_co, _T_contra]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n @abstractmethod\n def asend(self, __value: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> Awaitable[_T_co]: ...\n @abstractmethod\n def aclose(self) -> Awaitable[None]: ...\n @abstractmethod\n def __aiter__(self) -> AsyncGenerator[_T_co, _T_contra]: ...\n @property\n def ag_await(self) -> Any: ...\n @property\n def ag_code(self) -> CodeType: ...\n @property\n def ag_frame(self) -> FrameType: ...\n @property\n def ag_running(self) -> bool: ...\n\n@runtime_checkable\nclass Container(Protocol[_T_co]):\n @abstractmethod\n def __contains__(self, __x: object) -> bool: ...\n\n@runtime_checkable\nclass Collection(Iterable[_T_co], Container[_T_co], Protocol[_T_co]):\n # Implement Sized (but don't have it as a base class).\n @abstractmethod\n def __len__(self) -> int: ...\n\n_Collection = Collection[_T_co]\n\nclass Sequence(_Collection[_T_co], Reversible[_T_co], Generic[_T_co]):\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T_co: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> Sequence[_T_co]: ...\n # Mixin methods\n def index(self, value: Any, start: int = ..., stop: int = ...) -> int: ...\n def count(self, value: Any) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass MutableSequence(Sequence[_T], Generic[_T]):\n @abstractmethod\n def insert(self, index: int, value: _T) -> None: ...\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> MutableSequence[_T]: ...\n @overload\n @abstractmethod\n def __setitem__(self, i: int, o: _T) -> None: ...\n @overload\n @abstractmethod\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: int) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: slice) -> None: ...\n # Mixin methods\n def append(self, value: _T) -> None: ...\n def clear(self) -> None: ...\n def extend(self, values: Iterable[_T]) -> None: ...\n def reverse(self) -> None: ...\n def pop(self, index: int = ...) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __iadd__(self, x: Iterable[_T]) -> MutableSequence[_T]: ...\n\nclass AbstractSet(_Collection[_T_co], Generic[_T_co]):\n @abstractmethod\n def __contains__(self, x: object) -> bool: ...\n # Mixin methods\n def __le__(self, s: AbstractSet[Any]) -> bool: ...\n def __lt__(self, s: AbstractSet[Any]) -> bool: ...\n def __gt__(self, s: AbstractSet[Any]) -> bool: ...\n def __ge__(self, s: AbstractSet[Any]) -> bool: ...\n def __and__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def __sub__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def isdisjoint(self, other: Iterable[Any]) -> bool: ...\n\nclass MutableSet(AbstractSet[_T], Generic[_T]):\n @abstractmethod\n def add(self, value: _T) -> None: ...\n @abstractmethod\n def discard(self, value: _T) -> None: ...\n # Mixin methods\n def clear(self) -> None: ...\n def pop(self) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __ior__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __iand__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __isub__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n\nclass MappingView(Sized):\n def __init__(self, mapping: Mapping[Any, Any]) -> None: ... # undocumented\n def __len__(self) -> int: ...\n\nclass ItemsView(MappingView, AbstractSet[Tuple[_KT_co, _VT_co]], Generic[_KT_co, _VT_co]):\n def __init__(self, mapping: Mapping[_KT_co, _VT_co]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n\nclass KeysView(MappingView, AbstractSet[_KT_co], Generic[_KT_co]):\n def __init__(self, mapping: Mapping[_KT_co, Any]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_KT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT_co]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n\nclass ValuesView(MappingView, Iterable[_VT_co], Generic[_VT_co]):\n def __init__(self, mapping: Mapping[Any, _VT_co]) -> None: ... # undocumented\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_VT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_VT_co]: ...\n\n@runtime_checkable\nclass ContextManager(Protocol[_T_co]):\n def __enter__(self) -> _T_co: ...\n def __exit__(\n self,\n __exc_type: Optional[Type[BaseException]],\n __exc_value: Optional[BaseException],\n __traceback: Optional[TracebackType],\n ) -> Optional[bool]: ...\n\n@runtime_checkable\nclass AsyncContextManager(Protocol[_T_co]):\n def __aenter__(self) -> Awaitable[_T_co]: ...\n def __aexit__(\n self, exc_type: Optional[Type[BaseException]], exc_value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Awaitable[Optional[bool]]: ...\n\nclass Mapping(_Collection[_KT], Generic[_KT, _VT_co]):\n # TODO: We wish the key type could also be covariant, but that doesn't work,\n # see discussion in https: //github.com/python/typing/pull/273.\n @abstractmethod\n def __getitem__(self, k: _KT) -> _VT_co: ...\n # Mixin methods\n @overload\n def get(self, key: _KT) -> Optional[_VT_co]: ...\n @overload\n def get(self, key: _KT, default: Union[_VT_co, _T]) -> Union[_VT_co, _T]: ...\n def items(self) -> AbstractSet[Tuple[_KT, _VT_co]]: ...\n def keys(self) -> AbstractSet[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def __contains__(self, o: object) -> bool: ...\n\nclass MutableMapping(Mapping[_KT, _VT], Generic[_KT, _VT]):\n @abstractmethod\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n @abstractmethod\n def __delitem__(self, v: _KT) -> None: ...\n def clear(self) -> None: ...\n @overload\n def pop(self, key: _KT) -> _VT: ...\n @overload\n def pop(self, key: _KT, default: Union[_VT, _T] = ...) -> Union[_VT, _T]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, key: _KT, default: _VT = ...) -> _VT: ...\n # 'update' used to take a Union, but using overloading is better.\n # The second overloaded type here is a bit too general, because\n # Mapping[Tuple[_KT, _VT], W] is a subclass of Iterable[Tuple[_KT, _VT]],\n # but will always have the behavior of the first overloaded type\n # at runtime, leading to keys of a mix of types _KT and Tuple[_KT, _VT].\n # We don't currently have any way of forcing all Mappings to use\n # the first overload, but by using overloading rather than a Union,\n # mypy will commit to using the first overload when the argument is\n # known to be a Mapping with unknown type parameters, which is closer\n # to the behavior we want. See mypy issue #1430.\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n\nText = str\n\nTYPE_CHECKING = True\n\nclass IO(Iterator[AnyStr], Generic[AnyStr]):\n # TODO use abstract properties\n @property\n def mode(self) -> str: ...\n @property\n def name(self) -> str: ...\n @abstractmethod\n def close(self) -> None: ...\n @property\n def closed(self) -> bool: ...\n @abstractmethod\n def fileno(self) -> int: ...\n @abstractmethod\n def flush(self) -> None: ...\n @abstractmethod\n def isatty(self) -> bool: ...\n @abstractmethod\n def read(self, n: int = ...) -> AnyStr: ...\n @abstractmethod\n def readable(self) -> bool: ...\n @abstractmethod\n def readline(self, limit: int = ...) -> AnyStr: ...\n @abstractmethod\n def readlines(self, hint: int = ...) -> list[AnyStr]: ...\n @abstractmethod\n def seek(self, offset: int, whence: int = ...) -> int: ...\n @abstractmethod\n def seekable(self) -> bool: ...\n @abstractmethod\n def tell(self) -> int: ...\n @abstractmethod\n def truncate(self, size: Optional[int] = ...) -> int: ...\n @abstractmethod\n def writable(self) -> bool: ...\n @abstractmethod\n def write(self, s: AnyStr) -> int: ...\n @abstractmethod\n def writelines(self, lines: Iterable[AnyStr]) -> None: ...\n @abstractmethod\n def __next__(self) -> AnyStr: ...\n @abstractmethod\n def __iter__(self) -> Iterator[AnyStr]: ...\n @abstractmethod\n def __enter__(self) -> IO[AnyStr]: ...\n @abstractmethod\n def __exit__(\n self, t: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Optional[bool]: ...\n\nclass BinaryIO(IO[bytes]):\n @abstractmethod\n def __enter__(self) -> BinaryIO: ...\n\nclass TextIO(IO[str]):\n # TODO use abstractproperty\n @property\n def buffer(self) -> BinaryIO: ...\n @property\n def encoding(self) -> str: ...\n @property\n def errors(self) -> Optional[str]: ...\n @property\n def line_buffering(self) -> int: ... # int on PyPy, bool on CPython\n @property\n def newlines(self) -> Any: ... # None, str or tuple\n @abstractmethod\n def __enter__(self) -> TextIO: ...\n\nclass ByteString(Sequence[int], metaclass=ABCMeta): ...\n\nclass Match(Generic[AnyStr]):\n pos: int\n endpos: int\n lastindex: Optional[int]\n lastgroup: Optional[AnyStr]\n string: AnyStr\n\n # The regular expression object whose match() or search() method produced\n # this match instance.\n re: Pattern[AnyStr]\n def expand(self, template: AnyStr) -> AnyStr: ...\n # group() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def group(self, __group: _Literal[0] = ...) -> AnyStr: ...\n @overload\n def group(self, __group: str | int) -> AnyStr | Any: ...\n @overload\n def group(self, __group1: str | int, __group2: str | int, *groups: str | int) -> Tuple[AnyStr | Any, ...]: ...\n # Each item of groups()'s return tuple is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groups(self) -> Tuple[AnyStr | Any, ...]: ...\n @overload\n def groups(self, default: _T) -> Tuple[AnyStr | _T, ...]: ...\n # Each value in groupdict()'s return dict is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groupdict(self) -> dict[str, AnyStr | Any]: ...\n @overload\n def groupdict(self, default: _T) -> dict[str, AnyStr | _T]: ...\n def start(self, __group: Union[int, str] = ...) -> int: ...\n def end(self, __group: Union[int, str] = ...) -> int: ...\n def span(self, __group: Union[int, str] = ...) -> Tuple[int, int]: ...\n @property\n def regs(self) -> Tuple[Tuple[int, int], ...]: ... # undocumented\n # __getitem__() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def __getitem__(self, __key: _Literal[0]) -> AnyStr: ...\n @overload\n def __getitem__(self, __key: int | str) -> AnyStr | Any: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass Pattern(Generic[AnyStr]):\n flags: int\n groupindex: Mapping[str, int]\n groups: int\n pattern: AnyStr\n def search(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def match(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def fullmatch(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def split(self, string: AnyStr, maxsplit: int = ...) -> list[AnyStr]: ...\n def findall(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> list[Any]: ...\n def finditer(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Iterator[Match[AnyStr]]: ...\n @overload\n def sub(self, repl: AnyStr, string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def sub(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def subn(self, repl: AnyStr, string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n @overload\n def subn(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\n# Functions\n\nif sys.version_info >= (3, 7):\n _get_type_hints_obj_allowed_types = Union[\n object,\n Callable[..., Any],\n FunctionType,\n BuiltinFunctionType,\n MethodType,\n ModuleType,\n WrapperDescriptorType,\n MethodWrapperType,\n MethodDescriptorType,\n ]\nelse:\n _get_type_hints_obj_allowed_types = Union[\n object, Callable[..., Any], FunctionType, BuiltinFunctionType, MethodType, ModuleType,\n ]\n\nif sys.version_info >= (3, 9):\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types,\n globalns: Optional[Dict[str, Any]] = ...,\n localns: Optional[Dict[str, Any]] = ...,\n include_extras: bool = ...,\n ) -> Dict[str, Any]: ...\n\nelse:\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types, globalns: Optional[Dict[str, Any]] = ..., localns: Optional[Dict[str, Any]] = ...\n ) -> Dict[str, Any]: ...\n\nif sys.version_info >= (3, 8):\n def get_origin(tp: Any) -> Optional[Any]: ...\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n\n@overload\ndef cast(typ: Type[_T], val: Any) -> _T: ...\n@overload\ndef cast(typ: str, val: Any) -> Any: ...\n@overload\ndef cast(typ: object, val: Any) -> Any: ...\n\n# Type constructors\n\n# NamedTuple is special-cased in the type checker\nclass NamedTuple(Tuple[Any, ...]):\n _field_types: collections.OrderedDict[str, Type[Any]]\n _field_defaults: Dict[str, Any] = ...\n _fields: Tuple[str, ...]\n _source: str\n def __init__(self, typename: str, fields: Iterable[Tuple[str, Any]] = ..., **kwargs: Any) -> None: ...\n @classmethod\n def _make(cls: Type[_T], iterable: Iterable[Any]) -> _T: ...\n if sys.version_info >= (3, 8):\n def _asdict(self) -> Dict[str, Any]: ...\n else:\n def _asdict(self) -> collections.OrderedDict[str, Any]: ...\n def _replace(self: _T, **kwargs: Any) -> _T: ...\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __or__(self: _T, __value: _T) -> _T: ...\n def __ior__(self: _T, __value: _T) -> _T: ...\n\ndef NewType(name: str, tp: Type[_T]) -> Type[_T]: ...\n\n# This itself is only available during type checking\ndef type_check_only(func_or_cls: _F) -> _F: ...\n\nif sys.version_info >= (3, 7):\n class ForwardRef:\n __forward_arg__: str\n __forward_code__: CodeType\n __forward_evaluated__: bool\n __forward_value__: Optional[Any]\n __forward_is_argument__: bool\n def __init__(self, arg: str, is_argument: bool = ...) -> None: ...\n def _evaluate(self, globalns: Optional[Dict[str, Any]], localns: Optional[Dict[str, Any]]) -> Optional[Any]: ...\n def __eq__(self, other: Any) -> bool: ...\n def __hash__(self) -> int: ...\n def __repr__(self) -> str: ...\n\nif sys.version_info >= (3, 10):\n def is_typeddict(tp: Any) -> bool: ...\n", + "/typeshed/stdlib/typing_extensions.pyi": "import abc\nimport sys\nfrom typing import (\n TYPE_CHECKING as TYPE_CHECKING,\n Any,\n AsyncContextManager as AsyncContextManager,\n AsyncGenerator as AsyncGenerator,\n AsyncIterable as AsyncIterable,\n AsyncIterator as AsyncIterator,\n Awaitable as Awaitable,\n Callable,\n ChainMap as ChainMap,\n ClassVar as ClassVar,\n ContextManager as ContextManager,\n Coroutine as Coroutine,\n Counter as Counter,\n DefaultDict as DefaultDict,\n Deque as Deque,\n ItemsView,\n KeysView,\n Mapping,\n NewType as NewType,\n NoReturn as NoReturn,\n Text as Text,\n Tuple,\n Type as Type,\n TypeVar,\n ValuesView,\n _Alias,\n overload as overload,\n)\n\n_T = TypeVar(\"_T\")\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> Any: ...\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n\n# This alias for above is kept here for backwards compatibility.\nruntime = runtime_checkable\nProtocol: _SpecialForm = ...\nFinal: _SpecialForm = ...\n\ndef final(f: _F) -> _F: ...\n\nLiteral: _SpecialForm = ...\n\ndef IntVar(name: str) -> Any: ... # returns a new TypeVar\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=abc.ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n\n# TypedDict is a (non-subscriptable) special form.\nTypedDict: object = ...\n\nOrderedDict = _Alias()\n\ndef get_type_hints(\n obj: Callable[..., Any],\n globalns: dict[str, Any] | None = ...,\n localns: dict[str, Any] | None = ...,\n include_extras: bool = ...,\n) -> dict[str, Any]: ...\n\nif sys.version_info >= (3, 7):\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n def get_origin(tp: Any) -> Any | None: ...\n\nAnnotated: _SpecialForm = ...\n_AnnotatedAlias: Any = ... # undocumented\n\n@runtime_checkable\nclass SupportsIndex(Protocol, metaclass=abc.ABCMeta):\n @abc.abstractmethod\n def __index__(self) -> int: ...\n\n# PEP 612 support for Python < 3.9\nif sys.version_info >= (3, 10):\n from typing import Concatenate as Concatenate, ParamSpec as ParamSpec, TypeAlias as TypeAlias, TypeGuard as TypeGuard\nelse:\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Type[Any] | None\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: None | Type[Any] | str = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n", + "/typeshed/stdlib/uarray.pyi": "from array import *\n", + "/typeshed/stdlib/ucollections.pyi": "from collections import *\n", + "/typeshed/stdlib/uerrno.pyi": "from errno import *\n", + "/typeshed/stdlib/urandom.pyi": "from random import *\n", + "/typeshed/stdlib/ustruct.pyi": "from struct import *\n", + "/typeshed/stdlib/usys.pyi": "from sys import *\n", + "/typeshed/stdlib/utime.pyi": "from time import *\n", + "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", + "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Pinnen, afbeeldingen, geluiden, temperatuur en volume.\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Plan om een functie uit te voeren volgens het interval dat gespecificeerd is door het time argument **V2 alleen**. (draai elke)\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: Functie om op te roepen bij de meegeleverde interval. Weglaten wanneer je als decorator gebruikt.\n:param days: (dagen) Stelt de dag markering in voor de planning.\n:param h: (uur) Stelt de urenmarkering in voor de planning.\n:param min: Stelt de minuut markering in voor de planning.\n:param s: Stelt de seconde markering in voor de planning.\n:param ms: Stelt de milliseconde markering in voor de planning.\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"Voer een paniekmodus in. (paniek)\n\nExample: ``panic(127)``\n\n:param n: Een willekeurig geheel getal <= 255 om een status aan te geven.\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"Herstart het bord.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Zet een waarde om van een bereik naar een ander bereik van natuurlijke getallen. (schaal)\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: (waarde) Een getal om te converteren\n:param from_: (van) Een getallen paar wat het bereik aangeeft vanwaar je wilt converteren\n:param to: (naar) Een getallen paar om het bereik te defini\u00ebren waar je naar wilt converteren.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Zet een waarde om van een bereik naar een ander bereik van decimale getallen. (schaal)\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: (waarde) Een getal om te converteren\n:param from_: (van) Een getallen paar wat het bereik aangeeft vanwaar je wilt converteren\n:param to: (naar) Een getallen paar om het bereik te defini\u00ebren waar je naar wilt converteren.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Wacht op ``n`` milliseconden. (slapen)\n\nExample: ``sleep(1000)``\n\n:param n: Het aantal milliseconden te wachten\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"Bekijk de looptijd van het bord. (looptijd)\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"Krijg de temperatuur van de micro:bit in graden Celsius. (temperatuur)\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"Stelt het volume in. (stel volume in)\n\nExample: ``set_volume(127)``\n\n:param v: een waarde tussen 0 (laag) en 255 (hoog).\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"De klasse voor de knoppen ``button_a`` en ``button_b``. (knop)\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"Controleer of op de knop wordt gedrukt. (is ingedrukt)\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"Controleer of de knop was ingedrukt sinds het apparaat is gestart of de laatste keer dat deze methode is gebruikt. (was ingedrukt)\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"Krijg het totale aantal ingedrukte knoppen en reset dit totaal\nnaar nul voordat u terugkeert. (zie knop acties)\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"Het object van de linker knop ``Button``. (knop a)\"\"\"\nbutton_b: Button\n\"\"\"Het object van de rechter knop ``Button``. (knop b)\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"Een digitale pin\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"Haal de digitale waarde van de pincode op. (digitaal lezen)\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"Stel de digitale waarde van de pin in. (digitaal schrijven)\n\nExample: ``pin0.write_digital(1)``\n\n:param value: (waarde) 1 om de pin hoog of 0 om de pin laag in te stellen\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"Zet de pull-status op een van de drie mogelijke waarden: ``PULL_UP``, ``PULL_DOWN`` of ``NO_PULL``. (pull instellen)\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: (waarde) De pull-status van de relevante pincode, bijvoorbeeld ``pin0.PULL_UP``.\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"Bekijk de pull status van een pin. (pull instellen)\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"Geeft de pinmodus weer. (Bekijk modus)\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"Voer een PWM-signaal uit op de pin, waarbij de taakcyclus proportioneel is aan ``value``. (analoge schrijven)\n\nExample: ``pin0.write_analog(254)``\n\n:param value: (waarde) Een geheel getal of een zwevend punt getal tussen 0 (0% tariefcyclus) en 1023 (100% belasting).\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"Stel de periode in van het PWM-signaal dat uitgevoerd wordt naar ``period`` in milliseconden. (gebruik analoge periode)\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: (periode) De periode in milliseconden met een minimale geldige waarde van 1 ms.\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"Stel de periode in van het PWM-signaal dat uitgevoerd wordt naar ``period`` in milliseconden. (microseconden analoge periode instellen)\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: (periode) De periode in microseconden met een minimumwaarde van 256 mres.\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"Een pin met analoge en digitale functies.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Lees de spanning op de pin. (lees analoge)\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"Een pin met analoge, digitale en touch functies.\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"Controleer of de pin aangeraakt wordt. (is aangeraakt)\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"Stel de aanraakmodus voor de pin in. (aanraakmodus instellen)\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: (waarde) ``CAPACITIVE`` of ``RESISTIVE`` van de relevante speler.\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"Pin met digitale, analoge en touch functies.\"\"\"\npin1: MicroBitTouchPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin2: MicroBitTouchPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"Pin met digitale functies.\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"Pin met digitale functies.\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"Pin met digitale functies.\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"Pin met digitale functies.\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"Een aanraak gevoelige logo pin op de voorkant van de micro:bit, die standaard is ingesteld op capacitieve aanraking modus.\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"Een pin om de micro:bit luidspreker aan te spreken. (pin luidspreker)\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"Een afbeelding om te laten zien op het micro:bit LED display. (afbeelding)\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"Hart afbeelding (hart)\"\"\"\n HEART_SMALL: Image\n \"\"\"Klein hart afbeelding. (hart klein)\"\"\"\n HAPPY: Image\n \"\"\"Blije gezichtsafbeelding. (blij)\"\"\"\n SMILE: Image\n \"\"\"Glimlach gezicht afbeelding. (glimlach)\"\"\"\n SAD: Image\n \"\"\"Droevige gezichtsafbeelding. (verdrietig)\"\"\"\n CONFUSED: Image\n \"\"\"Verward gezichtsafbeelding. (verward)\"\"\"\n ANGRY: Image\n \"\"\"Boos gezichtsafbeelding. (kwaad)\"\"\"\n ASLEEP: Image\n \"\"\"Slapend gezicht afbeelding. (in slaap)\"\"\"\n SURPRISED: Image\n \"\"\"Verraste gezichtsafbeelding. (verrast)\"\"\"\n SILLY: Image\n \"\"\"Gek gezichtsafbeelding. (gek)\"\"\"\n FABULOUS: Image\n \"\"\"Zonnebril gezichtsafbeelding. (fantastisch)\"\"\"\n MEH: Image\n \"\"\"Niet onder de indruk gezichtsafbeelding.\"\"\"\n YES: Image\n \"\"\"Aanvinken afbeelding. (ja)\"\"\"\n NO: Image\n \"\"\"Kruis afbeelding. (nee)\"\"\"\n CLOCK12: Image\n \"\"\"Afbeelding met lijn die naar 12.00 uur wijst. (klok 12)\"\"\"\n CLOCK11: Image\n \"\"\"Afbeelding met lijn die naar 11.00 uur wijst. (klok 11)\"\"\"\n CLOCK10: Image\n \"\"\"Afbeelding met lijn die naar 10.00 uur wijst. (klok 10)\"\"\"\n CLOCK9: Image\n \"\"\"Afbeelding met lijn die naar 9.00 uur wijst. (klok 9)\"\"\"\n CLOCK8: Image\n \"\"\"Afbeelding met lijn die naar 8.00 uur wijst. (klok 8)\"\"\"\n CLOCK7: Image\n \"\"\"Afbeelding met lijn die naar 7.00 uur wijst. (klok 7)\"\"\"\n CLOCK6: Image\n \"\"\"Afbeelding met lijn die naar 6.00 uur wijst. (klok 6)\"\"\"\n CLOCK5: Image\n \"\"\"Afbeelding met lijn die naar 5.00 uur wijst. (klok 5)\"\"\"\n CLOCK4: Image\n \"\"\"Afbeelding met lijn die naar 4.00 uur wijst. (klok 4)\"\"\"\n CLOCK3: Image\n \"\"\"Afbeelding met lijn die naar 3.00 uur wijst. (klok 3)\"\"\"\n CLOCK2: Image\n \"\"\"Afbeelding met lijn die naar 2 uur wijst. (klok2)\"\"\"\n CLOCK1: Image\n \"\"\"Afbeelding met lijn die naar 1 uur wijst. (klok1)\"\"\"\n ARROW_N: Image\n \"\"\"Afbeelding van pijl richting het noorden. (pijl n)\"\"\"\n ARROW_NE: Image\n \"\"\"Afbeelding van pijl richting het noord oosten. (pijl NO)\"\"\"\n ARROW_E: Image\n \"\"\"Afbeelding van pijl richting het oosten. (pijl e)\"\"\"\n ARROW_SE: Image\n \"\"\"Afbeelding van pijl richting het zuid-oosten. (pijl ZO)\"\"\"\n ARROW_S: Image\n \"\"\"Afbeelding van pijltje richting het zuiden. (pijl z)\"\"\"\n ARROW_SW: Image\n \"\"\"Afbeelding van pijl richting het zuid-westen. (pijl ZW)\"\"\"\n ARROW_W: Image\n \"\"\"Afbeelding van pijl richting het westen. (pijl w)\"\"\"\n ARROW_NW: Image\n \"\"\"Afbeelding van pijl richting het noord-westen. (pijl NW)\"\"\"\n TRIANGLE: Image\n \"\"\"Afbeelding van een driehoek die naar boven wijst. (driehoek)\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"Afbeelding van een driehoek in de linker hoek. (Driehoek links)\"\"\"\n CHESSBOARD: Image\n \"\"\"Alternatieve LED's verlichten in een schaakbord patroon. (schaakbord)\"\"\"\n DIAMOND: Image\n \"\"\"Diamanten afbeelding. (diamant)\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"Kleine diamanten afbeelding. (diamant klein)\"\"\"\n SQUARE: Image\n \"\"\"Vierkante afbeelding (vierkant)\"\"\"\n SQUARE_SMALL: Image\n \"\"\"Kleine vierkante afbeelding. (vierkant klein)\"\"\"\n RABBIT: Image\n \"\"\"Konijn afbeelding. (konijn)\"\"\"\n COW: Image\n \"\"\"Koe afbeelding. (koe)\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"Kwartnoot afbeelding. (muziek kwartnoot)\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"Kwartnoot afbeelding. (muziek kwartnoot)\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"Koppel van kwartnoten afbeelding. (muziek kwartnoten)\"\"\"\n PITCHFORK: Image\n \"\"\"Stemvork afbeelding. (stemvork)\"\"\"\n XMAS: Image\n \"\"\"Kerstboom afbeelding. (kerstmis)\"\"\"\n PACMAN: Image\n \"\"\"Pac-Man arcade karakterafbeelding. (Pacman)\"\"\"\n TARGET: Image\n \"\"\"Doel afbeelding. (doel)\"\"\"\n TSHIRT: Image\n \"\"\"T-shirt afbeelding.\"\"\"\n ROLLERSKATE: Image\n \"\"\"Rolschaats afbeelding. (rolschaatsen)\"\"\"\n DUCK: Image\n \"\"\"Eend afbeelding. (eend)\"\"\"\n HOUSE: Image\n \"\"\"Huis afbeelding. (huis)\"\"\"\n TORTOISE: Image\n \"\"\"Schildpad afbeelding. (schildpad)\"\"\"\n BUTTERFLY: Image\n \"\"\"Vlinder afbeelding. (vlinder)\"\"\"\n STICKFIGURE: Image\n \"\"\"Stok figuur afbeelding. (stok figuur)\"\"\"\n GHOST: Image\n \"\"\"Spook afbeelding. (spook)\"\"\"\n SWORD: Image\n \"\"\"Zwaard afbeelding. (zwaard)\"\"\"\n GIRAFFE: Image\n \"\"\"Giraffe afbeelding.\"\"\"\n SKULL: Image\n \"\"\"Schedel afbeelding. (doodshoofd)\"\"\"\n UMBRELLA: Image\n \"\"\"Paraplu afbeelding. (paraplu)\"\"\"\n SNAKE: Image\n \"\"\"Slang afbeelding. (slang)\"\"\"\n SCISSORS: Image\n \"\"\"Schaar afbeelding. (schaar)\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"Een lijst met alle CLOCK_ afbeeldingen achter elkaar. (alle klokken)\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"Een lijst met alle ARROW_ afbeeldingen in reeks. (alle pijlen)\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Maak een afbeelding van een tekenreeks die beschrijft welke LED's zijn. (initialiseren)\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: (tekenreeks) De tekenreeks die de afbeelding beschrijft.\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"Maak een lege afbeelding met ``width`` kolommen en ``height`` rijen. (initialiseren)\n\n:param width: (breedte) Optionele breedte van de afbeelding\n:param height: (hoogte) Optionele hoogte van de afbeelding\n:param buffer: Optionele array of bytes van ``width``\u00d7``height`` integers in bereik 0-9 om de afbeelding te initialiseren\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"Haal het aantal kolommen op. (breedte)\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"Krijg het aantal rijen. (hoogte)\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"Stel de helderheid van een pixel in. (pixel instellen)\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: (\u0445) Het kolom nummer\n:param y: Het rij nummer\n:param value: (waarde) De helderheid als een geheel getal tussen 0 (donker) en 9 (helder)\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"Krijg de helderheid van een pixel. (verkrijg pixel)\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: (\u0445) Het kolom nummer\n:param y: Het rij nummer\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de afbeelding naar links te verschuiven. (verschuiving naar links)\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: Het aantal te verschuiven kolommen\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de afbeelding rechts te verschuiven. (verschuif Rechts)\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: Het aantal te verschuiven kolommen\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de afbeelding omhoog te schuiven. (verschuiving omhoog)\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: Het aantal rijen om te verschuiven met\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de afbeelding omlaag te verschuiven. (verschuif omlaag)\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: Het aantal rijen om te verschuiven met\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de afbeelding bij te snijden. (bij snijden)\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: (\u0445) De kolom verschuiving\n:param y: De rij verschuiving\n:param w: De bij snij breedte\n:param h: (uur) Hoogte bijsnijden\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"Maak een exacte kopie van de afbeelding. (kopi\u00eber)\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de helderheid van de pixels in de\nbronafbeelding om te draaien. (omkeren)\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"Stel de helderheid van alle pixels in de afbeelding in. (opvullen)\n\nExample: ``my_image.fill(5)``\n\n:param value: (waarde) De nieuwe helderheid als een getal tussen 0 (donker) en 9 (helder).\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"Kopieer een gebied van een andere afbeelding naar deze afbeelding.\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: De bron afbeelding\n:param x: (\u0445) De begin kolom offset in de bron afbeelding\n:param y: De beginkolom offset in de bronafbeelding\n:param w: Het aantal te kopi\u00ebren kolommen\n:param h: (uur) Het aantal te kopi\u00ebren rijen\n:param xdest: De kolomverschuiving om aan te passen in deze afbeelding\n:param ydest: De kolomverschuiving om aan te passen in deze afbeelding\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"Krijg een compacte tekenreeks die de afbeelding vertegenwoordigt.\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"Krijg een leesbare tekenreeks die de afbeelding vertegenwoordigt.\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de helderheidswaarden van de twee\nafbeeldingen voor elke pixel toe te voegen. (toevoegen)\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: (overige) De afbeelding om toe te voegen.\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"Maak een nieuw beeld door de helderheidswaarden van de andere afbeelding van deze afbeelding af te trekken.\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: (overige) De afbeelding om af te trekken.\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de helderheid van elke pixel te vermenigvuldigen met\n``n``.\n\nExample: ``Image.HEART * 0.5``\n\n:param n: De waarde om te vermenigvuldigen.\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de helderheid van elke pixel te delen door\n``n``.\n\nExample: ``Image.HEART / 2``\n\n:param n: De waarde om mee te delen.\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Vertegenwoordigt de transitie van geluidsgebeurtenissen, van ``quiet`` tot ``loud`` zoals klappen of roepen. (luid)\"\"\"\n QUIET: SoundEvent\n \"\"\"Vertegenwoordigt de transitie van geluidsgebeurtenissen, van ``loud`` tot ``quiet`` zoals spreken of achtergrondmuziek. (stil)\"\"\"\n\nclass Sound:\n \"\"\"De ingebouwde geluiden kunnen worden aangeroepen met ``audio.play(Sound.NAME)``. (geluid)\"\"\"\n GIGGLE: Sound\n \"\"\"Giechelgeluidjes (giechelen)\"\"\"\n HAPPY: Sound\n \"\"\"Blij geluid. (blij)\"\"\"\n HELLO: Sound\n \"\"\"Groet geluid. (hallo)\"\"\"\n MYSTERIOUS: Sound\n \"\"\"Mysterieus geluid. (mysterieus)\"\"\"\n SAD: Sound\n \"\"\"Droevig geluid. (verdrietig)\"\"\"\n SLIDE: Sound\n \"\"\"Glij geluid. (Veeg)\"\"\"\n SOARING: Sound\n \"\"\"Zweef geluid. (stijgend)\"\"\"\n SPRING: Sound\n \"\"\"Spring geluid. (veer)\"\"\"\n TWINKLE: Sound\n \"\"\"Twinkel geluid. (twinkeling)\"\"\"\n YAWN: Sound\n \"\"\"Geeuwgeluiden (geeuw)\"\"\"", + "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"Meet de versnelling van de micro:bit en herken gebaren. (acceleratiemeter)\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"Krijg de acceleratiemeting in de ``x`` as in milli-g. (krijg x)\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Krijg de acceleratiemeting in de ``y`` as in milli-g. (krijg y)\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Krijg de acceleratiemeter meting in de ``z`` as in milli-g. (krijg z)\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"Verkrijg de acceleratiemeter metingen in alle assen tegelijk als een tupel. (krijg waarden)\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Krijg de versnelling meting van alle assen gecombineerd, als een positief getal. Dit is de Pythagorische som van de X, Y en Z assen. (krijg sterkte)\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"Verkrijg de naam van het huidige gebaar. (huidig gebaar)\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"Controleer of het benoemde gebaar momenteel actief is. (is gebaren)\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: (naam) De naam van het gebaar.\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"Controleer of het benoemde gebaar actief was sinds het laatste gesprek. (was gebaren)\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: (naam) De naam van het gebaar.\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"Geeft als resultaat een reeks van de gebaren geschiedenis. (verkrijg gebaren)\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Stel het gevoeligheidsbereik van de acceleratiemeter, in g (standaard zwaartekracht), in op de dichtstbijzijnde waarden die door de hardware worden ondersteund, zodat het wordt afgerond op ``2``, ``4`` of ``8`` g. (kies bereik)\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: (waarde) Nieuwe bereik voor de acceleratiemeter, een geheel getal in ``g``.\"\"\"", + "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"Geluid afspelen met behulp van de micro:bit (importeer ``audio`` voor V1 compatibiliteit).\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Een ingebouwde geluid, geluids effect of aangepaste audio frames afspelen. (afspelen)\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: (bron) Een ingebouwde ``Sound`` zoals ``Sound.GIGGLE``, een ``SoundEffect`` of voorbeeldgegevens als een iteratie van ``AudioFrame`` objecten.\n:param wait: (wacht) Als ``wait`` ``True``is, wordt deze functie geblokkeerd totdat het geluid is voltooid.\n:param pin: Een optioneel argument om de uitvoerpin op te geven kan worden gebruikt om de standaard van ``pin0``te overschrijven. Als we geen geluid willen afspelen, kunnen we ``pin=None`` gebruiken.\n:param return_pin: (retourneer pin) Specificeert een differenti\u00eble rand connector pin om verbinding te maken met een externe luidspreker in plaats van de grond. Dit wordt genegeerd voor de **V2** herziening.\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"Controleer of een geluid wordt gespeeld. (speelt af)\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Stop het afspelen van de audio.\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"Een geluidseffect, bestaande uit een set parameters geconfigureerd via de constructor of attributen.\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"De sinusgolf optie gebruikt voor de ``waveform`` parameter. (golfvorm sinus)\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Zaag golf optie gebruikt voor de ``waveform`` parameter. (golfvorm zaagtand)\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"De drie hoeks golf optie gebruikt voor de ``waveform`` parameter. (golfvorm driehoek)\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Blok golf optie die wordt gebruikt voor de parameter ``waveform``. (golfvorm vierkant)\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Noise optie gebruikt voor de ``waveform`` parameter. (golfvormig geluid)\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Lineaire interpolatie optie die wordt gebruikt voor de ``shape`` parameter. (vorm lineair)\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Curve interpolatie optie gebruikt voor de ``shape`` parameter. (vorm curve)\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Logaritmische interpolatie optie gebruikt voor de ``shape`` parameter. (vorm log)\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"Geen effectoptie gebruikt voor de ``fx`` parameter. (geen fx)\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Tremolo effect optie die wordt gebruikt voor de ``fx`` parameter.\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Vibrato effect optie die wordt gebruikt voor de ``fx`` parameter.\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Warble effect optie die wordt gebruikt voor de ``fx`` parameter .\"\"\"\n freq_start: int\n \"\"\"Start frequentie in Hertz (Hz), een getal tussen ``0`` en ``9999`` (frequentie start)\"\"\"\n freq_end: int\n \"\"\"Eind frequentie in Hertz (Hz), een getal tussen ``0`` en ``9999`` (frequentie einde)\"\"\"\n duration: int\n \"\"\"Duur van het geluid in milliseconden, een getal tussen ``0`` en ``9999`` (Duur)\"\"\"\n vol_start: int\n \"\"\"Start volume waarde, een getal tussen ``0`` en ``255``\"\"\"\n vol_end: int\n \"\"\"Eind volume waarde, een getal tussen ``0`` en ``255`` (vol einde)\"\"\"\n waveform: int\n \"\"\"Type van golfvorm, \u00e9\u00e9n van deze waarden: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (willekeurig gegenereerde lawaai) (golfvorm)\"\"\"\n fx: int\n \"\"\"Effect om aan het geluid toe te voegen, een van de volgende waarden: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``of ``FX_NONE``\"\"\"\n shape: int\n \"\"\"Het type van de interpolatie curve tussen de begin- en eind frequenties, verschillende golfvormen hebben verschillende snelheid bij het wijzigen van de frequentie. Een van de volgende waarden: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG`` (vorm)\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Maak een nieuw geluidseffect. (initialiseren)\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: (frequentie start) Start frequentie in Hertz (Hz), een getal tussen ``0`` en ``9999``.\n:param freq_end: (frequentie einde) Eind frequentie in Hertz (Hz), een getal tussen ``0`` en ``9999``.\n:param duration: (duur) Duur van het geluid in milliseconden, een getal tussen ``0`` en ``9999``.\n:param vol_start: Startvolumewaarde, een getal tussen ``0`` en ``255``.\n:param vol_end: (vol einde) Eindvolumewaarde, een getal tussen ``0`` en ``255``.\n:param waveform: (golfvorm) Type golfvorm, \u00e9\u00e9n van deze waarden: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (willekeurig gegenereerde geluid).\n:param fx: Effect om het geluid toe te voegen, een van de volgende waarden: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``of ``FX_NONE``.\n:param shape: (vorm) Het type van de interpolatie curve tussen de begin- en eind frequenties, verschillende golfvormen hebben verschillende snelheid bij het wijzigen van de frequentie. Een van de volgende waarden: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Maak een kopie van dit ``SoundEffect``. (kopi\u00eber)\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"Een ``AudioFrame`` object is een lijst van 32 samples elk een niet-ondertekende byte\n(geheel getal tussen 0 en 255).\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Overschrijf de gegevens in deze ``AudioFrame`` met de gegevens van een andere ``AudioFrame`` instantie. (kopieer van)\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: (overige) ``AudioFrame`` exemplaar van waar de gegevens worden gekopieerd.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", + "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"Gebruik het ingebouwde kompas. (kompas)\"\"\"\n\ndef calibrate() -> None:\n \"\"\"Start het kalibratieproces. (Kalibreren)\n\nExample: ``compass.calibrate()``\n\nAn instructive message will be scrolled to the user after which they will need\nto rotate the device in order to draw a circle on the LED display.\"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"Controleer of het kompas is gekalibreerd. (gekalibreerd)\n\nExample: ``compass.is_calibrated()``\n\n:return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"Kalibratie ongedaan maken, waardoor het kompas weer losgemaakt wordt. (kalibratie wissen)\n\nExample: ``compass.clear_calibration()``\"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"Krijg de magnetische veldsterkte op de ``x`` as. (krijg x)\n\nExample: ``compass.get_x()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Krijg de magnetische veldsterkte op de ``y`` as. (krijg y)\n\nExample: ``compass.get_y()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Krijg de magnetische veldsterkte op de ``z`` as. (krijg z)\n\nExample: ``compass.get_z()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"Haal de kompaskop op. (kop)\n\nExample: ``compass.heading()``\n\n:return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"Krijg de magnitude van het magnetische veld rond het apparaat. (krijg veldsterkte)\n\nExample: ``compass.get_field_strength()``\n\n:return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...", + "/typeshed/stdlib/microbit/display.pyi": "\"\"\"Tekst, afbeeldingen en animaties weergeven op het 5\u00d75 LED-weergave.\"\"\"\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"Krijg de helderheid van de LED in kolom ``x`` en rij ``y``. (verkrijg pixel)\n\nExample: ``display.get_pixel(0, 0)``\n\n:param x: (\u0445) De weergavekolom (0..4)\n:param y: De weergave rij (0.4)\n:return: A number between 0 (off) and 9 (bright)\"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"Stel de helderheid van de LED in op kolom ``x`` en rij ``y``. (pixel instellen)\n\nExample: ``display.set_pixel(0, 0, 9)``\n\n:param x: (\u0445) De weergavekolom (0..4)\n:param y: De weergave rij (0.4)\n:param value: (waarde) De helderheid tussen 0 (uit) en 9 (helderst)\"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"Stel de helderheid van alle LED's in op 0 (uit). (wissen)\n\nExample: ``display.clear()``\"\"\"\n ...\n\ndef show(image: Union[str, float, int, Image, Iterable[Image]], delay: int=400, wait: bool=True, loop: bool=False, clear: bool=False) -> None:\n \"\"\"Toont afbeeldingen, letters of cijfers op het LED-scherm. (toon)\n\nExample: ``display.show(Image.HEART)``\n\nWhen ``image`` is an image or a list of images then each image is displayed in turn.\nIf ``image`` is a string or number, each letter or digit is displayed in turn.\n\n:param image: (afbeelding) Een string, nummer, afbeelding of lijst van weer te geven afbeeldingen.\n:param delay: (vertraging) Elke letter, cijfer of afbeelding wordt weergegeven met ``delay`` milliseconden tussen hen.\n:param wait: (wacht) Als ``wait`` ``True``is, blokkeert deze functie totdat de animatie is voltooid, anders gebeurt de animatie op de achtergrond.\n:param loop: Als ``loop`` ``True``is, zal de animatie voor altijd herhalen.\n:param clear: (wissen) Als ``clear`` ``True``is, wordt het scherm gewist nadat de reeks is voltooid.\n\nThe ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\"\"\"\n ...\n\ndef scroll(text: Union[str, float, int], delay: int=150, wait: bool=True, loop: bool=False, monospace: bool=False) -> None:\n \"\"\"Scrolt een nummer of tekst op het LED display (scrollen)\n\nExample: ``display.scroll('micro:bit')``\n\n:param text: (tekst) De tekenreeks om te scrollen. Als ``text`` een geheel getal of float is, wordt het eerst geconverteerd naar een tekenreeks met behulp van ``str()``.\n:param delay: (vertraging) De parameter ``delay`` bepaalt hoe snel de tekst scrolt.\n:param wait: (wacht) Als ``wait`` ``True``is, blokkeert deze functie totdat de animatie is voltooid, anders gebeurt de animatie op de achtergrond.\n:param loop: Als ``loop`` ``True``is, zal de animatie voor altijd herhalen.\n:param monospace: Als ``monospace`` ``True`` is, nemen de tekens allemaal 5 pixel kolommen in de breedte in beslag, anders staat er precies 1 lege pixelkolom tussen elk teken terwijl ze scrollen.\n\nThe ``wait``, ``loop`` and ``monospace`` arguments must be specified\nusing their keyword.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Schakel het LED display in. (aan)\n\nExample: ``display.on()``\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Het uitschakelen van het LED display (uitschakelen van het scherm geeft je de mogelijkheid om de GPIO-pinnen opnieuw te gebruiken voor andere doeleinden). (uit)\n\nExample: ``display.off()``\"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"Controleer of de LED-weergave is ingeschakeld. (staat aan)\n\nExample: ``display.is_on()``\n\n:return: ``True`` if the display is on, otherwise returns ``False``.\"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"Lees het licht niveau. (lees licht niveau)\n\nExample: ``display.read_light_level()``\n\nUses the display's LEDs in reverse-bias mode to sense the amount of light\nfalling on the display.\n\n:return: An integer between 0 and 255 representing the light level, with larger meaning more light.\"\"\"\n ...", + "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Communiceer met apparaten met behulp van het I\u00b2C bus protocol.\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"Initialiseer een randapparaat opnieuw. (initialiseren)\n\nExample: ``i2c.init()``\n\n:param freq: (frequentie) klok frequentie\n:param sda: ``sda`` pin (standaard 20)\n:param scl: ``scl`` pin (standaard 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Scan de bus op apparaten. (scannen)\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"Lees bytes van een apparaat. (lezen)\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: Het 7-bit adres van het apparaat\n:param n: Het aantal te lezen bytes\n:param repeat: (herhaal) Als ``True``, zal er geen stop bit worden verzonden\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"Schrijven van bytes naar een apparaat. (schrijven)\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: Het 7-bit adres van het apparaat\n:param buf: Een buffer met de te schrijven bytes\n:param repeat: (herhaal) Als ``True``, zal er geen stop bit worden verzonden\"\"\"\n ...", + "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"Reageer op geluid met de ingebouwde microfoon (V2 alleen). (microfoon)\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"Krijg de laatst opgenomen geluidsgebeurtenis (huidige gebeurtenis)\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"Controleer of een geluid tenminste \u00e9\u00e9n keer is gehoord sinds het laatste gesprek.\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: (gebeurtenis) Het te controleren evenement, zoals ``SoundEvent.LOUD`` of ``SoundEvent.QUIET``\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"Controleer de meest recente geluidsgebeurtenis gedetecteerd.\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: (gebeurtenis) Het te controleren evenement, zoals ``SoundEvent.LOUD`` of ``SoundEvent.QUIET``\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"Krijg de geluidsgeschiedenis als tuple.\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"Stel de drempel in voor een geluidsgebeurtenis. (stel drempelwaarde in)\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: (gebeurtenis) Een geluidsgebeurtenis, zoals ``SoundEvent.LOUD`` of ``SoundEvent.QUIET``.\n:param value: (waarde) Het drempelniveau in het bereik 0-255.\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Krijg het Geluidsdrukniveau. (geluidsniveau)\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", + "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Beheer de ingebouwde luidspreker (alleen V2). (luidspreker)\"\"\"\n\ndef off() -> None:\n \"\"\"Luidspreker uitschakelen. (uit)\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Luidspreker inschakelen (aan)\n\nExample: ``speaker.on()``\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Communiceer met apparaten met behulp van de seri\u00eble perifere interface (SPI) bus.\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"Initialiseer SPI communicatie. (initialiseren)\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: De snelheid van de communicatie.\n:param bits: De breedte in bits van elke overdracht. Momenteel wordt alleen ``bits=8`` ondersteund. Dit kan echter veranderen in de toekomst.\n:param mode: (modus) Bepaalt de combinatie van klokpolariteit en fase - `zie online tabel `_.\n:param sclk: sclk pin (standaard 13)\n:param mosi: mosi pin (standaard 15)\n:param miso: miso pin (standaard 14)\"\"\"\n ...\n\ndef read(nbytes: int) -> bytes:\n \"\"\"Lees bytes. (lezen)\n\nExample: ``spi.read(64)``\n\n:param nbytes: Maximum aantal te lezen bytes.\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Schrijf bytes naar de bus. (schrijven)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: Een buffer om gegevens van te lezen.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Schrijf de ``out`` buffer naar de bus en lees elke reactie in de ``in_`` buffer. (schrijf readinto)\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: (uit) De buffer om een reactie naar te schrijven.\n:param in_: De buffer om gegevens van te lezen.\"\"\"\n ...", + "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Communiceer met een apparaat via een seri\u00eble interface.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"Oneven pariteit (oneven)\"\"\"\nEVEN: int\n\"\"\"Even pariteit\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"Initialiseer seri\u00eble communicatie. (initialiseren)\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: De snelheid van de communicatie.\n:param bits: De grootte van de bytes die worden verzonden. micro:bit ondersteunt slechts 8.\n:param parity: (pariteit) Hoe de pariteit is aangevinkt, ``None``, ``uart.ODD`` of ``uart.EVEN``.\n:param stop: Het aantal stop bits, moet 1 zijn voor micro:bit.\n:param tx: Verzend pin.\n:param rx: Ontvangende pin.\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"Controleer of er nog gegevens staan te wachten. (elke)\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"Lees bytes. (lezen)\n\nExample: ``uart.read()``\n\n:param nbytes: Als ``nbytes`` is gespecificeerd, lees dan maximaal zoveel bytes, anders lees zo veel mogelijk bytes\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"Lees bytes in de ``buf``. (inlezen)\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: De buffer om naar te schrijven.\n:param nbytes: Als ``nbytes`` is gespecificeerd, lees dan hooguit zoveel bytes, anders lees ``len(buf)`` bytes.\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Lees een regel, eindigend in een nieuw karakter regel. (leesregel)\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"Schrijf bytes naar de bus. (schrijven)\n\nExample: ``uart.write('hello world')``\n\n:param buf: Een bytes object of een tekenreeks.\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", + "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", + "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" + } +} \ No newline at end of file diff --git a/src/micropython/beta/typeshed.zh-cn.json b/src/micropython/beta/typeshed.zh-cn.json new file mode 100644 index 000000000..622feab42 --- /dev/null +++ b/src/micropython/beta/typeshed.zh-cn.json @@ -0,0 +1,51 @@ +{ + "files": { + "/typeshed/stdlib/VERSIONS": "# The structure of this file is as follows:\n# - Blank lines and comments starting with `#` are ignored.\n# - Lines contain the name of a module, followed by a colon,\n# a space, and a version range (for example: `symbol: 2.7-3.9`).\n#\n# Version ranges may be of the form \"X.Y-A.B\" or \"X.Y-\". The\n# first form means that a module was introduced in version X.Y and last\n# available in version A.B. The second form means that the module was\n# introduced in version X.Y and is still available in the latest\n# version of Python.\n#\n# If a submodule is not listed separately, it has the same lifetime as\n# its parent module.\n#\n# Python versions before 2.7 are ignored, so any module that was already\n# present in 2.7 will have \"2.7\" as its minimum version. Version ranges\n# for unsupported versions of Python 3 (currently 3.5 and lower) are\n# generally accurate but we do not guarantee their correctness.\n\nantigravity: 3.0-\narray: 3.0-\naudio: 3.0-\nbuiltins: 3.0-\nerrno: 3.0-\ngc: 3.0-\nlove: 3.0-\nmachine: 3.0-\nmath: 3.0-\nmicrobit: 3.0-\nmicropython: 3.0-\nmusic: 3.0-\nneopixel: 3.0-\nos: 3.0-\nradio: 3.0-\nrandom: 3.0-\nspeech: 3.0-\nstruct: 3.0-\nsys: 3.0-\nthis: 3.0-\ntime: 3.0-\ntyping_extensions: 3.0-\ntyping: 3.0-\nuarray: 3.0-\nucollections: 3.0-\nuerrno: 3.0-\nuos: 3.0-\nurandom: 3.0-\nustruct: 3.0-\nusys: 3.0-\nutime: 3.0-", + "/typeshed/stdlib/abc.pyi": "from _typeshed import SupportsWrite\nfrom typing import Any, Callable, Tuple, Type, TypeVar\n\n_T = TypeVar(\"_T\")\n_FuncT = TypeVar(\"_FuncT\", bound=Callable[..., Any])\n\n# These definitions have special processing in mypy\nclass ABCMeta(type):\n __abstractmethods__: frozenset[str]\n def __init__(\n self, name: str, bases: Tuple[type, ...], namespace: dict[str, Any]\n ) -> None: ...\n def __instancecheck__(cls: ABCMeta, instance: Any) -> Any: ...\n def __subclasscheck__(cls: ABCMeta, subclass: Any) -> Any: ...\n def _dump_registry(cls: ABCMeta, file: SupportsWrite[str] | None = ...) -> None: ...\n def register(cls: ABCMeta, subclass: Type[_T]) -> Type[_T]: ...\n\ndef abstractmethod(funcobj: _FuncT) -> _FuncT: ...\n\nclass abstractproperty(property): ...\n\n# These two are deprecated and not supported by mypy\ndef abstractstaticmethod(callable: _FuncT) -> _FuncT: ...\ndef abstractclassmethod(callable: _FuncT) -> _FuncT: ...\n\nclass ABC(metaclass=ABCMeta): ...\n\ndef get_cache_token() -> object: ...\n", + "/typeshed/stdlib/antigravity.pyi": "", + "/typeshed/stdlib/array.pyi": "from typing import Generic, Iterable, MutableSequence, TypeVar, Union, overload\nfrom typing_extensions import Literal\n\n_IntTypeCode = Literal[\"b\", \"B\", \"h\", \"H\", \"i\", \"I\", \"l\", \"L\", \"q\", \"Q\"]\n_FloatTypeCode = Literal[\"f\", \"d\"]\n_TypeCode = Union[_IntTypeCode, _FloatTypeCode]\n\n_T = TypeVar(\"_T\", int, float)\n\nclass array(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(\n self: array[int],\n typecode: _IntTypeCode,\n __initializer: Union[bytes, Iterable[_T]] = ...,\n ) -> None: ...\n @overload\n def __init__(\n self: array[float],\n typecode: _FloatTypeCode,\n __initializer: Union[bytes, Iterable[_T]] = ...,\n ) -> None: ...\n @overload\n def __init__(\n self, typecode: str, __initializer: Union[bytes, Iterable[_T]] = ...\n ) -> None: ...\n def append(self, __v: _T) -> None: ...\n def decode(self) -> str: ...\n def extend(self, __bb: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n @overload\n def __getitem__(self, i: int) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> array[_T]: ...\n @overload # type: ignore # Overrides MutableSequence\n def __setitem__(self, i: int, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: array[_T]) -> None: ...\n def __add__(self, x: array[_T]) -> array[_T]: ...\n def __iadd__(self, x: array[_T]) -> array[_T]: ... # type: ignore # Overrides MutableSequence\n\nArrayType = array\n", + "/typeshed/stdlib/audio.pyi": "\"\"\"Play sounds using the micro:bit (import ``audio`` for V1 compatibility).\n\"\"\"\n\n# Re-export for V1 compatibility.\nfrom .microbit.audio import (\n is_playing as is_playing,\n play as play,\n stop as stop,\n AudioFrame as AudioFrame,\n SoundEffect as SoundEffect,\n)\n", + "/typeshed/stdlib/builtins.pyi": "import sys\nimport types\nfrom _typeshed import (\n OpenBinaryMode,\n OpenTextMode,\n ReadableBuffer,\n Self,\n StrOrBytesPath,\n SupportsDivMod,\n SupportsKeysAndGetItem,\n SupportsLenAndGetItem,\n SupportsLessThan,\n SupportsLessThanT,\n SupportsRDivMod,\n SupportsWrite,\n)\nfrom types import CodeType, TracebackType\nfrom typing import (\n IO,\n AbstractSet,\n Any,\n AsyncIterable,\n AsyncIterator,\n BinaryIO,\n ByteString,\n Callable,\n FrozenSet,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n MutableMapping,\n MutableSequence,\n MutableSet,\n NoReturn,\n Protocol,\n Reversible,\n Sequence,\n Set,\n Sized,\n SupportsAbs,\n SupportsBytes,\n SupportsComplex,\n SupportsFloat,\n SupportsInt,\n SupportsRound,\n TextIO,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, SupportsIndex, final\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\nclass _SupportsTrunc(Protocol):\n def __trunc__(self) -> int: ...\n\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n_S = TypeVar(\"_S\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T3 = TypeVar(\"_T3\")\n_T4 = TypeVar(\"_T4\")\n_T5 = TypeVar(\"_T5\")\n_TT = TypeVar(\"_TT\", bound=\"type\")\n_TBE = TypeVar(\"_TBE\", bound=\"BaseException\")\n\nclass object:\n __doc__: str | None\n __dict__: dict[str, Any]\n __slots__: str | Iterable[str]\n __module__: str\n __annotations__: dict[str, Any]\n @property\n def __class__(self: _T) -> Type[_T]: ...\n # Ignore errors about type mismatch between property getter and setter\n @__class__.setter\n def __class__(self, __type: Type[object]) -> None: ... # type: ignore # noqa: F811\n def __init__(self) -> None: ...\n def __new__(cls: Type[_T]) -> _T: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __eq__(self, o: object) -> bool: ...\n def __ne__(self, o: object) -> bool: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n def __format__(self, format_spec: str) -> str: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __delattr__(self, name: str) -> None: ...\n def __sizeof__(self) -> int: ...\n def __reduce__(self) -> str | Tuple[Any, ...]: ...\n if sys.version_info >= (3, 8):\n def __reduce_ex__(self, protocol: SupportsIndex) -> str | Tuple[Any, ...]: ...\n else:\n def __reduce_ex__(self, protocol: int) -> str | Tuple[Any, ...]: ...\n def __dir__(self) -> Iterable[str]: ...\n def __init_subclass__(cls) -> None: ...\n\nclass staticmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass classmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass type(object):\n __base__: type\n __bases__: Tuple[type, ...]\n __basicsize__: int\n __dict__: dict[str, Any]\n __dictoffset__: int\n __flags__: int\n __itemsize__: int\n __module__: str\n __name__: str\n __qualname__: str\n __text_signature__: str | None\n __weakrefoffset__: int\n @overload\n def __init__(self, o: object) -> None: ...\n @overload\n def __init__(\n self, name: str, bases: Tuple[type, ...], dict: dict[str, Any], **kwds: Any\n ) -> None: ...\n @overload\n def __new__(cls, o: object) -> type: ...\n @overload\n def __new__(\n cls: Type[_TT],\n name: str,\n bases: Tuple[type, ...],\n namespace: dict[str, Any],\n **kwds: Any,\n ) -> _TT: ...\n def __call__(self, *args: Any, **kwds: Any) -> Any: ...\n def __subclasses__(self: _TT) -> list[_TT]: ...\n def __instancecheck__(self, instance: Any) -> bool: ...\n def __subclasscheck__(self, subclass: type) -> bool: ...\n @classmethod\n def __prepare__(\n metacls, __name: str, __bases: Tuple[type, ...], **kwds: Any\n ) -> Mapping[str, Any]: ...\n if sys.version_info >= (3, 10):\n def __or__(self, t: Any) -> types.UnionType: ...\n def __ror__(self, t: Any) -> types.UnionType: ...\n\nclass super(object):\n @overload\n def __init__(self, t: Any, obj: Any) -> None: ...\n @overload\n def __init__(self, t: Any) -> None: ...\n @overload\n def __init__(self) -> None: ...\n\nclass int:\n @overload\n def __new__(\n cls: Type[_T],\n x: str | bytes | SupportsInt | SupportsIndex | _SupportsTrunc = ...,\n ) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], x: str | bytes | bytearray, base: SupportsIndex\n ) -> _T: ...\n def to_bytes(\n self,\n length: SupportsIndex,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> bytes: ...\n @classmethod\n def from_bytes(\n cls,\n bytes: Iterable[SupportsIndex] | SupportsBytes,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> int: ... # TODO buffer object argument\n def __add__(self, x: int) -> int: ...\n def __sub__(self, x: int) -> int: ...\n def __mul__(self, x: int) -> int: ...\n def __floordiv__(self, x: int) -> int: ...\n def __truediv__(self, x: int) -> float: ...\n def __mod__(self, x: int) -> int: ...\n def __divmod__(self, x: int) -> Tuple[int, int]: ...\n def __radd__(self, x: int) -> int: ...\n def __rsub__(self, x: int) -> int: ...\n def __rmul__(self, x: int) -> int: ...\n def __rfloordiv__(self, x: int) -> int: ...\n def __rtruediv__(self, x: int) -> float: ...\n def __rmod__(self, x: int) -> int: ...\n def __rdivmod__(self, x: int) -> Tuple[int, int]: ...\n @overload\n def __pow__(self, __x: Literal[2], __modulo: int | None = ...) -> int: ...\n @overload\n def __pow__(\n self, __x: int, __modulo: int | None = ...\n ) -> Any: ... # Return type can be int or float, depending on x.\n def __rpow__(self, x: int, mod: int | None = ...) -> Any: ...\n def __and__(self, n: int) -> int: ...\n def __or__(self, n: int) -> int: ...\n def __xor__(self, n: int) -> int: ...\n def __lshift__(self, n: int) -> int: ...\n def __rshift__(self, n: int) -> int: ...\n def __rand__(self, n: int) -> int: ...\n def __ror__(self, n: int) -> int: ...\n def __rxor__(self, n: int) -> int: ...\n def __rlshift__(self, n: int) -> int: ...\n def __rrshift__(self, n: int) -> int: ...\n def __neg__(self) -> int: ...\n def __pos__(self) -> int: ...\n def __invert__(self) -> int: ...\n def __trunc__(self) -> int: ...\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n def __round__(self, ndigits: SupportsIndex = ...) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: int) -> bool: ...\n def __le__(self, x: int) -> bool: ...\n def __gt__(self, x: int) -> bool: ...\n def __ge__(self, x: int) -> bool: ...\n def __str__(self) -> str: ...\n def __float__(self) -> float: ...\n def __int__(self) -> int: ...\n def __abs__(self) -> int: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n def __index__(self) -> int: ...\n\nclass float:\n def __new__(\n cls: Type[_T], x: SupportsFloat | SupportsIndex | str | bytes | bytearray = ...\n ) -> _T: ...\n def __add__(self, x: float) -> float: ...\n def __sub__(self, x: float) -> float: ...\n def __mul__(self, x: float) -> float: ...\n def __floordiv__(self, x: float) -> float: ...\n def __truediv__(self, x: float) -> float: ...\n def __mod__(self, x: float) -> float: ...\n def __divmod__(self, x: float) -> Tuple[float, float]: ...\n def __pow__(\n self, x: float, mod: None = ...\n ) -> float: ... # In Python 3, returns complex if self is negative and x is not whole\n def __radd__(self, x: float) -> float: ...\n def __rsub__(self, x: float) -> float: ...\n def __rmul__(self, x: float) -> float: ...\n def __rfloordiv__(self, x: float) -> float: ...\n def __rtruediv__(self, x: float) -> float: ...\n def __rmod__(self, x: float) -> float: ...\n def __rdivmod__(self, x: float) -> Tuple[float, float]: ...\n def __rpow__(self, x: float, mod: None = ...) -> float: ...\n def __getnewargs__(self) -> Tuple[float]: ...\n def __trunc__(self) -> int: ...\n if sys.version_info >= (3, 9):\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n @overload\n def __round__(self, ndigits: None = ...) -> int: ...\n @overload\n def __round__(self, ndigits: SupportsIndex) -> float: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: float) -> bool: ...\n def __le__(self, x: float) -> bool: ...\n def __gt__(self, x: float) -> bool: ...\n def __ge__(self, x: float) -> bool: ...\n def __neg__(self) -> float: ...\n def __pos__(self) -> float: ...\n def __str__(self) -> str: ...\n def __int__(self) -> int: ...\n def __float__(self) -> float: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass complex:\n @overload\n def __new__(cls: Type[_T], real: float = ..., imag: float = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], real: str | SupportsComplex | SupportsIndex | complex\n ) -> _T: ...\n @property\n def real(self) -> float: ...\n @property\n def imag(self) -> float: ...\n def __add__(self, x: complex) -> complex: ...\n def __sub__(self, x: complex) -> complex: ...\n def __mul__(self, x: complex) -> complex: ...\n def __pow__(self, x: complex, mod: None = ...) -> complex: ...\n def __truediv__(self, x: complex) -> complex: ...\n def __radd__(self, x: complex) -> complex: ...\n def __rsub__(self, x: complex) -> complex: ...\n def __rmul__(self, x: complex) -> complex: ...\n def __rpow__(self, x: complex, mod: None = ...) -> complex: ...\n def __rtruediv__(self, x: complex) -> complex: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __neg__(self) -> complex: ...\n def __pos__(self) -> complex: ...\n def __str__(self) -> str: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass str(Sequence[str]):\n @overload\n def __new__(cls: Type[_T], o: object = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], o: bytes, encoding: str = ..., errors: str = ...\n ) -> _T: ...\n def count(\n self,\n x: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def encode(self, encoding: str = ..., errors: str = ...) -> bytes: ...\n def endswith(\n self,\n __suffix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def format(self, *args: object, **kwargs: object) -> str: ...\n def index(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable: Iterable[str]) -> str: ...\n def lower(self) -> str: ...\n def lstrip(self, __chars: str | None = ...) -> str: ...\n def replace(self, __old: str, __new: str, __count: SupportsIndex = ...) -> str: ...\n def rfind(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def rstrip(self, __chars: str | None = ...) -> str: ...\n def split(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def startswith(\n self,\n __prefix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __chars: str | None = ...) -> str: ...\n def upper(self) -> str: ...\n def __add__(self, s: str) -> str: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: str) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ge__(self, x: str) -> bool: ...\n def __getitem__(self, i: int | slice) -> str: ...\n def __gt__(self, x: str) -> bool: ...\n def __hash__(self) -> int: ...\n def __iter__(self) -> Iterator[str]: ...\n def __le__(self, x: str) -> bool: ...\n def __len__(self) -> int: ...\n def __lt__(self, x: str) -> bool: ...\n def __mod__(self, x: Any) -> str: ...\n def __mul__(self, n: SupportsIndex) -> str: ...\n def __ne__(self, x: object) -> bool: ...\n def __repr__(self) -> str: ...\n def __rmul__(self, n: SupportsIndex) -> str: ...\n def __str__(self) -> str: ...\n def __getnewargs__(self) -> Tuple[str]: ...\n\nclass bytes(ByteString):\n @overload\n def __new__(cls: Type[_T], ints: Iterable[SupportsIndex]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], string: str, encoding: str, errors: str = ...) -> _T: ...\n @overload\n def __new__(cls: Type[_T], length: SupportsIndex) -> _T: ...\n @overload\n def __new__(cls: Type[_T]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], o: SupportsBytes) -> _T: ...\n def count(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def endswith(\n self,\n __suffix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def index(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable_of_bytes: Iterable[ByteString | memoryview]) -> bytes: ...\n def lower(self) -> bytes: ...\n def lstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def replace(\n self, __old: bytes, __new: bytes, __count: SupportsIndex = ...\n ) -> bytes: ...\n def rfind(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def rstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def split(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def startswith(\n self,\n __prefix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __bytes: bytes | None = ...) -> bytes: ...\n def upper(self) -> bytes: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytes: ...\n def __add__(self, s: bytes) -> bytes: ...\n def __mul__(self, n: SupportsIndex) -> bytes: ...\n def __rmul__(self, n: SupportsIndex) -> bytes: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n def __getnewargs__(self) -> Tuple[bytes]: ...\n\nclass bytearray:\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, ints: Iterable[SupportsIndex]) -> None: ...\n @overload\n def __init__(self, string: str, encoding: str, errors: str = ...) -> None: ...\n @overload\n def __init__(self, length: SupportsIndex) -> None: ...\n def append(self, __item: SupportsIndex) -> None: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def extend(self, __iterable_of_ints: Iterable[SupportsIndex]) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytearray: ...\n @overload\n def __setitem__(self, i: SupportsIndex, x: SupportsIndex) -> None: ...\n @overload\n def __setitem__(self, s: slice, x: Iterable[SupportsIndex] | bytes) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, s: bytes) -> bytearray: ...\n def __iadd__(self, s: Iterable[int]) -> bytearray: ...\n def __mul__(self, n: SupportsIndex) -> bytearray: ...\n def __rmul__(self, n: SupportsIndex) -> bytearray: ...\n def __imul__(self, n: SupportsIndex) -> bytearray: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n\nclass memoryview(Sized, Sequence[int]):\n def __init__(self, obj: ReadableBuffer) -> None: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> memoryview: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n def __len__(self) -> int: ...\n @overload\n def __setitem__(self, s: slice, o: bytes) -> None: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: SupportsIndex) -> None: ...\n\n@final\nclass bool(int):\n def __new__(cls: Type[_T], __o: object = ...) -> _T: ...\n @overload\n def __and__(self, x: bool) -> bool: ...\n @overload\n def __and__(self, x: int) -> int: ...\n @overload\n def __or__(self, x: bool) -> bool: ...\n @overload\n def __or__(self, x: int) -> int: ...\n @overload\n def __xor__(self, x: bool) -> bool: ...\n @overload\n def __xor__(self, x: int) -> int: ...\n @overload\n def __rand__(self, x: bool) -> bool: ...\n @overload\n def __rand__(self, x: int) -> int: ...\n @overload\n def __ror__(self, x: bool) -> bool: ...\n @overload\n def __ror__(self, x: int) -> int: ...\n @overload\n def __rxor__(self, x: bool) -> bool: ...\n @overload\n def __rxor__(self, x: int) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n\nclass slice(object):\n start: Any\n step: Any\n stop: Any\n __hash__: None # type: ignore\n def indices(self, len: SupportsIndex) -> Tuple[int, int, int]: ...\n\nclass tuple(Sequence[_T_co], Generic[_T_co]):\n def __new__(cls: Type[_T], iterable: Iterable[_T_co] = ...) -> _T: ...\n def __len__(self) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n @overload\n def __getitem__(self, x: int) -> _T_co: ...\n @overload\n def __getitem__(self, x: slice) -> Tuple[_T_co, ...]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __lt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __le__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __gt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __ge__(self, x: Tuple[_T_co, ...]) -> bool: ...\n @overload\n def __add__(self, x: Tuple[_T_co, ...]) -> Tuple[_T_co, ...]: ...\n @overload\n def __add__(self, x: Tuple[_T, ...]) -> Tuple[_T_co | _T, ...]: ...\n def __mul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def __rmul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def count(self, __value: Any) -> int: ...\n def index(\n self, __value: Any, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n\n# Can we remove this?\nclass function:\n # TODO not defined in builtins!\n __name__: str\n __module__: str\n __code__: CodeType\n __qualname__: str\n __annotations__: dict[str, Any]\n\nclass frozenset(AbstractSet[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls: type[Self]) -> Self: ...\n @overload\n def __new__(cls: type[Self], __iterable: Iterable[_T_co]) -> Self: ...\n def copy(self) -> FrozenSet[_T_co]: ...\n def difference(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def intersection(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def isdisjoint(self, s: Iterable[_T_co]) -> bool: ...\n def issubset(self, s: Iterable[object]) -> bool: ...\n def issuperset(self, s: Iterable[object]) -> bool: ...\n def symmetric_difference(self, s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def union(self, *s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __sub__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass list(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[_T]) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> list[_T]: ...\n def append(self, __object: _T) -> None: ...\n def extend(self, __iterable: Iterable[_T]) -> None: ...\n def pop(self, __index: SupportsIndex = ...) -> _T: ...\n def index(\n self, __value: _T, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n def count(self, __value: _T) -> int: ...\n def insert(self, __index: SupportsIndex, __object: _T) -> None: ...\n def remove(self, __value: _T) -> None: ...\n def reverse(self) -> None: ...\n @overload\n def sort(\n self: list[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n ) -> None: ...\n @overload\n def sort(\n self, *, key: Callable[[_T], SupportsLessThan], reverse: bool = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> list[_T]: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, x: list[_T]) -> list[_T]: ...\n def __iadd__(self: _S, x: Iterable[_T]) -> _S: ...\n def __mul__(self, n: SupportsIndex) -> list[_T]: ...\n def __rmul__(self, n: SupportsIndex) -> list[_T]: ...\n def __imul__(self: _S, n: SupportsIndex) -> _S: ...\n def __contains__(self, o: object) -> bool: ...\n def __reversed__(self) -> Iterator[_T]: ...\n def __gt__(self, x: list[_T]) -> bool: ...\n def __ge__(self, x: list[_T]) -> bool: ...\n def __lt__(self, x: list[_T]) -> bool: ...\n def __le__(self, x: list[_T]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass dict(MutableMapping[_KT, _VT], Generic[_KT, _VT]):\n @overload\n def __init__(self: dict[_KT, _VT]) -> None: ...\n @overload\n def __init__(self: dict[str, _VT], **kwargs: _VT) -> None: ...\n @overload\n def __init__(\n self, map: SupportsKeysAndGetItem[_KT, _VT], **kwargs: _VT\n ) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n def __new__(cls: Type[_T1], *args: Any, **kwargs: Any) -> _T1: ...\n def clear(self) -> None: ...\n def copy(self) -> dict[_KT, _VT]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, __key: _KT, __default: _VT = ...) -> _VT: ...\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT]: ...\n def items(self) -> ItemsView[_KT, _VT]: ...\n @classmethod\n @overload\n def fromkeys(\n cls, __iterable: Iterable[_T], __value: None = ...\n ) -> dict[_T, Any | None]: ...\n @classmethod\n @overload\n def fromkeys(cls, __iterable: Iterable[_T], __value: _S) -> dict[_T, _S]: ...\n def __len__(self) -> int: ...\n def __getitem__(self, k: _KT) -> _VT: ...\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n def __delitem__(self, v: _KT) -> None: ...\n def __iter__(self) -> Iterator[_KT]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __or__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ror__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ior__(self, __value: Mapping[_KT, _VT]) -> dict[_KT, _VT]: ... # type: ignore\n\nclass set(MutableSet[_T], Generic[_T]):\n def __init__(self, iterable: Iterable[_T] = ...) -> None: ...\n def add(self, element: _T) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> Set[_T]: ...\n def difference(self, *s: Iterable[Any]) -> Set[_T]: ...\n def difference_update(self, *s: Iterable[Any]) -> None: ...\n def discard(self, element: _T) -> None: ...\n def intersection(self, *s: Iterable[Any]) -> Set[_T]: ...\n def intersection_update(self, *s: Iterable[Any]) -> None: ...\n def isdisjoint(self, s: Iterable[Any]) -> bool: ...\n def issubset(self, s: Iterable[Any]) -> bool: ...\n def issuperset(self, s: Iterable[Any]) -> bool: ...\n def pop(self) -> _T: ...\n def remove(self, element: _T) -> None: ...\n def symmetric_difference(self, s: Iterable[_T]) -> Set[_T]: ...\n def symmetric_difference_update(self, s: Iterable[_T]) -> None: ...\n def union(self, *s: Iterable[_T]) -> Set[_T]: ...\n def update(self, *s: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __iand__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __or__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ior__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __sub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __isub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __xor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass enumerate(Iterator[Tuple[int, _T]], Generic[_T]):\n def __init__(self, iterable: Iterable[_T], start: int = ...) -> None: ...\n def __iter__(self) -> Iterator[Tuple[int, _T]]: ...\n def __next__(self) -> Tuple[int, _T]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass range(Sequence[int]):\n start: int\n stop: int\n step: int\n @overload\n def __init__(self, stop: SupportsIndex) -> None: ...\n @overload\n def __init__(\n self, start: SupportsIndex, stop: SupportsIndex, step: SupportsIndex = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> range: ...\n def __repr__(self) -> str: ...\n def __reversed__(self) -> Iterator[int]: ...\n\nclass property(object):\n fget: Callable[[Any], Any] | None\n fset: Callable[[Any, Any], None] | None\n fdel: Callable[[Any], None] | None\n def __init__(\n self,\n fget: Callable[[Any], Any] | None = ...,\n fset: Callable[[Any, Any], None] | None = ...,\n fdel: Callable[[Any], None] | None = ...,\n doc: str | None = ...,\n ) -> None: ...\n def getter(self, fget: Callable[[Any], Any]) -> property: ...\n def setter(self, fset: Callable[[Any, Any], None]) -> property: ...\n def deleter(self, fdel: Callable[[Any], None]) -> property: ...\n def __get__(self, obj: Any, type: type | None = ...) -> Any: ...\n def __set__(self, obj: Any, value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nclass _NotImplementedType(Any): # type: ignore\n # A little weird, but typing the __call__ as NotImplemented makes the error message\n # for NotImplemented() much better\n __call__: NotImplemented # type: ignore\n\nNotImplemented: _NotImplementedType\n\ndef abs(__x: SupportsAbs[_T]) -> _T: ...\ndef all(__iterable: Iterable[object]) -> bool: ...\ndef any(__iterable: Iterable[object]) -> bool: ...\ndef bin(__number: int | SupportsIndex) -> str: ...\n\nif sys.version_info >= (3, 7):\n def breakpoint(*args: Any, **kws: Any) -> None: ...\n\ndef callable(__obj: object) -> bool: ...\ndef chr(__i: int) -> str: ...\n\n# We define this here instead of using os.PathLike to avoid import cycle issues.\n# See https://github.com/python/typeshed/pull/991#issuecomment-288160993\n_AnyStr_co = TypeVar(\"_AnyStr_co\", str, bytes, covariant=True)\n\nclass _PathLike(Protocol[_AnyStr_co]):\n def __fspath__(self) -> _AnyStr_co: ...\n\nif sys.version_info >= (3, 10):\n def aiter(__iterable: AsyncIterable[_T]) -> AsyncIterator[_T]: ...\n @overload\n async def anext(__i: AsyncIterator[_T]) -> _T: ...\n @overload\n async def anext(__i: AsyncIterator[_T], default: _VT) -> _T | _VT: ...\n\ndef delattr(__obj: Any, __name: str) -> None: ...\ndef dir(__o: object = ...) -> list[str]: ...\n@overload\ndef divmod(__x: SupportsDivMod[_T_contra, _T_co], __y: _T_contra) -> _T_co: ...\n@overload\ndef divmod(__x: _T_contra, __y: SupportsRDivMod[_T_contra, _T_co]) -> _T_co: ...\ndef eval(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\ndef exec(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\n\nclass filter(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __function: None, __iterable: Iterable[_T | None]) -> None: ...\n @overload\n def __init__(\n self, __function: Callable[[_T], Any], __iterable: Iterable[_T]\n ) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\n@overload\ndef getattr(__o: object, name: str) -> Any: ...\n\n# While technically covered by the last overload, spelling out the types for None and bool\n# help mypy out in some tricky situations involving type context (aka bidirectional inference)\n@overload\ndef getattr(__o: object, name: str, __default: None) -> Any | None: ...\n@overload\ndef getattr(__o: object, name: str, __default: bool) -> Any | bool: ...\n@overload\ndef getattr(__o: object, name: str, __default: _T) -> Any | _T: ...\ndef globals() -> dict[str, Any]: ...\ndef hasattr(__obj: object, __name: str) -> bool: ...\ndef hash(__obj: object) -> int: ...\ndef help(*args: Any, **kwds: Any) -> None: ...\ndef hex(__number: int | SupportsIndex) -> str: ...\ndef id(__obj: object) -> int: ...\ndef input(__prompt: Any = ...) -> str: ...\n@overload\ndef iter(__iterable: Iterable[_T]) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T | None], __sentinel: None) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T], __sentinel: Any) -> Iterator[_T]: ...\n\nif sys.version_info >= (3, 10):\n def isinstance(\n __obj: object,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n def issubclass(\n __cls: type,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n\nelse:\n def isinstance(\n __obj: object, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n def issubclass(\n __cls: type, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n\ndef len(__obj: Sized) -> int: ...\ndef locals() -> dict[str, Any]: ...\n\nclass map(Iterator[_S], Generic[_S]):\n @overload\n def __init__(self, __func: Callable[[_T1], _S], __iter1: Iterable[_T1]) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4, _T5], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[..., _S],\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> None: ...\n def __iter__(self) -> Iterator[_S]: ...\n def __next__(self) -> _S: ...\n\n@overload\ndef max(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef max(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef max(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef max(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef min(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef min(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef min(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef min(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef next(__i: Iterator[_T]) -> _T: ...\n@overload\ndef next(__i: Iterator[_T], default: _VT) -> _T | _VT: ...\ndef oct(__number: int | SupportsIndex) -> str: ...\n\n_OpenFile = Union[StrOrBytesPath, int]\n_Opener = Callable[[str, int], int]\n\n# Text mode: always returns a TextIOWrapper\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenTextMode = ...,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> TextIO: ...\n\n# Unbuffered binary mode: returns a FileIO\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenBinaryMode,\n buffering: int = ...,\n encoding: None = ...,\n errors: None = ...,\n newline: None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> BinaryIO: ...\n\n# Fallback if mode is not specified\n@overload\ndef open(\n file: _OpenFile,\n mode: str,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> IO[Any]: ...\ndef ord(__c: str | bytes) -> int: ...\ndef print(\n *values: object,\n sep: str | None = ...,\n end: str | None = ...,\n file: SupportsWrite[str] | None = ...,\n flush: bool = ...,\n) -> None: ...\n\n_E = TypeVar(\"_E\", contravariant=True)\n_M = TypeVar(\"_M\", contravariant=True)\n\nclass _SupportsPow2(Protocol[_E, _T_co]):\n def __pow__(self, __other: _E) -> _T_co: ...\n\nclass _SupportsPow3(Protocol[_E, _M, _T_co]):\n def __pow__(self, __other: _E, __modulo: _M) -> _T_co: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def pow(\n base: int, exp: int, mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(base: int, exp: int, mod: int) -> int: ...\n @overload\n def pow(base: float, exp: float, mod: None = ...) -> float: ...\n @overload\n def pow(base: _SupportsPow2[_E, _T_co], exp: _E) -> _T_co: ...\n @overload\n def pow(base: _SupportsPow3[_E, _M, _T_co], exp: _E, mod: _M) -> _T_co: ...\n\nelse:\n @overload\n def pow(\n __base: int, __exp: int, __mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(__base: int, __exp: int, __mod: int) -> int: ...\n @overload\n def pow(__base: float, __exp: float, __mod: None = ...) -> float: ...\n @overload\n def pow(__base: _SupportsPow2[_E, _T_co], __exp: _E) -> _T_co: ...\n @overload\n def pow(__base: _SupportsPow3[_E, _M, _T_co], __exp: _E, __mod: _M) -> _T_co: ...\n\nclass reversed(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __sequence: Reversible[_T]) -> None: ...\n @overload\n def __init__(self, __sequence: SupportsLenAndGetItem[_T]) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\ndef repr(__obj: object) -> str: ...\n@overload\ndef round(number: SupportsRound[Any]) -> int: ...\n@overload\ndef round(number: SupportsRound[Any], ndigits: None) -> int: ...\n@overload\ndef round(number: SupportsRound[_T], ndigits: SupportsIndex) -> _T: ...\ndef setattr(__obj: object, __name: str, __value: Any) -> None: ...\n@overload\ndef sorted(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n) -> list[SupportsLessThanT]: ...\n@overload\ndef sorted(\n __iterable: Iterable[_T],\n *,\n key: Callable[[_T], SupportsLessThan],\n reverse: bool = ...,\n) -> list[_T]: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], start: _S) -> _T | _S: ...\n\nelse:\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], __start: _S) -> _T | _S: ...\n\nclass zip(Iterator[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls, __iter1: Iterable[_T1]) -> zip[Tuple[_T1]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2]\n ) -> zip[Tuple[_T1, _T2]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]\n ) -> zip[Tuple[_T1, _T2, _T3]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4, _T5]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> zip[Tuple[Any, ...]]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __next__(self) -> _T_co: ...\n\ndef __import__(\n name: str,\n globals: Mapping[str, Any] | None = ...,\n locals: Mapping[str, Any] | None = ...,\n fromlist: Sequence[str] = ...,\n level: int = ...,\n) -> Any: ...\n\n# Actually the type of Ellipsis is , but since it's\n# not exposed anywhere under that name, we make it private here.\nclass ellipsis: ...\n\nEllipsis: ellipsis\n\nclass BaseException(object):\n args: Tuple[Any, ...]\n __cause__: BaseException | None\n __context__: BaseException | None\n __suppress_context__: bool\n __traceback__: TracebackType | None\n def __init__(self, *args: object) -> None: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def with_traceback(self: _TBE, tb: TracebackType | None) -> _TBE: ...\n\nclass GeneratorExit(BaseException): ...\nclass KeyboardInterrupt(BaseException): ...\n\nclass SystemExit(BaseException):\n code: int\n\nclass Exception(BaseException): ...\n\nclass StopIteration(Exception):\n value: Any\n\n_StandardError = Exception\n\nclass OSError(Exception):\n errno: int\n strerror: str\n # filename, filename2 are actually str | bytes | None\n filename: Any\n filename2: Any\n if sys.platform == \"win32\":\n winerror: int\n\nif sys.platform == \"win32\":\n WindowsError = OSError\n\nclass ArithmeticError(_StandardError): ...\nclass AssertionError(_StandardError): ...\n\nclass AttributeError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n obj: object\n\nclass EOFError(_StandardError): ...\n\nclass ImportError(_StandardError):\n def __init__(\n self, *args: object, name: str | None = ..., path: str | None = ...\n ) -> None: ...\n name: str | None\n path: str | None\n msg: str # undocumented\n\nclass LookupError(_StandardError): ...\nclass MemoryError(_StandardError): ...\n\nclass NameError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n\nclass RuntimeError(_StandardError): ...\n\nclass StopAsyncIteration(Exception):\n value: Any\n\nclass SyntaxError(_StandardError):\n msg: str\n lineno: int | None\n offset: int | None\n text: str | None\n filename: str | None\n if sys.version_info >= (3, 10):\n end_lineno: int | None\n end_offset: int | None\n\nclass TypeError(_StandardError): ...\nclass ValueError(_StandardError): ...\nclass FloatingPointError(ArithmeticError): ...\nclass OverflowError(ArithmeticError): ...\nclass ZeroDivisionError(ArithmeticError): ...\nclass IndexError(LookupError): ...\nclass KeyError(LookupError): ...\nclass NotImplementedError(RuntimeError): ...\nclass IndentationError(SyntaxError): ...\nclass TabError(IndentationError): ...\n", + "/typeshed/stdlib/errno.pyi": "from typing import Mapping\n\nerrorcode: Mapping[int, str]\n\nEACCES: int\nEADDRINUSE: int\nEAGAIN: int\nEALREADY: int\nEBADF: int\nECONNABORTED: int\nECONNREFUSED: int\nECONNRESET: int\nEEXIST: int\nEHOSTUNREACH: int\nEINPROGRESS: int\nEINVAL: int\nEIO: int\nEISDIR: int\nENOBUFS: int\nENODEV: int\nENOENT: int\nENOMEM: int\nENOTCONN: int\nEOPNOTSUPP: int\nEPERM: int\nETIMEDOUT: int\n", + "/typeshed/stdlib/gc.pyi": "\"\"\"\u63a7\u5236\u5783\u573e\u56de\u6536\u5668 (\u5783\u573e\u56de\u6536(gc))\"\"\"\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"\u542f\u7528\u81ea\u52a8\u5783\u573e\u56de\u6536\u673a\u5236\u3002\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"\u7981\u7528\u81ea\u52a8\u5783\u573e\u56de\u6536\u673a\u5236\u3002\n\nHeap memory can still be allocated,\nand garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"\u6267\u884c\u4e00\u6b21\u5783\u573e\u56de\u6536\u3002\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"\u83b7\u53d6\u5206\u914d\u7684\u5806\u5185\u5b58\u7684\u5b57\u8282\u6570\u3002\n\n:return: The number of bytes allocated.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"\u83b7\u53d6\u53ef\u7528\u5806\u5185\u5b58\u7684\u5b57\u8282\u6570\uff0c\u5982\u679c\u6b64\u6570\u91cf\u672a\u77e5\uff0c\u5219\u8fd4\u56de\u503c\u4e3a -1\u3002\n\n:return: The number of bytes free.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"\u67e5\u8be2\u989d\u5916\u7684\u5783\u573e\u56de\u6536\u5206\u914d\u9608\u503c\u3002\n\n:return: The GC allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"\u8bbe\u7f6e\u989d\u5916\u7684\u5783\u573e\u56de\u6536\u5206\u914d\u9608\u503c\u3002\n\nNormally, a collection is triggered only when a new allocation\ncannot be satisfied, i.e. on an out-of-memory (OOM) condition.\nIf this function is called, in addition to OOM, a collection\nwill be triggered each time after ``amount`` bytes have been\nallocated (in total, since the previous time such an amount of bytes\nhave been allocated). ``amount`` is usually specified as less than the\nfull heap size, with the intention to trigger a collection earlier than when the\nheap becomes exhausted, and in the hope that an early collection will prevent\nexcessive memory fragmentation. This is a heuristic measure, the effect\nof which will vary from application to application, as well as\nthe optimal value of the ``amount`` parameter.\n\nA value of -1 means a disabled allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\n\n:param amount: \u89e6\u53d1\u8fdb\u884c\u5783\u573e\u56de\u6536\u7684\u5b57\u8282\u6570\u3002\"\"\"\n ...", + "/typeshed/stdlib/log.pyi": "\"\"\"\u5c06\u6570\u636e\u8bb0\u5f55\u5230\u60a8\u7684 micro:bit V2\u3002 (\u65e5\u5fd7)\"\"\"\nfrom typing import Literal, Mapping, Optional, Union, overload\nMILLISECONDS = 1\n\"\"\"\u6beb\u79d2\u65f6\u95f4\u6233\u683c\u5f0f\u3002 (\u6beb\u79d2)\"\"\"\nSECONDS = 10\n\"\"\"\u79d2\u65f6\u95f4\u6233\u683c\u5f0f\u3002 (\u79d2)\"\"\"\nMINUTES = 600\n\"\"\"\u5206\u949f\u65f6\u95f4\u6233\u683c\u5f0f\u3002 (\u5206\u949f)\"\"\"\nHOURS = 36000\n\"\"\"\u5c0f\u65f6\u65f6\u95f4\u6233\u683c\u5f0f\u3002 (\u5c0f\u65f6)\"\"\"\nDAYS = 864000\n\"\"\"\u65e5\u671f\u65f6\u95f4\u6233\u683c\u5f0f\u3002 (\u5929)\"\"\"\n\ndef set_labels(*labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]]=SECONDS) -> None:\n \"\"\"\u8bbe\u7f6e\u65e5\u5fd7\u6587\u4ef6\u5934\u3002\n\nExample: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\nIdeally this function should be called a single time, before any data is\nlogged, to configure the data table header once.\n\nIf a log file already exists when the program starts, or if this function\nis called multiple times, it will check the labels already defined in the\nlog file. If this function call contains any new labels not already\npresent, it will generate a new header row with the additional columns.\n\nBy default the first column contains a timestamp for each row. The time\nunit can be selected via the timestamp argument.\n\n:param *labels: (*\u6807\u7b7e) \u4efb\u4f55\u6570\u91cf\u7684\u4f4d\u7f6e\u53c2\u6570\uff0c\u6bcf\u4e2a\u5bf9\u5e94\u4e8e\u65e5\u5fd7\u5934\u4e2d\u7684\u4e00\u4e2a\u6807\u9898\u3002\n:param timestamp: \u9009\u62e9\u5c06\u81ea\u52a8\u6dfb\u52a0\u4e3a\u6bcf\u884c\u7b2c\u4e00\u5217\u7684\u65f6\u95f4\u6233\u5355\u4f4d\u3002 \u65f6\u95f4\u6233\u503c\u53ef\u4ee5\u662f ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, ``log.HOURS``, ``log.DAYS`` \uff0c\u6216\u8005 ``None`` \u6765\u7981\u7528\u65f6\u95f4\u6233\u3002 \u9ed8\u8ba4\u503c\u662f ``log.SECONDS``\u3002\"\"\"\n ...\n\n@overload\ndef add(data_dictionary: Optional[Mapping[str, Union[str, int, float]]]) -> None:\n \"\"\"\u901a\u8fc7\u4f20\u9012\u5305\u542b\u6807\u9898\u548c\u503c\u7684\u5b57\u5178\u5c06\u6570\u636e\u884c\u6dfb\u52a0\u5230\u65e5\u5fd7\u4e2d\u3002\n\nExample: ``log.add({ 'temp': temperature() })``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\n\n:param data_dictionary: (\u6570\u636e\u8bcd\u5178) \u8981\u8bb0\u5f55\u4e3a\u8bcd\u5178\u7684\u6570\u636e\uff0c\u6bcf\u4e2a\u6807\u9898\u90fd\u6709\u4e00\u4e2a\u952e\u3002\"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"\u4f7f\u7528\u5173\u952e\u5b57\u53c2\u6570\u5c06\u6570\u636e\u884c\u6dfb\u52a0\u5230\u65e5\u5fd7\u4e2d\u3002\n\nExample: ``log.add(temp=temperature())``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"\u5220\u9664\u65e5\u5fd7\u7684\u5185\u5bb9\uff0c\u5305\u62ec\u6807\u9898\u3002\n\nExample: ``log.delete()``\n\nTo add the log headers again the ``set_labels`` function should to be called after this function.\n\nThere are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\nand \u201cfast\u201d invalidates the data without removing it.\n\n:param full: ``True`` \u9009\u62e9\u201c\u5b8c\u5168\u201d\u64e6\u9664\uff0c ``False`` \u9009\u62e9\u201c\u5feb\u901f\u201d\u64e6\u9664\u65b9\u6cd5\u3002\"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"\u914d\u7f6e\u5c06\u6570\u636e\u65e5\u5fd7\u6d3b\u52a8\u955c\u50cf\u5230\u4e32\u884c\u8f93\u51fa\u3002\n\nExample: ``log.set_mirroring(True)``\n\nSerial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n:param serial: ``True`` \u542f\u7528\u4e86\u5c06\u6570\u636e\u955c\u50cf\u5230\u4e32\u884c\u8f93\u51fa\u3002\"\"\"\n ...", + "/typeshed/stdlib/love.pyi": "def badaboom() -> None: ...\n", + "/typeshed/stdlib/machine.pyi": "\"\"\"\u4f4e\u7ea7\u5b9e\u7528\u7a0b\u5e8f\u3002 (\u673a\u5668)\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"\u83b7\u53d6\u5177\u6709\u677f\u7684\u552f\u4e00\u6807\u8bc6\u7b26\u7684\u5b57\u8282\u5b57\u7b26\u4e32\u3002\n\nExample: ``machine.unique_id()``\n\n:return: An identifier that varies from one board instance to another.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"\u4ee5\u7c7b\u4f3c\u4e8e\u6309\u4e0b\u5916\u90e8 RESET \uff08\u91cd\u7f6e\uff09\u6309\u94ae\u7684\u65b9\u5f0f\u91cd\u7f6e\u8bbe\u5907\u3002\n\nExample: ``machine.reset()``\"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"\u4ee5\u8d6b\u5179\u4e3a\u5355\u4f4d\u83b7\u53d6 CPU \u9891\u7387\u3002\n\nExample: ``machine.freq()``\n\n:return: The CPU frequency.\"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"\u7981\u6b62\u4e2d\u65ad\u8bf7\u6c42\u3002\n\nExample: ``interrupt_state = machine.disable_irq()``\n\n:return: the previous IRQ state which should be considered an opaque value\n\nThe return value should be passed to the ``enable_irq`` function to restore\ninterrupts to their original state.\"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"\u91cd\u65b0\u542f\u7528\u4e2d\u65ad\u8bf7\u6c42\u3002\n\nExample: ``machine.enable_irq(interrupt_state)``\n\n:param state: \u6700\u8fd1\u4e00\u6b21\u8c03\u7528 ``disable_irq`` \u51fd\u6570\u5f97\u5230\u7684\u8fd4\u56de\u503c\u3002\"\"\"\n ...\n\ndef time_pulse_us(pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int=1000000) -> int:\n \"\"\"\u5bf9\u5f15\u811a\u4e0a\u7684\u8109\u51b2\u8ba1\u65f6\u3002\n\nExample: ``time_pulse_us(pin0, 1)``\n\nIf the current input value of the pin is different to ``pulse_level``, the\nfunction first waits until the pin input becomes equal to\n``pulse_level``, then times the duration that the pin is equal to\n``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\nstarts straight away.\n\n:param pin: (\u5f15\u811a) \u8981\u4f7f\u7528\u7684\u5f15\u811a\n:param pulse_level: 0 \u6765\u8ba1\u65f6\u4f4e\u8109\u51b2\u6216 1 \u6765\u8ba1\u65f6\u9ad8\u8109\u51b2\u3002\n:param timeout_us: \u5fae\u79d2\u8d85\u65f6\n:return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\"\"\"\n ...\n\nclass mem:\n \"\"\"``mem8``\u3001 ``mem16`` \u548c ``mem32`` \u5185\u5b58\u89c6\u56fe\u7684\u7c7b\u3002\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"\u4ece\u5185\u5b58\u4e2d\u83b7\u53d6\u4e00\u4e2a\u503c\u3002\n\n:param address: (\u5730\u5740) \u5185\u5b58\u5730\u5740\u3002\n:return: The value at that address as an integer.\"\"\"\n ...\n\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"\u5728\u7ed9\u5b9a\u5730\u5740\u5904\u8bbe\u7f6e\u4e00\u4e2a\u503c\u3002\n\n:param address: (\u5730\u5740) \u5185\u5b58\u5730\u5740\u3002\n:param value: \u8981\u8bbe\u7f6e\u7684\u6574\u6570\u503c\u3002\"\"\"\n ...\nmem8: mem\n\"\"\"8 \u4f4d(\u5b57\u8282) \u5185\u5b58\u89c6\u56fe\u3002\"\"\"\nmem16: mem\n\"\"\"16 \u4f4d\u5185\u5b58\u89c6\u56fe\u3002\"\"\"\nmem32: mem\n\"\"\"32 \u4f4d\u5185\u5b58\u89c6\u56fe\u3002\"\"\"", + "/typeshed/stdlib/math.pyi": "\"\"\"\u6570\u5b66\u51fd\u6570\u3002 (\u6570\u5b66)\"\"\"\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"\u8ba1\u7b97\u53cd\u4f59\u5f26\u3002\n\nExample: ``math.acos(1)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: The inverse cosine of ``x``\"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"\u8ba1\u7b97\u53cd\u6b63\u5f26\u503c\u3002\n\nExample: ``math.asin(0)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: The inverse sine of ``x``\"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"\u8ba1\u7b97\u53cd\u6b63\u5207\u3002\n\nExample: ``math.atan(0)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: The inverse tangent of ``x``\"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"\u8ba1\u7b97 ``y/x`` \u7684\u53cd\u6b63\u5207\u7684\u4e3b\u503c\u3002\n\nExample: ``math.atan2(0, -1)``\n\n:param y: \u4e00\u4e2a\u6570\u5b57\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: The principal value of the inverse tangent of ``y/x``\"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"\u5c06\u6570\u5b57\u5411\u6b63\u65e0\u7a77\u5927\u53d6\u6574(\u5411\u4e0a\u53d6\u6574)\n\nExample: ``math.ceil(0.1)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: ``x`` rounded towards positive infinity.\"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"\u83b7\u53d6 ``y`` \u7684\u7b26\u53f7\u548c ``x`` \u7684\u7edd\u5bf9\u503c\u3002\n\nExample: ``math.copysign(1, -1)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:param y: \u8fd4\u56de\u503c\u7684\u7b26\u53f7\u6765\u6e90\n:return: ``x`` with the sign of ``y``\"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"\u8ba1\u7b97 ``x`` \u7684\u4f59\u5f26\u3002\n\nExample: ``math.cos(0)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: The cosine of ``x``\"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"\u5c06\u5f27\u5ea6\u8f6c\u6362\u4e3a\u5ea6\u3002\n\nExample: ``math.degrees(2 * math.pi)``\n\n:param x: \u4e00\u4e2a\u4ee5\u5f27\u5ea6\u4e3a\u5355\u4f4d\u7684\u503c\n:return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"\u8ba1\u7b97 E \u7684 ``x`` \u6307\u6570\u3002\n\nExample: ``math.exp(1)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: The exponential of ``x``.\"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"\u8fd4\u56de ``x`` \u7684\u7edd\u5bf9\u503c\u3002\n\nExample: ``math.fabs(-0.1)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: The absolute value of ``x``\"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"\u5c06\u6570\u5b57\u5411\u8d1f\u65e0\u7a77\u5927\u53d6\u6574(\u5411\u4e0b\u53d6\u6574)\u3002 (\u5411\u4e0b\u53d6\u6574)\n\nExample: ``math.floor(0.9)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: ``x`` rounded towards negative infinity.\"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"\u8ba1\u7b97 ``x/y`` \u7684\u4f59\u6570\u3002 (\u6d6e\u70b9\u4f59\u6570)\n\nExample: ``math.fmod(10, 3)``\n\n:param x: \u5206\u5b50\n:param y: \u5206\u6bcd\"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"\u5c06\u4e00\u4e2a\u6d6e\u70b9\u6570\u5206\u89e3\u4e3a\u5176\u5c3e\u6570\u548c\u6307\u6570\u3002 (\u6d6e\u70b9\u6307\u6570)\n\nExample: ``mantissa, exponent = math.frexp(2)``\n\nThe returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\nexactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\nthe relation ``0.5 <= abs(m) < 1`` holds.\n\n:param x: \u4e00\u4e2a\u6d6e\u70b9\u6570\n:return: A tuple of length two containing its mantissa then exponent\"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"\u68c0\u67e5\u503c\u662f\u5426\u6709\u9650\u3002 (\u662f\u6709\u9650\u7684)\n\nExample: ``math.isfinite(float('inf'))``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\u3002\n:return: ``True`` if ``x`` is finite, ``False`` otherwise.\"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"\u68c0\u67e5\u503c\u662f\u5426\u65e0\u9650\u3002 (\u662f\u65e0\u9650\u7684)\n\nExample: ``math.isinf(float('-inf'))``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\u3002\n:return: ``True`` if ``x`` is infinite, ``False`` otherwise.\"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"\u68c0\u67e5\u4e00\u4e2a\u503c\u662f\u5426\u4e0d\u662f\u4e00\u4e2a\u6570\u5b57 (NaN)\u3002 (\u4e0d\u662f\u6570\u5b57)\n\nExample: ``math.isnan(float('nan'))``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"\u8ba1\u7b97 ``x * (2**exp)`` \u3002 (\u52a0\u8f7d\u6307\u6570)\n\nExample: ``math.ldexp(0.5, 2)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:param exp: \u6574\u6570\u6307\u6570\n:return: ``x * (2**exp)``\"\"\"\n ...\n\ndef log(x: float, base: float=e) -> float:\n \"\"\"\u8ba1\u7b97\u7ed9\u5b9a\u5e95\u6570 ``x`` \u7684\u5bf9\u6570\uff08\u9ed8\u8ba4\u4e3a\u81ea\u7136\u5bf9\u6570\uff09\u3002 (\u65e5\u5fd7)\n\nExample: ``math.log(math.e)``\n\nWith one argument, return the natural logarithm of x (to base e).\n\nWith two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:param base: \u8981\u4f7f\u7528\u7684\u5e95\u6570\n:return: The natural logarithm of ``x``\"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"\u8ba1\u7b97 ``x`` \u7684\u5c0f\u6570\u548c\u6574\u6570\u90e8\u5206\u3002 (\u6d6e\u70b9\u53d6\u6a21)\n\nExample: ``fractional, integral = math.modf(1.5)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\nBoth the fractional and integral values have the same sign as ``x``.\"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"\u8fd4\u56de ``x`` \u7684 ``y``\u6b21\u5e42\u3002 (\u5e42\u6570)\n\nExample: ``math.pow(4, 0.5)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:param y: \u6307\u6570\u503c\n:return: ``x`` to the power of ``y``\"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"\u5c06\u5ea6\u6570\u8f6c\u6362\u4e3a\u5f27\u5ea6\u3002\n\nExample: ``math.radians(360)``\n\n:param x: \u4ee5\u5ea6\u4e3a\u5355\u4f4d\u7684\u503c\n:return: The value converted to radians\"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"\u8ba1\u7b97 ``x`` \u7684\u6b63\u5f26\u503c\u3002 (\u6b63\u5f26)\n\nExample: ``math.sin(math.pi/2)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: The sine of ``x``\"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"\u8ba1\u7b97 ``x`` \u7684\u5e73\u65b9\u6839\u3002 (\u5e73\u65b9\u6839)\n\nExample: ``math.sqrt(4)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: The square root of ``x``\"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"\u8ba1\u7b97 ``x`` \u7684\u6b63\u5207\u3002 (\u6b63\u5207)\n\nExample: ``math.tan(0)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: The tangent of ``x``.\"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"\u5c06\u6570\u5b57\u5411 0 \u820d\u5165\u3002 (\u622a\u65ad)\n\nExample: ``math.trunc(-0.9)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: ``x`` rounded towards zero.\"\"\"\n ...\ne: float\n\"\"\"\u81ea\u7136\u5bf9\u6570\u7684\u5e95\u6570\"\"\"\npi: float\n\"\"\"\u5706\u7684\u5468\u957f\u4e0e\u5176\u76f4\u5f84\u7684\u6bd4\u503c\"\"\"", + "/typeshed/stdlib/micropython.pyi": "\"\"\"MicroPython \u5185\u8bbe\u3002 (MicroPython)\"\"\"\nfrom typing import Any, TypeVar, overload\n_T = TypeVar('_T')\n\ndef const(expr: _T) -> _T:\n \"\"\"\u7528\u4e8e\u58f0\u660e\u8868\u8fbe\u5f0f\u662f\u4e00\u4e2a\u5e38\u91cf\uff0c\u4ee5\u4fbf\u7f16\u8bd1\u5668\u53ef\u4ee5\u4f18\u5316\u5b83\u3002 (\u5e38\u6570)\n\nThe use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\nConstants declared this way are still accessible as global variables from\noutside the module they are declared in. On the other hand, if a constant\nbegins with an underscore then it is hidden, it is not available as a\nglobal variable, and does not take up any memory during execution.\n\n:param expr: (\u8868\u8fbe\u5f0f) \u4e00\u4e2a\u5e38\u91cf\u8868\u8fbe\u5f0f\u3002\"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"\u83b7\u53d6\u811a\u672c\u7f16\u8bd1\u7684\u5f53\u524d\u4f18\u5316\u7ea7\u522b\u3002 (\u4f18\u5316\u7ea7\u522b)\n\nExample: ``micropython.opt_level()``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n:return: An integer representing the current level.\"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"\u8bbe\u7f6e\u540e\u7eed\u811a\u672c\u7f16\u8bd1\u7684\u4f18\u5316\u7ea7\u522b\u3002 (\u4f18\u5316\u7ea7\u522b)\n\nExample: ``micropython.opt_level(1)``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\nThe default optimisation level is usually level 0.\n\n:param level: (\u7ea7\u522b) \u6574\u6570\u4f18\u5316\u7ea7\u522b\u3002\"\"\"\n ...\n\ndef mem_info(verbose: Any=None) -> None:\n \"\"\"\u6253\u5370\u4e0e\u5f53\u524d\u4f7f\u7528\u5185\u5b58\u76f8\u5173\u7684\u4fe1\u606f\u3002\n\nExample: ``micropython.mem_info()``\n\n:param verbose: (\u8be6\u7ec6) \u5982\u679c\u7ed9\u51fa ``verbose`` \u53c2\u6570\uff0c\u5219\u6253\u5370\u989d\u5916\u4fe1\u606f\u3002\"\"\"\n ...\n\ndef qstr_info(verbose: Any=None) -> None:\n \"\"\"\u6253\u5370\u4e0e\u5f53\u524d\u9a7b\u7559\u5b57\u7b26\u4e32\u76f8\u5173\u7684\u4fe1\u606f\u3002 (\u5b57\u7b26\u4e32\u4fe1\u606f)\n\nExample: ``micropython.qstr_info()``\n\n:param verbose: (\u8be6\u7ec6) \u5982\u679c\u7ed9\u51fa ``verbose`` \u53c2\u6570\uff0c\u5219\u6253\u5370\u989d\u5916\u4fe1\u606f\u3002\n\nThe information that is printed is implementation dependent, but currently\nincludes the number of interned strings and the amount of RAM they use. In\nverbose mode it prints out the names of all RAM-interned strings.\"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"\u8fd4\u56de\u4e00\u4e2a\u6574\u6570\uff0c\u6765\u8868\u793a\u5f53\u524d\u6b63\u5728\u4f7f\u7528\u7684\u5806\u6808\u6570\u91cf\u3002 (\u5806\u6808\u4f7f\u7528)\n\nExample: ``micropython.stack_use()``\n\nThe absolute value of this is not particularly useful, rather it\nshould be used to compute differences in stack usage at different points.\n\n:return: An integer representing current stack use.\"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"\u9501\u5b9a\u5806\u3002 (\u9501\u4f4f\u5806)\n\nExample: ``micropython.heap_lock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"\u89e3\u9501\u5806\u3002 (\u89e3\u9501\u5806)\n\nExample: ``micropython.heap_unlock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"\u8bbe\u7f6e\u5c06\u5f15\u53d1``KeyboardInterrupt``\u5f02\u5e38\u7684\u5b57\u7b26\u3002 (\u952e\u76d8\u4e2d\u65ad)\n\nExample: ``micropython.kbd_intr(-1)``\n\n:param chr: (\u5b57\u7b26) \u7528\u4e8e\u63d0\u9ad8\u4e2d\u65ad\u7684\u5b57\u7b26\u4ee3\u7801\uff1b\u6216\u8005-1\uff0c\u7528\u4e8e\u7981\u6b62\u6355\u83b7 Ctrl-C\u3002\n\nBy default this is set to 3 during script execution, corresponding to Ctrl-C.\nPassing -1 to this function will disable capture of Ctrl-C, and passing 3\nwill restore it.\n\nThis function can be used to prevent the capturing of Ctrl-C on the\nincoming stream of characters that is usually used for the REPL, in case\nthat stream is used for other purposes.\"\"\"\n ...", + "/typeshed/stdlib/music.pyi": "\"\"\"\u521b\u5efa\u5e76\u64ad\u653e\u65cb\u5f8b\u3002 (\u97f3\u4e50)\"\"\"\nfrom typing import Optional, Tuple, Union, List\nfrom .microbit import MicroBitDigitalPin, pin0\nDADADADUM: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u300a\u8d1d\u591a\u82ac C \u5c0f\u8c03\u7b2c\u4e94\u4ea4\u54cd\u66f2\u300b\u5f00\u573a\u66f2\u3002\"\"\"\nENTERTAINER: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u65af\u79d1\u7279\u00b7\u4e54\u666e\u6797\u7684\u62c9\u683c\u6cf0\u59c6\u7ecf\u5178\u201c\u6f14\u827a\u4eba\u201d\u7684\u5f00\u573a\u7247\u6bb5\u3002 (\u6f14\u827a\u4eba)\"\"\"\nPRELUDE: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u7ea6\u7ff0\u00b7\u585e\u5df4\u65af\u8482\u5b89\u00b7\u5df4\u8d6b48\u9996\u524d\u594f\u66f2\u548c\u8d4b\u683c\u66f2\u4e2d C \u5927\u8c03\u7b2c\u4e00\u524d\u594f\u66f2\u7684\u5f00\u573a\u3002 (\u5e8f\u5e55)\"\"\"\nODE: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u8d1d\u591a\u82ac D \u5c0f\u8c03\u7b2c\u4e5d\u4ea4\u54cd\u66f2\u4e2d\u7684\u201c\u6b22\u4e50\u9882\u201d\u4e3b\u9898\u3002 (\u6b22\u4e50\u9882)\"\"\"\nNYAN: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u5f69\u8679\u732b\u4e3b\u9898 (http://www.nyan.cat/)\u3002 (\u5f69\u8679\u732b)\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\nRINGTONE: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u542c\u8d77\u6765\u50cf\u624b\u673a\u94c3\u58f0\u7684\u4e50\u66f2\u3002 (\u94c3\u58f0)\n\nTo be used to indicate an incoming message.\n\"\"\"\nFUNK: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u4e00\u66f2\u4e3a\u7279\u5de5\u548c\u72af\u7f6a\u4e3b\u8c0b\u5236\u4f5c\u7684 funky bass\u3002 (\u670b\u514b)\"\"\"\nBLUES: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u5e03\u5409\u4f0d\u5409 12 \u5c0f\u8282\u5e03\u9c81\u65af walking bass\u3002 (\u5e03\u9c81\u65af)\"\"\"\nBIRTHDAY: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u201c\u795d\u4f60\u751f\u65e5\u5feb\u4e50\u2026\u2026\u201d (\u751f\u65e5)\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\nWEDDING: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u74e6\u683c\u7eb3\u6b4c\u5267\u300a\u7f57\u6069\u683c\u6797\u300b\u4e2d\u7684\u65b0\u5a18\u5408\u5531\u3002 (\u5a5a\u793c)\"\"\"\nFUNERAL: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u201c\u846c\u793c\u8fdb\u884c\u66f2\u201d\uff0c\u4e5f\u88ab\u79f0\u4e3a\u5f17\u96f7\u5fb7\u91cc\u514b\u8096\u90a6\u7684 B\u266d \u5c0f\u8c03\u7b2c\u4e8c\u94a2\u7434\u594f\u9e23\u66f2\uff0cOp. 35\u3002 (\u54c0\u4e50)\"\"\"\nPUNCHLINE: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u4e00\u4e2a\u6709\u8da3\u7684\u7247\u6bb5\uff0c\u8868\u793a\u5f00\u4e86\u4e00\u4e2a\u73a9\u7b11\u3002 (\u7b11\u70b9)\"\"\"\nPYTHON: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u7ea6\u7ff0\u00b7\u83f2\u5229\u666e\u00b7\u82cf\u8428\u7684\u8fdb\u884c\u66f2\u300a\u81ea\u7531\u949f\u300b\uff0c\u5373\u300a\u5de8\u87d2\u5267\u56e2\u4e4b\u98de\u7fd4\u7684\u9a6c\u620f\u56e2\u300b\u7684\u4e3b\u9898\u66f2\uff08Python \u7f16\u7a0b\u8bed\u8a00\u4ee5\u6b64\u547d\u540d\uff09\u3002 (Python)\"\"\"\nBADDY: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u9ed8\u7247\u65f6\u4ee3\u53cd\u9762\u89d2\u8272\u7684\u5165\u573a\u66f2\u3002 (\u53cd\u9762\u89d2\u8272)\"\"\"\nCHASE: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u65e0\u58f0\u7535\u5f71\u65f6\u4ee3\u7684\u8ffd\u9010\u573a\u666f\u3002 (\u8ffd\u9010)\"\"\"\nBA_DING: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u8868\u793a\u67d0\u4e8b\u53d1\u751f\u7684\u7b80\u77ed\u4fe1\u53f7\u3002\"\"\"\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u975e\u5e38\u60b2\u4f24\u7684\u957f\u53f7\u3002\"\"\"\nJUMP_UP: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u7528\u4e8e\u6e38\u620f\u4e2d\uff0c\u8868\u793a\u5411\u4e0a\u8fd0\u52a8\u3002 (\u5411\u4e0a\u8df3)\"\"\"\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u7528\u4e8e\u6e38\u620f\u4e2d\uff0c\u8868\u793a\u5411\u4e0b\u8fd0\u52a8\u3002 (\u5411\u4e0b\u8df3)\"\"\"\nPOWER_UP: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u8868\u793a\u89e3\u9501\u6210\u5c31\u7684\u53f7\u89d2\u3002 (\u80fd\u529b\u589e\u5f3a)\"\"\"\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u8868\u793a\u5931\u53bb\u6210\u5c31\u7684\u60b2\u4f24\u53f7\u89d2\u3002 (\u80fd\u529b\u51cf\u5f31)\"\"\"\n\ndef set_tempo(ticks: int=4, bpm: int=120) -> None:\n \"\"\"\u8bbe\u7f6e\u64ad\u653e\u7684\u5927\u81f4\u8282\u594f\u3002 (\u8bbe\u7f6e\u8282\u594f)\n\nExample: ``music.set_tempo(bpm=120)``\n\n:param ticks: (\u523b\u5ea6) \u6784\u6210\u4e00\u4e2a\u8282\u62cd\u7684\u523b\u5ea6\u6570\u3002\n:param bpm: (\u6bcf\u5206\u949f\u8282\u62cd\u6570) \u4e00\u4e2a\u6574\u6570\uff0c\u786e\u5b9a\u6bcf\u5206\u949f\u6709\u591a\u5c11\u62cd\u3002\n\nSuggested default values allow the following useful behaviour:\n\n- music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n- music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n- music.set_tempo(bpm=180) \u2013 just change the tempo\n\nTo work out the length of a tick in milliseconds is very simple arithmetic:\n60000/bpm/ticks_per_beat. For the default values that\u2019s\n60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"\u4ee5\u6574\u6570\u5143\u7ec4\u7684\u5f62\u5f0f\u83b7\u53d6\u5f53\u524d\u8282\u594f\uff1a``(ticks, bpm)``\u3002 (\u83b7\u5f97\u8282\u594f\u503c)\n\nExample: ``ticks, beats = music.get_tempo()``\n\n:return: The temp as a tuple with two integer values, the ticks then the beats per minute.\"\"\"\n ...\n\ndef play(music: Union[str, List[str], Tuple[str, ...]], pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True, loop: bool=False) -> None:\n \"\"\"\u64ad\u653e\u97f3\u4e50\u3002 (\u64ad\u653e)\n\nExample: ``music.play(music.NYAN)``\n\n:param music: (\u97f3\u4e50) `a special notation `_\u4e2d\u6307\u5b9a\u7684\u97f3\u4e50\n:param pin: (\u5f15\u811a) \u7528\u4e8e\u5916\u63a5\u626c\u58f0\u5668\u7684\u8f93\u51fa\u5f15\u811a\uff08\u9ed8\u8ba4\u4e3a ``pin0``\uff09\uff0c``None`` \u8868\u793a\u65e0\u58f0\u97f3\u3002\n:param wait: (\u7b49\u5f85) \u5982\u679c ``wait`` \u8bbe\u7f6e\u4e3a ``True``\uff0c\u5219\u6b64\u51fd\u6570\u963b\u585e\u3002\n:param loop: \u5982\u679c ``loop`` \u8bbe\u7f6e\u4e3a ``True``\uff0c\u66f2\u8c03\u4f1a\u91cd\u590d\u76f4\u5230\u8c03\u7528 ``stop`` \u6216\u963b\u585e\u8c03\u7528\u88ab\u4e2d\u65ad\u3002\n\nMany built-in melodies are defined in this module.\"\"\"\n ...\n\ndef pitch(frequency: int, duration: int=-1, pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True) -> None:\n \"\"\"\u64ad\u653e\u4e00\u4e2a\u97f3\u7b26\u3002 (\u97f3\u9ad8)\n\nExample: ``music.pitch(185, 1000)``\n\n:param frequency: (\u9891\u7387) \u6574\u6570\u9891\u7387\n:param duration: (\u6301\u7eed) \u4e00\u6beb\u79d2\u7684\u6301\u7eed\u65f6\u95f4\u3002\u5982\u679c\u662f\u8d1f\u7684\uff0c\u5219\u58f0\u97f3\u5c06\u6301\u7eed\u5230\u4e0b\u4e00\u6b21\u8c03\u7528\u6216\u5bf9 ``stop`` \u7684\u8c03\u7528\u3002\n:param pin: (\u5f15\u811a) \u53ef\u9009\u8f93\u51fa\u5f15\u811a\uff08\u9ed8\u8ba4\u503c``pin0``\uff09\u3002\n:param wait: (\u7b49\u5f85) \u5982\u679c ``wait`` \u8bbe\u7f6e\u4e3a ``True``\uff0c\u5219\u6b64\u51fd\u6570\u963b\u585e\u3002\n\nFor example, if the frequency is set to 440 and the length to\n1000 then we hear a standard concert A for one second.\n\nYou can only play one pitch on one pin at any one time.\"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"\u505c\u6b62\u5185\u7f6e\u626c\u58f0\u5668\u64ad\u653e\u4efb\u4f55\u97f3\u4e50\uff0c\u5e76\u505c\u6b62\u53d1\u51fa\u4efb\u4f55\u5f15\u811a\u8f93\u51fa\u7684\u58f0\u97f3\u3002 (\u505c\u6b62)\n\nExample: ``music.stop()``\n\n:param pin: (\u5f15\u811a) \u53ef\u4ee5\u63d0\u4f9b\u53ef\u9009\u53c2\u6570\u6765\u6307\u5b9a\u4e00\u4e2a\u5f15\u811a\uff0c\u5982``music.stop(pin1)``\u3002\"\"\"\n\ndef reset() -> None:\n \"\"\"\u5c06 ticks\u3001bpm\u3001duration \u548c octave\u91cd\u7f6e\u4e3a\u9ed8\u8ba4\u503c\u3002\n\nExample: ``music.reset()``\n\nValues:\n- ``ticks = 4``\n- ``bpm = 120``\n- ``duration = 4``\n- ``octave = 4``\"\"\"\n ...", + "/typeshed/stdlib/neopixel.pyi": "\"\"\"\u53ef\u5355\u72ec\u5bfb\u5740\u7684 RGB \u548c RGBW LED \u706f\u5e26\u3002 (Neopixel)\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"\u521d\u59cb\u5316\u4e00\u6761\u901a\u8fc7\u4e00\u4e2a\u5f15\u811a\u63a7\u5236\u7684\u65b0 neopixel LED \u706f\u5e26\u3002\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: (\u5f15\u811a) \u63a7\u5236 neopixel \u706f\u5e26\u7684\u5f15\u811a\u3002\n:param n: \u706f\u5e26\u4e2d neopixel \u706f\u73e0\u7684\u6570\u91cf\u3002\n:param bpp: (\u6bcf\u50cf\u7d20\u5b57\u8282\u6570) \u6bcf\u4e2a\u50cf\u7d20\u7684\u5b57\u8282\u6570\u3002\u5bf9\u4e8e RGB \u548c GRB \u800c\u8a00\uff0c\u53ea\u6709\u5c06\u8be5\u503c\u8bbe\u7f6e\u4e3a 4 \u800c\u4e0d\u662f\u9ed8\u8ba4\u503c 3\uff0cRGBW neopixel \u624d\u80fd\u652f\u6301\u3002\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"\u6e05\u9664\u6240\u6709\u50cf\u7d20\u3002 (\u6e05\u9664)\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"\u663e\u793a\u50cf\u7d20\u3002 (\u663e\u793a)\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"\u663e\u793a\u50cf\u7d20\uff08\u4ec5\u9650 micro:bit V2\uff09\u3002 (\u5199\u5165)\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"\u7528\u7ed9\u5b9a\u7684 RGB/RGBW \u503c\u4e3a\u6240\u6709\u50cf\u7d20\u7740\u8272\uff08\u4ec5\u9650 micro:bit V2\uff09\u3002 (\u586b\u5145)\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: (\u989c\u8272) \u957f\u5ea6\u4e0e\u6bcf\u50cf\u7d20\u5b57\u8282\u6570 (bpp) \u76f8\u540c\u7684\u5143\u7ec4\u3002\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"\u8bbe\u7f6e\u50cf\u7d20\u989c\u8272\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: (\u952e) \u50cf\u7d20\u6570\u3002\n:param value: \u989c\u8272\u3002\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"\u83b7\u53d6\u50cf\u7d20\u989c\u8272\u3002\n\nExample: ``r, g, b = np[0]``\n\n:param key: (\u952e) \u50cf\u7d20\u6570\u3002\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"\u83b7\u53d6\u6b64\u50cf\u7d20\u6761\u7684\u957f\u5ea6\u3002 (\u957f\u5ea6)\n\nExample: ``len(np)``\"\"\"", + "/typeshed/stdlib/os.pyi": "\"\"\"\u8bbf\u95ee\u6587\u4ef6\u7cfb\u7edf\u3002 (\u64cd\u4f5c\u7cfb\u7edf)\"\"\"\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"\u5217\u51fa\u6587\u4ef6\u3002 (\u5217\u51fa\u76ee\u5f55)\n\nExample: ``os.listdir()``\n\n:return: A list of the names of all the files contained within the local\npersistent on-device file system.\"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"\u79fb\u9664\uff08\u5220\u9664\uff09\u4e00\u4efd\u6587\u4ef6\u3002 (\u5220\u9664)\n\nExample: ``os.remove('data.txt')``\n\n:param filename: (\u6587\u4ef6\u540d) \u8981\u5220\u9664\u7684\u6587\u4ef6\u3002\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"\u8fd4\u56de\u6587\u4ef6\u7684\u5927\u5c0f\u3002 (\u5927\u5c0f)\n\nExample: ``os.size('data.txt')``\n\n:param filename: (\u6587\u4ef6\u540d) \u6b64\u6587\u4ef6\n:return: The size in bytes.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"``os.uname()`` \u7684\u7ed3\u679c (\u5f53\u524d\u7cfb\u7edf\u540d\u79f0\u7684\u8fd4\u56de\u7ed3\u679c)\"\"\"\n sysname: str\n \"\"\"\u64cd\u4f5c\u7cfb\u7edf\u540d\u79f0\u3002 (\u7cfb\u7edf\u540d\u5b57)\"\"\"\n nodename: str\n \"\"\"\u7f51\u7edc\u4e0a\u673a\u5668\u7684\u540d\u79f0\uff08\u5b9e\u73b0-\u5b9a\u4e49\uff09\u3002 (\u8282\u70b9\u540d\u5b57)\"\"\"\n release: str\n \"\"\"\u64cd\u4f5c\u7cfb\u7edf\u53d1\u5e03\u7248\u672c\u3002 (\u53d1\u5e03)\"\"\"\n version: str\n \"\"\"\u64cd\u4f5c\u7cfb\u7edf\u7248\u672c\u3002 (\u7248\u672c)\"\"\"\n machine: str\n \"\"\"\u786c\u4ef6\u6807\u8bc6\u7b26\u3002 (\u673a\u5668)\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"\u8fd4\u56de\u6807\u8bc6\u5f53\u524d\u64cd\u4f5c\u7cfb\u7edf\u7684\u4fe1\u606f\u3002 (\u5f53\u524d\u7cfb\u7edf\u540d\u79f0)\n\nExample: ``os.uname()``\n\nThe return value is an object with five attributes:\n\n- ``sysname`` - operating system name\n- ``nodename`` - name of machine on network (implementation-defined)\n- ``release`` - operating system release\n- ``version`` - operating system version\n- ``machine`` - hardware identifier\n\nThere is no underlying operating system in MicroPython. As a result the\ninformation returned by the ``uname`` function is mostly useful for\nversioning details.\"\"\"\n ...", + "/typeshed/stdlib/power.pyi": "\"\"\"Manage the power modes of the micro:bit (V2 only).\n\"\"\"\n\nfrom microbit import MicroBitDigitalPin, Button\nfrom typing import Optional, Tuple, Union\n\ndef off() -> None:\n \"\"\"Power down the board to the lowest possible power mode.\n\n Example: ``power.off()``\n\n This is the equivalent to pressing the reset button for a few seconds,\n to set the board in \"Off mode\".\n\n The micro:bit will only wake up if the reset button is pressed or,\n if on battery power, when a USB cable is connected.\n\n When the board wakes up it will start for a reset state, so your program\n will start running from the beginning.\n \"\"\"\n ...\n\ndef deep_sleep(\n ms: Optional[int] = None,\n wake_on: Optional[\n Union[MicroBitDigitalPin, Button] | Tuple[MicroBitDigitalPin | Button, ...]\n ] = None,\n run_every: bool = True,\n) -> None:\n \"\"\"Set the micro:bit into a low power mode where it can wake up and continue operation.\n\n Example: ``power.deep_sleep(wake_on=(button_a, button_b))``\n\n The program state is preserved and when it wakes up it will resume\n operation where it left off.\n\n Deep Sleep mode will consume more battery power than Off mode.\n\n The wake up sources are configured via arguments.\n\n The board will always wake up when receiving UART data, when the reset\n button is pressed (which resets the board) or, in battery power,\n when the USB cable is inserted.\n\n When the ``run_every`` parameter is set to ``True`` (the default), any\n function scheduled with ``run_every`` will momentarily wake up the board\n to run and when it finishes it will go back to sleep.\n\n :param ms: A time in milliseconds to wait before it wakes up.\n :param wake_on: A single instance or a tuple of pins and/or buttons to wake up the board, e.g. ``deep_sleep(wake_on=button_a)`` or ``deep_sleep(wake_on=(pin0, pin2, button_b))``.\n :param run_every: A boolean to configure if the functions scheduled with ``microbit.run_every`` will continue to run while it sleeps.\n \"\"\"\n ...\n", + "/typeshed/stdlib/radio.pyi": "\"\"\"\u4f7f\u7528\u5185\u7f6e\u65e0\u7ebf\u7535\u5728 micro:bit \u4e4b\u95f4\u8fdb\u884c\u901a\u4fe1\u3002 (\u65e0\u7ebf\u7535)\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\nRATE_1MBIT: int\n\"\"\"\u7528\u4e8e\u8868\u793a\u6bcf\u79d2 1 \u5146\u5b57\u8282\u541e\u5410\u91cf\u7684\u5e38\u6570\u3002 (\u901f\u7387 1Mbit)\"\"\"\nRATE_2MBIT: int\n\"\"\"\u7528\u4e8e\u8868\u793a\u6bcf\u79d2 2 \u5146\u5b57\u8282\u541e\u5410\u91cf\u7684\u5e38\u6570\u3002 (\u901f\u7387 2Mbit)\"\"\"\n\ndef on() -> None:\n \"\"\"\u6253\u5f00\u65e0\u7ebf\u7535\u3002 (\u6253\u5f00)\n\nExample: ``radio.on()``\n\nThis needs to be explicitly called since the radio draws power and takes\nup memory that you may otherwise need.\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"\u5173\u95ed\u65e0\u7ebf\u7535\u4ee5\u8282\u7701\u7535\u91cf\u548c\u5185\u5b58\u3002 (\u5173\u95ed)\n\nExample: ``radio.off()``\"\"\"\n ...\n\ndef config(length: int=32, queue: int=3, channel: int=7, power: int=6, address: int=1969383796, group: int=0, data_rate: int=RATE_1MBIT) -> None:\n \"\"\"\u914d\u7f6e\u65e0\u7ebf\u7535\u3002 (\u914d\u7f6e)\n\nExample: ``radio.config(group=42)``\n\nThe default configuration is suitable for most use.\n\n:param length: (\u957f\u5ea6) \uff08\u9ed8\u8ba4\u503c32\uff09\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff0c\u5b9a\u4e49\u4e86\u901a\u8fc7\u65e0\u7ebf\u7535\u4f20\u8f93\u6d88\u606f\u7684\u6700\u5927\u957f\u5ea6\u3002\n\u5176\u957f\u5ea6\u53ef\u8fbe 251 \u5b57\u8282\uff08S0\u3001LENGTH \u548c S1 \u524d\u5bfc\u7801\uff1a254-3 \u5b57\u8282\uff09\u3002\n:param queue: (\u961f\u5217) \uff08\u9ed8\u8ba4\u503c3\uff09\u89c4\u5b9a\u4e86\u4f20\u5165\u6d88\u606f\u961f\u5217\u4e2d\u53ef\u4ee5\u5b58\u50a8\u7684\u6d88\u606f\u6570\u91cf\u3002\n\u5982\u679c\u961f\u5217\u4e2d\u6ca1\u6709\u591a\u4f59\u7684\u7a7a\u95f4\u7559\u7ed9\u4f20\u5165\u7684\u6d88\u606f\uff0c\u90a3\u4e48\u4f20\u5165\u7684\u6d88\u606f\u5c31\u4f1a\u88ab\u4e22\u5f03\u3002\n:param channel: (\u4fe1\u9053) \uff08\u7f3a\u7701\u503c7\uff09\u8303\u56f4\u4e3a\u4ece0\u523083\uff08\u542b83\uff09\u7684\u6574\u6570\uff0c\u7528\u4e8e\u5b9a\u4e49\u4e00\u4efb\u610f\u201c\u4fe1\u9053\u201d\uff0c\u4ee5\u4fbf\u5c06\u65e0\u7ebf\u7535\u8c03\u5230\u8be5\u4fe1\u9053\u3002\u4fe1\u606f\u901a\u8fc7\u8be5\u4fe1\u9053\u53d1\u9001\uff0c\u5e76\u4e14\u53ea\u6709\u901a\u8fc7\u8be5\u4fe1\u9053\u63a5\u6536\u5230\u7684\u6d88\u606f\u624d\u88ab\u653e\u5230\u4f20\u5165\u6d88\u606f\u961f\u5217\u4e2d\u3002\u6bcf\u4e00\u6b65\u7684\u5bbd\u5ea6\u4e3a 1 MHz\uff0c\u57fa\u4e8e 2400 MHz\u3002\n:param power: (\u5e42\u6570) \uff08\u9ed8\u8ba4\u503c6\uff09\u7528\u4e8e\u8868\u793a\u5e7f\u64ad\u6d88\u606f\u65f6\u6240\u4f7f\u7528\u4fe1\u53f7\u5f3a\u5ea6\u7684\u6574\u6570\u503c\uff0c\u5176\u8303\u56f4\u4e3a\u4ece0\u52307\uff08\u5305\u542b7\uff09\u3002\n\u8be5\u503c\u8d8a\u5927\uff0c\u4fe1\u53f7\u8d8a\u5f3a\uff0c\u4f46\u8bbe\u5907\u6d88\u8017\u7684\u529f\u7387\u4e5f\u8d8a\u5927\u3002\u5176\u7f16\u7801\u8f6c\u6362\u4e3a\u4ee5\u4e0b dBm\uff08\u5206\u8d1d\u6beb\u74e6\uff09\u503c\u5217\u8868\u4e2d\u7684\u4e0d\u540c\u503c\uff1a-30, -20, -16, -12, -8, -4, 0, 4\u3002\n:param address: (\u5730\u5740) (default=0x75626974) \u4efb\u610f\u540d\u79f0\uff0c\u8868\u793a\u4e3a 32 \u4f4d\u5730\u5740\uff0c\u7528\u4e8e\u5728\u786c\u4ef6\u7ea7\u522b\u8fc7\u6ee4\u4f20\u5165\u7684\u6570\u636e\u5305\uff0c\u4ec5\u4fdd\u7559\u4e0e\u60a8\u8bbe\u7f6e\u7684\u5730\u5740\u5339\u914d\u7684\u6570\u636e\u5305\u3002\n\u5176\u4ed6 micro:bit \u76f8\u5173\u5e73\u53f0\u4f7f\u7528\u7684\u9ed8\u8ba4\u8bbe\u7f6e\u4e0e\u6b64\u5904\u7684\u9ed8\u8ba4\u8bbe\u7f6e\u76f8\u540c\u3002\n:param group: (\u7fa4\u7ec4) \uff08\u9ed8\u8ba4\u503c0\uff09\u8fc7\u6ee4\u6d88\u606f\u65f6\u4e0e ``address`` \u4e00\u8d77\u4f7f\u7528\u7684 8 \u4f4d\u7684\u6570\u503c\uff080-255\uff09\u3002\n\u4ece\u6982\u5ff5\u4e0a\u8bb2\uff0c\"address\u201d\u5c31\u50cf\u623f\u5c4b\u6216\u529e\u516c\u5ba4\u7684\u5730\u5740\uff0c\u800c\u201cgroup\u201d\u5c31\u50cf\u4f4f\u5728\u8be5\u5730\u5740\uff0c\u5e76\u4e14\u4f60\u60f3\u7ed9\u4ed6\u6216\u5979\u53d1\u6d88\u606f\u7684\u90a3\u4e2a\u4eba\u3002\n:param data_rate: (\u6570\u636e\u4f20\u8f93\u901f\u7387) \uff08\u9ed8\u8ba4\u503c``radio.RATE_1MBIT``\uff09\u8868\u793a\u6570\u636e\u541e\u5410\u901f\u5ea6\u3002\n\u53ef\u4ee5\u662f``radio``\u6a21\u5757\u4e2d\u5b9a\u4e49\u7684\u4ee5\u4e0b\u5e38\u6570\u4e4b\u4e00\uff1a``RATE_250KBIT``\u3001``RATE_1MBIT`` \u6216 ``RATE_2MBIT``\u3002\n\nIf ``config`` is not called then the defaults described above are assumed.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"\u5c06\u8bbe\u7f6e\u91cd\u8bbe\u4e3a\u9ed8\u8ba4\u503c\u3002\n\nExample: ``radio.reset()``\n\nThe defaults as as per the ``config`` function above.\"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"\u53d1\u9001\u4e00\u6761\u5305\u542b\u5b57\u8282\u7684\u6d88\u606f\u3002 (\u53d1\u9001\u5b57\u8282)\n\nExample: ``radio.send_bytes(b'hello')``\n\n:param message: (\u6d88\u606f) \u5f85\u53d1\u9001\u7684\u5b57\u8282\u3002\"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"\u63a5\u6536\u6d88\u606f\u961f\u5217\u4e2d\u7684\u4e0b\u4e00\u6761\u4f20\u5165\u6d88\u606f\u3002 (\u63a5\u6536\u5b57\u8282)\n\nExample: ``radio.receive_bytes()``\n\n:return: The message bytes if any, otherwise ``None``.\"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"\u5c06\u6d88\u606f\u961f\u5217\u4e2d\u7684\u4e0b\u4e00\u6761\u4f20\u5165\u6d88\u606f\u590d\u5236\u5230\u7f13\u51b2\u533a\u3002 (\u63a5\u6536\u4f20\u5165\u7684\u5b57\u8282)\n\nExample: ``radio.receive_bytes_info(buffer)``\n\n:param buffer: (\u7f13\u51b2\u533a) \u76ee\u6807\u7f13\u51b2\u533a\u3002\u5982\u679c\u6d88\u606f\u5927\u5c0f\u5927\u4e8e\u7f13\u51b2\u533a\uff0c\u5219\u6d88\u606f\u4f1a\u88ab\u622a\u65ad\u3002\n:return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"\u53d1\u9001\u6d88\u606f\u5b57\u7b26\u4e32\u3002 (\u53d1\u9001)\n\nExample: ``radio.send('hello')``\n\nThis is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\nprepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n:param message: (\u6d88\u606f) \u5f85\u53d1\u9001\u7684\u5b57\u7b26\u4e32\u3002\"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"\u6309\u7167\u4e0e``receive_bytes``\u5b8c\u5168\u76f8\u540c\u7684\u5de5\u4f5c\u65b9\u5f0f\uff0c\u4f46\u662f\u8fd4\u56de\u6240\u53d1\u9001\u7684\u5185\u5bb9\u3002 (\u63a5\u6536)\n\nExample: ``radio.receive()``\n\nEquivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\nthree bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\nmay target the micro:bit).\n\n:return: The message with the prepended bytes stripped and converted to a string.\n\nA ``ValueError`` exception is raised if conversion to string fails.\"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"\u8fd4\u56de\u4e00\u4e2a\u5305\u542b\u4e09\u4e2a\u6570\u503c\u7684\u5143\u7ec4\uff0c\u7528\u6765\u4ee3\u8868\u6d88\u606f\u961f\u5217\u4e2d\u7684\u4e0b\u4e00\u6761\u4f20\u5165\u6d88\u606f\u3002 (\u63a5\u53d7\u5b8c\u6574\u6d88\u606f)\n\nExample: ``radio.receive_full()``\n\nIf there are no pending messages then ``None`` is returned.\n\nThe three values in the tuple represent:\n\n- the next incoming message on the message queue as bytes.\n- the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n- a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\nFor example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\nThis function is useful for providing information needed for triangulation\nand/or trilateration with other micro:bit devices.\n\n:return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\"\"\"\n ...", + "/typeshed/stdlib/random.pyi": "\"\"\"\u751f\u6210\u968f\u673a\u6570\u3002 (\u968f\u673a\u6570)\"\"\"\nfrom typing import TypeVar, Sequence, Union, overload\n\ndef getrandbits(n: int) -> int:\n \"\"\"\u751f\u6210\u4e00\u4e2a\u5177\u6709``n``\u4e2a\u968f\u673a\u4f4d\u7684\u6574\u6570\u3002 (\u751f\u6210\u968f\u673a\u4f4d)\n\nExample: ``random.getrandbits(1)``\n\n:param n: \u4e00\u4e2a\u57281\u523030\u4e4b\u95f4\uff08\u5305\u542b30\uff09\u7684\u6570\u503c\u3002\"\"\"\n ...\n\ndef seed(n: int) -> None:\n \"\"\"\u521d\u59cb\u5316\u968f\u673a\u6570\u751f\u6210\u5668\u3002 (\u79cd\u5b50)\n\nExample: ``random.seed(0)``\n\n:param n: \u6574\u6570\u79cd\u5b50\n\nThis will give you reproducibly deterministic randomness from a given starting\nstate (``n``).\"\"\"\n ...\n\ndef randint(a: int, b: int) -> int:\n \"\"\"\u5728``a``\u5230``b``\uff08\u5305\u542b``b``\uff09\u4e4b\u95f4\u968f\u673a\u9009\u62e9\u4e00\u4e2a\u6574\u6570\u3002 (\u968f\u673a\u6574\u6570)\n\nExample: ``random.randint(0, 9)``\n\n:param a: \u533a\u95f4\u8d77\u59cb\u503c\uff08\u5305\u542b\uff09\n:param b: \u533a\u95f4\u7ed3\u675f\u503c\uff08\u5305\u542b\uff09\n\nAlias for ``randrange(a, b + 1)``.\"\"\"\n ...\n\n@overload\ndef randrange(stop: int) -> int:\n \"\"\"\u5728\u96f6\u5230``stop``\uff08\u4e0d\u542b``stop``\uff09\u4e4b\u95f4\u968f\u673a\u9009\u62e9\u4e00\u4e2a\u6574\u6570\u3002 (\u968f\u673a\u533a\u95f4)\n\nExample: ``random.randrange(10)``\n\n:param stop: (\u7ed3\u675f\u503c) \u533a\u95f4\u7ed3\u675f\u503c\uff08\u4e0d\u542b\uff09\"\"\"\n ...\n\n@overload\ndef randrange(start: int, stop: int, step: int=1) -> int:\n \"\"\"\u4ece\u533a\u95f4``range(start, stop, step)``\u4e2d\u968f\u673a\u9009\u62e9\u4e00\u4e2a\u5143\u7d20\u3002 (\u968f\u673a\u533a\u95f4)\n\nExample: ``random.randrange(0, 10)``\n\n:param start: (\u8d77\u59cb\u503c) \u533a\u95f4\u8d77\u59cb\u503c\uff08\u5305\u542b\uff09\n:param stop: (\u7ed3\u675f\u503c) \u533a\u95f4\u7ed3\u675f\u503c\uff08\u4e0d\u542b\uff09\n:param step: (\u6b65\u957f) \u6b65\u957f\u3002\"\"\"\n ...\n_T = TypeVar('_T')\n\ndef choice(seq: Sequence[_T]) -> _T:\n \"\"\"\u4ece\u975e\u7a7a\u5e8f\u5217``seq``\u4e2d\u9009\u62e9\u4e00\u4e2a\u968f\u673a\u5143\u7d20\u3002 (\u9009\u62e9)\n\nExample: ``random.choice([Image.HAPPY, Image.SAD])``\n\n:param seq: (\u5e8f\u5217) \u5e8f\u5217\u3002\n\nIf ``seq`` is empty, raises ``IndexError``.\"\"\"\n ...\n\ndef random() -> float:\n \"\"\"\u5728\u533a\u95f4[0.0, 1.0)\u5185\u751f\u6210\u4e00\u4e2a\u968f\u673a\u6d6e\u70b9\u6570\u3002 (\u968f\u673a)\n\nExample: ``random.random()``\n\n:return: The random floating point number\"\"\"\n ...\n\ndef uniform(a: float, b: float) -> float:\n \"\"\"\u8fd4\u56de\u4e00\u4e2a\u4ecb\u4e8e``a``\u548c``b``\uff08\u5305\u542b``b``\uff09\u4e4b\u95f4\u7684\u968f\u673a\u6d6e\u70b9\u6570\u3002 (\u5747\u5300\u5206\u5e03\u968f\u673a\u6570)\n\nExample: ``random.uniform(0, 9)``\n\n:param a: \u533a\u95f4\u8d77\u59cb\u503c\uff08\u5305\u542b\uff09\n:param b: \u533a\u95f4\u7ed3\u675f\u503c\uff08\u5305\u542b\uff09\"\"\"\n ...", + "/typeshed/stdlib/speech.pyi": "\"\"\"\u4f7f micro:bit \u8bf4\u8bdd\u3001\u5531\u6b4c\u548c\u53d1\u51fa\u5176\u4ed6\u7c7b\u4f3c\u8bed\u97f3\u7684\u58f0\u97f3\u3002 (\u8bed\u97f3)\"\"\"\nfrom typing import Optional\nfrom .microbit import MicroBitDigitalPin, pin0\n\ndef translate(words: str) -> str:\n \"\"\"\u628a\u82f1\u8bed\u5355\u8bcd\u7ffb\u8bd1\u6210\u97f3\u7d20\u3002 (\u7ffb\u8bd1)\n\nExample: ``speech.translate('hello world')``\n\n:param words: (\u5355\u8bcd) \u4e00\u8fde\u4e32\u82f1\u8bed\u5355\u8bcd\u3002\n:return: A string containing a best guess at the appropriate phonemes to pronounce.\nThe output is generated from this `text to phoneme translation table `_.\n\nThis function should be used to generate a first approximation of phonemes\nthat can be further hand-edited to improve accuracy, inflection and\nemphasis.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef pronounce(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"\u53d1\u51fa\u97f3\u7d20\u7684\u58f0\u97f3\u3002 (\u53d1\u97f3)\n\nExample: ``speech.pronounce(' /HEHLOW WERLD')``\n\n:param phonemes: (\u97f3\u7d20) \u8981\u53d1\u97f3\u7684\u97f3\u7d20\u4e32\n:param pitch: (\u97f3\u9ad8) \u4ee3\u8868\u58f0\u97f3\u97f3\u9ad8\u7684\u6570\u5b57\n:param speed: (\u901f\u5ea6\uff1a) \u4ee3\u8868\u58f0\u97f3\u901f\u5ea6\u7684\u6570\u5b57\n:param mouth: (\u5634\u5df4) \u8868\u793a\u58f0\u97f3\u53e3\u578b\u7684\u6570\u5b57\n:param throat: (\u5589\u90e8) \u8868\u793a\u58f0\u97f3\u5589\u578b\u7684\u6570\u5b57\n:param pin: (\u5f15\u811a) \u53ef\u9009\u53c2\u6570\uff0c\u53ef\u7528\u4e8e\u6307\u5b9a\u8f93\u51fa\u5f15\u811a\u6765\u8986\u76d6 ``pin0`` \u9ed8\u8ba4\u503c\u3002\n\u5982\u679c\u4e0d\u60f3\u4ece\u5f15\u811a\u4e0a\u64ad\u653e\u4efb\u4f55\u58f0\u97f3\uff0c\u53ef\u4ee5\u4f7f\u7528 ``pin=None``\u3002\u4ec5\u9650micro:bit V2\u3002\n\nOverride the optional pitch, speed, mouth and throat settings to change the\ntimbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef say(words: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"\u8bf4\u82f1\u8bed\u5355\u8bcd\u3002 (\u8bf4)\n\nExample: ``speech.say('hello world')``\n\n:param words: (\u5355\u8bcd) \u8981\u8bf4\u7684\u8bcd\u4e32\u3002\n:param pitch: (\u97f3\u9ad8) \u4ee3\u8868\u58f0\u97f3\u97f3\u9ad8\u7684\u6570\u5b57\n:param speed: (\u901f\u5ea6) \u4ee3\u8868\u58f0\u97f3\u901f\u5ea6\u7684\u6570\u5b57\n:param mouth: (\u5634\u90e8) \u8868\u793a\u58f0\u97f3\u53e3\u578b\u7684\u6570\u5b57\n:param throat: (\u5589\u90e8) \u8868\u793a\u58f0\u97f3\u5589\u578b\u7684\u6570\u5b57\n:param pin: (\u5f15\u811a) \u53ef\u9009\u53c2\u6570\uff0c\u53ef\u7528\u4e8e\u6307\u5b9a\u8f93\u51fa\u5f15\u811a\u6765\u8986\u76d6 ``pin0`` \u9ed8\u8ba4\u503c\u3002\n\u5982\u679c\u4e0d\u60f3\u4ece\u5f15\u811a\u4e0a\u64ad\u653e\u4efb\u4f55\u58f0\u97f3\uff0c\u53ef\u4ee5\u4f7f\u7528 ``pin=None``\u3002\u4ec5\u9650micro:bit V2\u3002\n\nThe result is semi-accurate for English. Override the optional pitch, speed,\nmouth and throat settings to change the timbre (quality) of the voice.\n\nThis is a short-hand equivalent of:\n``speech.pronounce(speech.translate(words))``\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef sing(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"\u5531\u97f3\u7d20\u3002 (\u5531\u6b4c)\n\nExample: ``speech.sing(' /HEHLOW WERLD')``\n\n:param phonemes: (\u97f3\u7d20) \u8981\u5531\u7684\u8bcd\u4e32\u3002\n:param pitch: (\u97f3\u9ad8) \u4ee3\u8868\u58f0\u97f3\u97f3\u9ad8\u7684\u6570\u5b57\n:param speed: (\u901f\u5ea6) \u4ee3\u8868\u58f0\u97f3\u901f\u5ea6\u7684\u6570\u5b57\n:param mouth: (\u5634\u90e8) \u8868\u793a\u58f0\u97f3\u53e3\u578b\u7684\u6570\u5b57\n:param throat: (\u5589\u90e8) \u8868\u793a\u58f0\u97f3\u5589\u578b\u7684\u6570\u5b57\n:param pin: (\u5f15\u811a) \u53ef\u9009\u53c2\u6570\uff0c\u53ef\u7528\u4e8e\u6307\u5b9a\u8f93\u51fa\u5f15\u811a\u6765\u8986\u76d6 ``pin0`` \u9ed8\u8ba4\u503c\u3002\n\u5982\u679c\u4e0d\u60f3\u4ece\u5f15\u811a\u4e0a\u64ad\u653e\u4efb\u4f55\u58f0\u97f3\uff0c\u53ef\u4ee5\u4f7f\u7528 ``pin=None``\u3002\u4ec5\u9650micro:bit V2\u3002\n\nOverride the optional pitch, speed, mouth and throat settings to change\nthe timbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...", + "/typeshed/stdlib/struct.pyi": "\"\"\"\u6253\u5305\u548c\u89e3\u5305\u539f\u59cb\u6570\u636e\u7c7b\u578b\u3002 (\u7ed3\u6784)\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom typing import Any, Tuple, Union\n\ndef calcsize(fmt: str) -> int:\n \"\"\"\u83b7\u53d6\u5b58\u50a8\u7ed9\u5b9a ``fmt`` \u6240\u9700\u7684\u5b57\u8282\u6570\u3002 (\u8ba1\u7b97\u5927\u5c0f)\n\nExample: ``struct.calcsize('hf')``\n\n:param fmt: (\u683c\u5f0f\u5b57\u7b26\u4e32) \u683c\u5f0f\u5b57\u7b26\u4e32\u3002\n:return The number of bytes needed to store such a value.\"\"\"\n ...\n\ndef pack(fmt: str, v1: Any, *vn: Any) -> bytes:\n \"\"\"\u6839\u636e\u683c\u5f0f\u5b57\u7b26\u4e32\u6253\u5305\u503c\u3002 (\u6253\u5305)\n\nExample: ``struct.pack('hf', 1, 3.1415)``\n\n:param fmt: (\u683c\u5f0f\u5b57\u7b26\u4e32) \u683c\u5f0f\u5b57\u7b26\u4e32\u3002\n:param v1: \u7b2c\u4e00\u4e2a\u503c\u3002\n:param *vn: \u5269\u4f59\u503c\u3002\n:return A bytes object encoding the values.\"\"\"\n ...\n\ndef pack_into(fmt: str, buffer: WriteableBuffer, offset: int, v1: Any, *vn: Any) -> None:\n \"\"\"\u6839\u636e\u683c\u5f0f\u5b57\u7b26\u4e32\u6253\u5305\u503c\u3002\n\nExample: ``struct.pack_info('hf', buffer, 1, 3.1415)``\n\n:param fmt: (\u683c\u5f0f\u5b57\u7b26\u4e32) \u683c\u5f0f\u5b57\u7b26\u4e32\u3002\n:param buffer: (\u7f13\u51b2\u533a) \u5f85\u5199\u5165\u7684\u76ee\u6807\u7f13\u51b2\u533a\u3002\n:param offset: (\u504f\u79fb\u91cf) \u7f13\u51b2\u533a\u5185\u7684\u504f\u79fb\u91cf\u3002\u5982\u679c\u4ece\u7f13\u51b2\u533a\u672b\u7aef\u5f00\u59cb\u7b97\u8d77\uff0c\u8be5\u504f\u79fb\u91cf\u53ef\u80fd\u662f\u8d1f\u6570\u3002\n:param v1: \u7b2c\u4e00\u4e2a\u503c\u3002\n:param *vn: \u5269\u4f59\u503c\u3002\"\"\"\n ...\n\ndef unpack(fmt: str, data: ReadableBuffer) -> Tuple[Any, ...]:\n \"\"\"\u6839\u636e\u683c\u5f0f\u5b57\u7b26\u4e32\u89e3\u538b\u6570\u636e\u3002 (\u89e3\u5305)\n\nExample: ``v1, v2 = struct.unpack('hf', buffer)``\n\n:param fmt: (\u683c\u5f0f\u5b57\u7b26\u4e32) \u683c\u5f0f\u5b57\u7b26\u4e32\u3002\n:param data: (\u6570\u636e) \u6570\u636e\u3002\n:return: A tuple of the unpacked values.\"\"\"\n ...\n\ndef unpack_from(fmt: str, buffer: ReadableBuffer, offset: int=0) -> Tuple:\n \"\"\"\u6839\u636e\u683c\u5f0f\u5b57\u7b26\u4e32\u4ece\u7f13\u51b2\u533a\u89e3\u538b\u6570\u636e\u3002\n\nExample: ``v1, v2 = struct.unpack_from('hf', buffer)``\n\n:param fmt: (\u683c\u5f0f\u5b57\u7b26\u4e32) \u683c\u5f0f\u5b57\u7b26\u4e32\u3002\n:param buffer: \u5f85\u8bfb\u53d6\u7684\u6e90\u7f13\u51b2\u533a\u3002\n:param offset: (\u504f\u79fb\u91cf) \u7f13\u51b2\u533a\u5185\u7684\u504f\u79fb\u91cf\u3002\u5982\u679c\u4ece\u7f13\u51b2\u533a\u672b\u7aef\u5f00\u59cb\u7b97\u8d77\uff0c\u8be5\u504f\u79fb\u91cf\u53ef\u80fd\u662f\u8d1f\u6570\u3002\n:return: A tuple of the unpacked values.\"\"\"\n ...", + "/typeshed/stdlib/sys.pyi": "\"\"\"\u7cfb\u7edf\u7279\u5b9a\u529f\u80fd (\u7cfb\u7edf)\"\"\"\nfrom typing import Any, Dict, List, NoReturn, TextIO, Tuple\n\ndef exit(retval: object=...) -> NoReturn:\n \"\"\"\u6839\u636e\u7ed9\u5b9a\u9000\u51fa\u4ee3\u7801\u7ec8\u6b62\u5f53\u524d\u7a0b\u5e8f\u3002 (\u9000\u51fa)\n\nExample: ``sys.exit(1)``\n\nThis function raises a ``SystemExit`` exception. If an argument is given, its\nvalue given as an argument to ``SystemExit``.\n\n:param retval: (\u8fd4\u56de\u503c) \u9000\u51fa\u4ee3\u7801\u6216\u8005\u6d88\u606f\u3002\"\"\"\n ...\n\ndef print_exception(exc: Exception) -> None:\n \"\"\"\u6253\u5370\u5e26\u6709\u56de\u6eaf\u7684\u5f02\u5e38\u3002 (\u6253\u5370\u5f02\u5e38)\n\nExample: ``sys.print_exception(e)``\n\n:param exc: (\u5f02\u5e38) \u9700\u6253\u5370\u7684\u5f02\u5e38\n\nThis is simplified version of a function which appears in the\n``traceback`` module in CPython.\"\"\"\nargv: List[str]\n\"\"\"\u5f53\u524d\u7a0b\u5e8f\u542f\u52a8\u65f6\u4f7f\u7528\u7684\u53c2\u6570\u7684\u53ef\u53d8\u5217\u8868\u3002 (\u53c2\u6570)\"\"\"\nbyteorder: str\n\"\"\"\u7cfb\u7edf\u7684\u5b57\u8282\u987a\u5e8f (``\"little\"`` \u6216 ``\"big\"``)\u3002 (\u5b57\u8282\u5e8f)\"\"\"\n\nclass _implementation:\n name: str\n version: Tuple[int, int, int]\nimplementation: _implementation\n\"\"\"\u5305\u542b\u6709\u5173\u5f53\u524d Python \u5b9e\u73b0\u7684\u4fe1\u606f\u7684\u5bf9\u8c61\u3002 (\u5b9e\u73b0)\n\nFor MicroPython, it has following attributes:\n\n- ``name`` - string \"micropython\"\n- ``version`` - tuple (major, minor, micro), e.g. (1, 7, 0)\n\nThis object is the recommended way to distinguish MicroPython from other\nPython implementations (note that it still may not exist in the very\nminimal ports).\n\nCPython mandates more attributes for this object, but the actual useful\nbare minimum is implemented in MicroPython.\n\"\"\"\nmaxsize: int\n\"\"\"\n\u5728\u5f53\u524d\u5e73\u53f0\u4e0a\u53ef\u4ee5\u5bb9\u7eb3\u7684\u6574\u6570\u7c7b\u578b\u7684\u6700\u5927\u503c\uff0c\n\u6216 MicroPython \u6574\u6570\u7c7b\u578b\u53ef\u8868\u793a\u7684\u6700\u5927\u503c\uff0c\u5982\u679c\u5b83\u5c0f\u4e8e\n\u5e73\u53f0\u7684\u6700\u5927\u503c\uff08\u8fd9\u89c1\u4e8e MicroPython \u7aef\u53e3\u4e0d\u652f\u6301\u957f\u6574\u6570\u7684\u60c5\u51b5\uff09\u3002 (\u6700\u5927\u503c)\n\nThis attribute is useful for detecting \"bitness\" of a platform (32-bit vs\n64-bit, etc.). It's recommended to not compare this attribute to some\nvalue directly, but instead count number of bits in it::\n\n bits = 0\n v = sys.maxsize\n while v:\n bits += 1\n v >>= 1\n if bits > 32:\n # 64-bit (or more) platform\n ...\n else:\n # 32-bit (or less) platform\n # Note that on 32-bit platform, value of bits may be less than 32\n # (e.g. 31) due to peculiarities described above, so use \"> 16\",\n # \"> 32\", \"> 64\" style of comparisons.\n\"\"\"\nmodules: Dict[str, Any]\n\"\"\"\u5df2\u52a0\u8f7d\u6a21\u5757\u7684\u5b57\u5178\u3002 (\u6a21\u5757) \n\nOn some ports, it may not include builtin modules.\"\"\"\npath: List[str]\n\"\"\"\u7528\u4e8e\u641c\u7d22\u5bfc\u5165\u6a21\u5757\u7684\u76ee\u5f55\u7684\u53ef\u53d8\u5217\u8868\u3002 (\u8def\u5f84)\"\"\"\nplatform: str\n\"\"\"\u6b63\u5728\u8fd0\u884c MicroPython \u7684\u5e73\u53f0\u3002 (\u5e73\u53f0) \n\nFor OS/RTOS ports, this is usually an identifier of the OS, e.g. ``\"linux\"``.\nFor baremetal ports it is an identifier of a board, e.g. ``\"pyboard\"`` for \nthe original MicroPython reference board. It thus can be used to\ndistinguish one board from another.\n\nIf you need to check whether your program runs on MicroPython (vs other\nPython implementation), use ``sys.implementation`` instead.\n\"\"\"\nversion: str\n\"\"\"\u6b64\u5b9e\u73b0\u7b26\u5408\u7684 Python \u8bed\u8a00\u7248\u672c\uff0c\u4e3a\u5b57\u7b26\u4e32\u3002 (\u7248\u672c)\"\"\"\nversion_info: Tuple[int, int, int]\n\"\"\"\u6b64\u5b9e\u73b0\u7b26\u5408\u7684 Python \u8bed\u8a00\u7248\u672c\uff0c\u4e3a\u6574\u6570\u5143\u7ec4\u3002 (\u7248\u672c\u4fe1\u606f)\n\nOnly the first three version numbers (major, minor, micro) are supported and\nthey can be referenced only by index, not by name.\n\"\"\"", + "/typeshed/stdlib/this.pyi": "def authors() -> str: ...\n", + "/typeshed/stdlib/time.pyi": "\"\"\"\u6d4b\u91cf\u65f6\u95f4\u5e76\u7ed9\u7a0b\u5e8f\u6dfb\u52a0\u5ef6\u8fdf\u3002 (\u65f6\u95f4)\"\"\"\nfrom typing import Union\n\ndef sleep(seconds: Union[int, float]) -> None:\n \"\"\"\u5ef6\u8fdf\u51e0\u79d2\u949f\u3002 (\u4f11\u7720)\n\nExample: ``time.sleep(1)``\n\n:param seconds: (\u79d2) \u4f11\u7720\u7684\u79d2\u6570\u3002\n\u4f7f\u7528\u6d6e\u70b9\u6570\u4f11\u7720\u5c0f\u6570\u79d2\u6570\u3002\"\"\"\n ...\n\ndef sleep_ms(ms: int) -> None:\n \"\"\"\u5ef6\u8fdf\u7ed9\u5b9a\u7684\u6beb\u79d2\u6570\u3002 (\u4f11\u7720\u5ef6\u8fdf\u4ee5\u6beb\u79d2\u8ba1\u7b97)\n\nExample: ``time.sleep_ms(1_000_000)``\n\n:param ms: (\u6beb\u79d2) \u5ef6\u8fdf\u7684\u6beb\u79d2\u6570 (>= 0)\u3002\"\"\"\n ...\n\ndef sleep_us(us: int) -> None:\n \"\"\"\u5ef6\u8fdf\u7ed9\u5b9a\u7684\u5fae\u79d2\u6570\u3002 (\u4f11\u7720\u5ef6\u8fdf\u4ee5\u5fae\u79d2\u8ba1\u7b97)\n\nExample: ``time.sleep_us(1000)``\n\n:param us: (\u5fae\u79d2) \u5ef6\u8fdf\u7684\u5fae\u79d2\u6570 (>= 0)\u3002\"\"\"\n ...\n\ndef ticks_ms() -> int:\n \"\"\"\u83b7\u53d6\u4e00\u4e2a\u5177\u6709\u4efb\u610f\u53c2\u8003\u70b9\u3001\u9012\u589e\u7684\u6beb\u79d2\u7ea7\u8ba1\u6570\u5668\uff0c\u8be5\u8ba1\u6570\u5668\u5728\u67d0\u4e2a\u503c\u4e4b\u540e\u80fd\u591f\u7ed5\u56de\u3002 (\u6beb\u79d2\u7ea7\u523b\u5ea6)\n\nExample: ``time.ticks_ms()``\n\n:return: The counter value in milliseconds.\"\"\"\n ...\n\ndef ticks_us() -> int:\n \"\"\"\u83b7\u53d6\u4e00\u4e2a\u5177\u6709\u4efb\u610f\u53c2\u8003\u70b9\u3001\u9012\u589e\u7684\u5fae\u79d2\u7ea7\u8ba1\u6570\u5668\uff0c\u8be5\u8ba1\u6570\u5668\u5728\u67d0\u4e2a\u503c\u4e4b\u540e\u80fd\u591f\u7ed5\u56de\u3002 (\u5fae\u79d2\u7ea7\u523b\u5ea6)\n\nExample: ``time.ticks_us()``\n\n:return: The counter value in microseconds.\"\"\"\n ...\n\ndef ticks_add(ticks: int, delta: int) -> int:\n \"\"\"\u7ed9\u5b9a\u6570\u5b57\u7684\u504f\u79fb\u523b\u5ea6\u503c\uff0c\u53ef\u4ee5\u662f\u6b63\u6570\u6216\u8d1f\u6570\u3002 (\u589e\u52a0\u523b\u5ea6)\n\nExample: ``time.ticks_add(time.ticks_ms(), 200)``\n\nGiven a ticks value, this function allows to calculate ticks\nvalue delta ticks before or after it, following modular-arithmetic\ndefinition of tick values.\n\n:param ticks: (\u523b\u5ea6) \u4e00\u4e2a\u523b\u5ea6\u503c\n:param delta: \u6574\u6570\u504f\u79fb\u91cf\n\nExample::\n\n # Find out what ticks value there was 100ms ago\n print(ticks_add(time.ticks_ms(), -100))\n\n # Calculate deadline for operation and test for it\n deadline = ticks_add(time.ticks_ms(), 200)\n while ticks_diff(deadline, time.ticks_ms()) > 0:\n do_a_little_of_something()\n\n # Find out TICKS_MAX used by this port\n print(ticks_add(0, -1))\"\"\"\n ...\n\ndef ticks_diff(ticks1: int, ticks2: int) -> int:\n \"\"\"\u6d4b\u91cf\u51fd\u6570``time.ticks_ms()``\u6216\u8005\u51fd\u6570``ticks_us()``\u8fd4\u56de\u503c\u4e4b\u95f4\u7684\u523b\u5ea6\u5dee\u3002\u672c\u53c2\u6570\u4e3a\u4e00\u4e2a\u6709\u53ef\u80fd\u7ed5\u56de\u7684\u5e26\u7b26\u53f7\u6570\u503c\u3002 (\u523b\u5ea6\u5dee)\n\nExample: ``time.ticks_diff(scheduled_time, now)``\n\n:param ticks1: (\u523b\u5ea61) \u8981\u88ab\u51cf\u7684\u503c\n:param ticks2: (\u523b\u5ea62) \u8981\u51cf\u53bb\u7684\u503c\n\nThe argument order is the same as for subtraction operator,\n``ticks_diff(ticks1, ticks2)`` has the same meaning as ``ticks1 - ticks2``.\n\n``ticks_diff()`` is designed to accommodate various usage\npatterns, among them:\n\nPolling with timeout. In this case, the order of events is known, and you\nwill deal only with positive results of :func:`time.ticks_diff()`::\n\n # Wait for GPIO pin to be asserted, but at most 500us\n start = time.ticks_us()\n while pin.value() == 0:\n if time.ticks_diff(time.ticks_us(), start) > 500:\n raise TimeoutError\n\n\nScheduling events. In this case, :func:`time.ticks_diff()` result may be\nnegative if an event is overdue::\n\n # This code snippet is not optimized\n now = time.ticks_ms()\n scheduled_time = task.scheduled_time()\n if ticks_diff(scheduled_time, now) > 0:\n print(\"Too early, let's nap\")\n sleep_ms(ticks_diff(scheduled_time, now))\n task.run()\n elif ticks_diff(scheduled_time, now) == 0:\n print(\"Right at time!\")\n task.run()\n elif ticks_diff(scheduled_time, now) < 0:\n print(\"Oops, running late, tell task to run faster!\")\n task.run(run_faster=True)\"\"\"\n ...", + "/typeshed/stdlib/types.pyi": "import sys\nfrom typing import (\n Any,\n AsyncGenerator,\n Awaitable,\n Callable,\n Generator,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n Tuple,\n Type,\n TypeVar,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, final\n\n# Note, all classes \"defined\" here require special handling.\n\n_T = TypeVar(\"_T\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_V_co = TypeVar(\"_V_co\", covariant=True)\n\n@final\nclass _Cell:\n __hash__: None # type: ignore\n cell_contents: Any\n\n@final\nclass FunctionType:\n __closure__: Tuple[_Cell, ...] | None\n __code__: CodeType\n __defaults__: Tuple[Any, ...] | None\n __dict__: dict[str, Any]\n __globals__: dict[str, Any]\n __name__: str\n __qualname__: str\n __annotations__: dict[str, Any]\n __kwdefaults__: dict[str, Any]\n def __init__(\n self,\n code: CodeType,\n globals: dict[str, Any],\n name: str | None = ...,\n argdefs: Tuple[object, ...] | None = ...,\n closure: Tuple[_Cell, ...] | None = ...,\n ) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: object | None, type: type | None) -> MethodType: ...\n\nLambdaType = FunctionType\n\n@final\nclass CodeType:\n \"\"\"Create a code object. Not for the faint of heart.\"\"\"\n\n co_argcount: int\n if sys.version_info >= (3, 8):\n co_posonlyargcount: int\n co_kwonlyargcount: int\n co_nlocals: int\n co_stacksize: int\n co_flags: int\n co_code: bytes\n co_consts: Tuple[Any, ...]\n co_names: Tuple[str, ...]\n co_varnames: Tuple[str, ...]\n co_filename: str\n co_name: str\n co_firstlineno: int\n co_lnotab: bytes\n co_freevars: Tuple[str, ...]\n co_cellvars: Tuple[str, ...]\n if sys.version_info >= (3, 8):\n def __init__(\n self,\n argcount: int,\n posonlyargcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n else:\n def __init__(\n self,\n argcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n if sys.version_info >= (3, 8):\n def replace(\n self,\n *,\n co_argcount: int = ...,\n co_posonlyargcount: int = ...,\n co_kwonlyargcount: int = ...,\n co_nlocals: int = ...,\n co_stacksize: int = ...,\n co_flags: int = ...,\n co_firstlineno: int = ...,\n co_code: bytes = ...,\n co_consts: Tuple[Any, ...] = ...,\n co_names: Tuple[str, ...] = ...,\n co_varnames: Tuple[str, ...] = ...,\n co_freevars: Tuple[str, ...] = ...,\n co_cellvars: Tuple[str, ...] = ...,\n co_filename: str = ...,\n co_name: str = ...,\n co_lnotab: bytes = ...,\n ) -> CodeType: ...\n\n@final\nclass MappingProxyType(Mapping[_KT, _VT_co], Generic[_KT, _VT_co]):\n __hash__: None # type: ignore\n def __init__(self, mapping: Mapping[_KT, _VT_co]) -> None: ...\n def __getitem__(self, k: _KT) -> _VT_co: ...\n def __iter__(self) -> Iterator[_KT]: ...\n def __len__(self) -> int: ...\n def copy(self) -> dict[_KT, _VT_co]: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def items(self) -> ItemsView[_KT, _VT_co]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def __or__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n def __ror__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n\nclass SimpleNamespace:\n __hash__: None # type: ignore\n def __init__(self, **kwargs: Any) -> None: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __delattr__(self, name: str) -> None: ...\n\nclass ModuleType:\n __name__: str\n __file__: str\n __dict__: dict[str, Any]\n __package__: str | None\n def __init__(self, name: str, doc: str | None = ...) -> None: ...\n\n@final\nclass GeneratorType(Generator[_T_co, _T_contra, _V_co]):\n gi_code: CodeType\n gi_frame: FrameType\n gi_running: bool\n gi_yieldfrom: GeneratorType[_T_co, _T_contra, Any] | None\n def __iter__(self) -> GeneratorType[_T_co, _T_contra, _V_co]: ...\n def __next__(self) -> _T_co: ...\n def close(self) -> None: ...\n def send(self, __arg: _T_contra) -> _T_co: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> _T_co: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> _T_co: ...\n\n@final\nclass AsyncGeneratorType(AsyncGenerator[_T_co, _T_contra]):\n ag_await: Awaitable[Any] | None\n ag_frame: FrameType\n ag_running: bool\n ag_code: CodeType\n def __aiter__(self) -> AsyncGeneratorType[_T_co, _T_contra]: ...\n def __anext__(self) -> Awaitable[_T_co]: ...\n def asend(self, __val: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Awaitable[_T_co]: ...\n def aclose(self) -> Awaitable[None]: ...\n\n@final\nclass CoroutineType:\n cr_await: Any | None\n cr_code: CodeType\n cr_frame: FrameType\n cr_running: bool\n def close(self) -> None: ...\n def send(self, __arg: Any) -> Any: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Any: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Any: ...\n\nclass _StaticFunctionType:\n \"\"\"Fictional type to correct the type of MethodType.__func__.\n\n FunctionType is a descriptor, so mypy follows the descriptor protocol and\n converts MethodType.__func__ back to MethodType (the return type of\n FunctionType.__get__). But this is actually a special case; MethodType is\n implemented in C and its attribute access doesn't go through\n __getattribute__.\n\n By wrapping FunctionType in _StaticFunctionType, we get the right result;\n similar to wrapping a function in staticmethod() at runtime to prevent it\n being bound as a method.\n \"\"\"\n\n def __get__(self, obj: object | None, type: type | None) -> FunctionType: ...\n\n@final\nclass MethodType:\n __closure__: Tuple[_Cell, ...] | None # inherited from the added function\n __defaults__: Tuple[Any, ...] | None # inherited from the added function\n __func__: _StaticFunctionType\n __self__: object\n __name__: str # inherited from the added function\n __qualname__: str # inherited from the added function\n def __init__(self, func: Callable[..., Any], obj: object) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\n@final\nclass BuiltinFunctionType:\n __self__: object | ModuleType\n __name__: str\n __qualname__: str\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\nBuiltinMethodType = BuiltinFunctionType\n\nif sys.version_info >= (3, 7):\n @final\n class WrapperDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class MethodWrapperType:\n __self__: object\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __eq__(self, other: Any) -> bool: ...\n def __ne__(self, other: Any) -> bool: ...\n @final\n class MethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class ClassMethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n\n@final\nclass TracebackType:\n if sys.version_info >= (3, 7):\n def __init__(\n self,\n tb_next: TracebackType | None,\n tb_frame: FrameType,\n tb_lasti: int,\n tb_lineno: int,\n ) -> None: ...\n tb_next: TracebackType | None\n else:\n @property\n def tb_next(self) -> TracebackType | None: ...\n # the rest are read-only even in 3.7\n @property\n def tb_frame(self) -> FrameType: ...\n @property\n def tb_lasti(self) -> int: ...\n @property\n def tb_lineno(self) -> int: ...\n\n@final\nclass FrameType:\n f_back: FrameType | None\n f_builtins: dict[str, Any]\n f_code: CodeType\n f_globals: dict[str, Any]\n f_lasti: int\n f_lineno: int\n f_locals: dict[str, Any]\n f_trace: Callable[[FrameType, str, Any], Any] | None\n if sys.version_info >= (3, 7):\n f_trace_lines: bool\n f_trace_opcodes: bool\n def clear(self) -> None: ...\n\n@final\nclass GetSetDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\n@final\nclass MemberDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nif sys.version_info >= (3, 7):\n def new_class(\n name: str,\n bases: Iterable[object] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n def resolve_bases(bases: Iterable[object]) -> Tuple[Any, ...]: ...\n\nelse:\n def new_class(\n name: str,\n bases: Tuple[type, ...] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n\ndef prepare_class(\n name: str, bases: Tuple[type, ...] = ..., kwds: dict[str, Any] | None = ...\n) -> Tuple[type, dict[str, Any], dict[str, Any]]: ...\n\n# Actually a different type, but `property` is special and we want that too.\nDynamicClassAttribute = property\n\ndef coroutine(func: Callable[..., Any]) -> CoroutineType: ...\n\nif sys.version_info >= (3, 8):\n CellType = _Cell\n\nif sys.version_info >= (3, 9):\n class GenericAlias:\n __origin__: type\n __args__: Tuple[Any, ...]\n __parameters__: Tuple[Any, ...]\n def __init__(self, origin: type, args: Any) -> None: ...\n def __getattr__(self, name: str) -> Any: ... # incomplete\n\nif sys.version_info >= (3, 10):\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n EllipsisType = ellipsis # noqa F811 from builtins\n from builtins import _NotImplementedType\n\n NotImplementedType = _NotImplementedType # noqa F811 from builtins\n @final\n class UnionType:\n __args__: Tuple[Any, ...]\n def __or__(self, obj: Any) -> UnionType: ...\n def __ror__(self, obj: Any) -> UnionType: ...\n", + "/typeshed/stdlib/typing.pyi": "import collections # Needed by aliases like DefaultDict, see mypy issue 2986\nimport sys\nfrom abc import ABCMeta, abstractmethod\nfrom types import BuiltinFunctionType, CodeType, FrameType, FunctionType, MethodType, ModuleType, TracebackType\nfrom typing_extensions import Literal as _Literal\n\nif sys.version_info >= (3, 7):\n from types import MethodDescriptorType, MethodWrapperType, WrapperDescriptorType\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n# Definitions of special type checking related constructs. Their definitions\n# are not used, so their value does not matter.\n\nAny = object()\n\nclass TypeVar:\n __name__: str\n __bound__: Optional[Type[Any]]\n __constraints__: Tuple[Type[Any], ...]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self,\n name: str,\n *constraints: Type[Any],\n bound: Union[None, Type[Any], str] = ...,\n covariant: bool = ...,\n contravariant: bool = ...,\n ) -> None: ...\n\n_promote = object()\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> object: ...\n\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n\ndef overload(func: _F) -> _F: ...\n\nUnion: _SpecialForm = ...\nOptional: _SpecialForm = ...\nTuple: _SpecialForm = ...\nGeneric: _SpecialForm = ...\n# Protocol is only present in 3.8 and later, but mypy needs it unconditionally\nProtocol: _SpecialForm = ...\nCallable: _SpecialForm = ...\nType: _SpecialForm = ...\nClassVar: _SpecialForm = ...\nif sys.version_info >= (3, 8):\n Final: _SpecialForm = ...\n def final(f: _F) -> _F: ...\n Literal: _SpecialForm = ...\n # TypedDict is a (non-subscriptable) special form.\n TypedDict: object\n\nif sys.version_info < (3, 7):\n class GenericMeta(type): ...\n\nif sys.version_info >= (3, 10):\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Optional[Type[Any]]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: Union[None, Type[Any], str] = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n\n# Return type that indicates a function does not return.\n# This type is equivalent to the None type, but the no-op Union is necessary to\n# distinguish the None type from the None value.\nNoReturn = Union[None]\n\n# These type variables are used by the container types.\n_T = TypeVar(\"_T\")\n_S = TypeVar(\"_S\")\n_KT = TypeVar(\"_KT\") # Key type.\n_VT = TypeVar(\"_VT\") # Value type.\n_T_co = TypeVar(\"_T_co\", covariant=True) # Any type covariant containers.\n_V_co = TypeVar(\"_V_co\", covariant=True) # Any type covariant containers.\n_KT_co = TypeVar(\"_KT_co\", covariant=True) # Key type covariant containers.\n_VT_co = TypeVar(\"_VT_co\", covariant=True) # Value type covariant containers.\n_T_contra = TypeVar(\"_T_contra\", contravariant=True) # Ditto contravariant.\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\ndef no_type_check(arg: _F) -> _F: ...\ndef no_type_check_decorator(decorator: _F) -> _F: ...\n\n# Type aliases and type constructors\n\nclass _Alias:\n # Class for defining generic aliases for library types.\n def __getitem__(self, typeargs: Any) -> Any: ...\n\nList = _Alias()\nDict = _Alias()\nDefaultDict = _Alias()\nSet = _Alias()\nFrozenSet = _Alias()\nCounter = _Alias()\nDeque = _Alias()\nChainMap = _Alias()\n\nif sys.version_info >= (3, 7):\n OrderedDict = _Alias()\n\nif sys.version_info >= (3, 9):\n Annotated: _SpecialForm = ...\n\n# Predefined type variables.\nAnyStr = TypeVar(\"AnyStr\", str, bytes)\n\n# Abstract base classes.\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n@runtime_checkable\nclass SupportsInt(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __int__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsFloat(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __float__(self) -> float: ...\n\n@runtime_checkable\nclass SupportsComplex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __complex__(self) -> complex: ...\n\n@runtime_checkable\nclass SupportsBytes(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __bytes__(self) -> bytes: ...\n\nif sys.version_info >= (3, 8):\n @runtime_checkable\n class SupportsIndex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __index__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsAbs(Protocol[_T_co]):\n @abstractmethod\n def __abs__(self) -> _T_co: ...\n\n@runtime_checkable\nclass SupportsRound(Protocol[_T_co]):\n @overload\n @abstractmethod\n def __round__(self) -> int: ...\n @overload\n @abstractmethod\n def __round__(self, ndigits: int) -> _T_co: ...\n\n@runtime_checkable\nclass Sized(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __len__(self) -> int: ...\n\n@runtime_checkable\nclass Hashable(Protocol, metaclass=ABCMeta):\n # TODO: This is special, in that a subclass of a hashable class may not be hashable\n # (for example, list vs. object). It's not obvious how to represent this. This class\n # is currently mostly useless for static checking.\n @abstractmethod\n def __hash__(self) -> int: ...\n\n@runtime_checkable\nclass Iterable(Protocol[_T_co]):\n @abstractmethod\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Iterator(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __next__(self) -> _T_co: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Reversible(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass Generator(Iterator[_T_co], Generic[_T_co, _T_contra, _V_co]):\n def __next__(self) -> _T_co: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n def close(self) -> None: ...\n def __iter__(self) -> Generator[_T_co, _T_contra, _V_co]: ...\n @property\n def gi_code(self) -> CodeType: ...\n @property\n def gi_frame(self) -> FrameType: ...\n @property\n def gi_running(self) -> bool: ...\n @property\n def gi_yieldfrom(self) -> Optional[Generator[Any, Any, Any]]: ...\n\n@runtime_checkable\nclass Awaitable(Protocol[_T_co]):\n @abstractmethod\n def __await__(self) -> Generator[Any, None, _T_co]: ...\n\nclass Coroutine(Awaitable[_V_co], Generic[_T_co, _T_contra, _V_co]):\n __name__: str\n __qualname__: str\n @property\n def cr_await(self) -> Optional[Any]: ...\n @property\n def cr_code(self) -> CodeType: ...\n @property\n def cr_frame(self) -> FrameType: ...\n @property\n def cr_running(self) -> bool: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n @abstractmethod\n def close(self) -> None: ...\n\n# NOTE: This type does not exist in typing.py or PEP 484.\n# The parameters correspond to Generator, but the 4th is the original type.\nclass AwaitableGenerator(\n Awaitable[_V_co], Generator[_T_co, _T_contra, _V_co], Generic[_T_co, _T_contra, _V_co, _S], metaclass=ABCMeta\n): ...\n\n@runtime_checkable\nclass AsyncIterable(Protocol[_T_co]):\n @abstractmethod\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\n@runtime_checkable\nclass AsyncIterator(AsyncIterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\nclass AsyncGenerator(AsyncIterator[_T_co], Generic[_T_co, _T_contra]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n @abstractmethod\n def asend(self, __value: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> Awaitable[_T_co]: ...\n @abstractmethod\n def aclose(self) -> Awaitable[None]: ...\n @abstractmethod\n def __aiter__(self) -> AsyncGenerator[_T_co, _T_contra]: ...\n @property\n def ag_await(self) -> Any: ...\n @property\n def ag_code(self) -> CodeType: ...\n @property\n def ag_frame(self) -> FrameType: ...\n @property\n def ag_running(self) -> bool: ...\n\n@runtime_checkable\nclass Container(Protocol[_T_co]):\n @abstractmethod\n def __contains__(self, __x: object) -> bool: ...\n\n@runtime_checkable\nclass Collection(Iterable[_T_co], Container[_T_co], Protocol[_T_co]):\n # Implement Sized (but don't have it as a base class).\n @abstractmethod\n def __len__(self) -> int: ...\n\n_Collection = Collection[_T_co]\n\nclass Sequence(_Collection[_T_co], Reversible[_T_co], Generic[_T_co]):\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T_co: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> Sequence[_T_co]: ...\n # Mixin methods\n def index(self, value: Any, start: int = ..., stop: int = ...) -> int: ...\n def count(self, value: Any) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass MutableSequence(Sequence[_T], Generic[_T]):\n @abstractmethod\n def insert(self, index: int, value: _T) -> None: ...\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> MutableSequence[_T]: ...\n @overload\n @abstractmethod\n def __setitem__(self, i: int, o: _T) -> None: ...\n @overload\n @abstractmethod\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: int) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: slice) -> None: ...\n # Mixin methods\n def append(self, value: _T) -> None: ...\n def clear(self) -> None: ...\n def extend(self, values: Iterable[_T]) -> None: ...\n def reverse(self) -> None: ...\n def pop(self, index: int = ...) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __iadd__(self, x: Iterable[_T]) -> MutableSequence[_T]: ...\n\nclass AbstractSet(_Collection[_T_co], Generic[_T_co]):\n @abstractmethod\n def __contains__(self, x: object) -> bool: ...\n # Mixin methods\n def __le__(self, s: AbstractSet[Any]) -> bool: ...\n def __lt__(self, s: AbstractSet[Any]) -> bool: ...\n def __gt__(self, s: AbstractSet[Any]) -> bool: ...\n def __ge__(self, s: AbstractSet[Any]) -> bool: ...\n def __and__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def __sub__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def isdisjoint(self, other: Iterable[Any]) -> bool: ...\n\nclass MutableSet(AbstractSet[_T], Generic[_T]):\n @abstractmethod\n def add(self, value: _T) -> None: ...\n @abstractmethod\n def discard(self, value: _T) -> None: ...\n # Mixin methods\n def clear(self) -> None: ...\n def pop(self) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __ior__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __iand__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __isub__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n\nclass MappingView(Sized):\n def __init__(self, mapping: Mapping[Any, Any]) -> None: ... # undocumented\n def __len__(self) -> int: ...\n\nclass ItemsView(MappingView, AbstractSet[Tuple[_KT_co, _VT_co]], Generic[_KT_co, _VT_co]):\n def __init__(self, mapping: Mapping[_KT_co, _VT_co]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n\nclass KeysView(MappingView, AbstractSet[_KT_co], Generic[_KT_co]):\n def __init__(self, mapping: Mapping[_KT_co, Any]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_KT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT_co]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n\nclass ValuesView(MappingView, Iterable[_VT_co], Generic[_VT_co]):\n def __init__(self, mapping: Mapping[Any, _VT_co]) -> None: ... # undocumented\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_VT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_VT_co]: ...\n\n@runtime_checkable\nclass ContextManager(Protocol[_T_co]):\n def __enter__(self) -> _T_co: ...\n def __exit__(\n self,\n __exc_type: Optional[Type[BaseException]],\n __exc_value: Optional[BaseException],\n __traceback: Optional[TracebackType],\n ) -> Optional[bool]: ...\n\n@runtime_checkable\nclass AsyncContextManager(Protocol[_T_co]):\n def __aenter__(self) -> Awaitable[_T_co]: ...\n def __aexit__(\n self, exc_type: Optional[Type[BaseException]], exc_value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Awaitable[Optional[bool]]: ...\n\nclass Mapping(_Collection[_KT], Generic[_KT, _VT_co]):\n # TODO: We wish the key type could also be covariant, but that doesn't work,\n # see discussion in https: //github.com/python/typing/pull/273.\n @abstractmethod\n def __getitem__(self, k: _KT) -> _VT_co: ...\n # Mixin methods\n @overload\n def get(self, key: _KT) -> Optional[_VT_co]: ...\n @overload\n def get(self, key: _KT, default: Union[_VT_co, _T]) -> Union[_VT_co, _T]: ...\n def items(self) -> AbstractSet[Tuple[_KT, _VT_co]]: ...\n def keys(self) -> AbstractSet[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def __contains__(self, o: object) -> bool: ...\n\nclass MutableMapping(Mapping[_KT, _VT], Generic[_KT, _VT]):\n @abstractmethod\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n @abstractmethod\n def __delitem__(self, v: _KT) -> None: ...\n def clear(self) -> None: ...\n @overload\n def pop(self, key: _KT) -> _VT: ...\n @overload\n def pop(self, key: _KT, default: Union[_VT, _T] = ...) -> Union[_VT, _T]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, key: _KT, default: _VT = ...) -> _VT: ...\n # 'update' used to take a Union, but using overloading is better.\n # The second overloaded type here is a bit too general, because\n # Mapping[Tuple[_KT, _VT], W] is a subclass of Iterable[Tuple[_KT, _VT]],\n # but will always have the behavior of the first overloaded type\n # at runtime, leading to keys of a mix of types _KT and Tuple[_KT, _VT].\n # We don't currently have any way of forcing all Mappings to use\n # the first overload, but by using overloading rather than a Union,\n # mypy will commit to using the first overload when the argument is\n # known to be a Mapping with unknown type parameters, which is closer\n # to the behavior we want. See mypy issue #1430.\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n\nText = str\n\nTYPE_CHECKING = True\n\nclass IO(Iterator[AnyStr], Generic[AnyStr]):\n # TODO use abstract properties\n @property\n def mode(self) -> str: ...\n @property\n def name(self) -> str: ...\n @abstractmethod\n def close(self) -> None: ...\n @property\n def closed(self) -> bool: ...\n @abstractmethod\n def fileno(self) -> int: ...\n @abstractmethod\n def flush(self) -> None: ...\n @abstractmethod\n def isatty(self) -> bool: ...\n @abstractmethod\n def read(self, n: int = ...) -> AnyStr: ...\n @abstractmethod\n def readable(self) -> bool: ...\n @abstractmethod\n def readline(self, limit: int = ...) -> AnyStr: ...\n @abstractmethod\n def readlines(self, hint: int = ...) -> list[AnyStr]: ...\n @abstractmethod\n def seek(self, offset: int, whence: int = ...) -> int: ...\n @abstractmethod\n def seekable(self) -> bool: ...\n @abstractmethod\n def tell(self) -> int: ...\n @abstractmethod\n def truncate(self, size: Optional[int] = ...) -> int: ...\n @abstractmethod\n def writable(self) -> bool: ...\n @abstractmethod\n def write(self, s: AnyStr) -> int: ...\n @abstractmethod\n def writelines(self, lines: Iterable[AnyStr]) -> None: ...\n @abstractmethod\n def __next__(self) -> AnyStr: ...\n @abstractmethod\n def __iter__(self) -> Iterator[AnyStr]: ...\n @abstractmethod\n def __enter__(self) -> IO[AnyStr]: ...\n @abstractmethod\n def __exit__(\n self, t: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Optional[bool]: ...\n\nclass BinaryIO(IO[bytes]):\n @abstractmethod\n def __enter__(self) -> BinaryIO: ...\n\nclass TextIO(IO[str]):\n # TODO use abstractproperty\n @property\n def buffer(self) -> BinaryIO: ...\n @property\n def encoding(self) -> str: ...\n @property\n def errors(self) -> Optional[str]: ...\n @property\n def line_buffering(self) -> int: ... # int on PyPy, bool on CPython\n @property\n def newlines(self) -> Any: ... # None, str or tuple\n @abstractmethod\n def __enter__(self) -> TextIO: ...\n\nclass ByteString(Sequence[int], metaclass=ABCMeta): ...\n\nclass Match(Generic[AnyStr]):\n pos: int\n endpos: int\n lastindex: Optional[int]\n lastgroup: Optional[AnyStr]\n string: AnyStr\n\n # The regular expression object whose match() or search() method produced\n # this match instance.\n re: Pattern[AnyStr]\n def expand(self, template: AnyStr) -> AnyStr: ...\n # group() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def group(self, __group: _Literal[0] = ...) -> AnyStr: ...\n @overload\n def group(self, __group: str | int) -> AnyStr | Any: ...\n @overload\n def group(self, __group1: str | int, __group2: str | int, *groups: str | int) -> Tuple[AnyStr | Any, ...]: ...\n # Each item of groups()'s return tuple is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groups(self) -> Tuple[AnyStr | Any, ...]: ...\n @overload\n def groups(self, default: _T) -> Tuple[AnyStr | _T, ...]: ...\n # Each value in groupdict()'s return dict is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groupdict(self) -> dict[str, AnyStr | Any]: ...\n @overload\n def groupdict(self, default: _T) -> dict[str, AnyStr | _T]: ...\n def start(self, __group: Union[int, str] = ...) -> int: ...\n def end(self, __group: Union[int, str] = ...) -> int: ...\n def span(self, __group: Union[int, str] = ...) -> Tuple[int, int]: ...\n @property\n def regs(self) -> Tuple[Tuple[int, int], ...]: ... # undocumented\n # __getitem__() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def __getitem__(self, __key: _Literal[0]) -> AnyStr: ...\n @overload\n def __getitem__(self, __key: int | str) -> AnyStr | Any: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass Pattern(Generic[AnyStr]):\n flags: int\n groupindex: Mapping[str, int]\n groups: int\n pattern: AnyStr\n def search(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def match(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def fullmatch(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def split(self, string: AnyStr, maxsplit: int = ...) -> list[AnyStr]: ...\n def findall(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> list[Any]: ...\n def finditer(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Iterator[Match[AnyStr]]: ...\n @overload\n def sub(self, repl: AnyStr, string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def sub(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def subn(self, repl: AnyStr, string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n @overload\n def subn(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\n# Functions\n\nif sys.version_info >= (3, 7):\n _get_type_hints_obj_allowed_types = Union[\n object,\n Callable[..., Any],\n FunctionType,\n BuiltinFunctionType,\n MethodType,\n ModuleType,\n WrapperDescriptorType,\n MethodWrapperType,\n MethodDescriptorType,\n ]\nelse:\n _get_type_hints_obj_allowed_types = Union[\n object, Callable[..., Any], FunctionType, BuiltinFunctionType, MethodType, ModuleType,\n ]\n\nif sys.version_info >= (3, 9):\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types,\n globalns: Optional[Dict[str, Any]] = ...,\n localns: Optional[Dict[str, Any]] = ...,\n include_extras: bool = ...,\n ) -> Dict[str, Any]: ...\n\nelse:\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types, globalns: Optional[Dict[str, Any]] = ..., localns: Optional[Dict[str, Any]] = ...\n ) -> Dict[str, Any]: ...\n\nif sys.version_info >= (3, 8):\n def get_origin(tp: Any) -> Optional[Any]: ...\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n\n@overload\ndef cast(typ: Type[_T], val: Any) -> _T: ...\n@overload\ndef cast(typ: str, val: Any) -> Any: ...\n@overload\ndef cast(typ: object, val: Any) -> Any: ...\n\n# Type constructors\n\n# NamedTuple is special-cased in the type checker\nclass NamedTuple(Tuple[Any, ...]):\n _field_types: collections.OrderedDict[str, Type[Any]]\n _field_defaults: Dict[str, Any] = ...\n _fields: Tuple[str, ...]\n _source: str\n def __init__(self, typename: str, fields: Iterable[Tuple[str, Any]] = ..., **kwargs: Any) -> None: ...\n @classmethod\n def _make(cls: Type[_T], iterable: Iterable[Any]) -> _T: ...\n if sys.version_info >= (3, 8):\n def _asdict(self) -> Dict[str, Any]: ...\n else:\n def _asdict(self) -> collections.OrderedDict[str, Any]: ...\n def _replace(self: _T, **kwargs: Any) -> _T: ...\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __or__(self: _T, __value: _T) -> _T: ...\n def __ior__(self: _T, __value: _T) -> _T: ...\n\ndef NewType(name: str, tp: Type[_T]) -> Type[_T]: ...\n\n# This itself is only available during type checking\ndef type_check_only(func_or_cls: _F) -> _F: ...\n\nif sys.version_info >= (3, 7):\n class ForwardRef:\n __forward_arg__: str\n __forward_code__: CodeType\n __forward_evaluated__: bool\n __forward_value__: Optional[Any]\n __forward_is_argument__: bool\n def __init__(self, arg: str, is_argument: bool = ...) -> None: ...\n def _evaluate(self, globalns: Optional[Dict[str, Any]], localns: Optional[Dict[str, Any]]) -> Optional[Any]: ...\n def __eq__(self, other: Any) -> bool: ...\n def __hash__(self) -> int: ...\n def __repr__(self) -> str: ...\n\nif sys.version_info >= (3, 10):\n def is_typeddict(tp: Any) -> bool: ...\n", + "/typeshed/stdlib/typing_extensions.pyi": "import abc\nimport sys\nfrom typing import (\n TYPE_CHECKING as TYPE_CHECKING,\n Any,\n AsyncContextManager as AsyncContextManager,\n AsyncGenerator as AsyncGenerator,\n AsyncIterable as AsyncIterable,\n AsyncIterator as AsyncIterator,\n Awaitable as Awaitable,\n Callable,\n ChainMap as ChainMap,\n ClassVar as ClassVar,\n ContextManager as ContextManager,\n Coroutine as Coroutine,\n Counter as Counter,\n DefaultDict as DefaultDict,\n Deque as Deque,\n ItemsView,\n KeysView,\n Mapping,\n NewType as NewType,\n NoReturn as NoReturn,\n Text as Text,\n Tuple,\n Type as Type,\n TypeVar,\n ValuesView,\n _Alias,\n overload as overload,\n)\n\n_T = TypeVar(\"_T\")\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> Any: ...\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n\n# This alias for above is kept here for backwards compatibility.\nruntime = runtime_checkable\nProtocol: _SpecialForm = ...\nFinal: _SpecialForm = ...\n\ndef final(f: _F) -> _F: ...\n\nLiteral: _SpecialForm = ...\n\ndef IntVar(name: str) -> Any: ... # returns a new TypeVar\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=abc.ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n\n# TypedDict is a (non-subscriptable) special form.\nTypedDict: object = ...\n\nOrderedDict = _Alias()\n\ndef get_type_hints(\n obj: Callable[..., Any],\n globalns: dict[str, Any] | None = ...,\n localns: dict[str, Any] | None = ...,\n include_extras: bool = ...,\n) -> dict[str, Any]: ...\n\nif sys.version_info >= (3, 7):\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n def get_origin(tp: Any) -> Any | None: ...\n\nAnnotated: _SpecialForm = ...\n_AnnotatedAlias: Any = ... # undocumented\n\n@runtime_checkable\nclass SupportsIndex(Protocol, metaclass=abc.ABCMeta):\n @abc.abstractmethod\n def __index__(self) -> int: ...\n\n# PEP 612 support for Python < 3.9\nif sys.version_info >= (3, 10):\n from typing import Concatenate as Concatenate, ParamSpec as ParamSpec, TypeAlias as TypeAlias, TypeGuard as TypeGuard\nelse:\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Type[Any] | None\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: None | Type[Any] | str = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n", + "/typeshed/stdlib/uarray.pyi": "from array import *\n", + "/typeshed/stdlib/ucollections.pyi": "from collections import *\n", + "/typeshed/stdlib/uerrno.pyi": "from errno import *\n", + "/typeshed/stdlib/urandom.pyi": "from random import *\n", + "/typeshed/stdlib/ustruct.pyi": "from struct import *\n", + "/typeshed/stdlib/usys.pyi": "from sys import *\n", + "/typeshed/stdlib/utime.pyi": "from time import *\n", + "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", + "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"\u5f15\u811a\u3001\u56fe\u50cf\u3001\u58f0\u97f3\u3001\u6e29\u5ea6\u548c\u97f3\u91cf\u3002 (Microbit)\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"\u8ba1\u5212\u4ee5\u65f6\u95f4\u53c2\u6570\u6307\u5b9a\u7684\u65f6\u95f4\u95f4\u9694\u8fd0\u884c\u51fd\u6570**\u4ec5\u9650V2** \u3002 (\u5468\u671f\u6027\u8fd0\u884c)\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: \u5728\u63d0\u4f9b\u7684\u65f6\u95f4\u95f4\u9694\u5185\u8c03\u7528\u7684\u51fd\u6570\u3002\u7528\u4f5c\u88c5\u9970\u5668\u65f6\u7701\u7565\u3002\n:param days: (\u5929) \u8bbe\u7f6e\u5b9a\u65f6\u8ba1\u5212\u7684\u65e5\u671f\u6807\u8bb0\u3002\n:param h: \u8bbe\u7f6e\u5b9a\u65f6\u8ba1\u5212\u7684\u5c0f\u65f6\u6807\u8bb0\u3002\n:param min: (\u5206\u949f) \u8bbe\u7f6e\u5b9a\u65f6\u8ba1\u5212\u7684\u5206\u949f\u6807\u8bb0\u3002\n:param s: (\u79d2) \u8bbe\u7f6e\u5b9a\u65f6\u8ba1\u5212\u7684\u79d2\u6807\u8bb0\u3002\n:param ms: (\u6beb\u79d2) \u8bbe\u7f6e\u5b9a\u65f6\u8ba1\u5212\u7684\u6beb\u79d2\u6807\u8bb0\u3002\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"\u8fdb\u5165 panic \uff08\u6050\u614c\uff09\u6a21\u5f0f\u3002 (\u6050\u614c)\n\nExample: ``panic(127)``\n\n:param n: \u4e00\u4e2a <= 255 \u7684\u4efb\u610f\u6574\u6570\uff0c\u4ee5\u8868\u793a\u4e00\u4e2a\u72b6\u6001\u3002\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"\u91cd\u542f\u4e3b\u677f\u3002\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"\u5c06\u4e00\u4e2a\u6570\u503c\u4ece\u4e00\u4e2a\u8303\u56f4\u8f6c\u6362\u4e3a\u6574\u6570\u8303\u56f4\u3002 (\u8303\u56f4)\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: \u8981\u8f6c\u6362\u7684\u6570\u5b57\u3002\n:param from_: (\u4ece) \u4e00\u4e2a\u5143\u7ec4\uff0c\u7528\u4e8e\u5b9a\u4e49\u8981\u8f6c\u6362\u7684\u8303\u56f4\u3002\n:param to: (\u81f3) \u4e00\u4e2a\u5143\u7ec4\uff0c\u7528\u4e8e\u5b9a\u4e49\u8981\u8f6c\u6362\u5230\u7684\u8303\u56f4\u3002\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"\u5c06\u4e00\u4e2a\u6570\u503c\u4ece\u4e00\u4e2a\u8303\u56f4\u8f6c\u6362\u4e3a\u6d6e\u70b9\u6570\u8303\u56f4\u3002 (\u8303\u56f4)\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: \u8981\u8f6c\u6362\u7684\u6570\u5b57\u3002\n:param from_: (\u4ece) \u4e00\u4e2a\u5143\u7ec4\uff0c\u7528\u4e8e\u5b9a\u4e49\u8981\u8f6c\u6362\u7684\u8303\u56f4\u3002\n:param to: (\u81f3) \u4e00\u4e2a\u5143\u7ec4\uff0c\u7528\u4e8e\u5b9a\u4e49\u8981\u8f6c\u6362\u5230\u7684\u8303\u56f4\u3002\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"\u7b49\u5f85 ``n`` \u6beb\u79d2\u3002 (\u4f11\u7720)\n\nExample: ``sleep(1000)``\n\n:param n: \u8981\u7b49\u5f85\u7684\u6beb\u79d2\u6570\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"\u83b7\u53d6\u4e3b\u677f\u7684\u8fd0\u884c\u65f6\u95f4\u3002\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"\u4ee5\u6444\u6c0f\u5ea6\u4e3a\u5355\u4f4d\u83b7\u53d6 micro:bit \u7684\u6e29\u5ea6\u3002\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"\u8bbe\u7f6e\u97f3\u91cf\u3002\n\nExample: ``set_volume(127)``\n\n:param v: \u4e00\u4e2a\u4ecb\u4e8e 0 (\u4f4e) \u548c 255 (\u9ad8) \u4e4b\u95f4\u7684\u503c\u3002\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"\u6309\u94ae ``button_a`` \u548c ``button_b`` \u7684\u7c7b\u3002\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"\u68c0\u67e5\u6309\u94ae\u662f\u5426\u88ab\u6309\u4e0b\u3002\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"\u68c0\u67e5\u6309\u94ae\u81ea\u8bbe\u5907\u542f\u52a8\u4ee5\u6765\u6216\u8005\u4e0a\u6b21\u8c03\u7528\u6b64\u65b9\u6cd5\u4e4b\u540e\u662f\u5426\u88ab\u6309\u4e0b\u3002\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"\u83b7\u5f97\u6309\u94ae\u88ab\u6309\u4e0b\u7684\u603b\u8ba1\u6b21\u6570\uff0c\u5e76\u5728\u8fd4\u56de\u4e4b\u524d\u5c06\u8be5\u603b\u8ba1\u6b21\u6570\u91cd\u7f6e\u4e3a 0\u3002\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"\u5de6\u952e ``Button`` \u5bf9\u8c61\u3002 (\u6309\u94ae a)\"\"\"\nbutton_b: Button\n\"\"\"\u53f3\u952e ``Button`` \u5bf9\u8c61\u3002 (\u6309\u94ae b)\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"\u6570\u5b57\u5f15\u811a\u3002 (Microbit \u6570\u5b57\u5f15\u811a)\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"\u83b7\u53d6\u5f15\u811a\u7684\u6570\u5b57\u503c\u3002\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"\u8bbe\u7f6e\u5f15\u811a\u7684\u6570\u5b57\u503c\u3002\n\nExample: ``pin0.write_digital(1)``\n\n:param value: 1 \u5c06\u5f15\u811a\u8bbe\u7f6e\u4e3a\u9ad8\u7535\u5e73\uff0c\u6216 0 \u5c06\u5f15\u811a\u8bbe\u7f6e\u4e3a\u4f4e\u7535\u5e73\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"\u5c06\u62c9\u53d6\u72b6\u6001\u8bbe\u7f6e\u4e3a\u4ee5\u4e0b\u4e09\u4e2a\u53ef\u80fd\u7684\u503c\u4e4b\u4e00\uff1a``PULL_UP``\u3001``PULL_DOWN`` \u6216 N``NO_PULL``\u3002\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: \u76f8\u5173\u5f15\u811a\u7684\u62c9\u53d6\u72b6\u6001\uff0c\u4f8b\u5982\uff1a ``pin0.PULL_UP``\u3002\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"\u83b7\u53d6\u5f15\u811a\u4e0a\u7684\u62c9\u53d6\u72b6\u6001\u3002\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"\u8fd4\u56de\u5f15\u811a\u6a21\u5f0f\u3002\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"\u5728\u5f15\u811a\u4e0a\u8f93\u51fa PWM \u4fe1\u53f7\uff0c\u5360\u7a7a\u6bd4\u4e3a ``value``\u3002\n\nExample: ``pin0.write_analog(254)``\n\n:param value: \u4ecb\u4e8e 0\uff080% \u5360\u7a7a\u6bd4\uff09\u548c 1023\uff08100% \u5360\u7a7a\u6bd4\uff09\u4e4b\u95f4\u7684\u6574\u6570\u6216\u6d6e\u70b9\u6570\u3002\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"\u5c06\u8f93\u51fa\u7684 PWM \u4fe1\u53f7\u7684\u5468\u671f\u8bbe\u7f6e\u4e3a ``period``\uff08\u5355\u4f4d\uff1a\u6beb\u79d2\uff09\u3002\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: \u4ee5\u6beb\u79d2\u4e3a\u5355\u4f4d\u7684\u5468\u671f\uff0c\u6700\u5c0f\u6709\u6548\u503c\u4e3a 1 \u6beb\u79d2\u3002\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"\u5c06\u8f93\u51fa\u7684 PWM \u4fe1\u53f7\u7684\u5468\u671f\u8bbe\u7f6e\u4e3a ``period``\uff08\u5355\u4f4d\uff1a\u5fae\u79d2\uff09\u3002\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: \u4ee5\u5fae\u79d2\u4e3a\u5355\u4f4d\u7684\u5468\u671f\uff0c\u6700\u5c0f\u6709\u6548\u503c\u4e3a 256 \u6beb\u79d2\u3002\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"\u5e26\u6709\u6a21\u62df\u548c\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"\u8bfb\u53d6\u5e94\u7528\u4e8e\u5f15\u811a\u7684\u7535\u538b\u3002\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"\u5e26\u6709\u6a21\u62df\u3001\u6570\u5b57\u548c\u89e6\u6478\u529f\u80fd\u7684\u5f15\u811a\u3002\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"\u68c0\u67e5\u5f15\u811a\u662f\u5426\u88ab\u89e6\u6478\u3002\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"\u8bbe\u7f6e\u5f15\u811a\u7684\u89e6\u6478\u6a21\u5f0f\u3002\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: \u6765\u81ea\u76f8\u5173\u5f15\u811a\u7684 ``CAPACITIVE`` \u6216 ``RESISTIVE``\u3002\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"\u5177\u6709\u6570\u5b57\u3001\u6a21\u62df\u548c\u89e6\u6478\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a0)\"\"\"\npin1: MicroBitTouchPin\n\"\"\"\u5177\u6709\u6570\u5b57\u3001\u6a21\u62df\u548c\u89e6\u6478\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a1)\"\"\"\npin2: MicroBitTouchPin\n\"\"\"\u5177\u6709\u6570\u5b57\u3001\u6a21\u62df\u548c\u89e6\u6478\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a2)\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u548c\u6a21\u62df\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a3)\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u548c\u6a21\u62df\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a4)\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a5)\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a6)\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a7)\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a8)\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a9)\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u548c\u6a21\u62df\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a10)\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a11)\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a12)\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a13)\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a14)\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a15)\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a16)\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a19)\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a20)\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"micro:bit \u6b63\u9762\u7684\u89e6\u6478\u611f\u5e94\u6807\u5fd7\u5f15\u811a\uff0c\u9ed8\u8ba4\u8bbe\u7f6e\u4e3a\u7535\u5bb9\u5f0f\u89e6\u6478\u6a21\u5f0f\u3002 (\u5f15\u811a\u6807\u5fd7)\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"\u7528\u4e8e\u5bf9 micro:bit \u626c\u58f0\u5668\u5bfb\u5740\u7684\u5f15\u811a\u3002 (\u626c\u58f0\u5668\u5f15\u811a)\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"\u5728 micro:bit LED \u663e\u793a\u5c4f\u4e0a\u663e\u793a\u7684\u56fe\u50cf\u3002 (\u56fe\u50cf)\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"\u5fc3\u5f62\u56fe\u50cf (\u5fc3\u5f62)\"\"\"\n HEART_SMALL: Image\n \"\"\"\u5c0f\u7684\u5fc3\u5f62\u56fe\u50cf\u3002 (\u5c0f\u7684\u5fc3\u5f62)\"\"\"\n HAPPY: Image\n \"\"\"\u5feb\u4e50\u7684\u8138\u90e8\u56fe\u50cf\u3002 (\u5feb\u4e50)\"\"\"\n SMILE: Image\n \"\"\"\u5fae\u7b11\u7684\u8138\u90e8\u56fe\u50cf\u3002 (\u5fae\u7b11)\"\"\"\n SAD: Image\n \"\"\"\u96be\u8fc7\u7684\u8138\u90e8\u56fe\u50cf\u3002 (\u96be\u8fc7)\"\"\"\n CONFUSED: Image\n \"\"\"\u56f0\u60d1\u7684\u9762\u90e8\u56fe\u50cf\u3002 (\u56f0\u60d1)\"\"\"\n ANGRY: Image\n \"\"\"\u6124\u6012\u7684\u8138\u90e8\u56fe\u50cf\u3002 (\u6124\u6012)\"\"\"\n ASLEEP: Image\n \"\"\"\u7761\u7740\u7684\u8138\u90e8\u56fe\u50cf\u3002 (\u7761\u7740)\"\"\"\n SURPRISED: Image\n \"\"\"\u60ca\u8bb6\u7684\u8138\u90e8\u56fe\u50cf\u3002 (\u60ca\u8bb6)\"\"\"\n SILLY: Image\n \"\"\"\u50bb\u50bb\u7684\u8138\u90e8\u56fe\u50cf\u3002 (\u50bb\u7684)\"\"\"\n FABULOUS: Image\n \"\"\"\u6234\u58a8\u955c\u7684\u8138\u90e8\u56fe\u50cf\u3002 (\u6781\u597d\u7684)\"\"\"\n MEH: Image\n \"\"\"\u5370\u8c61\u5e73\u5e73\u7684\u8138\u90e8\u56fe\u50cf (\u4e0d\u611f\u5174\u8da3\u7684)\"\"\"\n YES: Image\n \"\"\"\u5bf9\u52fe\u56fe\u50cf\u3002 (\u662f\u7684)\"\"\"\n NO: Image\n \"\"\"\u6253\u53c9\u56fe\u50cf\u3002 (\u4e0d\u662f)\"\"\"\n CLOCK12: Image\n \"\"\"\u6307\u9488\u6307\u5411 12 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f12\u70b9)\"\"\"\n CLOCK11: Image\n \"\"\"\u6307\u9488\u6307\u5411 11 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f11\u70b9)\"\"\"\n CLOCK10: Image\n \"\"\"\u6307\u9488\u6307\u5411 10 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f10\u70b9)\"\"\"\n CLOCK9: Image\n \"\"\"\u6307\u9488\u6307\u5411 9 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f9\u70b9)\"\"\"\n CLOCK8: Image\n \"\"\"\u6307\u9488\u6307\u5411 8 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f8\u70b9)\"\"\"\n CLOCK7: Image\n \"\"\"\u6307\u9488\u6307\u5411 7 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f7\u70b9)\"\"\"\n CLOCK6: Image\n \"\"\"\u6307\u9488\u6307\u5411 6 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f6\u70b9)\"\"\"\n CLOCK5: Image\n \"\"\"\u6307\u9488\u6307\u5411 5 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f5\u70b9)\"\"\"\n CLOCK4: Image\n \"\"\"\u6307\u9488\u6307\u5411 4 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f4\u70b9)\"\"\"\n CLOCK3: Image\n \"\"\"\u6307\u9488\u6307\u5411 3 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f3\u70b9)\"\"\"\n CLOCK2: Image\n \"\"\"\u6307\u9488\u6307\u5411 2 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f2\u70b9)\"\"\"\n CLOCK1: Image\n \"\"\"\u6307\u9488\u6307\u5411 1 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f1\u70b9)\"\"\"\n ARROW_N: Image\n \"\"\"\u6307\u5411\u5317\u65b9\u7684\u7bad\u5934\u7684\u56fe\u50cf\u3002 (\u7bad\u5934\uff08\u6307\u5411\u5317\uff09)\"\"\"\n ARROW_NE: Image\n \"\"\"\u6307\u5411\u4e1c\u5317\u65b9\u7684\u7bad\u5934\u7684\u56fe\u50cf\u3002 (\u7bad\u5934\uff08\u6307\u5411\u4e1c\u5317\uff09)\"\"\"\n ARROW_E: Image\n \"\"\"\u6307\u5411\u4e1c\u65b9\u7684\u7bad\u5934\u7684\u56fe\u50cf\u3002 (\u7bad\u5934\uff08\u6307\u5411\u4e1c\uff09)\"\"\"\n ARROW_SE: Image\n \"\"\"\u6307\u5411\u4e1c\u5357\u65b9\u7684\u7bad\u5934\u7684\u56fe\u50cf\u3002 (\u7bad\u5934\uff08\u6307\u5411\u4e1c\u5357\uff09)\"\"\"\n ARROW_S: Image\n \"\"\"\u6307\u5411\u5357\u65b9\u7684\u7bad\u5934\u56fe\u50cf\u3002 (\u7bad\u5934\uff08\u6307\u5411\u5357\uff09)\"\"\"\n ARROW_SW: Image\n \"\"\"\u6307\u5411\u897f\u5357\u65b9\u7684\u7bad\u5934\u7684\u56fe\u50cf\u3002 (\u7bad\u5934\uff08\u6307\u5411\u897f\u5357\uff09)\"\"\"\n ARROW_W: Image\n \"\"\"\u6307\u5411\u897f\u65b9\u7684\u7bad\u5934\u7684\u56fe\u50cf\u3002 (\u7bad\u5934\uff08\u6307\u5411\u897f\uff09)\"\"\"\n ARROW_NW: Image\n \"\"\"\u6307\u5411\u897f\u5317\u65b9\u7684\u7bad\u5934\u7684\u56fe\u50cf\u3002 (\u7bad\u5934\uff08\u6307\u5411\u897f\u5317\uff09)\"\"\"\n TRIANGLE: Image\n \"\"\"\u5411\u4e0a\u7684\u4e09\u89d2\u5f62\u56fe\u50cf\u3002 (\u4e09\u89d2)\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"\u5de6\u89d2\u7684\u4e09\u89d2\u5f62\u56fe\u50cf\u3002 (\u5de6\u4e09\u89d2)\"\"\"\n CHESSBOARD: Image\n \"\"\"\u6309\u68cb\u76d8\u5f0f\u4ea4\u66ff\u70b9\u4eae LED\u3002 (\u56fd\u9645\u8c61\u68cb\u68cb\u76d8)\"\"\"\n DIAMOND: Image\n \"\"\"\u94bb\u77f3\u56fe\u50cf\u3002 (\u83f1\u5f62)\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"\u5c0f\u94bb\u77f3\u56fe\u50cf\u3002 (\u5c0f\u7684\u83f1\u5f62)\"\"\"\n SQUARE: Image\n \"\"\"\u65b9\u5f62\u56fe\u50cf\u3002 (\u6b63\u65b9\u5f62)\"\"\"\n SQUARE_SMALL: Image\n \"\"\"\u5c0f\u7684\u65b9\u5f62\u56fe\u50cf\u3002 (\u5c0f\u65b9\u5f62)\"\"\"\n RABBIT: Image\n \"\"\"\u5154\u5b50\u56fe\u50cf\u3002 (\u5154\u5b50)\"\"\"\n COW: Image\n \"\"\"\u5976\u725b\u56fe\u50cf\u3002 (\u725b)\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"\u97f3\u4e50\u97f3\u7b26\u56fe\u50cf (\u97f3\u4e50\u97f3\u7b26)\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"\u516b\u5206\u97f3\u7b26\u56fe\u50cf\u3002 (\u516b\u5206\u97f3\u7b26)\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"\u4e00\u5bf9\u516b\u5206\u97f3\u7b26\u56fe\u50cf\u3002 (\u4e00\u5bf9\u516b\u5206\u97f3\u7b26)\"\"\"\n PITCHFORK: Image\n \"\"\"\u5e72\u8349\u53c9\u56fe\u50cf\u3002 (\u5e72\u8349\u53c9)\"\"\"\n XMAS: Image\n \"\"\"\u5723\u8bde\u6811\u56fe\u50cf\u3002 (\u5723\u8bde\u8282)\"\"\"\n PACMAN: Image\n \"\"\"\u5403\u8c46\u4eba\u6e38\u620f\u89d2\u8272\u56fe\u50cf\u3002 (\u5403\u8c46\u4eba)\"\"\"\n TARGET: Image\n \"\"\"\u76ee\u6807\u56fe\u50cf (\u76ee\u6807)\"\"\"\n TSHIRT: Image\n \"\"\"T \u6064\u56fe\u50cf\u3002 (T\u6064)\"\"\"\n ROLLERSKATE: Image\n \"\"\"\u8f6e\u6ed1\u56fe\u50cf\u3002 (\u8f6e\u6ed1)\"\"\"\n DUCK: Image\n \"\"\"\u9e2d\u5b50\u56fe\u50cf\u3002 (\u9e2d\u5b50)\"\"\"\n HOUSE: Image\n \"\"\"\u623f\u5b50\u56fe\u50cf\u3002 (\u623f\u5b50)\"\"\"\n TORTOISE: Image\n \"\"\"\u4e4c\u9f9f\u56fe\u50cf\u3002 (\u4e4c\u9f9f)\"\"\"\n BUTTERFLY: Image\n \"\"\"\u8774\u8776\u56fe\u50cf (\u8774\u8776)\"\"\"\n STICKFIGURE: Image\n \"\"\"\u706b\u67f4\u4eba\u56fe\u50cf\u3002 (\u7b80\u7b14\u4eba\u7269\u753b)\"\"\"\n GHOST: Image\n \"\"\"\u5e7d\u7075\u56fe\u50cf\u3002 (\u5e7d\u7075)\"\"\"\n SWORD: Image\n \"\"\"\u5229\u5251\u56fe\u50cf\u3002 (\u5251)\"\"\"\n GIRAFFE: Image\n \"\"\"\u957f\u9888\u9e7f\u56fe\u50cf\u3002 (\u957f\u9888\u9e7f)\"\"\"\n SKULL: Image\n \"\"\"\u9ab7\u9ac5\u56fe\u50cf\u3002 (\u9ab7\u9ac5)\"\"\"\n UMBRELLA: Image\n \"\"\"\u96e8\u4f1e\u56fe\u50cf\u3002 (\u96e8\u4f1e)\"\"\"\n SNAKE: Image\n \"\"\"\u86c7\u56fe\u50cf\u3002 (\u86c7)\"\"\"\n SCISSORS: Image\n \"\"\"\u526a\u5200\u56fe\u50cf\u3002 (\u526a\u5200)\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"\u6309\u987a\u5e8f\u5305\u542b\u6240\u6709 CLOCK_ \u56fe\u50cf\u7684\u5217\u8868\uff08\u65f6\u949f\uff09\u3002 (\u6240\u6709\u65f6\u949f)\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"\u6309\u987a\u5e8f\u5305\u542b\u6240\u6709 ARROW_ \u56fe\u50cf\u7684\u5217\u8868\uff08\u7bad\u5934\uff09\u3002 (\u6240\u6709\u7bad\u5934)\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"\u6839\u636e\u63cf\u8ff0\u70b9\u4eae LED \u7684\u5b57\u7b26\u4e32\u6765\u521b\u5efa\u4e00\u5e45\u56fe\u50cf\u3002\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: \u63cf\u8ff0\u56fe\u50cf\u7684\u5b57\u7b26\u4e32\u3002\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"\u521b\u5efa\u4e00\u5e45\u5177\u6709 ``width`` \u5217\u548c ``height`` \u884c\u7684\u7a7a\u767d\u56fe\u50cf\u3002\n\n:param width: (\u5bbd\u5ea6) \u53ef\u9009\u7684\u56fe\u50cf\u5bbd\u5ea6\n:param height: (\u9ad8\u5ea6) \u53ef\u9009\u7684\u56fe\u50cf\u9ad8\u5ea6\n:param buffer: (\u7f13\u51b2\u533a) \u7528\u53ef\u9009\u6570\u7ec4\u6216\u5728 0-9 \u8303\u56f4\u5185\u7684 ``width`` \u00d7 ``height`` \u6574\u6570\u5b57\u8282\u6765\u521d\u59cb\u5316\u56fe\u50cf\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"\u83b7\u53d6\u5217\u6570\u3002 (\u5bbd\u5ea6)\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"\u83b7\u53d6\u884c\u6570\u3002 (\u9ad8\u5ea6)\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"\u8bbe\u7f6e\u50cf\u7d20\u4eae\u5ea6\u3002\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: \u5217\u53f7\n:param y: \u884c\u53f7\n:param value: \u7528 0\uff08\u6697\uff09\u548c 9\uff08\u4eae\uff09\u4e4b\u95f4\u7684\u6574\u6570\u6765\u4ee3\u8868\u4eae\u5ea6\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"\u83b7\u53d6\u4e00\u4e2a\u50cf\u7d20\u7684\u4eae\u5ea6\u3002\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: \u5217\u53f7\n:param y: \u884c\u53f7\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"\u901a\u8fc7\u5411\u5de6\u79fb\u52a8\u56fe\u7247\u6765\u521b\u5efa\u65b0\u56fe\u50cf\u3002\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: \u8981\u79fb\u52a8\u7684\u5217\u6570\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"\u901a\u8fc7\u5411\u53f3\u79fb\u52a8\u56fe\u7247\u6765\u521b\u5efa\u65b0\u56fe\u50cf\u3002\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: \u8981\u79fb\u52a8\u7684\u5217\u6570\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"\u901a\u8fc7\u5411\u4e0a\u79fb\u52a8\u56fe\u7247\u6765\u521b\u5efa\u65b0\u56fe\u50cf\u3002\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: \u8981\u79fb\u52a8\u7684\u884c\u6570\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"\u901a\u8fc7\u5411\u4e0b\u79fb\u52a8\u56fe\u7247\u6765\u521b\u5efa\u65b0\u56fe\u50cf\u3002\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: \u8981\u79fb\u52a8\u7684\u884c\u6570\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"\u901a\u8fc7\u88c1\u526a\u56fe\u7247\u6765\u521b\u5efa\u4e00\u5e45\u65b0\u56fe\u50cf\u3002 (\u88c1\u526a)\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: \u88c1\u526a\u504f\u79fb\u5217\n:param y: \u88c1\u526a\u504f\u79fb\u884c\n:param w: \u88c1\u526a\u5bbd\u5ea6\n:param h: \u88c1\u526a\u9ad8\u5ea6\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"\u521b\u5efa\u56fe\u50cf\u7684\u7cbe\u786e\u526f\u672c\u3002 (\u590d\u5236)\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"\u901a\u8fc7\u53cd\u8f6c\u6e90\u56fe\u50cf\u4e2d\u50cf\u7d20\u7684\u4eae\u5ea6\u6765\u521b\u5efa\u4e00\u5e45\u65b0\u56fe\u50cf\u3002 (\u53cd\u8f6c)\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"\u8bbe\u7f6e\u56fe\u50cf\u4e2d\u6240\u6709\u50cf\u7d20\u7684\u4eae\u5ea6\u3002 (\u586b\u5145)\n\nExample: ``my_image.fill(5)``\n\n:param value: \u65b0\u4eae\u5ea6\u4e3a 0 (\u6697) \u548c 9 (\u660e) \u4e4b\u95f4\u7684\u6570\u5b57\u3002\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"\u590d\u5236\u53e6\u4e00\u5e45\u56fe\u50cf\u7684\u4e00\u90e8\u5206\u533a\u57df\u5230\u8fd9\u5e45\u56fe\u50cf\u3002\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: (\u6765\u6e90) \u6e90\u56fe\u50cf\n:param x: \u6e90\u56fe\u50cf\u7684\u8d77\u59cb\u5217\u504f\u79fb\u91cf\n:param y: \u6e90\u56fe\u50cf\u7684\u8d77\u59cb\u884c\u504f\u79fb\u91cf\n:param w: \u8981\u590d\u5236\u7684\u5217\u6570\n:param h: \u8981\u590d\u5236\u7684\u884c\u6570\n:param xdest: (x\u504f\u79bb\u91cf) \u6b64\u56fe\u50cf\u4e2d\u8981\u4fee\u6539\u7684\u5217\u504f\u79fb\u91cf\n:param ydest: (y\u504f\u79bb\u91cf) \u6b64\u56fe\u50cf\u4e2d\u8981\u4fee\u6539\u7684\u884c\u504f\u79fb\u91cf\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"\u83b7\u53d6\u56fe\u50cf\u7684\u7f29\u5c0f\u5b57\u7b26\u4e32\u8868\u793a\u3002 (\u8868\u793a)\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"\u83b7\u53d6\u56fe\u50cf\u7684\u53ef\u8bfb\u5b57\u7b26\u4e32\u8868\u793a\u3002 (\u5b57\u7b26\u4e32)\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"\u901a\u8fc7\u5c06\u4e24\u5e45\u56fe\u50cf\u6bcf\u4e2a\u50cf\u7d20\u7684\u4eae\u5ea6\u503c\u76f8\u52a0\u6765\u521b\u5efa\u4e00\u5e45\u65b0\u56fe\u50cf\u3002\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: (\u5176\u4ed6) \u8981\u6dfb\u52a0\u7684\u56fe\u50cf\u3002\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"\u901a\u8fc7\u4ece\u6b64\u56fe\u50cf\u4e2d\u51cf\u53bb\u53e6\u4e00\u5e45\u56fe\u50cf\u7684\u4eae\u5ea6\u503c\u6765\u521b\u5efa\u4e00\u5e45\u65b0\u56fe\u50cf\u3002 (\u51cf\u53bb)\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: (\u5176\u4ed6) \u8981\u51cf\u53bb\u7684\u56fe\u50cf\u3002\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"\u901a\u8fc7\u5c06\u6bcf\u4e2a\u50cf\u7d20\u7684\u4eae\u5ea6\u4e58\u4ee5 ``n`` \u6765\u521b\u5efa\u4e00\u5e45\u65b0\u56fe\u50cf\u3002 (\u76f8\u4e58)\n\nExample: ``Image.HEART * 0.5``\n\n:param n: \u8981\u76f8\u4e58\u7684\u6570\u503c\u3002\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"\u901a\u8fc7\u5c06\u6bcf\u4e2a\u50cf\u7d20\u7684\u4eae\u5ea6\u9664\u4ee5 ``n`` \u6765\u521b\u5efa\u4e00\u5e45\u65b0\u56fe\u50cf\u3002 (\u9664\u4ee5)\n\nExample: ``Image.HEART / 2``\n\n:param n: \u8981\u9664\u4ee5\u7684\u6570\u503c\u3002\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"\u8868\u793a\u58f0\u97f3\u4e8b\u4ef6\u4ece``quiet``\u5230``loud``\u7684\u8fc7\u6e21\uff0c\u5982\u62cd\u624b\u6216\u8005\u558a\u53eb\u3002 (\u5927\u58f0)\"\"\"\n QUIET: SoundEvent\n \"\"\"\u8868\u793a\u58f0\u97f3\u4e8b\u4ef6\u4ece``loud``\u5230``quiet``\u7684\u8fc7\u6e21\uff0c\u5982\u8bf4\u8bdd\u6216\u8005\u80cc\u666f\u97f3\u4e50\u3002 (\u5b89\u9759)\"\"\"\n\nclass Sound:\n \"\"\"\u53ef\u4ee5\u4f7f\u7528 ``audio.play(Sound.NAME)`` \u8c03\u7528\u5185\u7f6e\u58f0\u97f3\u3002 (\u58f0\u97f3)\"\"\"\n GIGGLE: Sound\n \"\"\"\u54af\u54af\u7684\u58f0\u97f3\u3002 (\u54af\u54af\u7b11)\"\"\"\n HAPPY: Sound\n \"\"\"\u5feb\u4e50\u7684\u58f0\u97f3\u3002 (\u5feb\u4e50)\"\"\"\n HELLO: Sound\n \"\"\"\u95ee\u5019\u58f0\u3002 (\u4f60\u597d)\"\"\"\n MYSTERIOUS: Sound\n \"\"\"\u795e\u79d8\u7684\u58f0\u97f3 (\u795e\u79d8\u7684)\"\"\"\n SAD: Sound\n \"\"\"\u60b2\u4f24\u7684\u58f0\u97f3\u3002 (\u96be\u8fc7)\"\"\"\n SLIDE: Sound\n \"\"\"\u6ed1\u52a8\u58f0\u3002 (\u6ed1\u52a8)\"\"\"\n SOARING: Sound\n \"\"\"\u7ff1\u7fd4\u7684\u58f0\u97f3\u3002 (\u9ad8\u6602)\"\"\"\n SPRING: Sound\n \"\"\"\u6625\u5929\u7684\u58f0\u97f3\u3002 (\u5f39\u7c27)\"\"\"\n TWINKLE: Sound\n \"\"\"\u95ea\u70c1\u7684\u58f0\u97f3\u3002 (\u95ea\u70c1)\"\"\"\n YAWN: Sound\n \"\"\"\u6253\u54c8\u6b20\u7684\u58f0\u97f3\u3002 (\u6253\u54c8\u6b20)\"\"\"", + "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"\u6d4b\u91cf micro:bit \u7684\u52a0\u901f\u5ea6\u5e76\u8bc6\u522b\u624b\u52bf\u3002 (\u52a0\u901f\u5ea6\u4f20\u611f\u5668)\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"\u83b7\u53d6 ``x`` \u8f74\u4e0a\u7684\u52a0\u901f\u5ea6\u6d4b\u91cf\u503c\uff08\u4ee5 milli-g \u4e3a\u5355\u4f4d\uff09\u3002\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"\u83b7\u53d6 ``y`` \u8f74\u4e0a\u7684\u52a0\u901f\u5ea6\u6d4b\u91cf\u503c\uff08\u4ee5 milli-g \u4e3a\u5355\u4f4d\uff09\u3002\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"\u83b7\u53d6 ``z`` \u8f74\u4e0a\u7684\u52a0\u901f\u5ea6\u6d4b\u91cf\u503c\uff08\u4ee5 milli-g \u4e3a\u5355\u4f4d\uff09\u3002\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"\u4e00\u6b21\u83b7\u53d6\u6240\u6709\u8f74\u4e0a\u7684\u52a0\u901f\u5ea6\u6d4b\u91cf\u503c\u4f5c\u4e3a\u5143\u7ec4\u3002\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"\u4ee5\u6b63\u6574\u6570\u5f62\u5f0f\u83b7\u53d6\u6240\u6709\u8f74\u7ec4\u5408\u7684\u52a0\u901f\u5ea6\u6d4b\u91cf\u503c\u3002\u8fd9\u662f X\u3001Y \u548c Z \u8f74\u7684\u6bd5\u8fbe\u54e5\u62c9\u65af\uff08Pythagorean\uff09\u548c\u3002 (\u83b7\u53d6\u5f3a\u5ea6)\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"\u83b7\u53d6\u5f53\u524d\u624b\u52bf\u7684\u540d\u79f0\u3002\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"\u68c0\u67e5\u547d\u540d\u624b\u52bf\u5f53\u524d\u662f\u5426\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u3002\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: \u624b\u52bf\u540d\u79f0\u3002\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"\u68c0\u67e5\u547d\u540d\u624b\u52bf\u81ea\u4e0a\u6b21\u8c03\u7528\u540e\u662f\u5426\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u3002\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: \u624b\u52bf\u540d\u79f0\u3002\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"\u8fd4\u56de\u624b\u52bf\u5386\u53f2\u7684\u5143\u7ec4\u3002\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"\u5c06\u52a0\u901f\u5ea6\u8ba1\u7075\u654f\u5ea6\u8303\u56f4\uff08\u4ee5 g\uff08\u6807\u51c6\u91cd\u529b\uff09\u4e3a\u5355\u4f4d\uff09\u8bbe\u7f6e\u4e3a\u786c\u4ef6\u652f\u6301\u7684\u6700\u63a5\u8fd1\u7684\u503c\uff0c\u56e0\u6b64\u5b83\u4f1a\u53d6\u8fd1\u4f3c\u503c\u4e3a ``2``\u3001``4`` \u6216 ``8`` g\u3002 (\u8bbe\u7f6e\u8303\u56f4)\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: \u52a0\u901f\u5ea6\u8ba1\u7684\u65b0\u8303\u56f4\uff0c``g`` \u4e2d\u7684\u6574\u6570\u3002\"\"\"", + "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"\u4f7f\u7528 micro:bit \u64ad\u653e\u58f0\u97f3\uff08\u5bfc\u5165 ``audio`` \u4ee5\u517c\u5bb9 V1\uff09\u3002 (\u97f3\u9891)\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"\u64ad\u653e\u5185\u7f6e\u58f0\u97f3\u3001\u97f3\u6548\u6216\u81ea\u5b9a\u4e49\u97f3\u9891\u5e27\u3002 (\u64ad\u653e)\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: (\u6765\u6e90) \u5185\u7f6e\u7684 ``Sound``\uff0c\u4f8b\u5982 ``Sound.GIGGLE``\u3001``SoundEffect`` \u6216\u4f5c\u4e3a ``AudioFrame`` \u7684\u53ef\u8fed\u4ee3\u5bf9\u8c61\u7684\u6837\u672c\u6570\u636e\u3002\n:param wait: (\u7b49\u5f85) \u5982\u679c ``wait`` \u4e3a ``True``, \u6b64\u51fd\u6570\u5c06\u4f1a\u963b\u585e\u76f4\u5230\u58f0\u97f3\u5b8c\u6210\u3002\n:param pin: (\u5f15\u811a) \u53ef\u9009\u53c2\u6570\uff0c \u7528\u4e8e\u6307\u5b9a\u53ef\u8986\u76d6\u9ed8\u8ba4 ``pin0`` \u7684\u8f93\u51fa\u5f15\u811a\u3002 \u5982\u679c\u4e0d\u60f3\u64ad\u653e\u4efb\u4f55\u58f0\u97f3\uff0c\u53ef\u4ee5\u4f7f\u7528 ``pin=None``\u3002\n:param return_pin: \u6307\u5b9a\u4e00\u4e2a\u5dee\u5206\u8fb9\u7f18\u8fde\u63a5\u5668\u5f15\u811a\u4ee5\u8fde\u63a5\u5230\u5916\u90e8\u626c\u58f0\u5668\u800c\u4e0d\u662f\u63a5\u5730\u3002\u5bf9\u4e8e **V2** \u4fee\u8ba2\u7248\uff0c\u8fd9\u5c06\u88ab\u5ffd\u7565\u3002\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"\u68c0\u67e5\u662f\u5426\u5728\u64ad\u653e\u58f0\u97f3\u3002\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"\u505c\u6b62\u6240\u6709\u97f3\u9891\u64ad\u653e\u3002 (\u505c\u6b62)\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"\u4e00\u79cd\u97f3\u6548\uff0c\u7531\u4e00\u7ec4\u901a\u8fc7\u6784\u9020\u51fd\u6570\u6216\u5c5e\u6027\u914d\u7f6e\u7684\u53c2\u6570\u7ec4\u6210\u3002 (\u97f3\u6548)\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"\u7528\u4e8e ``waveform`` \u53c2\u6570\u7684\u6b63\u5f26\u6ce2\u9009\u9879\u3002 (\u6ce2\u5f62\u6b63\u5f26)\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"\u7528\u4e8e ``waveform`` \u53c2\u6570\u7684\u952f\u9f7f\u6ce2\u9009\u9879\u3002 (\u6ce2\u5f62\u952f\u9f7f)\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"\u7528\u4e8e ``waveform`` \u53c2\u6570\u7684\u4e09\u89d2\u6ce2\u9009\u9879\u3002 (\u6ce2\u5f62\u4e09\u89d2)\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"\u7528\u4e8e ``waveform`` \u53c2\u6570\u7684\u65b9\u6ce2\u9009\u9879\u3002 (\u65b9\u6ce2)\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"\u7528\u4e8e ``waveform`` \u53c2\u6570\u7684\u566a\u58f0\u9009\u9879\u3002 (\u6ce2\u5f62\u566a\u58f0)\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"\u7528\u4e8e ``shape`` \u53c2\u6570\u7684\u7ebf\u6027\u63d2\u503c\u9009\u9879\u3002 (\u5f62\u72b6\u7ebf\u6027)\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"\u7528\u4e8e ``shape`` \u53c2\u6570\u7684\u66f2\u7ebf\u63d2\u503c\u9009\u9879\u3002 (\u5f62\u72b6\u66f2\u7ebf)\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"\u7528\u4e8e ``shape`` \u53c2\u6570\u7684\u5bf9\u6570\u63d2\u503c\u9009\u9879\u3002 (\u5f62\u72b6\u65e5\u5fd7)\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"\u6ca1\u6709\u7528\u4e8e ``fx`` \u53c2\u6570\u7684\u6548\u679c\u9009\u9879\u3002 (fx \u65e0)\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"\u7528\u4e8e ``fx`` \u53c2\u6570\u7684\u97f3\u91cf\u98a4\u97f3\u6548\u679c\u9009\u9879\u3002 (fx \u97f3\u91cf\u98a4\u97f3)\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"\u7528\u4e8e ``fx`` \u53c2\u6570\u7684\u97f3\u9ad8\u98a4\u97f3\u6548\u679c\u9009\u9879\u3002 (fx \u97f3\u9ad8\u98a4\u97f3)\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"\u7528\u4e8e ``fx`` \u53c2\u6570\u7684\u67d4\u548c\u98a4\u97f3\u6548\u679c\u9009\u9879\u3002 (fx \u67d4\u548c\u98a4\u97f3)\"\"\"\n freq_start: int\n \"\"\"\u5f00\u59cb\u9891\u7387\u7528 Hertz (Hz) \u8868\u793a, \u662f\u4e00\u4e2a ``0`` \u548c ``9999`` \u4e4b\u95f4\u7684\u6570\u5b57 (\u5f00\u59cb\u9891\u7387)\"\"\"\n freq_end: int\n \"\"\"\u7ed3\u675f\u9891\u7387\u7528 Hertz (Hz) \u8868\u793a, \u662f\u4e00\u4e2a ``0`` \u548c ``9999`` \u4e4b\u95f4\u7684\u6570\u5b57 (\u7ed3\u675f\u9891\u7387)\"\"\"\n duration: int\n \"\"\"\u58f0\u97f3\u6301\u7eed\u65f6\u95f4\uff0c\u4ee5\u6beb\u79d2\u8ba1\uff0c \u662f\u4e00\u4e2a ``0`` \u548c ``9999`` \u4e4b\u95f4\u7684\u6570\u5b57 (\u6301\u7eed)\"\"\"\n vol_start: int\n \"\"\"\u5f00\u59cb\u97f3\u91cf\u503c\uff0c\u662f\u4e00\u4e2a ``0`` \u548c ``255`` \u4e4b\u95f4\u7684\u6570\u5b57 (\u5f00\u59cb\u97f3\u91cf\u503c)\"\"\"\n vol_end: int\n \"\"\"\u7ed3\u675f\u97f3\u91cf\u503c\uff0c\u662f\u4e00\u4e2a ``0`` \u548c ``255`` \u4e4b\u95f4\u7684\u6570\u5b57 (\u7ed3\u675f\u97f3\u91cf\u503c)\"\"\"\n waveform: int\n \"\"\"\u6ce2\u5f62\u7c7b\u578b\uff0c\u662f\u4e0b\u5217\u503c\u4e4b\u4e00\uff1a ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (\u968f\u673a\u751f\u6210\u566a\u97f3) (\u6ce2\u5f62)\"\"\"\n fx: int\n \"\"\"\u5bf9\u58f0\u97f3\u6dfb\u52a0\u6548\u679c\uff0c\u4e0b\u5217\u503c\u4e4b\u4e00\uff1a ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, \u6216 ``FX_NONE``\"\"\"\n shape: int\n \"\"\"\u5f00\u59cb\u9891\u7387\u548c\u7ed3\u675f\u9891\u7387\u4e4b\u95f4\u7684\u5185\u63d2\u66f2\u7ebf\u7c7b\u578b\uff0c\u4e0d\u540c\u6ce2\u5f62\u7684\u9891\u7387\u53d8\u5316\u901f\u7387\u4e0d\u540c\u3002 \u4ee5\u4e0b\u503c\u4e4b\u4e00: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG`` (\u5f62\u72b6)\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"\u521b\u5efa\u65b0\u7684\u97f3\u6548\u3002\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: (\u5f00\u59cb\u9891\u7387) \u5f00\u59cb\u9891\u7387\u7528 Hertz (Hz) \u8868\u793a, \u662f\u4e00\u4e2a ``0`` \u548c ``9999`` \u4e4b\u95f4\u7684\u6570\u5b57.\n:param freq_end: (\u7ed3\u675f\u9891\u7387) \u7ed3\u675f\u9891\u7387\u7528 Hertz (Hz) \u8868\u793a, \u662f\u4e00\u4e2a ``0`` \u548c ``9999`` \u4e4b\u95f4\u7684\u6570\u5b57.\n:param duration: (\u6301\u7eed) \u58f0\u97f3\u6301\u7eed\u65f6\u95f4\uff0c\u4ee5\u6beb\u79d2\u8ba1\uff0c \u662f\u4e00\u4e2a ``0`` \u548c ``9999`` \u4e4b\u95f4\u7684\u6570\u5b57.\n:param vol_start: (\u5f00\u59cb\u97f3\u91cf\u503c) \u5f00\u59cb\u97f3\u91cf\u503c\uff0c\u662f\u4e00\u4e2a ``0`` \u548c ``255`` \u4e4b\u95f4\u7684\u6570\u5b57.\n:param vol_end: (\u7ed3\u675f\u97f3\u91cf\u503c) \u7ed3\u675f\u97f3\u91cf\u503c\uff0c\u662f\u4e00\u4e2a ``0`` \u548c ``255`` \u4e4b\u95f4\u7684\u6570\u5b57.\n:param waveform: (\u6ce2\u5f62) \u6ce2\u5f62\u7c7b\u578b\uff0c\u662f\u4e0b\u5217\u503c\u4e4b\u4e00\uff1a ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (\u968f\u673a\u751f\u6210\u566a\u97f3).\n:param fx: \u5bf9\u58f0\u97f3\u6dfb\u52a0\u6548\u679c\uff0c\u4e0b\u5217\u503c\u4e4b\u4e00\uff1a ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, \u6216 ``FX_NONE``.\n:param shape: (\u5f62\u72b6) \u5f00\u59cb\u9891\u7387\u548c\u7ed3\u675f\u9891\u7387\u4e4b\u95f4\u7684\u5185\u63d2\u66f2\u7ebf\u7c7b\u578b\uff0c\u4e0d\u540c\u6ce2\u5f62\u7684\u9891\u7387\u53d8\u5316\u901f\u5ea6\u4e0d\u540c\u3002 \u4ee5\u4e0b\u503c\u4e4b\u4e00: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"\u521b\u5efa\u6b64 ``SoundEffect`` \u7684\u526f\u672c\u3002 (\u590d\u5236)\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"``AudioFrame`` \u5bf9\u8c61\u662f \u4e00\u4e2a\u5305\u542b 32 \u4e2a\u6837\u672c\u7684\u5217\u8868\uff0c\u6bcf\u4e2a\u6837\u672c\u90fd\u662f\u4e00\u4e2a\u65e0\u7b26\u53f7\u5b57\u8282\n\uff080 \u5230 255 \u4e4b\u95f4\u7684\u6574\u6570\uff09\u3002 (\u97f3\u9891\u5e27)\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"\u7528\u5176\u4ed6 ``AudioFrame`` \u5b9e\u4f8b\u4e2d\u7684\u6570\u636e\u8986\u76d6\u6b64 ``AudioFrame`` \u4e2d\u7684\u6570\u636e\u3002 (\u590d\u5236)\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: (\u5176\u4ed6) \u4ece ``AudioFrame`` \u5b9e\u4f8b\u4e2d\u590d\u5236\u6570\u636e\u3002\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", + "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"\u4f7f\u7528\u5185\u7f6e\u7f57\u76d8\u3002 (\u7f57\u76d8)\"\"\"\n\ndef calibrate() -> None:\n \"\"\"\u5f00\u59cb\u6821\u51c6\u8fc7\u7a0b\u3002 (\u6821\u51c6)\n\nExample: ``compass.calibrate()``\n\nAn instructive message will be scrolled to the user after which they will need\nto rotate the device in order to draw a circle on the LED display.\"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"\u68c0\u67e5\u7f57\u76d8\u662f\u5426\u5df2\u6821\u51c6\u3002\n\nExample: ``compass.is_calibrated()``\n\n:return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"\u53d6\u6d88\u6821\u51c6\uff0c\u5c06\u7f57\u76d8\u6062\u590d\u5230\u672a\u6821\u51c6\u72b6\u6001\u3002\n\nExample: ``compass.clear_calibration()``\"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"\u83b7\u53d6 ``x`` \u8f74\u4e0a\u7684\u78c1\u573a\u5f3a\u5ea6\u3002\n\nExample: ``compass.get_x()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"\u83b7\u53d6 ``y`` \u8f74\u4e0a\u7684\u78c1\u573a\u5f3a\u5ea6\u3002\n\nExample: ``compass.get_y()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"\u83b7\u53d6 ``z`` \u8f74\u4e0a\u7684\u78c1\u573a\u5f3a\u5ea6\u3002\n\nExample: ``compass.get_z()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"\u83b7\u53d6\u7f57\u76d8\u6307\u5411\u3002\n\nExample: ``compass.heading()``\n\n:return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"\u83b7\u53d6\u8bbe\u5907\u5468\u56f4\u78c1\u573a\u7684\u5f3a\u5ea6\u3002 (\u83b7\u53d6\u78c1\u573a\u5f3a\u5ea6)\n\nExample: ``compass.get_field_strength()``\n\n:return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...", + "/typeshed/stdlib/microbit/display.pyi": "\"\"\"\u57285\u00d75\u7684 LED \u663e\u793a\u5c4f\u4e0a\u663e\u793a\u6587\u5b57\u3001\u56fe\u50cf\u548c\u52a8\u753b\u3002 (\u663e\u793a)\"\"\"\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"\u83b7\u53d6\u7b2c``y``\u884c\u7b2c``x``\u5217\u7684 LED \u4eae\u5ea6\u3002\n\nExample: ``display.get_pixel(0, 0)``\n\n:param x: \u663e\u793a\u5c4f\u7684\u5217(0..4)\n:param y: \u663e\u793a\u884c (0..4)\n:return: A number between 0 (off) and 9 (bright)\"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"\u8bbe\u7f6e\u5728 ``x`` \u5217\u548c ``y`` \u884c\u7684 LED \u7684\u4eae\u5ea6\u3002\n\nExample: ``display.set_pixel(0, 0, 9)``\n\n:param x: \u663e\u793a\u5c4f\u7684\u5217(0..4)\n:param y: \u663e\u793a\u884c (0..4)\n:param value: \u5728 0 (\u5173\u95ed) \u548c 9 (\u4eae) \u4e4b\u95f4\u7684\u4eae\u5ea6\"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"\u5c06\u6240\u6709 LED \u7684\u4eae\u5ea6\u8bbe\u7f6e\u4e3a 0\uff08\u5173\u95ed\uff09\u3002 (\u6e05\u9664)\n\nExample: ``display.clear()``\"\"\"\n ...\n\ndef show(image: Union[str, float, int, Image, Iterable[Image]], delay: int=400, wait: bool=True, loop: bool=False, clear: bool=False) -> None:\n \"\"\"\u5728 LED \u663e\u793a\u5c4f\u4e0a\u663e\u793a\u56fe\u50cf\u3001\u5b57\u6bcd\u6216\u6570\u5b57\u3002 (\u663e\u793a)\n\nExample: ``display.show(Image.HEART)``\n\nWhen ``image`` is an image or a list of images then each image is displayed in turn.\nIf ``image`` is a string or number, each letter or digit is displayed in turn.\n\n:param image: (\u56fe\u50cf) \u8981\u663e\u793a\u7684\u4e00\u4e2a\u5b57\u7b26\u4e32\u3001\u6570\u5b57\u3001\u56fe\u50cf\u6216\u56fe\u50cf\u5217\u8868\u3002\n:param delay: (\u5ef6\u8fdf) \u6bcf\u4e2a\u5b57\u6bcd\u3001\u6570\u5b57\u6216\u56fe\u50cf\u4e4b\u95f4\u663e\u793a\u7684\u95f4\u9694\u65f6\u95f4\u4e3a ``delay`` \u6beb\u79d2\u3002\n:param wait: (\u7b49\u5f85) \u5982\u679c ``wait`` \u4e3a ``True``\uff0c\u6b64\u51fd\u6570\u5c06\u963b\u585e\u76f4\u5230\u52a8\u753b\u5b8c\u6210\uff0c\u5426\u5219\u52a8\u753b\u5c06\u5728\u540e\u53f0\u53d1\u751f\u3002\n:param loop: \u5982\u679c ``loop`` \u4e3a ``True``, \u52a8\u753b\u5c06\u6c38\u8fdc\u91cd\u590d\u3002\n:param clear: (\u6e05\u9664) \u5982\u679c ``clear`` \u662f ``True``, \u5219\u663e\u793a\u5c06\u5728\u5e8f\u5217\u5b8c\u6210\u540e\u88ab\u6e05\u9664\u3002\n\nThe ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\"\"\"\n ...\n\ndef scroll(text: Union[str, float, int], delay: int=150, wait: bool=True, loop: bool=False, monospace: bool=False) -> None:\n \"\"\"\u5728 LED \u663e\u793a\u5c4f\u4e0a\u6eda\u52a8\u4e00\u4e2a\u6570\u5b57\u6216\u6587\u672c\u3002 (\u6eda\u52a8)\n\nExample: ``display.scroll('micro:bit')``\n\n:param text: (\u6587\u672c) \u8981\u6eda\u52a8\u7684\u5b57\u7b26\u4e32\u3002\u5982\u679c ``text`` \u662f\u6574\u6570\u6216\u6d6e\u70b9\u6570\uff0c\u5219\u9996\u5148\u4f7f\u7528 ``str()`` \u5c06\u5176\u8f6c\u6362\u4e3a\u5b57\u7b26\u4e32\u3002\n:param delay: (\u5ef6\u8fdf) ``delay`` \u53c2\u6570\u63a7\u5236\u6587\u672c\u6eda\u52a8\u7684\u901f\u5ea6\u3002\n:param wait: (\u7b49\u5f85) \u5982\u679c ``wait`` \u4e3a ``True``\uff0c\u6b64\u51fd\u6570\u5c06\u963b\u585e\u76f4\u5230\u52a8\u753b\u5b8c\u6210\uff0c\u5426\u5219\u52a8\u753b\u5c06\u53d1\u751f\u5728\u540e\u53f0\u3002\n:param loop: \u5982\u679c ``loop`` \u4e3a ``True``, \u52a8\u753b\u5c06\u6c38\u8fdc\u91cd\u590d\u3002\n:param monospace: (\u7b49\u5bbd) \u5982\u679c ``monospace`` \u4e3a ``True``\uff0c\u5219\u5b57\u7b26\u7684\u5bbd\u5ea6\u90fd\u5c06\u5360\u7528 5 \u4e2a\u50cf\u7d20\u5217\uff0c\u5426\u5219\u5728\u6eda\u52a8\u65f6\u6bcf\u4e2a\u5b57\u7b26\u4e4b\u95f4\u5c06\u6070\u597d\u6709 1 \u4e2a\u7a7a\u767d\u50cf\u7d20\u5217\u3002\n\nThe ``wait``, ``loop`` and ``monospace`` arguments must be specified\nusing their keyword.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"\u6253\u5f00 LED \u663e\u793a\u5c4f\u3002 (\u6253\u5f00)\n\nExample: ``display.on()``\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"\u5173\u95ed LED \u663e\u793a\u5c4f\uff08\u7981\u7528\u663e\u793a\u5c4f\u53ef\u8ba9\u60a8\u5c06 GPIO \u5f15\u811a\u91cd\u65b0\u7528\u4e8e\u5176\u4ed6\u7528\u9014\uff09\u3002 (\u5173\u95ed)\n\nExample: ``display.off()``\"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"\u68c0\u67e5 LED \u663e\u793a\u5c4f\u662f\u5426\u542f\u7528\u3002\n\nExample: ``display.is_on()``\n\n:return: ``True`` if the display is on, otherwise returns ``False``.\"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"\u8bfb\u53d6\u4eae\u5ea6\u3002\n\nExample: ``display.read_light_level()``\n\nUses the display's LEDs in reverse-bias mode to sense the amount of light\nfalling on the display.\n\n:return: An integer between 0 and 255 representing the light level, with larger meaning more light.\"\"\"\n ...", + "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"\u4f7f\u7528 I\u00b2C \u603b\u7ebf\u534f\u8bae\u4e0e\u8bbe\u5907\u901a\u4fe1\u3002 (i2c\u603b\u7ebf\u534f\u8bae)\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"\u91cd\u65b0\u521d\u59cb\u5316\u5916\u8bbe\u3002\n\nExample: ``i2c.init()``\n\n:param freq: \u65f6\u949f\u9891\u7387\n:param sda: (SDA\u5f15\u811a) ``sda`` \u5f15\u811a(\u9ed8\u8ba4 20)\n:param scl: (SCL\u5f15\u811a) ``scl`` \u5f15\u811a(\u9ed8\u8ba4 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"\u626b\u63cf\u603b\u7ebf\u4ee5\u67e5\u627e\u8bbe\u5907\u3002 (\u626b\u63cf)\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"\u4ece\u8bbe\u5907\u8bfb\u53d6\u5b57\u8282. (\u8bfb\u53d6)\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: (\u5730\u5740) \u8bbe\u5907\u7684 7 \u4f4d\u5730\u5740\n:param n: \u8981\u8bfb\u53d6\u7684\u5b57\u8282\u6570\n:param repeat: \u5982\u679c\u4e3a ``True``\uff0c\u5219\u4e0d\u53d1\u9001\u505c\u6b62\u4f4d\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"\u5c06\u5b57\u8282\u5199\u5165\u8bbe\u5907\u3002 (\u5199\u5165)\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: (\u5730\u5740) \u8bbe\u5907\u7684 7 \u4f4d\u5730\u5740\n:param buf: (\u7f13\u51b2\u533a) \u5305\u542b\u8981\u5199\u5165\u7684\u5b57\u8282\u7684\u7f13\u51b2\u533a\n:param repeat: \u5982\u679c\u4e3a ``True``\uff0c\u5219\u4e0d\u53d1\u9001\u505c\u6b62\u4f4d\"\"\"\n ...", + "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"\u4f7f\u7528\u5185\u7f6e\u9ea6\u514b\u98ce\u54cd\u5e94\u58f0\u97f3\uff08\u4ec5\u9650 V2\uff09\u3002 (\u9ea6\u514b\u98ce)\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"\u83b7\u53d6\u6700\u540e\u5f55\u5236\u7684\u58f0\u97f3\u4e8b\u4ef6\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"\u68c0\u67e5\u81ea\u4e0a\u6b21\u901a\u8bdd\u540e\u662f\u5426\u81f3\u5c11\u542c\u5230\u4e00\u6b21\u58f0\u97f3\u3002 (\u66fe\u7ecf\u662f\u4e8b\u4ef6)\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: (\u4e8b\u4ef6) \u8981\u68c0\u67e5\u7684\u4e8b\u4ef6\uff0c\u4f8b\u5982 ``SoundEvent.LOUD`` \u6216 ``SoundEvent.QUIET``\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"\u68c0\u67e5\u6700\u8fd1\u68c0\u6d4b\u5230\u7684\u58f0\u97f3\u4e8b\u4ef6\u3002 (\u662f\u4e8b\u4ef6)\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: (\u4e8b\u4ef6) \u8981\u68c0\u67e5\u7684\u4e8b\u4ef6\uff0c\u4f8b\u5982 ``SoundEvent.LOUD`` \u6216 ``SoundEvent.QUIET``\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"\u4ee5\u5143\u7ec4\u7684\u5f62\u5f0f\u83b7\u53d6\u58f0\u97f3\u4e8b\u4ef6\u5386\u53f2\u3002\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"\u8bbe\u7f6e\u58f0\u97f3\u4e8b\u4ef6\u7684\u9608\u503c\u3002\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: (\u4e8b\u4ef6) \u58f0\u97f3\u4e8b\u4ef6\uff0c\u5982``SoundEvent.LOUD``\u6216``SoundEvent.QUIET``\u3002\n:param value: \u8303\u56f4\u4e3a0\u5230255\u7684\u9608\u503c\u6c34\u5e73\u3002\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"\u83b7\u53d6\u58f0\u538b\u7ea7\u3002 (\u97f3\u91cf)\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", + "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"\u63a7\u5236\u5185\u7f6e\u626c\u58f0\u5668\uff08\u4ec5\u9650 V2\uff09\u3002 (\u626c\u58f0\u5668\\u200b\\u200b\\u200b\\u200b)\"\"\"\n\ndef off() -> None:\n \"\"\"\u5173\u95ed\u626c\u58f0\u5668\\u200b\\u200b\\u200b\\u200b\u3002 (\u5173\u95ed)\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"\u6253\u5f00\u626c\u58f0\u5668\\u200b\\u200b\\u200b\\u200b\u3002 (\u6253\u5f00)\n\nExample: ``speaker.on()``\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"\u901a\u8fc7\u4e32\u884c\u5916\u8bbe\u63a5\u53e3\uff08SPI\uff09\u603b\u7ebf\u4e0e\u8bbe\u5907\u901a\u4fe1\u3002 (\u4e32\u884c\u5916\u56f4\u63a5\u53e3\uff08SPI\uff09)\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"\u521d\u59cb\u5316\u4e32\u884c\u5916\u8bbe\u63a5\u53e3\uff08SPI \uff09\u901a\u4fe1\u3002\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: (\u6ce2\u7279\u7387) \u901a\u4fe1\u901f\u5ea6\u3002\n:param bits: (\u4f4d) \u6bcf\u6b21\u4f20\u8f93\u7684\u5bbd\u5ea6\uff08\u5355\u4f4d\uff1abit\uff09\u3002\u76ee\u524d\u53ea\u652f\u6301 ``bits=8``\uff0c\u4f46\u662f\u672a\u6765\u53ef\u80fd\u652f\u6301\u5176\u4ed6\u5bbd\u5ea6\u3002\n:param mode: (\u6a21\u5f0f) \u51b3\u5b9a\u65f6\u949f\u6781\u6027\u548c\u76f8\u4f4d\u7684\u7ec4\u5408\u2014\u2014\u201c\u53c2\u89c1\u5728\u7ebf\u8868\u683c\u201d\u3002\n:param sclk: (SCLK) sclk \u5f15\u811a(\u9ed8\u8ba4 13)\n:param mosi: (MOSI) mosi \u5f15\u811a(\u9ed8\u8ba4 15)\n:param miso: (MISO) MISO\u5f15\u811a\uff08\u9ed8\u8ba4\u503c14\uff09\"\"\"\n ...\n\ndef read(nbytes: int) -> bytes:\n \"\"\"\u8bfb\u53d6\u5b57\u8282\u3002 (\u8bfb\u53d6)\n\nExample: ``spi.read(64)``\n\n:param nbytes: (\u5b57\u8282\u6570) \u8981\u8bfb\u53d6\u7684\u6700\u5927\u5b57\u8282\u6570\u3002\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"\u5c06\u5b57\u8282\u5199\u5165\u603b\u7ebf\u3002 (\u5199\u5165)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: (\u7f13\u51b2\u533a) \u8bfb\u53d6\u6570\u636e\u7684\u7f13\u51b2\u533a\u3002\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"\u5c06 ``out`` \u7f13\u51b2\u533a\u5199\u5165\u603b\u7ebf\uff0c\u5e76\u5c06\u4efb\u4f55\u54cd\u5e94\u8bfb\u5165 ``in_`` \u7f13\u51b2\u533a\u3002 (\u5199\u5e76\u8bfb\u5165)\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: (\u5199\u51fa) \u5199\u5165\u4efb\u4f55\u54cd\u5e94\u7684\u7f13\u51b2\u533a\u3002\n:param in_: (\u8bfb\u5165) \u8bfb\u53d6\u6570\u636e\u7684\u7f13\u51b2\u533a\u3002\"\"\"\n ...", + "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"\u4f7f\u7528\u4e32\u884c\u63a5\u53e3\u4e0e\u8bbe\u5907\u901a\u4fe1\u3002 (\u901a\u7528\u5f02\u6b65\u6536\u53d1\u5668\uff08UART\uff09)\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"\u5947\u6821\u9a8c (\u5947\u6570)\"\"\"\nEVEN: int\n\"\"\"\u5076\u6821\u9a8c (\u5076\u6570)\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"\u521d\u59cb\u5316\u4e32\u884c\u901a\u4fe1\u3002\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: (\u6ce2\u7279\u7387) \u901a\u4fe1\u901f\u5ea6\u3002\n:param bits: (\u4f4d\u6570) \u6b63\u5728\u4f20\u8f93\u7684\u5b57\u8282\u5927\u5c0f\u3002micro:bit \u4ec5\u652f\u6301 8 \u5b57\u8282\u3002\n:param parity: (\u5947\u5076\u6821\u9a8c) \u5982\u4f55\u68c0\u67e5\u5947\u5076\u6027\uff0c``None``\u3001``uart.ODD`` \u6216 ``uart.EVEN``\u3002\n:param stop: (\u505c\u6b62) \u505c\u6b62\u4f4d\u7684\u6570\u91cf\uff0c\u5bf9\u4e8e micro:bit\uff0c\u5fc5\u987b\u4e3a 1\u3002\n:param tx: (\u53d1\u9001\u5f15\u811a) \u4f20\u8f93\u5f15\u811a\u3002\n:param rx: (\u63a5\u6536\u5f15\u811a) \u63a5\u6536\u5f15\u811a\u3002\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"\u68c0\u67e5\u662f\u5426\u6709\u4efb\u4f55\u6570\u636e\u6b63\u5728\u7b49\u5f85\u3002 (\u4efb\u4f55)\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"\u8bfb\u53d6\u5b57\u8282\u3002 (\u8bfb\u53d6)\n\nExample: ``uart.read()``\n\n:param nbytes: (\u5b57\u8282\u6570) \u5982\u679c\u6307\u5b9a\u4e86 ``nbytes``\uff0c\u5219\u6700\u591a\u8bfb\u53d6\u90a3\u4e48\u591a\u5b57\u8282\uff0c\u5426\u5219\u8bfb\u53d6\u5c3d\u53ef\u80fd\u591a\u7684\u5b57\u8282\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"\u8bfb\u53d6\u5b57\u8282\u5230 ``buf``\u3002 (\u8bfb\u5165)\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: (\u7f13\u51b2\u533a) \u8981\u5199\u5165\u7684\u7f13\u5b58\u3002\n:param nbytes: (\u5b57\u8282\u6570) \u5982\u679c\u6307\u5b9a\u4e86 ``nbytes``\uff0c\u5219\u6700\u591a\u8bfb\u53d6\u90a3\u4e48\u591a\u5b57\u8282\uff0c\u5426\u5219\u8bfb\u53d6 ``len(buf)`` \u4e2a\u5b57\u8282\u3002\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"\u8bfb\u53d6\u4e00\u884c\uff0c\u4ee5\u6362\u884c\u7b26\u7ed3\u5c3e\u3002 (\u8bfb\u53d6\u4e00\u884c)\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"\u5c06\u7f13\u51b2\u533a\u5199\u5165\u603b\u7ebf\u3002 (\u5199\u5165)\n\nExample: ``uart.write('hello world')``\n\n:param buf: (\u7f13\u51b2\u533a) \u4e00\u4e2a\u5b57\u8282\u5bf9\u8c61\u6216\u4e00\u4e2a\u5b57\u7b26\u4e32\u3002\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", + "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", + "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" + } +} \ No newline at end of file diff --git a/src/micropython/beta/typeshed.zh-tw.json b/src/micropython/beta/typeshed.zh-tw.json new file mode 100644 index 000000000..c348326fa --- /dev/null +++ b/src/micropython/beta/typeshed.zh-tw.json @@ -0,0 +1,51 @@ +{ + "files": { + "/typeshed/stdlib/VERSIONS": "# The structure of this file is as follows:\n# - Blank lines and comments starting with `#` are ignored.\n# - Lines contain the name of a module, followed by a colon,\n# a space, and a version range (for example: `symbol: 2.7-3.9`).\n#\n# Version ranges may be of the form \"X.Y-A.B\" or \"X.Y-\". The\n# first form means that a module was introduced in version X.Y and last\n# available in version A.B. The second form means that the module was\n# introduced in version X.Y and is still available in the latest\n# version of Python.\n#\n# If a submodule is not listed separately, it has the same lifetime as\n# its parent module.\n#\n# Python versions before 2.7 are ignored, so any module that was already\n# present in 2.7 will have \"2.7\" as its minimum version. Version ranges\n# for unsupported versions of Python 3 (currently 3.5 and lower) are\n# generally accurate but we do not guarantee their correctness.\n\nantigravity: 3.0-\narray: 3.0-\naudio: 3.0-\nbuiltins: 3.0-\nerrno: 3.0-\ngc: 3.0-\nlove: 3.0-\nmachine: 3.0-\nmath: 3.0-\nmicrobit: 3.0-\nmicropython: 3.0-\nmusic: 3.0-\nneopixel: 3.0-\nos: 3.0-\nradio: 3.0-\nrandom: 3.0-\nspeech: 3.0-\nstruct: 3.0-\nsys: 3.0-\nthis: 3.0-\ntime: 3.0-\ntyping_extensions: 3.0-\ntyping: 3.0-\nuarray: 3.0-\nucollections: 3.0-\nuerrno: 3.0-\nuos: 3.0-\nurandom: 3.0-\nustruct: 3.0-\nusys: 3.0-\nutime: 3.0-", + "/typeshed/stdlib/abc.pyi": "from _typeshed import SupportsWrite\nfrom typing import Any, Callable, Tuple, Type, TypeVar\n\n_T = TypeVar(\"_T\")\n_FuncT = TypeVar(\"_FuncT\", bound=Callable[..., Any])\n\n# These definitions have special processing in mypy\nclass ABCMeta(type):\n __abstractmethods__: frozenset[str]\n def __init__(\n self, name: str, bases: Tuple[type, ...], namespace: dict[str, Any]\n ) -> None: ...\n def __instancecheck__(cls: ABCMeta, instance: Any) -> Any: ...\n def __subclasscheck__(cls: ABCMeta, subclass: Any) -> Any: ...\n def _dump_registry(cls: ABCMeta, file: SupportsWrite[str] | None = ...) -> None: ...\n def register(cls: ABCMeta, subclass: Type[_T]) -> Type[_T]: ...\n\ndef abstractmethod(funcobj: _FuncT) -> _FuncT: ...\n\nclass abstractproperty(property): ...\n\n# These two are deprecated and not supported by mypy\ndef abstractstaticmethod(callable: _FuncT) -> _FuncT: ...\ndef abstractclassmethod(callable: _FuncT) -> _FuncT: ...\n\nclass ABC(metaclass=ABCMeta): ...\n\ndef get_cache_token() -> object: ...\n", + "/typeshed/stdlib/antigravity.pyi": "", + "/typeshed/stdlib/array.pyi": "from typing import Generic, Iterable, MutableSequence, TypeVar, Union, overload\nfrom typing_extensions import Literal\n\n_IntTypeCode = Literal[\"b\", \"B\", \"h\", \"H\", \"i\", \"I\", \"l\", \"L\", \"q\", \"Q\"]\n_FloatTypeCode = Literal[\"f\", \"d\"]\n_TypeCode = Union[_IntTypeCode, _FloatTypeCode]\n\n_T = TypeVar(\"_T\", int, float)\n\nclass array(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(\n self: array[int],\n typecode: _IntTypeCode,\n __initializer: Union[bytes, Iterable[_T]] = ...,\n ) -> None: ...\n @overload\n def __init__(\n self: array[float],\n typecode: _FloatTypeCode,\n __initializer: Union[bytes, Iterable[_T]] = ...,\n ) -> None: ...\n @overload\n def __init__(\n self, typecode: str, __initializer: Union[bytes, Iterable[_T]] = ...\n ) -> None: ...\n def append(self, __v: _T) -> None: ...\n def decode(self) -> str: ...\n def extend(self, __bb: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n @overload\n def __getitem__(self, i: int) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> array[_T]: ...\n @overload # type: ignore # Overrides MutableSequence\n def __setitem__(self, i: int, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: array[_T]) -> None: ...\n def __add__(self, x: array[_T]) -> array[_T]: ...\n def __iadd__(self, x: array[_T]) -> array[_T]: ... # type: ignore # Overrides MutableSequence\n\nArrayType = array\n", + "/typeshed/stdlib/audio.pyi": "\"\"\"Play sounds using the micro:bit (import ``audio`` for V1 compatibility).\n\"\"\"\n\n# Re-export for V1 compatibility.\nfrom .microbit.audio import (\n is_playing as is_playing,\n play as play,\n stop as stop,\n AudioFrame as AudioFrame,\n SoundEffect as SoundEffect,\n)\n", + "/typeshed/stdlib/builtins.pyi": "import sys\nimport types\nfrom _typeshed import (\n OpenBinaryMode,\n OpenTextMode,\n ReadableBuffer,\n Self,\n StrOrBytesPath,\n SupportsDivMod,\n SupportsKeysAndGetItem,\n SupportsLenAndGetItem,\n SupportsLessThan,\n SupportsLessThanT,\n SupportsRDivMod,\n SupportsWrite,\n)\nfrom types import CodeType, TracebackType\nfrom typing import (\n IO,\n AbstractSet,\n Any,\n AsyncIterable,\n AsyncIterator,\n BinaryIO,\n ByteString,\n Callable,\n FrozenSet,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n MutableMapping,\n MutableSequence,\n MutableSet,\n NoReturn,\n Protocol,\n Reversible,\n Sequence,\n Set,\n Sized,\n SupportsAbs,\n SupportsBytes,\n SupportsComplex,\n SupportsFloat,\n SupportsInt,\n SupportsRound,\n TextIO,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, SupportsIndex, final\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\nclass _SupportsTrunc(Protocol):\n def __trunc__(self) -> int: ...\n\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n_S = TypeVar(\"_S\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T3 = TypeVar(\"_T3\")\n_T4 = TypeVar(\"_T4\")\n_T5 = TypeVar(\"_T5\")\n_TT = TypeVar(\"_TT\", bound=\"type\")\n_TBE = TypeVar(\"_TBE\", bound=\"BaseException\")\n\nclass object:\n __doc__: str | None\n __dict__: dict[str, Any]\n __slots__: str | Iterable[str]\n __module__: str\n __annotations__: dict[str, Any]\n @property\n def __class__(self: _T) -> Type[_T]: ...\n # Ignore errors about type mismatch between property getter and setter\n @__class__.setter\n def __class__(self, __type: Type[object]) -> None: ... # type: ignore # noqa: F811\n def __init__(self) -> None: ...\n def __new__(cls: Type[_T]) -> _T: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __eq__(self, o: object) -> bool: ...\n def __ne__(self, o: object) -> bool: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n def __format__(self, format_spec: str) -> str: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __delattr__(self, name: str) -> None: ...\n def __sizeof__(self) -> int: ...\n def __reduce__(self) -> str | Tuple[Any, ...]: ...\n if sys.version_info >= (3, 8):\n def __reduce_ex__(self, protocol: SupportsIndex) -> str | Tuple[Any, ...]: ...\n else:\n def __reduce_ex__(self, protocol: int) -> str | Tuple[Any, ...]: ...\n def __dir__(self) -> Iterable[str]: ...\n def __init_subclass__(cls) -> None: ...\n\nclass staticmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass classmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass type(object):\n __base__: type\n __bases__: Tuple[type, ...]\n __basicsize__: int\n __dict__: dict[str, Any]\n __dictoffset__: int\n __flags__: int\n __itemsize__: int\n __module__: str\n __name__: str\n __qualname__: str\n __text_signature__: str | None\n __weakrefoffset__: int\n @overload\n def __init__(self, o: object) -> None: ...\n @overload\n def __init__(\n self, name: str, bases: Tuple[type, ...], dict: dict[str, Any], **kwds: Any\n ) -> None: ...\n @overload\n def __new__(cls, o: object) -> type: ...\n @overload\n def __new__(\n cls: Type[_TT],\n name: str,\n bases: Tuple[type, ...],\n namespace: dict[str, Any],\n **kwds: Any,\n ) -> _TT: ...\n def __call__(self, *args: Any, **kwds: Any) -> Any: ...\n def __subclasses__(self: _TT) -> list[_TT]: ...\n def __instancecheck__(self, instance: Any) -> bool: ...\n def __subclasscheck__(self, subclass: type) -> bool: ...\n @classmethod\n def __prepare__(\n metacls, __name: str, __bases: Tuple[type, ...], **kwds: Any\n ) -> Mapping[str, Any]: ...\n if sys.version_info >= (3, 10):\n def __or__(self, t: Any) -> types.UnionType: ...\n def __ror__(self, t: Any) -> types.UnionType: ...\n\nclass super(object):\n @overload\n def __init__(self, t: Any, obj: Any) -> None: ...\n @overload\n def __init__(self, t: Any) -> None: ...\n @overload\n def __init__(self) -> None: ...\n\nclass int:\n @overload\n def __new__(\n cls: Type[_T],\n x: str | bytes | SupportsInt | SupportsIndex | _SupportsTrunc = ...,\n ) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], x: str | bytes | bytearray, base: SupportsIndex\n ) -> _T: ...\n def to_bytes(\n self,\n length: SupportsIndex,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> bytes: ...\n @classmethod\n def from_bytes(\n cls,\n bytes: Iterable[SupportsIndex] | SupportsBytes,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> int: ... # TODO buffer object argument\n def __add__(self, x: int) -> int: ...\n def __sub__(self, x: int) -> int: ...\n def __mul__(self, x: int) -> int: ...\n def __floordiv__(self, x: int) -> int: ...\n def __truediv__(self, x: int) -> float: ...\n def __mod__(self, x: int) -> int: ...\n def __divmod__(self, x: int) -> Tuple[int, int]: ...\n def __radd__(self, x: int) -> int: ...\n def __rsub__(self, x: int) -> int: ...\n def __rmul__(self, x: int) -> int: ...\n def __rfloordiv__(self, x: int) -> int: ...\n def __rtruediv__(self, x: int) -> float: ...\n def __rmod__(self, x: int) -> int: ...\n def __rdivmod__(self, x: int) -> Tuple[int, int]: ...\n @overload\n def __pow__(self, __x: Literal[2], __modulo: int | None = ...) -> int: ...\n @overload\n def __pow__(\n self, __x: int, __modulo: int | None = ...\n ) -> Any: ... # Return type can be int or float, depending on x.\n def __rpow__(self, x: int, mod: int | None = ...) -> Any: ...\n def __and__(self, n: int) -> int: ...\n def __or__(self, n: int) -> int: ...\n def __xor__(self, n: int) -> int: ...\n def __lshift__(self, n: int) -> int: ...\n def __rshift__(self, n: int) -> int: ...\n def __rand__(self, n: int) -> int: ...\n def __ror__(self, n: int) -> int: ...\n def __rxor__(self, n: int) -> int: ...\n def __rlshift__(self, n: int) -> int: ...\n def __rrshift__(self, n: int) -> int: ...\n def __neg__(self) -> int: ...\n def __pos__(self) -> int: ...\n def __invert__(self) -> int: ...\n def __trunc__(self) -> int: ...\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n def __round__(self, ndigits: SupportsIndex = ...) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: int) -> bool: ...\n def __le__(self, x: int) -> bool: ...\n def __gt__(self, x: int) -> bool: ...\n def __ge__(self, x: int) -> bool: ...\n def __str__(self) -> str: ...\n def __float__(self) -> float: ...\n def __int__(self) -> int: ...\n def __abs__(self) -> int: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n def __index__(self) -> int: ...\n\nclass float:\n def __new__(\n cls: Type[_T], x: SupportsFloat | SupportsIndex | str | bytes | bytearray = ...\n ) -> _T: ...\n def __add__(self, x: float) -> float: ...\n def __sub__(self, x: float) -> float: ...\n def __mul__(self, x: float) -> float: ...\n def __floordiv__(self, x: float) -> float: ...\n def __truediv__(self, x: float) -> float: ...\n def __mod__(self, x: float) -> float: ...\n def __divmod__(self, x: float) -> Tuple[float, float]: ...\n def __pow__(\n self, x: float, mod: None = ...\n ) -> float: ... # In Python 3, returns complex if self is negative and x is not whole\n def __radd__(self, x: float) -> float: ...\n def __rsub__(self, x: float) -> float: ...\n def __rmul__(self, x: float) -> float: ...\n def __rfloordiv__(self, x: float) -> float: ...\n def __rtruediv__(self, x: float) -> float: ...\n def __rmod__(self, x: float) -> float: ...\n def __rdivmod__(self, x: float) -> Tuple[float, float]: ...\n def __rpow__(self, x: float, mod: None = ...) -> float: ...\n def __getnewargs__(self) -> Tuple[float]: ...\n def __trunc__(self) -> int: ...\n if sys.version_info >= (3, 9):\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n @overload\n def __round__(self, ndigits: None = ...) -> int: ...\n @overload\n def __round__(self, ndigits: SupportsIndex) -> float: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: float) -> bool: ...\n def __le__(self, x: float) -> bool: ...\n def __gt__(self, x: float) -> bool: ...\n def __ge__(self, x: float) -> bool: ...\n def __neg__(self) -> float: ...\n def __pos__(self) -> float: ...\n def __str__(self) -> str: ...\n def __int__(self) -> int: ...\n def __float__(self) -> float: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass complex:\n @overload\n def __new__(cls: Type[_T], real: float = ..., imag: float = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], real: str | SupportsComplex | SupportsIndex | complex\n ) -> _T: ...\n @property\n def real(self) -> float: ...\n @property\n def imag(self) -> float: ...\n def __add__(self, x: complex) -> complex: ...\n def __sub__(self, x: complex) -> complex: ...\n def __mul__(self, x: complex) -> complex: ...\n def __pow__(self, x: complex, mod: None = ...) -> complex: ...\n def __truediv__(self, x: complex) -> complex: ...\n def __radd__(self, x: complex) -> complex: ...\n def __rsub__(self, x: complex) -> complex: ...\n def __rmul__(self, x: complex) -> complex: ...\n def __rpow__(self, x: complex, mod: None = ...) -> complex: ...\n def __rtruediv__(self, x: complex) -> complex: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __neg__(self) -> complex: ...\n def __pos__(self) -> complex: ...\n def __str__(self) -> str: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass str(Sequence[str]):\n @overload\n def __new__(cls: Type[_T], o: object = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], o: bytes, encoding: str = ..., errors: str = ...\n ) -> _T: ...\n def count(\n self,\n x: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def encode(self, encoding: str = ..., errors: str = ...) -> bytes: ...\n def endswith(\n self,\n __suffix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def format(self, *args: object, **kwargs: object) -> str: ...\n def index(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable: Iterable[str]) -> str: ...\n def lower(self) -> str: ...\n def lstrip(self, __chars: str | None = ...) -> str: ...\n def replace(self, __old: str, __new: str, __count: SupportsIndex = ...) -> str: ...\n def rfind(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def rstrip(self, __chars: str | None = ...) -> str: ...\n def split(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def startswith(\n self,\n __prefix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __chars: str | None = ...) -> str: ...\n def upper(self) -> str: ...\n def __add__(self, s: str) -> str: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: str) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ge__(self, x: str) -> bool: ...\n def __getitem__(self, i: int | slice) -> str: ...\n def __gt__(self, x: str) -> bool: ...\n def __hash__(self) -> int: ...\n def __iter__(self) -> Iterator[str]: ...\n def __le__(self, x: str) -> bool: ...\n def __len__(self) -> int: ...\n def __lt__(self, x: str) -> bool: ...\n def __mod__(self, x: Any) -> str: ...\n def __mul__(self, n: SupportsIndex) -> str: ...\n def __ne__(self, x: object) -> bool: ...\n def __repr__(self) -> str: ...\n def __rmul__(self, n: SupportsIndex) -> str: ...\n def __str__(self) -> str: ...\n def __getnewargs__(self) -> Tuple[str]: ...\n\nclass bytes(ByteString):\n @overload\n def __new__(cls: Type[_T], ints: Iterable[SupportsIndex]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], string: str, encoding: str, errors: str = ...) -> _T: ...\n @overload\n def __new__(cls: Type[_T], length: SupportsIndex) -> _T: ...\n @overload\n def __new__(cls: Type[_T]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], o: SupportsBytes) -> _T: ...\n def count(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def endswith(\n self,\n __suffix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def index(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable_of_bytes: Iterable[ByteString | memoryview]) -> bytes: ...\n def lower(self) -> bytes: ...\n def lstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def replace(\n self, __old: bytes, __new: bytes, __count: SupportsIndex = ...\n ) -> bytes: ...\n def rfind(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def rstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def split(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def startswith(\n self,\n __prefix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __bytes: bytes | None = ...) -> bytes: ...\n def upper(self) -> bytes: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytes: ...\n def __add__(self, s: bytes) -> bytes: ...\n def __mul__(self, n: SupportsIndex) -> bytes: ...\n def __rmul__(self, n: SupportsIndex) -> bytes: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n def __getnewargs__(self) -> Tuple[bytes]: ...\n\nclass bytearray:\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, ints: Iterable[SupportsIndex]) -> None: ...\n @overload\n def __init__(self, string: str, encoding: str, errors: str = ...) -> None: ...\n @overload\n def __init__(self, length: SupportsIndex) -> None: ...\n def append(self, __item: SupportsIndex) -> None: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def extend(self, __iterable_of_ints: Iterable[SupportsIndex]) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytearray: ...\n @overload\n def __setitem__(self, i: SupportsIndex, x: SupportsIndex) -> None: ...\n @overload\n def __setitem__(self, s: slice, x: Iterable[SupportsIndex] | bytes) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, s: bytes) -> bytearray: ...\n def __iadd__(self, s: Iterable[int]) -> bytearray: ...\n def __mul__(self, n: SupportsIndex) -> bytearray: ...\n def __rmul__(self, n: SupportsIndex) -> bytearray: ...\n def __imul__(self, n: SupportsIndex) -> bytearray: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n\nclass memoryview(Sized, Sequence[int]):\n def __init__(self, obj: ReadableBuffer) -> None: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> memoryview: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n def __len__(self) -> int: ...\n @overload\n def __setitem__(self, s: slice, o: bytes) -> None: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: SupportsIndex) -> None: ...\n\n@final\nclass bool(int):\n def __new__(cls: Type[_T], __o: object = ...) -> _T: ...\n @overload\n def __and__(self, x: bool) -> bool: ...\n @overload\n def __and__(self, x: int) -> int: ...\n @overload\n def __or__(self, x: bool) -> bool: ...\n @overload\n def __or__(self, x: int) -> int: ...\n @overload\n def __xor__(self, x: bool) -> bool: ...\n @overload\n def __xor__(self, x: int) -> int: ...\n @overload\n def __rand__(self, x: bool) -> bool: ...\n @overload\n def __rand__(self, x: int) -> int: ...\n @overload\n def __ror__(self, x: bool) -> bool: ...\n @overload\n def __ror__(self, x: int) -> int: ...\n @overload\n def __rxor__(self, x: bool) -> bool: ...\n @overload\n def __rxor__(self, x: int) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n\nclass slice(object):\n start: Any\n step: Any\n stop: Any\n __hash__: None # type: ignore\n def indices(self, len: SupportsIndex) -> Tuple[int, int, int]: ...\n\nclass tuple(Sequence[_T_co], Generic[_T_co]):\n def __new__(cls: Type[_T], iterable: Iterable[_T_co] = ...) -> _T: ...\n def __len__(self) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n @overload\n def __getitem__(self, x: int) -> _T_co: ...\n @overload\n def __getitem__(self, x: slice) -> Tuple[_T_co, ...]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __lt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __le__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __gt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __ge__(self, x: Tuple[_T_co, ...]) -> bool: ...\n @overload\n def __add__(self, x: Tuple[_T_co, ...]) -> Tuple[_T_co, ...]: ...\n @overload\n def __add__(self, x: Tuple[_T, ...]) -> Tuple[_T_co | _T, ...]: ...\n def __mul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def __rmul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def count(self, __value: Any) -> int: ...\n def index(\n self, __value: Any, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n\n# Can we remove this?\nclass function:\n # TODO not defined in builtins!\n __name__: str\n __module__: str\n __code__: CodeType\n __qualname__: str\n __annotations__: dict[str, Any]\n\nclass frozenset(AbstractSet[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls: type[Self]) -> Self: ...\n @overload\n def __new__(cls: type[Self], __iterable: Iterable[_T_co]) -> Self: ...\n def copy(self) -> FrozenSet[_T_co]: ...\n def difference(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def intersection(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def isdisjoint(self, s: Iterable[_T_co]) -> bool: ...\n def issubset(self, s: Iterable[object]) -> bool: ...\n def issuperset(self, s: Iterable[object]) -> bool: ...\n def symmetric_difference(self, s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def union(self, *s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __sub__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass list(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[_T]) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> list[_T]: ...\n def append(self, __object: _T) -> None: ...\n def extend(self, __iterable: Iterable[_T]) -> None: ...\n def pop(self, __index: SupportsIndex = ...) -> _T: ...\n def index(\n self, __value: _T, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n def count(self, __value: _T) -> int: ...\n def insert(self, __index: SupportsIndex, __object: _T) -> None: ...\n def remove(self, __value: _T) -> None: ...\n def reverse(self) -> None: ...\n @overload\n def sort(\n self: list[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n ) -> None: ...\n @overload\n def sort(\n self, *, key: Callable[[_T], SupportsLessThan], reverse: bool = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> list[_T]: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, x: list[_T]) -> list[_T]: ...\n def __iadd__(self: _S, x: Iterable[_T]) -> _S: ...\n def __mul__(self, n: SupportsIndex) -> list[_T]: ...\n def __rmul__(self, n: SupportsIndex) -> list[_T]: ...\n def __imul__(self: _S, n: SupportsIndex) -> _S: ...\n def __contains__(self, o: object) -> bool: ...\n def __reversed__(self) -> Iterator[_T]: ...\n def __gt__(self, x: list[_T]) -> bool: ...\n def __ge__(self, x: list[_T]) -> bool: ...\n def __lt__(self, x: list[_T]) -> bool: ...\n def __le__(self, x: list[_T]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass dict(MutableMapping[_KT, _VT], Generic[_KT, _VT]):\n @overload\n def __init__(self: dict[_KT, _VT]) -> None: ...\n @overload\n def __init__(self: dict[str, _VT], **kwargs: _VT) -> None: ...\n @overload\n def __init__(\n self, map: SupportsKeysAndGetItem[_KT, _VT], **kwargs: _VT\n ) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n def __new__(cls: Type[_T1], *args: Any, **kwargs: Any) -> _T1: ...\n def clear(self) -> None: ...\n def copy(self) -> dict[_KT, _VT]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, __key: _KT, __default: _VT = ...) -> _VT: ...\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT]: ...\n def items(self) -> ItemsView[_KT, _VT]: ...\n @classmethod\n @overload\n def fromkeys(\n cls, __iterable: Iterable[_T], __value: None = ...\n ) -> dict[_T, Any | None]: ...\n @classmethod\n @overload\n def fromkeys(cls, __iterable: Iterable[_T], __value: _S) -> dict[_T, _S]: ...\n def __len__(self) -> int: ...\n def __getitem__(self, k: _KT) -> _VT: ...\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n def __delitem__(self, v: _KT) -> None: ...\n def __iter__(self) -> Iterator[_KT]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __or__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ror__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ior__(self, __value: Mapping[_KT, _VT]) -> dict[_KT, _VT]: ... # type: ignore\n\nclass set(MutableSet[_T], Generic[_T]):\n def __init__(self, iterable: Iterable[_T] = ...) -> None: ...\n def add(self, element: _T) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> Set[_T]: ...\n def difference(self, *s: Iterable[Any]) -> Set[_T]: ...\n def difference_update(self, *s: Iterable[Any]) -> None: ...\n def discard(self, element: _T) -> None: ...\n def intersection(self, *s: Iterable[Any]) -> Set[_T]: ...\n def intersection_update(self, *s: Iterable[Any]) -> None: ...\n def isdisjoint(self, s: Iterable[Any]) -> bool: ...\n def issubset(self, s: Iterable[Any]) -> bool: ...\n def issuperset(self, s: Iterable[Any]) -> bool: ...\n def pop(self) -> _T: ...\n def remove(self, element: _T) -> None: ...\n def symmetric_difference(self, s: Iterable[_T]) -> Set[_T]: ...\n def symmetric_difference_update(self, s: Iterable[_T]) -> None: ...\n def union(self, *s: Iterable[_T]) -> Set[_T]: ...\n def update(self, *s: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __iand__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __or__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ior__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __sub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __isub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __xor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass enumerate(Iterator[Tuple[int, _T]], Generic[_T]):\n def __init__(self, iterable: Iterable[_T], start: int = ...) -> None: ...\n def __iter__(self) -> Iterator[Tuple[int, _T]]: ...\n def __next__(self) -> Tuple[int, _T]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass range(Sequence[int]):\n start: int\n stop: int\n step: int\n @overload\n def __init__(self, stop: SupportsIndex) -> None: ...\n @overload\n def __init__(\n self, start: SupportsIndex, stop: SupportsIndex, step: SupportsIndex = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> range: ...\n def __repr__(self) -> str: ...\n def __reversed__(self) -> Iterator[int]: ...\n\nclass property(object):\n fget: Callable[[Any], Any] | None\n fset: Callable[[Any, Any], None] | None\n fdel: Callable[[Any], None] | None\n def __init__(\n self,\n fget: Callable[[Any], Any] | None = ...,\n fset: Callable[[Any, Any], None] | None = ...,\n fdel: Callable[[Any], None] | None = ...,\n doc: str | None = ...,\n ) -> None: ...\n def getter(self, fget: Callable[[Any], Any]) -> property: ...\n def setter(self, fset: Callable[[Any, Any], None]) -> property: ...\n def deleter(self, fdel: Callable[[Any], None]) -> property: ...\n def __get__(self, obj: Any, type: type | None = ...) -> Any: ...\n def __set__(self, obj: Any, value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nclass _NotImplementedType(Any): # type: ignore\n # A little weird, but typing the __call__ as NotImplemented makes the error message\n # for NotImplemented() much better\n __call__: NotImplemented # type: ignore\n\nNotImplemented: _NotImplementedType\n\ndef abs(__x: SupportsAbs[_T]) -> _T: ...\ndef all(__iterable: Iterable[object]) -> bool: ...\ndef any(__iterable: Iterable[object]) -> bool: ...\ndef bin(__number: int | SupportsIndex) -> str: ...\n\nif sys.version_info >= (3, 7):\n def breakpoint(*args: Any, **kws: Any) -> None: ...\n\ndef callable(__obj: object) -> bool: ...\ndef chr(__i: int) -> str: ...\n\n# We define this here instead of using os.PathLike to avoid import cycle issues.\n# See https://github.com/python/typeshed/pull/991#issuecomment-288160993\n_AnyStr_co = TypeVar(\"_AnyStr_co\", str, bytes, covariant=True)\n\nclass _PathLike(Protocol[_AnyStr_co]):\n def __fspath__(self) -> _AnyStr_co: ...\n\nif sys.version_info >= (3, 10):\n def aiter(__iterable: AsyncIterable[_T]) -> AsyncIterator[_T]: ...\n @overload\n async def anext(__i: AsyncIterator[_T]) -> _T: ...\n @overload\n async def anext(__i: AsyncIterator[_T], default: _VT) -> _T | _VT: ...\n\ndef delattr(__obj: Any, __name: str) -> None: ...\ndef dir(__o: object = ...) -> list[str]: ...\n@overload\ndef divmod(__x: SupportsDivMod[_T_contra, _T_co], __y: _T_contra) -> _T_co: ...\n@overload\ndef divmod(__x: _T_contra, __y: SupportsRDivMod[_T_contra, _T_co]) -> _T_co: ...\ndef eval(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\ndef exec(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\n\nclass filter(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __function: None, __iterable: Iterable[_T | None]) -> None: ...\n @overload\n def __init__(\n self, __function: Callable[[_T], Any], __iterable: Iterable[_T]\n ) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\n@overload\ndef getattr(__o: object, name: str) -> Any: ...\n\n# While technically covered by the last overload, spelling out the types for None and bool\n# help mypy out in some tricky situations involving type context (aka bidirectional inference)\n@overload\ndef getattr(__o: object, name: str, __default: None) -> Any | None: ...\n@overload\ndef getattr(__o: object, name: str, __default: bool) -> Any | bool: ...\n@overload\ndef getattr(__o: object, name: str, __default: _T) -> Any | _T: ...\ndef globals() -> dict[str, Any]: ...\ndef hasattr(__obj: object, __name: str) -> bool: ...\ndef hash(__obj: object) -> int: ...\ndef help(*args: Any, **kwds: Any) -> None: ...\ndef hex(__number: int | SupportsIndex) -> str: ...\ndef id(__obj: object) -> int: ...\ndef input(__prompt: Any = ...) -> str: ...\n@overload\ndef iter(__iterable: Iterable[_T]) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T | None], __sentinel: None) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T], __sentinel: Any) -> Iterator[_T]: ...\n\nif sys.version_info >= (3, 10):\n def isinstance(\n __obj: object,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n def issubclass(\n __cls: type,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n\nelse:\n def isinstance(\n __obj: object, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n def issubclass(\n __cls: type, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n\ndef len(__obj: Sized) -> int: ...\ndef locals() -> dict[str, Any]: ...\n\nclass map(Iterator[_S], Generic[_S]):\n @overload\n def __init__(self, __func: Callable[[_T1], _S], __iter1: Iterable[_T1]) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4, _T5], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[..., _S],\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> None: ...\n def __iter__(self) -> Iterator[_S]: ...\n def __next__(self) -> _S: ...\n\n@overload\ndef max(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef max(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef max(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef max(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef min(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef min(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef min(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef min(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef next(__i: Iterator[_T]) -> _T: ...\n@overload\ndef next(__i: Iterator[_T], default: _VT) -> _T | _VT: ...\ndef oct(__number: int | SupportsIndex) -> str: ...\n\n_OpenFile = Union[StrOrBytesPath, int]\n_Opener = Callable[[str, int], int]\n\n# Text mode: always returns a TextIOWrapper\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenTextMode = ...,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> TextIO: ...\n\n# Unbuffered binary mode: returns a FileIO\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenBinaryMode,\n buffering: int = ...,\n encoding: None = ...,\n errors: None = ...,\n newline: None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> BinaryIO: ...\n\n# Fallback if mode is not specified\n@overload\ndef open(\n file: _OpenFile,\n mode: str,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> IO[Any]: ...\ndef ord(__c: str | bytes) -> int: ...\ndef print(\n *values: object,\n sep: str | None = ...,\n end: str | None = ...,\n file: SupportsWrite[str] | None = ...,\n flush: bool = ...,\n) -> None: ...\n\n_E = TypeVar(\"_E\", contravariant=True)\n_M = TypeVar(\"_M\", contravariant=True)\n\nclass _SupportsPow2(Protocol[_E, _T_co]):\n def __pow__(self, __other: _E) -> _T_co: ...\n\nclass _SupportsPow3(Protocol[_E, _M, _T_co]):\n def __pow__(self, __other: _E, __modulo: _M) -> _T_co: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def pow(\n base: int, exp: int, mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(base: int, exp: int, mod: int) -> int: ...\n @overload\n def pow(base: float, exp: float, mod: None = ...) -> float: ...\n @overload\n def pow(base: _SupportsPow2[_E, _T_co], exp: _E) -> _T_co: ...\n @overload\n def pow(base: _SupportsPow3[_E, _M, _T_co], exp: _E, mod: _M) -> _T_co: ...\n\nelse:\n @overload\n def pow(\n __base: int, __exp: int, __mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(__base: int, __exp: int, __mod: int) -> int: ...\n @overload\n def pow(__base: float, __exp: float, __mod: None = ...) -> float: ...\n @overload\n def pow(__base: _SupportsPow2[_E, _T_co], __exp: _E) -> _T_co: ...\n @overload\n def pow(__base: _SupportsPow3[_E, _M, _T_co], __exp: _E, __mod: _M) -> _T_co: ...\n\nclass reversed(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __sequence: Reversible[_T]) -> None: ...\n @overload\n def __init__(self, __sequence: SupportsLenAndGetItem[_T]) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\ndef repr(__obj: object) -> str: ...\n@overload\ndef round(number: SupportsRound[Any]) -> int: ...\n@overload\ndef round(number: SupportsRound[Any], ndigits: None) -> int: ...\n@overload\ndef round(number: SupportsRound[_T], ndigits: SupportsIndex) -> _T: ...\ndef setattr(__obj: object, __name: str, __value: Any) -> None: ...\n@overload\ndef sorted(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n) -> list[SupportsLessThanT]: ...\n@overload\ndef sorted(\n __iterable: Iterable[_T],\n *,\n key: Callable[[_T], SupportsLessThan],\n reverse: bool = ...,\n) -> list[_T]: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], start: _S) -> _T | _S: ...\n\nelse:\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], __start: _S) -> _T | _S: ...\n\nclass zip(Iterator[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls, __iter1: Iterable[_T1]) -> zip[Tuple[_T1]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2]\n ) -> zip[Tuple[_T1, _T2]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]\n ) -> zip[Tuple[_T1, _T2, _T3]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4, _T5]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> zip[Tuple[Any, ...]]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __next__(self) -> _T_co: ...\n\ndef __import__(\n name: str,\n globals: Mapping[str, Any] | None = ...,\n locals: Mapping[str, Any] | None = ...,\n fromlist: Sequence[str] = ...,\n level: int = ...,\n) -> Any: ...\n\n# Actually the type of Ellipsis is , but since it's\n# not exposed anywhere under that name, we make it private here.\nclass ellipsis: ...\n\nEllipsis: ellipsis\n\nclass BaseException(object):\n args: Tuple[Any, ...]\n __cause__: BaseException | None\n __context__: BaseException | None\n __suppress_context__: bool\n __traceback__: TracebackType | None\n def __init__(self, *args: object) -> None: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def with_traceback(self: _TBE, tb: TracebackType | None) -> _TBE: ...\n\nclass GeneratorExit(BaseException): ...\nclass KeyboardInterrupt(BaseException): ...\n\nclass SystemExit(BaseException):\n code: int\n\nclass Exception(BaseException): ...\n\nclass StopIteration(Exception):\n value: Any\n\n_StandardError = Exception\n\nclass OSError(Exception):\n errno: int\n strerror: str\n # filename, filename2 are actually str | bytes | None\n filename: Any\n filename2: Any\n if sys.platform == \"win32\":\n winerror: int\n\nif sys.platform == \"win32\":\n WindowsError = OSError\n\nclass ArithmeticError(_StandardError): ...\nclass AssertionError(_StandardError): ...\n\nclass AttributeError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n obj: object\n\nclass EOFError(_StandardError): ...\n\nclass ImportError(_StandardError):\n def __init__(\n self, *args: object, name: str | None = ..., path: str | None = ...\n ) -> None: ...\n name: str | None\n path: str | None\n msg: str # undocumented\n\nclass LookupError(_StandardError): ...\nclass MemoryError(_StandardError): ...\n\nclass NameError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n\nclass RuntimeError(_StandardError): ...\n\nclass StopAsyncIteration(Exception):\n value: Any\n\nclass SyntaxError(_StandardError):\n msg: str\n lineno: int | None\n offset: int | None\n text: str | None\n filename: str | None\n if sys.version_info >= (3, 10):\n end_lineno: int | None\n end_offset: int | None\n\nclass TypeError(_StandardError): ...\nclass ValueError(_StandardError): ...\nclass FloatingPointError(ArithmeticError): ...\nclass OverflowError(ArithmeticError): ...\nclass ZeroDivisionError(ArithmeticError): ...\nclass IndexError(LookupError): ...\nclass KeyError(LookupError): ...\nclass NotImplementedError(RuntimeError): ...\nclass IndentationError(SyntaxError): ...\nclass TabError(IndentationError): ...\n", + "/typeshed/stdlib/errno.pyi": "from typing import Mapping\n\nerrorcode: Mapping[int, str]\n\nEACCES: int\nEADDRINUSE: int\nEAGAIN: int\nEALREADY: int\nEBADF: int\nECONNABORTED: int\nECONNREFUSED: int\nECONNRESET: int\nEEXIST: int\nEHOSTUNREACH: int\nEINPROGRESS: int\nEINVAL: int\nEIO: int\nEISDIR: int\nENOBUFS: int\nENODEV: int\nENOENT: int\nENOMEM: int\nENOTCONN: int\nEOPNOTSUPP: int\nEPERM: int\nETIMEDOUT: int\n", + "/typeshed/stdlib/gc.pyi": "\"\"\"\u63a7\u7ba1\u8a18\u61b6\u9ad4\u56de\u6536\u5668\"\"\"\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"\u555f\u7528\u81ea\u52d5\u5316\u8a18\u61b6\u9ad4\u56de\u6536\u3002\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"\u505c\u7528\u81ea\u52d5\u5316\u8a18\u61b6\u9ad4\u56de\u6536\u3002\n\nHeap memory can still be allocated,\nand garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"\u57f7\u884c\u81ea\u52d5\u8a18\u61b6\u9ad4\u7ba1\u7406\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"\u53d6\u5f97\u5df2\u5206\u914d\u7684\u5806\u7a4d RAM \u4f4d\u5143\u7d44\u6578\u3002 (\u8a18\u61b6\u9ad4\u5206\u914d)\n\n:return: The number of bytes allocated.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"\u53d6\u5f97\u53ef\u7528\u5806\u7a4d RAM \u7684\u4f4d\u5143\u7d44\uff0c\u5982\u679c\u6b64\u6578\u91cf\u672a\u77e5\uff0c\u5247\u70ba -1\u3002\n\n:return: The number of bytes free.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"\u67e5\u8a62\u5176\u4ed6 GC \u5206\u914d\u95be\u503c\u3002\n\n:return: The GC allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"\u8a2d\u5b9a\u5176\u4ed6 GC \u5206\u914d\u95be\u503c\u3002\n\nNormally, a collection is triggered only when a new allocation\ncannot be satisfied, i.e. on an out-of-memory (OOM) condition.\nIf this function is called, in addition to OOM, a collection\nwill be triggered each time after ``amount`` bytes have been\nallocated (in total, since the previous time such an amount of bytes\nhave been allocated). ``amount`` is usually specified as less than the\nfull heap size, with the intention to trigger a collection earlier than when the\nheap becomes exhausted, and in the hope that an early collection will prevent\nexcessive memory fragmentation. This is a heuristic measure, the effect\nof which will vary from application to application, as well as\nthe optimal value of the ``amount`` parameter.\n\nA value of -1 means a disabled allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\n\n:param amount: \u6703\u89f8\u767c\u8a18\u61b6\u9ad4\u81ea\u52d5\u7ba1\u7406\u7684\u4f4d\u5143\u6578\u8d85\u6a19\u503c\u3002\"\"\"\n ...", + "/typeshed/stdlib/log.pyi": "\"\"\"\u5c07\u8cc7\u6599\u8a18\u9304\u5230\u60a8\u7684 micro:bit V2\u3002\"\"\"\nfrom typing import Literal, Mapping, Optional, Union, overload\nMILLISECONDS = 1\n\"\"\"\u6beb\u79d2\u6642\u9593\u6233\u8a18\u683c\u5f0f\u3002\"\"\"\nSECONDS = 10\n\"\"\"\u79d2\u6642\u9593\u6233\u8a18\u683c\u5f0f\u3002\"\"\"\nMINUTES = 600\n\"\"\"\u5206\u9418\u6642\u9593\u6233\u8a18\u683c\u5f0f\"\"\"\nHOURS = 36000\n\"\"\"\u5c0f\u6642\u6642\u9593\u6233\u8a18\u683c\u5f0f\u3002 (\u5c0f\u6642)\"\"\"\nDAYS = 864000\n\"\"\"\u5929\u6642\u9593\u6233\u8a18\u683c\u5f0f\u3002\"\"\"\n\ndef set_labels(*labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]]=SECONDS) -> None:\n \"\"\"\u8a2d\u5b9a\u7d00\u9304\u6a94\u6848\u6a19\u982d\u3002\n\nExample: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\nIdeally this function should be called a single time, before any data is\nlogged, to configure the data table header once.\n\nIf a log file already exists when the program starts, or if this function\nis called multiple times, it will check the labels already defined in the\nlog file. If this function call contains any new labels not already\npresent, it will generate a new header row with the additional columns.\n\nBy default the first column contains a timestamp for each row. The time\nunit can be selected via the timestamp argument.\n\n:param *labels: (\u6a19\u7c64) Any number of positional arguments, each corresponding to an entry in the log header.\n:param timestamp: (\u6642\u9593\u6233\u8a18) Select the timestamp unit that will be automatically added as the first column in every row. Timestamp values can be one of ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, ``log.HOURS``, ``log.DAYS`` or ``None`` to disable the timestamp. The default value is ``log.SECONDS``.\"\"\"\n ...\n\n@overload\ndef add(data_dictionary: Optional[Mapping[str, Union[str, int, float]]]) -> None:\n \"\"\"\u900f\u904e\u50b3\u905e\u5305\u542b\u6a19\u982d\u548c\u6578\u503c\u7684\u5b57\u5178\uff0c\u5c07\u8cc7\u6599\u5217\u65b0\u589e\u81f3\u7d00\u9304\u4e2d\u3002\n\nExample: ``log.add({ 'temp': temperature() })``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\n\n:param data_dictionary: (\u8cc7\u6599\u5b57\u5178) The data to log as a dictionary with a key for each header.\"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"\u4f7f\u7528\u95dc\u9375\u5b57\u5f15\u6578\uff0c\u5c07\u8cc7\u6599\u5217\u65b0\u589e\u81f3\u7d00\u9304\u4e2d\u3002\n\nExample: ``log.add(temp=temperature())``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"\u522a\u9664\u7d00\u9304\u7684\u5167\u5bb9\uff0c\u5305\u62ec\u6a19\u984c\u3002\n\nExample: ``log.delete()``\n\nTo add the log headers again the ``set_labels`` function should to be called after this function.\n\nThere are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\nand \u201cfast\u201d invalidates the data without removing it.\n\n:param full: ``True`` selects a \u201cfull\u201d erase and ``False`` selects the \u201cfast\u201d erase method.\"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"Configure mirroring of the data logging activity to the serial output.\n\nExample: ``log.set_mirroring(True)``\n\nSerial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n:param serial: ``True`` enables mirroring data to the serial output.\"\"\"\n ...", + "/typeshed/stdlib/love.pyi": "def badaboom() -> None: ...\n", + "/typeshed/stdlib/machine.pyi": "\"\"\"\u4f4e\u968e\u516c\u7528\u7a0b\u5f0f\u3002\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"\u53d6\u5f97\u5177\u6709\u958b\u767c\u677f\u7684\u552f\u4e00\u8b58\u5225\u78bc\u4e4b\u4f4d\u5143\u7d44\u5b57\u4e32\u3002\n\nExample: ``machine.unique_id()``\n\n:return: An identifier that varies from one board instance to another.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"\u4ee5\u985e\u4f3c\u65bc\u6309\u4e0b\u5916\u90e8 RESET \u6309\u9375\u7684\u65b9\u5f0f\u91cd\u7f6e\u88dd\u7f6e\u3002\n\nExample: ``machine.reset()``\"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"\u53d6\u5f97\u4ee5\u8d6b\u8332\u70ba\u55ae\u4f4d\u7684 CPU \u983b\u7387\u3002 (\u983b\u7387)\n\nExample: ``machine.freq()``\n\n:return: The CPU frequency.\"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"\u7981\u7528\u4e2d\u65b7\u8acb\u6c42\u3002 (\u7981\u7528 irq)\n\nExample: ``interrupt_state = machine.disable_irq()``\n\n:return: the previous IRQ state which should be considered an opaque value\n\nThe return value should be passed to the ``enable_irq`` function to restore\ninterrupts to their original state.\"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"\u91cd\u65b0\u555f\u7528\u4e2d\u65b7\u8acb\u6c42\u3002 (\u555f\u7528 irq)\n\nExample: ``machine.enable_irq(interrupt_state)``\n\n:param state: \u5f9e\u6700\u8fd1\u4e00\u6b21\u8abf\u7528 ``disable_irq`` \u51fd\u5f0f\u50b3\u56de\u7684\u503c\u3002\"\"\"\n ...\n\ndef time_pulse_us(pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int=1000000) -> int:\n \"\"\"\u8a08\u6642\u5f15\u8173\u4e0a\u7684\u8108\u885d\u3002\n\nExample: ``time_pulse_us(pin0, 1)``\n\nIf the current input value of the pin is different to ``pulse_level``, the\nfunction first waits until the pin input becomes equal to\n``pulse_level``, then times the duration that the pin is equal to\n``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\nstarts straight away.\n\n:param pin: (\u5f15\u8173) \u8981\u4f7f\u7528\u7684\u5f15\u8173\n:param pulse_level: 0 \u5230\u8a08\u6642\u4f4e\u8108\u885d\u6216 1 \u5230\u8a08\u6642\u9ad8\u8108\u885d\n:param timeout_us: \u5fae\u79d2\u903e\u6642\n:return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\"\"\"\n ...\n\nclass mem:\n \"\"\"``mem8``\u3001``mem16`` \u548c ``mem32`` \u8a18\u61b6\u9ad4\u6aa2\u8996\u7684\u985e\u5225\u3002\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"\u5f9e\u8a18\u61b6\u9ad4\u4e2d\u5b58\u53d6\u4e00\u500b\u503c\u3002\n\n:param address: \u8a18\u61b6\u9ad4\u4f4d\u5740\u3002\n:return: The value at that address as an integer.\"\"\"\n ...\n\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"\u5728\u6307\u5b9a\u4f4d\u5740\u8a2d\u5b9a\u4e00\u500b\u503c\u3002\n\n:param address: \u8a18\u61b6\u9ad4\u4f4d\u5740\u3002\n:param value: \u8981\u8a2d\u5b9a\u7684\u6574\u6578\u503c\u3002\"\"\"\n ...\nmem8: mem\n\"\"\"8 \u4f4d\u5143 (\u4f4d\u5143\u7d44) \u7684\u8a18\u61b6\u9ad4\u6aa2\u8996\u3002\"\"\"\nmem16: mem\n\"\"\"16 \u4f4d\u5143\u7684\u8a18\u61b6\u9ad4\u6aa2\u8996\u3002\"\"\"\nmem32: mem\n\"\"\"32 \u4f4d\u5143\u7684\u8a18\u61b6\u9ad4\u6aa2\u8996\u3002\"\"\"", + "/typeshed/stdlib/math.pyi": "\"\"\"\u6578\u5b78\u51fd\u5f0f\u3002\"\"\"\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"\u8a08\u7b97\u53cd\u9918\u5f26\u3002\n\nExample: ``math.acos(1)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: The inverse cosine of ``x``\"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"\u8a08\u7b97\u53cd\u6b63\u5f26\u3002\n\nExample: ``math.asin(0)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: The inverse sine of ``x``\"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"\u8a08\u7b97\u53cd\u6b63\u5207\u3002\n\nExample: ``math.atan(0)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: The inverse tangent of ``x``\"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"\u8a08\u7b97 ``y/x`` \u7684\u53cd\u6b63\u5207\u4e3b\u503c\u3002\n\nExample: ``math.atan2(0, -1)``\n\n:param y: \u4e00\u500b\u6578\u5b57\n:param x: \u4e00\u500b\u6578\u5b57\n:return: The principal value of the inverse tangent of ``y/x``\"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"\u5c07\u6578\u5b57\u5411\u6b63\u7121\u9650\u5927\u6368\u5165\u3002\n\nExample: ``math.ceil(0.1)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: ``x`` rounded towards positive infinity.\"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"\u7528 ``y`` \u7684\u7b26\u865f\u8a08\u7b97 ``x``\u3002\n\nExample: ``math.copysign(1, -1)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:param y: \u50b3\u56de\u503c\u7684\u7b26\u865f\u4f86\u6e90\n:return: ``x`` with the sign of ``y``\"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"\u8a08\u7b97 ``x`` \u7684\u9918\u5f26\u3002\n\nExample: ``math.cos(0)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: The cosine of ``x``\"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"\u5c07\u5f27\u5ea6 (Radians) \u8f49\u63db\u70ba\u5ea6 (Degrees) (\u5ea6)\n\nExample: ``math.degrees(2 * math.pi)``\n\n:param x: \u55ae\u4f4d\u70ba\u5f27\u5ea6\u7684\u6578\u503c\n:return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"\u8a08\u7b97 ``x`` \u7684\u6307\u6578\u3002 (\u6307\u6578)\n\nExample: ``math.exp(1)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: The exponential of ``x``.\"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"\u50b3\u56de ``x`` \u7684\u7d55\u5c0d\u503c\u3002\n\nExample: ``math.fabs(-0.1)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: The absolute value of ``x``\"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"\u5c07\u6578\u5b57\u5411\u8ca0\u7121\u9650\u5927\u6368\u5165\u3002\n\nExample: ``math.floor(0.9)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: ``x`` rounded towards negative infinity.\"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"\u8a08\u7b97 ``x/y`` \u7684\u9918\u6578\u3002\n\nExample: ``math.fmod(10, 3)``\n\n:param x: \u5206\u5b50\n:param y: \u5206\u6bcd\"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"\u5c07\u4e00\u500b\u6d6e\u9ede\u6578\u5206\u89e3\u70ba\u5176\u5c3e\u6578\u548c\u6307\u6578\u3002\n\nExample: ``mantissa, exponent = math.frexp(2)``\n\nThe returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\nexactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\nthe relation ``0.5 <= abs(m) < 1`` holds.\n\n:param x: \u4e00\u500b\u6d6e\u9ede\u6578\n:return: A tuple of length two containing its mantissa then exponent\"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"\u6aa2\u67e5\u503c\u662f\u5426\u70ba\u6709\u9650\u3002\n\nExample: ``math.isfinite(float('inf'))``\n\n:param x: \u4e00\u500b\u6578\u5b57\u3002\n:return: ``True`` if ``x`` is finite, ``False`` otherwise.\"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"\u6aa2\u67e5\u503c\u662f\u5426\u70ba\u7121\u9650\u3002\n\nExample: ``math.isinf(float('-inf'))``\n\n:param x: \u4e00\u500b\u6578\u5b57\u3002\n:return: ``True`` if ``x`` is infinite, ``False`` otherwise.\"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"\u6aa2\u67e5\u503c\u662f\u5426\u70ba\u975e\u6578\u5b57 (NaN)\u3002\n\nExample: ``math.isnan(float('nan'))``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"\u8a08\u7b97 ``x * (2**exp)``\u3002\n\nExample: ``math.ldexp(0.5, 2)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:param exp: (\u6307\u6578) \u6574\u6578\u6307\u6578\n:return: ``x * (2**exp)``\"\"\"\n ...\n\ndef log(x: float, base: float=e) -> float:\n \"\"\"\u8a08\u7b97\u6307\u5b9a\u5e95\u6578 ``x`` \u7684\u5c0d\u6578 (\u9810\u8a2d\u70ba\u81ea\u7136\u5c0d\u6578)\u3002\n\nExample: ``math.log(math.e)``\n\nWith one argument, return the natural logarithm of x (to base e).\n\nWith two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n:param x: \u4e00\u500b\u6578\u5b57\n:param base: \u8981\u4f7f\u7528\u7684\u5e95\u6578\n:return: The natural logarithm of ``x``\"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"\u8a08\u7b97 ``x`` \u7684\u5c0f\u6578\u90e8\u5206\u548c\u6574\u6578\u90e8\u5206\u3002\n\nExample: ``fractional, integral = math.modf(1.5)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\nBoth the fractional and integral values have the same sign as ``x``.\"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"\u50b3\u56de ``x`` \u7684 ``y`` \u6b21\u65b9\u3002\n\nExample: ``math.pow(4, 0.5)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:param y: \u6307\u6578\n:return: ``x`` to the power of ``y``\"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"\u5c07\u89d2\u5ea6\u8f49\u63db\u70ba\u5f27\u5ea6\u3002\n\nExample: ``math.radians(360)``\n\n:param x: \u4ee5\u89d2\u5ea6\u70ba\u55ae\u4f4d\u7684\u503c\n:return: The value converted to radians\"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"\u8a08\u7b97 ``x`` \u7684\u6b63\u5f26\u3002\n\nExample: ``math.sin(math.pi/2)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: The sine of ``x``\"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"\u8a08\u7b97 ``x`` \u7684\u5e73\u65b9\u6839\u3002\n\nExample: ``math.sqrt(4)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: The square root of ``x``\"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"\u8a08\u7b97 ``x`` \u7684\u6b63\u5207\u3002\n\nExample: ``math.tan(0)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: The tangent of ``x``.\"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"\u5c07\u6578\u5b57\u5411 0 \u6368\u5165\u3002\n\nExample: ``math.trunc(-0.9)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: ``x`` rounded towards zero.\"\"\"\n ...\ne: float\n\"\"\"\u81ea\u7136\u5c0d\u6578\u7684\u5e95\u6578\"\"\"\npi: float\n\"\"\"\u5713\u7684\u5468\u9577\u8207\u5176\u76f4\u5f91\u7684\u6bd4\u7387\"\"\"", + "/typeshed/stdlib/micropython.pyi": "\"\"\"MicroPython \u5167\u90e8\u3002\"\"\"\nfrom typing import Any, TypeVar, overload\n_T = TypeVar('_T')\n\ndef const(expr: _T) -> _T:\n \"\"\"\u7528\u65bc\u5ba3\u544a\u904b\u7b97\u5f0f\u70ba\u5e38\u6578\uff0c\u4ee5\u4fbf\u7de8\u8b6f\u5668\u5c0d\u5176\u9032\u884c\u6700\u4f73\u5316\u3002\n\nThe use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\nConstants declared this way are still accessible as global variables from\noutside the module they are declared in. On the other hand, if a constant\nbegins with an underscore then it is hidden, it is not available as a\nglobal variable, and does not take up any memory during execution.\n\n:param expr: \u4e00\u500b\u5e38\u6578\u904b\u7b97\u5f0f\u3002\"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"\u53d6\u5f97\u6307\u4ee4\u78bc\u7de8\u8b6f\u7684\u76ee\u524d\u6700\u4f73\u5316\u7b49\u7d1a\u3002\n\nExample: ``micropython.opt_level()``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n:return: An integer representing the current level.\"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"\u8a2d\u5b9a\u6307\u4ee4\u78bc\u5f8c\u7e8c\u7de8\u8b6f\u7684\u6700\u4f73\u5316\u7b49\u7d1a\u3002\n\nExample: ``micropython.opt_level(1)``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\nThe default optimisation level is usually level 0.\n\n:param level: \u6574\u6578\u6700\u4f73\u5316\u7b49\u7d1a\u3002\"\"\"\n ...\n\ndef mem_info(verbose: Any=None) -> None:\n \"\"\"\u8f38\u51fa\u95dc\u65bc\u76ee\u524d\u4f7f\u7528\u7684\u8a18\u61b6\u9ad4\u8cc7\u8a0a\u3002\n\nExample: ``micropython.mem_info()``\n\n:param verbose: \u5982\u679c\u7d66\u51fa ``verbose`` \u5f15\u6578\uff0c\u5247\u6703\u8f38\u51fa\u984d\u5916\u8cc7\u8a0a\u3002\"\"\"\n ...\n\ndef qstr_info(verbose: Any=None) -> None:\n \"\"\"\u8f38\u51fa\u95dc\u65bc\u76ee\u524d\u99d0\u7559\u5b57\u4e32\u7684\u8cc7\u8a0a\u3002\n\nExample: ``micropython.qstr_info()``\n\n:param verbose: \u5982\u679c\u6307\u5b9a ``verbose`` \u5f15\u6578\uff0c\u5247\u6703\u8f38\u51fa\u984d\u5916\u8cc7\u8a0a\u3002\n\nThe information that is printed is implementation dependent, but currently\nincludes the number of interned strings and the amount of RAM they use. In\nverbose mode it prints out the names of all RAM-interned strings.\"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"\u50b3\u56de\u6574\u6578\uff0c\u8868\u793a\u76ee\u524d\u6b63\u5728\u4f7f\u7528\u7684\u5806\u758a\u6578\u91cf\u3002\n\nExample: ``micropython.stack_use()``\n\nThe absolute value of this is not particularly useful, rather it\nshould be used to compute differences in stack usage at different points.\n\n:return: An integer representing current stack use.\"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"\u9396\u5b9a\u5806\u7a4d\u3002\n\nExample: ``micropython.heap_lock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"\u89e3\u9396\u5806\u7a4d\u3002\n\nExample: ``micropython.heap_unlock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"\u8a2d\u5b9a\u5c07\u89f8\u767c ``KeyboardInterrupt`` \u4f8b\u5916\u72c0\u6cc1\u7684\u5b57\u5143\u3002\n\nExample: ``micropython.kbd_intr(-1)``\n\n:param chr: \u7528\u65bc\u5f15\u767c\u4e2d\u65b7\u7684\u5b57\u5143\u7a0b\u5f0f\u78bc\u6216 -1\uff0c\u4ee5\u505c\u7528 Ctrl-C \u7684\u64f7\u53d6\u3002\n\nBy default this is set to 3 during script execution, corresponding to Ctrl-C.\nPassing -1 to this function will disable capture of Ctrl-C, and passing 3\nwill restore it.\n\nThis function can be used to prevent the capturing of Ctrl-C on the\nincoming stream of characters that is usually used for the REPL, in case\nthat stream is used for other purposes.\"\"\"\n ...", + "/typeshed/stdlib/music.pyi": "\"\"\"\u5275\u4f5c\u548c\u64ad\u653e\u65cb\u5f8b\u3002\"\"\"\nfrom typing import Optional, Tuple, Union, List\nfrom .microbit import MicroBitDigitalPin, pin0\nDADADADUM: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u8c9d\u591a\u82ac C \u5c0f\u8abf\u7b2c\u4e94\u4ea4\u97ff\u66f2\u7684\u958b\u5834\u3002\"\"\"\nENTERTAINER: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u53f2\u8003\u7279\u55ac\u666e\u6797\u7684\u540d\u66f2\u300a\u6f14\u85dd\u4eba\u300b\u958b\u5834\u3002\"\"\"\nPRELUDE: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u5df4\u54c8 48 \u9996\u524d\u594f\u66f2\u8207\u8ce6\u683c\u66f2 C \u5927\u8abf\u7b2c\u4e00\u524d\u594f\u66f2\u7684\u958b\u5834\u3002\"\"\"\nODE: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u8c9d\u591a\u82ac D \u5c0f\u8abf\u7b2c\u4e5d\u4ea4\u97ff\u66f2\u4e2d\u7684\u300c\u6b61\u6a02\u980c\u300d\u4e3b\u984c\u3002\"\"\"\nNYAN: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1aNyan Cat \u4e3b\u984c (http://www.nyan.cat/)\u3002\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\nRINGTONE: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u807d\u8d77\u4f86\u50cf\u624b\u6a5f\u9234\u8072\u7684\u6771\u897f\u3002\n\nTo be used to indicate an incoming message.\n\"\"\"\nFUNK: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u70ba\u7279\u52d9\u548c\u72af\u7f6a\u9996\u8166\u6e96\u5099\u7684\u653e\u514b\u8c9d\u65af\u3002\"\"\"\nBLUES: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u5e03\u57fa\u70cf\u57fa 12 \u5c0f\u7bc0\u85cd\u8abf\u8d70\u8def\u8c9d\u65af\u3002\"\"\"\nBIRTHDAY: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u300c\u795d\u4f60\u751f\u65e5\u5feb\u6a02\u2026\u2026\u300d\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\nWEDDING: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u83ef\u683c\u7d0d\u6b4c\u5287\u300a\u7f85\u6069\u683c\u6797\u300b\u4e2d\u7684\u65b0\u5a18\u5408\u5531\u3002\"\"\"\nFUNERAL: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u300a\u846c\u79ae\u9032\u884c\u66f2\u300b\uff0c\u4ea6\u7a31\u70ba\u856d\u90a6\u7684\u300c\u964d b \u5c0f\u8abf\u7b2c\u4e8c\u865f\u92fc\u7434\u594f\u9cf4\u66f2\u300d\u3002\"\"\"\nPUNCHLINE: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u4e00\u6bb5\u6709\u8da3\u7684\u97f3\u6a02\uff0c\u8868\u793a\u8aaa\u4e86\u4e00\u500b\u7b11\u8a71\u3002\"\"\"\nPYTHON: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u7d04\u7ff0\u83f2\u5229\u666e\u8607\u85a9\u7684\u9032\u884c\u66f2\u300a\u81ea\u7531\u9418\u300b\uff0c\u53c8\u540d\u300a\u8499\u63d0\u6d3e\u68ee\u7684\u98db\u884c\u99ac\u6232\u5718\u300b\u7684\u4e3b\u984c\u66f2 (Python \u7a0b\u5f0f\u8a9e\u8a00\u4ee5\u6b64\u547d\u540d)\u3002\"\"\"\nBADDY: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u7121\u8072\u96fb\u5f71\u6642\u4ee3\u7684\u60e1\u4eba\u767b\u5834\u3002\"\"\"\nCHASE: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u7121\u8072\u96fb\u5f71\u6642\u4ee3\u7684\u8ffd\u9010\u5834\u666f\u3002\"\"\"\nBA_DING: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u8868\u793a\u67d0\u4e8b\u767c\u751f\u7684\u77ed\u8a0a\u865f\u3002\"\"\"\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u975e\u5e38\u60b2\u50b7\u7684\u9577\u865f\u3002\"\"\"\nJUMP_UP: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u7528\u65bc\u904a\u6232\u4e2d\uff0c\u4ee3\u8868\u5411\u4e0a\u79fb\u52d5\u3002\"\"\"\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u7528\u65bc\u904a\u6232\u4e2d\uff0c\u8868\u793a\u5411\u4e0b\u79fb\u52d5\u3002\"\"\"\nPOWER_UP: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u8868\u793a\u5df2\u89e3\u9396\u6210\u5c31\u7684\u865f\u89d2\u9f4a\u9cf4\u3002\"\"\"\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u8868\u793a\u5931\u53bb\u6210\u5c31\u7684\u60b2\u50b7\u865f\u89d2\u8072\u3002\"\"\"\n\ndef set_tempo(ticks: int=4, bpm: int=120) -> None:\n \"\"\"\u8a2d\u5b9a\u64ad\u653e\u7684\u5927\u81f4\u7bc0\u594f\u3002\n\nExample: ``music.set_tempo(bpm=120)``\n\n:param ticks: \u69cb\u6210\u7bc0\u62cd\u7684\u6ef4\u7b54\u8072\u6578\u3002\n:param bpm: \u4e00\u500b\u6574\u6578\uff0c\u6c7a\u5b9a\u6bcf\u5206\u9418\u6709\u591a\u5c11\u6b21\u7bc0\u62cd\u3002\n\nSuggested default values allow the following useful behaviour:\n\n- music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n- music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n- music.set_tempo(bpm=180) \u2013 just change the tempo\n\nTo work out the length of a tick in milliseconds is very simple arithmetic:\n60000/bpm/ticks_per_beat. For the default values that\u2019s\n60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"\u4ee5\u6574\u6578\u5143\u7d44\u7684\u5f62\u5f0f\u53d6\u5f97\u7576\u524d\u7bc0\u594f\uff1a``(ticks, bpm)``\u3002\n\nExample: ``ticks, beats = music.get_tempo()``\n\n:return: The temp as a tuple with two integer values, the ticks then the beats per minute.\"\"\"\n ...\n\ndef play(music: Union[str, List[str], Tuple[str, ...]], pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True, loop: bool=False) -> None:\n \"\"\"\u64ad\u653e\u97f3\u6a02\u3002\n\nExample: ``music.play(music.NYAN)``\n\n:param music: \u7279\u6b8a\u97f3\u7b26\u4e2d\u6307\u5b9a\u7684\u97f3\u6a02 `_\n:param pin: (\u5f15\u8173) \u7528\u65bc\u5916\u63a5\u63da\u8072\u5668\u7684\u8f38\u51fa\u5f15\u8173 (\u9810\u8a2d\u70ba ``pin0``)\uff0c``None`` \u8868\u793a\u7121\u8072\u97f3\u3002\n:param wait: \u5982\u679c ``wait`` \u8a2d\u5b9a\u70ba ``True``\uff0c\u5247\u6b64\u51fd\u5f0f\u6703\u5c01\u9396\u3002\n:param loop: \u5982\u679c ``loop`` \u8a2d\u5b9a\u70ba ``True``\uff0c\u6a02\u66f2\u6703\u91cd\u8907\u76f4\u5230\u547c\u53eb ``stop`` \u6216\u5c01\u9396\u547c\u53eb\u88ab\u4e2d\u65b7\u3002\n\nMany built-in melodies are defined in this module.\"\"\"\n ...\n\ndef pitch(frequency: int, duration: int=-1, pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True) -> None:\n \"\"\"\u5f48\u594f\u4e00\u500b\u97f3\u7b26\u3002 (\u9593\u8ddd)\n\nExample: ``music.pitch(185, 1000)``\n\n:param frequency: (\u983b\u7387) \u6574\u6578\u983b\u7387\n:param duration: \u6beb\u79d2\u7684\u6301\u7e8c\u6642\u9593\u3002\u5982\u679c\u662f\u5426\u5b9a\u7684\uff0c\u5247\u8072\u97f3\u5c07\u6301\u7e8c\u5230\u4e0b\u4e00\u6b21\u547c\u53eb\u6216\u5c0d ``stop`` \u7684\u547c\u53eb\u3002\n:param pin: (\u5f15\u8173) \u53ef\u9078\u8f38\u51fa\u5f15\u8173 (\u9810\u8a2d\u503c ``pin0``)\u3002\n:param wait: \u5982\u679c ``wait`` \u8a2d\u5b9a\u70ba ``True``\uff0c\u5247\u6b64\u51fd\u5f0f\u70ba\u5c01\u9396\u3002\n\nFor example, if the frequency is set to 440 and the length to\n1000 then we hear a standard concert A for one second.\n\nYou can only play one pitch on one pin at any one time.\"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"\u505c\u6b62\u5167\u5efa\u63da\u8072\u5668\u4e0a\u7684\u6240\u6709\u97f3\u6a02\u64ad\u653e\u548c\u4efb\u4f55\u5f15\u8173\u8f38\u51fa\u8072\u97f3\u3002\n\nExample: ``music.stop()``\n\n:param pin: (\u5f15\u8173) \u53ef\u4ee5\u63d0\u4f9b\u4e00\u500b\u53ef\u9078\u5f15\u6578\u4f86\u6307\u5b9a\u4e00\u500b\u5f15\u8173\uff0c\u4f8b\u5982 ``music.stop(pin1)``\u3002\"\"\"\n\ndef reset() -> None:\n \"\"\"\u5c07 ticks\u3001bpm\u3001duration \u548c octave \u91cd\u8a2d\u70ba\u5176\u9810\u8a2d\u503c\u3002\n\nExample: ``music.reset()``\n\nValues:\n- ``ticks = 4``\n- ``bpm = 120``\n- ``duration = 4``\n- ``octave = 4``\"\"\"\n ...", + "/typeshed/stdlib/neopixel.pyi": "\"\"\"\u53ef\u7368\u7acb\u5c0b\u5740\u7684 RGB \u548c RGBW LED \u71c8\u689d\u3002\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"\u521d\u59cb\u5316\u900f\u904e\u5f15\u8173\u63a7\u5236\u7684 NeoPixel LED \u71c8\u689d\u3002\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: (\u5f15\u8173) \u63a7\u5236 NeoPixel \u71c8\u689d\u7684\u5f15\u8173\u3002\n:param n: \u71c8\u689d\u4e2d\u7684 NeoPixel \u6578\u3002\n:param bpp: \u5404\u50cf\u7d20\u4f4d\u5143\u7d44\u6578\u3002\u5c0d\u65bc RGBW neopixel \u652f\u63f4\uff0c\u50b3\u905e 4 \u800c\u4e0d\u662f RGB \u548c GRB \u7684\u9810\u8a2d\u503c 3\u3002\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"\u6e05\u9664\u6240\u6709\u50cf\u7d20\u3002\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"\u986f\u793a\u50cf\u7d20\u3002\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"\u986f\u793a\u50cf\u7d20 (\u50c5\u9650 micro:bit V2)\u3002\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"\u7528\u7279\u5b9a RGB/RGBW \u503c\u70ba\u6240\u6709\u50cf\u7d20\u8457\u8272 (\u50c5\u9650 micro:bit V2)\u3002\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: \u9577\u5ea6\u8207\u6bcf\u50cf\u7d20\u4f4d\u5143\u7d44\u6578 (bpp) \u76f8\u540c\u7684\u5143\u7d44\u3002\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"\u8a2d\u5b9a\u50cf\u7d20\u984f\u8272\u3002\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: \u50cf\u7d20\u7de8\u865f\u3002\n:param value: \u984f\u8272\u3002\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"\u53d6\u5f97\u50cf\u7d20\u984f\u8272\u3002\n\nExample: ``r, g, b = np[0]``\n\n:param key: \u50cf\u7d20\u7de8\u865f\u3002\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"\u53d6\u5f97\u6b64\u50cf\u7d20\u71c8\u689d\u7684\u9577\u5ea6\u3002\n\nExample: ``len(np)``\"\"\"", + "/typeshed/stdlib/os.pyi": "\"\"\"\u5b58\u53d6\u6a94\u6848\u7cfb\u7d71\u3002\"\"\"\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"\u5217\u51fa\u6a94\u6848\u3002\n\nExample: ``os.listdir()``\n\n:return: A list of the names of all the files contained within the local\npersistent on-device file system.\"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"\u79fb\u9664 (\u522a\u9664) \u4e00\u500b\u6a94\u6848\u3002\n\nExample: ``os.remove('data.txt')``\n\n:param filename: \u8981\u522a\u9664\u7684\u6a94\u6848\u3002\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"\u50b3\u56de\u6a94\u6848\u7684\u5927\u5c0f\u3002\n\nExample: ``os.size('data.txt')``\n\n:param filename: \u6a94\u6848\n:return: The size in bytes.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"``os.uname()`` \u7684\u7d50\u679c\"\"\"\n sysname: str\n \"\"\"\u4f5c\u696d\u7cfb\u7d71\u540d\u7a31\u3002\"\"\"\n nodename: str\n \"\"\"\u7db2\u8def\u4e0a\u7684\u6a5f\u5668\u540d\u7a31 (\u57f7\u884c\u5b9a\u7fa9)\u3002\"\"\"\n release: str\n \"\"\"\u4f5c\u696d\u7cfb\u7d71\u767c\u4f48\u3002\"\"\"\n version: str\n \"\"\"\u4f5c\u696d\u7cfb\u7d71\u7248\u672c\u3002\"\"\"\n machine: str\n \"\"\"\u786c\u9ad4\u8b58\u5225\u78bc\u3002\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"\u50b3\u56de\u8b58\u5225\u76ee\u524d\u4f5c\u696d\u7cfb\u7d71\u7684\u8cc7\u8a0a\u3002\n\nExample: ``os.uname()``\n\nThe return value is an object with five attributes:\n\n- ``sysname`` - operating system name\n- ``nodename`` - name of machine on network (implementation-defined)\n- ``release`` - operating system release\n- ``version`` - operating system version\n- ``machine`` - hardware identifier\n\nThere is no underlying operating system in MicroPython. As a result the\ninformation returned by the ``uname`` function is mostly useful for\nversioning details.\"\"\"\n ...", + "/typeshed/stdlib/power.pyi": "\"\"\"Manage the power modes of the micro:bit (V2 only).\n\"\"\"\n\nfrom microbit import MicroBitDigitalPin, Button\nfrom typing import Optional, Tuple, Union\n\ndef off() -> None:\n \"\"\"Power down the board to the lowest possible power mode.\n\n Example: ``power.off()``\n\n This is the equivalent to pressing the reset button for a few seconds,\n to set the board in \"Off mode\".\n\n The micro:bit will only wake up if the reset button is pressed or,\n if on battery power, when a USB cable is connected.\n\n When the board wakes up it will start for a reset state, so your program\n will start running from the beginning.\n \"\"\"\n ...\n\ndef deep_sleep(\n ms: Optional[int] = None,\n wake_on: Optional[\n Union[MicroBitDigitalPin, Button] | Tuple[MicroBitDigitalPin | Button, ...]\n ] = None,\n run_every: bool = True,\n) -> None:\n \"\"\"Set the micro:bit into a low power mode where it can wake up and continue operation.\n\n Example: ``power.deep_sleep(wake_on=(button_a, button_b))``\n\n The program state is preserved and when it wakes up it will resume\n operation where it left off.\n\n Deep Sleep mode will consume more battery power than Off mode.\n\n The wake up sources are configured via arguments.\n\n The board will always wake up when receiving UART data, when the reset\n button is pressed (which resets the board) or, in battery power,\n when the USB cable is inserted.\n\n When the ``run_every`` parameter is set to ``True`` (the default), any\n function scheduled with ``run_every`` will momentarily wake up the board\n to run and when it finishes it will go back to sleep.\n\n :param ms: A time in milliseconds to wait before it wakes up.\n :param wake_on: A single instance or a tuple of pins and/or buttons to wake up the board, e.g. ``deep_sleep(wake_on=button_a)`` or ``deep_sleep(wake_on=(pin0, pin2, button_b))``.\n :param run_every: A boolean to configure if the functions scheduled with ``microbit.run_every`` will continue to run while it sleeps.\n \"\"\"\n ...\n", + "/typeshed/stdlib/radio.pyi": "\"\"\"\u4f7f\u7528\u5167\u5efa\u7121\u7dda\u96fb\u5728 micro:bits \u4e4b\u9593\u9032\u884c\u901a\u8a0a\u3002 (\u7121\u7dda\u96fb)\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\nRATE_1MBIT: int\n\"\"\"\u5e38\u6578\u7528\u65bc\u6307\u793a\u6bcf\u79d2 1 MBit \u7684\u8f38\u9001\u91cf\u3002\"\"\"\nRATE_2MBIT: int\n\"\"\"\u5e38\u6578\u7528\u65bc\u6307\u793a\u6bcf\u79d2 2 MBit \u7684\u8f38\u9001\u91cf\u3002\"\"\"\n\ndef on() -> None:\n \"\"\"\u958b\u555f\u7121\u7dda\u96fb\u3002\n\nExample: ``radio.on()``\n\nThis needs to be explicitly called since the radio draws power and takes\nup memory that you may otherwise need.\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"\u95dc\u9589\u7121\u7dda\u96fb\uff0c\u7bc0\u7701\u96fb\u91cf\u548c\u8a18\u61b6\u9ad4\u3002\n\nExample: ``radio.off()``\"\"\"\n ...\n\ndef config(length: int=32, queue: int=3, channel: int=7, power: int=6, address: int=1969383796, group: int=0, data_rate: int=RATE_1MBIT) -> None:\n \"\"\"\u8a2d\u5b9a\u7121\u7dda\u96fb\u3002\n\nExample: ``radio.config(group=42)``\n\nThe default configuration is suitable for most use.\n\n:param length: (default=32) \u5b9a\u7fa9\u900f\u904e\u7121\u7dda\u96fb\u50b3\u9001\u7684\u8a0a\u606f\u7684\u6700\u5927\u9577\u5ea6 (\u4ee5\u4f4d\u5143\u7d44\u70ba\u55ae\u4f4d)\u3002\n\u6700\u9577\u53ef\u9054 251 \u500b\u4f4d\u5143\u7d44 (S0\u3001LENGTH \u548c S1 \u524d\u5e8f\u7de8\u78bc\u70ba 254 - 3 \u500b\u4f4d\u5143\u7d44)\u3002\n:param queue: (default=3) \u6307\u5b9a\u53ef\u4ee5\u5b58\u5132\u5728\u50b3\u5165\u8a0a\u606f\u4f47\u5217\u4e2d\u7684\u8a0a\u606f\u6578\u3002\n\u5982\u679c\u4f47\u5217\u4e2d\u6c92\u6709\u7a7a\u9593\u53ef\u7559\u7d66\u50b3\u5165\u8a0a\u606f\uff0c\u5247\u6368\u68c4\u50b3\u5165\u8a0a\u606f\u3002\n:param channel: (default=7) \u4e00\u500b\u5f9e 0 \u5230 83 (\u5305\u542b) \u7684\u6574\u6578\u503c\uff0c\u5b9a\u7fa9\u7121\u7dda\u96fb\u8abf\u6574\u5230\u7684\u4efb\u610f \"channel\"\u3002\n\u8a0a\u606f\u5c07\u900f\u904e\u6b64\u983b\u9053\u50b3\u9001\uff0c\u53ea\u6709\u900f\u904e\u6b64\u983b\u9053\u63a5\u6536\u7684\u8a0a\u606f\uff0c\u624d\u6703\u653e\u5165\u50b3\u5165\u8a0a\u606f\u4f47\u5217\u3002\n\u6bcf\u4e00\u6b65\u90fd\u662f 1MHz \u5bec\uff0c\u4ee5 2400MHz \u70ba\u57fa\u790e\u3002\n:param power: (default=6) \u662f\u4e00\u500b\u5f9e 0 \u5230 7 (\u5305\u542b) \u7684\u6574\u6578\u503c\uff0c\u8868\u793a\u7121\u7dda\u96fb\u8a0a\u606f\u6642\u4f7f\u7528\u7684\u8a0a\u865f\u529f\u7387\u3002\n\u6578\u503c\u8d8a\u9ad8\uff0c\u8a0a\u865f\u8d8a\u5f37\uff0c\u4f46\u88dd\u7f6e\u6d88\u8017\u7684\u529f\u7387\u8d8a\u591a\u3002\u7de8\u865f\u8f49\u63db\u70ba\u4e0b\u5217 dBm (\u5206\u8c9d\u6beb\u74e6) \u6578\u503c\u5217\u8868\u4e2d\u7684\u4f4d\u7f6e\uff1a-30\u3001-20\u3001-16\u3001-12\u3001-8\u3001-4\u30010\u30014\u3002\n:param address: (default=0x75626974) \u4efb\u610f\u540d\u7a31\uff0c\u8868\u793a\u70ba 32 \u4f4d\u5143\u4f4d\u5740\uff0c\u7528\u65bc\u5728\u786c\u9ad4\u7b49\u7d1a\u7be9\u9078\u50b3\u5165\u7684\u8cc7\u6599\u5957\u4ef6\uff0c\u50c5\u4fdd\u7559\u8207\u60a8\u8a2d\u5b9a\u7684\u4f4d\u5740\u76f8\u7b26\u7684\u90a3\u4e9b\u3002\n\u5176\u4ed6 micro:bit \u76f8\u95dc\u5e73\u53f0\u4f7f\u7528\u7684\u9810\u8a2d\u8a2d\u5b9a\uff0c\u5247\u662f\u6b64\u8655\u4f7f\u7528\u7684\u9810\u8a2d\u8a2d\u5b9a\u3002\n:param group: (default=0) \u7be9\u9078\u8a0a\u606f\u6642\u8207 ``address`` \u4e00\u8d77\u4f7f\u7528\u7684 8 \u4f4d\u5143\u503c (0-255)\u3002\n\u5f9e\u6982\u5ff5\u4e0a\u8b1b\uff0c\"address\" \u5c31\u50cf\u4e00\u500b\u5bb6\u5ead/\u8fa6\u516c\u5ba4\u5730\u5740\uff0c\u800c \"group\" \u5c31\u50cf\u60a8\u8981\u5411\u8a72\u5730\u5740\u50b3\u9001\u8a0a\u606f\u7684\u4eba\u3002\n:param data_rate: (default=``radio.RATE_1MBIT``) \u8868\u793a\u8cc7\u6599\u8f38\u9001\u91cf\u767c\u751f\u7684\u901f\u5ea6\u3002\n\u53ef\u4ee5\u662f ``radio`` \u6a21\u7d44\u4e2d\u5b9a\u7fa9\u7684\u4e0b\u5217\u5e38\u6578\u4e4b\u4e00\uff1a``RATE_250KBIT``\u3001``RATE_1MBIT`` \u6216 ``RATE_2MBIT``\u3002\n\nIf ``config`` is not called then the defaults described above are assumed.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"\u5c07\u8a2d\u5b9a\u91cd\u8a2d\u70ba\u5176\u9810\u8a2d\u503c\u3002\n\nExample: ``radio.reset()``\n\nThe defaults as as per the ``config`` function above.\"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"\u50b3\u9001\u5305\u542b\u4f4d\u5143\u7d44\u7684\u8a0a\u606f\u3002\n\nExample: ``radio.send_bytes(b'hello')``\n\n:param message: \u8981\u50b3\u9001\u7684\u4f4d\u5143\u7d44\u3002\"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"\u63a5\u6536\u8a0a\u606f\u4f47\u5217\u4e2d\u7684\u4e0b\u4e00\u5247\u50b3\u5165\u8a0a\u606f\u3002\n\nExample: ``radio.receive_bytes()``\n\n:return: The message bytes if any, otherwise ``None``.\"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"\u5c07\u8a0a\u606f\u4f47\u5217\u4e2d\u7684\u4e0b\u4e00\u5247\u50b3\u5165\u8a0a\u606f\u8907\u88fd\u5230\u7de9\u885d\u5340\u3002\n\nExample: ``radio.receive_bytes_info(buffer)``\n\n:param buffer: \u76ee\u6a19\u7de9\u885d\u5340\u3002\u5982\u679c\u8a0a\u606f\u5927\u5c0f\u5927\u65bc\u7de9\u885d\u5340\uff0c\u5247\u8a0a\u606f\u6703\u88ab\u622a\u65b7\u3002\n:return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"\u50b3\u9001\u8a0a\u606f\u5b57\u4e32\u3002\n\nExample: ``radio.send('hello')``\n\nThis is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\nprepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n:param message: \u8981\u50b3\u9001\u7684\u5b57\u4e32\u3002\"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"\u5de5\u4f5c\u65b9\u5f0f\u8207 ``receive_bytes`` \u5b8c\u5168\u76f8\u540c\uff0c\u4f46\u6703\u50b3\u56de\u50b3\u9001\u7684\u4efb\u4f55\u5167\u5bb9\u3002\n\nExample: ``radio.receive()``\n\nEquivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\nthree bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\nmay target the micro:bit).\n\n:return: The message with the prepended bytes stripped and converted to a string.\n\nA ``ValueError`` exception is raised if conversion to string fails.\"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"\u50b3\u56de\u4e00\u500b\u5305\u542b\u4e09\u500b\u6578\u503c\u7684\u5143\u7d44\uff0c\u7528\u4f86\u4ee3\u8868\u8a0a\u606f\u4f47\u5217\u4e2d\u7684\u4e0b\u4e00\u5247\u50b3\u5165\u8a0a\u606f\u3002\n\nExample: ``radio.receive_full()``\n\nIf there are no pending messages then ``None`` is returned.\n\nThe three values in the tuple represent:\n\n- the next incoming message on the message queue as bytes.\n- the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n- a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\nFor example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\nThis function is useful for providing information needed for triangulation\nand/or trilateration with other micro:bit devices.\n\n:return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\"\"\"\n ...", + "/typeshed/stdlib/random.pyi": "\"\"\"\u751f\u6210\u96a8\u6a5f\u6578\u3002\"\"\"\nfrom typing import TypeVar, Sequence, Union, overload\n\ndef getrandbits(n: int) -> int:\n \"\"\"\u751f\u6210\u5177\u6709 ``n`` \u500b\u96a8\u6a5f\u4f4d\u5143\u7684\u6574\u6578\u3002\n\nExample: ``random.getrandbits(1)``\n\n:param n: \u4ecb\u65bc 1-30 (\u5305\u542b) \u4e4b\u9593\u7684\u503c\u3002\"\"\"\n ...\n\ndef seed(n: int) -> None:\n \"\"\"\u521d\u59cb\u5316\u96a8\u6a5f\u6578\u751f\u6210\u5668\u3002\n\nExample: ``random.seed(0)``\n\n:param n: \u6574\u6578\u7a2e\u5b50\n\nThis will give you reproducibly deterministic randomness from a given starting\nstate (``n``).\"\"\"\n ...\n\ndef randint(a: int, b: int) -> int:\n \"\"\"\u5728 ``a`` \u548c ``b`` (\u5305\u542b) \u4e4b\u9593\u9078\u64c7\u4e00\u500b\u96a8\u6a5f\u6574\u6578\u3002\n\nExample: ``random.randint(0, 9)``\n\n:param a: \u7bc4\u570d\u7684\u8d77\u59cb\u503c (\u5305\u542b)\n:param b: \u7bc4\u570d\u7684\u7d50\u675f\u503c (\u5305\u542b)\n\nAlias for ``randrange(a, b + 1)``.\"\"\"\n ...\n\n@overload\ndef randrange(stop: int) -> int:\n \"\"\"\u5728\u96f6\u5230 (\u4f46\u4e0d\u5305\u62ec) ``stop`` \u4e4b\u9593\u96a8\u6a5f\u9078\u64c7\u4e00\u500b\u6574\u6578\u3002\n\nExample: ``random.randrange(10)``\n\n:param stop: \u7bc4\u570d\u7684\u7d50\u675f\u503c (\u6392\u9664)\"\"\"\n ...\n\n@overload\ndef randrange(start: int, stop: int, step: int=1) -> int:\n \"\"\"\u5f9e ``range(start, stop, step)`` \u4e2d\u9078\u64c7\u4e00\u500b\u96a8\u6a5f\u9078\u64c7\u7684\u5143\u7d20\u3002\n\nExample: ``random.randrange(0, 10)``\n\n:param start: \u7bc4\u570d\u7684\u958b\u59cb (\u5305\u542b)\n:param stop: \u7bc4\u570d\u7d50\u675f (\u6392\u9664)\n:param step: \u6b65\u9a5f\u3002\"\"\"\n ...\n_T = TypeVar('_T')\n\ndef choice(seq: Sequence[_T]) -> _T:\n \"\"\"\u5f9e\u975e\u7a7a\u5e8f\u5217 ``seq`` \u4e2d\u9078\u64c7\u4e00\u500b\u96a8\u6a5f\u5143\u7d20\u3002\n\nExample: ``random.choice([Image.HAPPY, Image.SAD])``\n\n:param seq: \u5e8f\u5217\u3002\n\nIf ``seq`` is empty, raises ``IndexError``.\"\"\"\n ...\n\ndef random() -> float:\n \"\"\"\u5728 [0.0, 1.0) \u7bc4\u570d\u5167\u751f\u6210\u4e00\u500b\u96a8\u6a5f\u6d6e\u9ede\u6578\u3002\n\nExample: ``random.random()``\n\n:return: The random floating point number\"\"\"\n ...\n\ndef uniform(a: float, b: float) -> float:\n \"\"\"\u50b3\u56de\u4e00\u500b\u4ecb\u65bc ``a`` \u548c ``b`` \u4e4b\u9593\u7684\u96a8\u6a5f\u6d6e\u9ede\u6578\u3002\n\nExample: ``random.uniform(0, 9)``\n\n:param a: \u7bc4\u570d\u7684\u8d77\u59cb\u503c (\u5305\u62ec)\n:param b: \u7bc4\u570d\u7684\u7d50\u675f\u503c (\u5305\u542b)\"\"\"\n ...", + "/typeshed/stdlib/speech.pyi": "\"\"\"\u8b93 micro:bit \u8aaa\u8a71\u3001\u5531\u6b4c\u548c\u767c\u51fa\u985e\u4f3c\u8072\u97f3\u7684\u5176\u4ed6\u8a9e\u97f3\u3002\"\"\"\nfrom typing import Optional\nfrom .microbit import MicroBitDigitalPin, pin0\n\ndef translate(words: str) -> str:\n \"\"\"\u5c07\u82f1\u8a9e\u55ae\u5b57\u7ffb\u8b6f\u6210\u97f3\u7d20\u3002\n\nExample: ``speech.translate('hello world')``\n\n:param words: \u82f1\u6587\u55ae\u5b57\u5b57\u4e32\u3002\n:return: A string containing a best guess at the appropriate phonemes to pronounce.\nThe output is generated from this `text to phoneme translation table `_.\n\nThis function should be used to generate a first approximation of phonemes\nthat can be further hand-edited to improve accuracy, inflection and\nemphasis.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef pronounce(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"\u767c\u51fa\u97f3\u7d20\u7684\u8072\u97f3\u3002\n\nExample: ``speech.pronounce(' /HEHLOW WERLD')``\n\n:param phonemes: \u767c\u97f3\u7684\u97f3\u7d20\u5b57\u4e32\n:param pitch: (\u9593\u8ddd) \u4e00\u500b\u4ee3\u8868\u8072\u97f3\u97f3\u9ad8\u7684\u6578\u5b57\n:param speed: \u4e00\u500b\u4ee3\u8868\u8072\u97f3\u901f\u5ea6\u7684\u6578\u5b57\n:param mouth: \u4e00\u500b\u4ee3\u8868\u8072\u97f3\u53e3\u578b\u7684\u6578\u5b57\n:param throat: \u4e00\u500b\u4ee3\u8868\u8072\u97f3\u5589\u578b\u7684\u6578\u5b57\n:param pin: (\u5f15\u8173) \u6307\u5b9a\u8f38\u51fa\u5f15\u8173\u7684\u53ef\u9078\u5f15\u6578\uff0c\u53ef\u7528\u65bc\u8986\u5beb\u9810\u8a2d\u503c ``pin0``\u3002\n\u5982\u679c\u6211\u5011\u4e0d\u60f3\u5f9e\u5f15\u8173\u4e0a\u64ad\u653e\u4efb\u4f55\u8072\u97f3\uff0c\u53ef\u4ee5\u4f7f\u7528 ``pin=None``\u3002\u50c5\u9650 micro:bit\u3002\n\nOverride the optional pitch, speed, mouth and throat settings to change the\ntimbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef say(words: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"\u8aaa\u82f1\u8a9e\u55ae\u5b57\u3002\n\nExample: ``speech.say('hello world')``\n\n:param words: \u8981\u8aaa\u7684\u4e00\u4e32\u8a5e\u3002\n:param pitch: (\u9593\u8ddd) \u4e00\u500b\u4ee3\u8868\u8072\u97f3\u97f3\u9ad8\u7684\u6578\u5b57\n:param speed: \u4e00\u500b\u4ee3\u8868\u8072\u97f3\u901f\u5ea6\u7684\u6578\u5b57\n:param mouth: \u4e00\u500b\u4ee3\u8868\u8072\u97f3\u53e3\u578b\u7684\u6578\u5b57\n:param throat: \u4e00\u500b\u4ee3\u8868\u8072\u97f3\u5589\u578b\u7684\u6578\u5b57\n:param pin: (\u5f15\u8173) \u6307\u5b9a\u8f38\u51fa\u5f15\u8173\u7684\u53ef\u9078\u5f15\u6578\u53ef\u7528\u65bc\u8986\u5beb\u9810\u8a2d\u503c ``pin0``\u3002\n\u5982\u679c\u6211\u5011\u7121\u610f\u5f9e\u5f15\u8173\u4e0a\u64ad\u653e\u4efb\u4f55\u8072\u97f3\uff0c\u53ef\u4ee5\u4f7f\u7528 ``pin=None``\u3002\u50c5\u9650 micro:bit\u3002\n\nThe result is semi-accurate for English. Override the optional pitch, speed,\nmouth and throat settings to change the timbre (quality) of the voice.\n\nThis is a short-hand equivalent of:\n``speech.pronounce(speech.translate(words))``\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef sing(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"\u5531\u51fa\u97f3\u7d20\u3002\n\nExample: ``speech.sing(' /HEHLOW WERLD')``\n\n:param phonemes: \u8981\u5531\u7684\u4e00\u4e32\u8a5e\u3002\n:param pitch: (\u9593\u8ddd) \u4e00\u500b\u4ee3\u8868\u8072\u97f3\u97f3\u9ad8\u7684\u6578\u5b57\n:param speed: \u4e00\u500b\u4ee3\u8868\u8072\u97f3\u901f\u5ea6\u7684\u6578\u5b57\n:param mouth: \u4e00\u500b\u4ee3\u8868\u8072\u97f3\u53e3\u578b\u7684\u6578\u5b57\n:param throat: \u4e00\u500b\u4ee3\u8868\u8072\u97f3\u5589\u578b\u7684\u6578\u5b57\n:param pin: (\u5f15\u8173) \u6307\u5b9a\u8f38\u51fa\u5f15\u8173\u7684\u53ef\u9078\u5f15\u6578\uff0c\u53ef\u7528\u65bc\u8986\u5beb\u9810\u8a2d\u503c ``pin0``\u3002\n\u5982\u679c\u6211\u5011\u4e0d\u60f3\u5f9e\u5f15\u8173\u4e0a\u64ad\u653e\u4efb\u4f55\u8072\u97f3\uff0c\u53ef\u4ee5\u4f7f\u7528 ``pin=None``\u3002\u50c5\u9650 micro:bit\u3002\n\nOverride the optional pitch, speed, mouth and throat settings to change\nthe timbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...", + "/typeshed/stdlib/struct.pyi": "\"\"\"\u58d3\u7e2e\u548c\u89e3\u58d3\u7e2e\u539f\u59cb\u8cc7\u6599\u985e\u578b\u3002\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom typing import Any, Tuple, Union\n\ndef calcsize(fmt: str) -> int:\n \"\"\"\u53d6\u5f97\u5b58\u5132\u7279\u5b9a ``fmt`` \u6240\u9700\u7684\u4f4d\u5143\u7d44\u6578\u3002\n\nExample: ``struct.calcsize('hf')``\n\n:param fmt: \u683c\u5f0f\u5b57\u4e32\u3002\n:return The number of bytes needed to store such a value.\"\"\"\n ...\n\ndef pack(fmt: str, v1: Any, *vn: Any) -> bytes:\n \"\"\"\u6839\u64da\u683c\u5f0f\u5b57\u4e32\uff0c\u58d3\u7e2e\u6578\u503c\u3002\n\nExample: ``struct.pack('hf', 1, 3.1415)``\n\n:param fmt: \u683c\u5f0f\u5b57\u4e32\u3002\n:param v1: \u9996\u4f4d\u6578\u503c\u3002\n:param *vn: \u5269\u9918\u6578\u503c\u3002\n:return A bytes object encoding the values.\"\"\"\n ...\n\ndef pack_into(fmt: str, buffer: WriteableBuffer, offset: int, v1: Any, *vn: Any) -> None:\n \"\"\"\u6839\u64da\u683c\u5f0f\u5b57\u4e32\uff0c\u58d3\u7e2e\u6578\u503c\u3002\n\nExample: ``struct.pack_info('hf', buffer, 1, 3.1415)``\n\n:param fmt: \u683c\u5f0f\u5b57\u4e32\u3002\n:param buffer: \u8981\u5beb\u5165\u7684\u7de9\u885d\u5340\u3002\n:param offset: \u7de9\u885d\u5340\u5167\u7684\u4f4d\u79fb\u3002\u5f9e\u7de9\u885d\u5340\u7d50\u5c3e\u958b\u59cb\u8a08\u6578\uff0c\u8a72\u4f4d\u79fb\u53ef\u80fd\u70ba\u8ca0\u6578\u3002\n:param v1: \u9996\u4f4d\u6578\u503c\u3002\n:param *vn: \u5269\u9918\u6578\u503c\u3002\"\"\"\n ...\n\ndef unpack(fmt: str, data: ReadableBuffer) -> Tuple[Any, ...]:\n \"\"\"\u6839\u64da\u683c\u5f0f\u5b57\u4e32\uff0c\u89e3\u58d3\u7e2e\u6578\u503c\u3002\n\nExample: ``v1, v2 = struct.unpack('hf', buffer)``\n\n:param fmt: \u683c\u5f0f\u5b57\u4e32\u3002\n:param data: \u8cc7\u6599\u3002\n:return: A tuple of the unpacked values.\"\"\"\n ...\n\ndef unpack_from(fmt: str, buffer: ReadableBuffer, offset: int=0) -> Tuple:\n \"\"\"\u6839\u64da\u683c\u5f0f\u5b57\u4e32\uff0c\u5f9e\u7de9\u885d\u5340\u89e3\u58d3\u7e2e\u8cc7\u6599\u3002\n\nExample: ``v1, v2 = struct.unpack_from('hf', buffer)``\n\n:param fmt: \u683c\u5f0f\u5b57\u4e32\u3002\n:param buffer: \u8981\u8b80\u53d6\u7684\u4f86\u6e90\u7de9\u885d\u5340\u3002\n:param offset: \u7de9\u885d\u5340\u5167\u7684\u4f4d\u79fb\u3002\u5f9e\u7de9\u885d\u5340\u7d50\u5c3e\u958b\u59cb\u8a08\u6578\uff0c\u8a72\u4f4d\u79fb\u53ef\u80fd\u70ba\u8ca0\u6578\u3002\n:return: A tuple of the unpacked values.\"\"\"\n ...", + "/typeshed/stdlib/sys.pyi": "\"\"\"\u7cfb\u7d71\u7279\u5b9a\u51fd\u5f0f\"\"\"\nfrom typing import Any, Dict, List, NoReturn, TextIO, Tuple\n\ndef exit(retval: object=...) -> NoReturn:\n \"\"\"\u4f7f\u7528\u6307\u5b9a\u7684\u9000\u51fa\u4ee3\u78bc\u4f86\u7d42\u6b62\u7576\u524d\u7a0b\u5f0f\u3002\n\nExample: ``sys.exit(1)``\n\nThis function raises a ``SystemExit`` exception. If an argument is given, its\nvalue given as an argument to ``SystemExit``.\n\n:param retval: \u9000\u51fa\u4ee3\u78bc\u6216\u8a0a\u606f\u3002\"\"\"\n ...\n\ndef print_exception(exc: Exception) -> None:\n \"\"\"\u8f38\u51fa\u5e36\u6709\u56de\u6eaf\u7684\u4f8b\u5916\u72c0\u6cc1\u3002\n\nExample: ``sys.print_exception(e)``\n\n:param exc: \u8f38\u51fa\u4f8b\u5916\u72c0\u6cc1\n\nThis is simplified version of a function which appears in the\n``traceback`` module in CPython.\"\"\"\nargv: List[str]\n\"\"\"\u76ee\u524d\u7a0b\u5f0f\u555f\u52d5\u6642\uff0c\u6240\u4f7f\u7528\u7684\u53ef\u8b8a\u5f15\u6578\u5217\u8868\u3002\"\"\"\nbyteorder: str\n\"\"\"\u7cfb\u7d71\u7684\u4f4d\u5143\u7d44\u9806\u5e8f (``\"little\"`` \u6216 ``\"big\"``)\u3002\"\"\"\n\nclass _implementation:\n name: str\n version: Tuple[int, int, int]\nimplementation: _implementation\n\"\"\"\u5305\u542b\u95dc\u65bc\u76ee\u524d Python \u57f7\u884c\u8cc7\u8a0a\u7684\u7269\u4ef6\u3002\n\nFor MicroPython, it has following attributes:\n\n- ``name`` - string \"micropython\"\n- ``version`` - tuple (major, minor, micro), e.g. (1, 7, 0)\n\nThis object is the recommended way to distinguish MicroPython from other\nPython implementations (note that it still may not exist in the very\nminimal ports).\n\nCPython mandates more attributes for this object, but the actual useful\nbare minimum is implemented in MicroPython.\n\"\"\"\nmaxsize: int\n\"\"\"\n\u672c\u6a5f\u6574\u6578\u985e\u578b\u5728\u7576\u524d\u5e73\u53f0\u4e0a\u53ef\u4ee5\u4fdd\u5b58\u7684\u6700\u5927\u503c\uff0c\u6216 MicroPython \u6574\u6578\u985e\u578b\u53ef\u8868\u793a\u7684\u6700\u5927\u503c\uff0c\u5982\u679c\u5b83\u5c0f\u65bc\u5e73\u53f0\u6700\u5927\u503c (\u5c0d\u65bc\u6c92\u6709 long int \u652f\u63f4\u7684 MicroPython \u9023\u63a5\u57e0\uff0c\u5c31\u662f\u9019\u7a2e\u60c5\u6cc1)\u3002\n\nThis attribute is useful for detecting \"bitness\" of a platform (32-bit vs\n64-bit, etc.). It's recommended to not compare this attribute to some\nvalue directly, but instead count number of bits in it::\n\n bits = 0\n v = sys.maxsize\n while v:\n bits += 1\n v >>= 1\n if bits > 32:\n # 64-bit (or more) platform\n ...\n else:\n # 32-bit (or less) platform\n # Note that on 32-bit platform, value of bits may be less than 32\n # (e.g. 31) due to peculiarities described above, so use \"> 16\",\n # \"> 32\", \"> 64\" style of comparisons.\n\"\"\"\nmodules: Dict[str, Any]\n\"\"\"\u5df2\u8f09\u5165\u6a21\u7d44\u7684\u5b57\u5178\u3002 \n\nOn some ports, it may not include builtin modules.\"\"\"\npath: List[str]\n\"\"\"\u7528\u65bc\u641c\u5c0b\u532f\u5165\u6a21\u7d44\u7684\u53ef\u8b8a\u5b57\u5178\u5217\u8868\u3002\"\"\"\nplatform: str\n\"\"\"\u6b63\u5728\u57f7\u884c MicroPython \u7684\u5e73\u53f0\u3002 \n\nFor OS/RTOS ports, this is usually an identifier of the OS, e.g. ``\"linux\"``.\nFor baremetal ports it is an identifier of a board, e.g. ``\"pyboard\"`` for \nthe original MicroPython reference board. It thus can be used to\ndistinguish one board from another.\n\nIf you need to check whether your program runs on MicroPython (vs other\nPython implementation), use ``sys.implementation`` instead.\n\"\"\"\nversion: str\n\"\"\"\u6b64\u57f7\u884c\u7b26\u5408\u7684 Python \u8a9e\u8a00\u7248\u672c\uff0c\u505a\u70ba\u5b57\u4e32\u3002\"\"\"\nversion_info: Tuple[int, int, int]\n\"\"\"\u6b64\u57f7\u884c\u7b26\u5408\u7684 Python \u8a9e\u8a00\u7248\u672c\uff0c\u505a\u70ba\u6574\u6578\u5143\u7d44\u3002\n\nOnly the first three version numbers (major, minor, micro) are supported and\nthey can be referenced only by index, not by name.\n\"\"\"", + "/typeshed/stdlib/this.pyi": "def authors() -> str: ...\n", + "/typeshed/stdlib/time.pyi": "\"\"\"\u6e2c\u91cf\u6642\u9593\u4e26\u70ba\u7a0b\u5f0f\u589e\u52a0\u5ef6\u9072\u3002\"\"\"\nfrom typing import Union\n\ndef sleep(seconds: Union[int, float]) -> None:\n \"\"\"\u5ef6\u9072\u79d2\u6578\u3002\n\nExample: ``time.sleep(1)``\n\n:param seconds: \u7761\u7720\u7684\u79d2\u6578\u3002\n\u4f7f\u7528\u6d6e\u9ede\u6578\u4ee3\u8868\u7761\u7720\u79d2\u6578\u7684\u5c0f\u6578\u3002\"\"\"\n ...\n\ndef sleep_ms(ms: int) -> None:\n \"\"\"\u5ef6\u9072\u6307\u5b9a\u7684\u6beb\u79d2\u6578\u3002\n\nExample: ``time.sleep_ms(1_000_000)``\n\n:param ms: \u5ef6\u9072\u7684\u6beb\u79d2\u6578 (>= 0)\u3002\"\"\"\n ...\n\ndef sleep_us(us: int) -> None:\n \"\"\"\u5ef6\u9072\u6307\u5b9a\u7684\u5fae\u79d2\u6578\u3002\n\nExample: ``time.sleep_us(1000)``\n\n:param us: \u5ef6\u9072\u7684\u5fae\u79d2\u6578 (>= 0)\u3002\"\"\"\n ...\n\ndef ticks_ms() -> int:\n \"\"\"\u53d6\u5f97\u5177\u6709\u4efb\u610f\u53c3\u8003\u9ede\u7684\u905e\u589e\u6beb\u79d2\u8a08\u6578\u5668\uff0c\u8a72\u8a08\u6578\u5668\u6703\u5728\u67d0\u500b\u503c\u4e4b\u5f8c\u7e5e\u56de\u3002\n\nExample: ``time.ticks_ms()``\n\n:return: The counter value in milliseconds.\"\"\"\n ...\n\ndef ticks_us() -> int:\n \"\"\"\u53d6\u5f97\u5177\u6709\u4efb\u610f\u53c3\u8003\u9ede\u7684\u905e\u589e\u5fae\u79d2\u8a08\u6578\u5668\uff0c\u8a72\u8a08\u6578\u5668\u6703\u5728\u67d0\u500b\u503c\u4e4b\u5f8c\u7e5e\u56de\u3002\n\nExample: ``time.ticks_us()``\n\n:return: The counter value in microseconds.\"\"\"\n ...\n\ndef ticks_add(ticks: int, delta: int) -> int:\n \"\"\"\u7279\u5b9a\u6578\u5b57\u7684\u4f4d\u79fb\u6ef4\u7b54\u8072\u503c\uff0c\u53ef\u4ee5\u662f\u6b63\u6578\u6216\u8ca0\u6578\u3002\n\nExample: ``time.ticks_add(time.ticks_ms(), 200)``\n\nGiven a ticks value, this function allows to calculate ticks\nvalue delta ticks before or after it, following modular-arithmetic\ndefinition of tick values.\n\n:param ticks: \u6ef4\u7b54\u8072\u503c\n:param delta: \u6574\u6578\u4f4d\u79fb\n\nExample::\n\n # Find out what ticks value there was 100ms ago\n print(ticks_add(time.ticks_ms(), -100))\n\n # Calculate deadline for operation and test for it\n deadline = ticks_add(time.ticks_ms(), 200)\n while ticks_diff(deadline, time.ticks_ms()) > 0:\n do_a_little_of_something()\n\n # Find out TICKS_MAX used by this port\n print(ticks_add(0, -1))\"\"\"\n ...\n\ndef ticks_diff(ticks1: int, ticks2: int) -> int:\n \"\"\"\u6e2c\u91cf\u5f9e\n``time.ticks_ms()`` \u6216 ``ticks_us()`` \u50b3\u56de\u503c\u4e4b\u9593\u7684\u6ef4\u7b54\u8072\u5dee\u7570\u3002\u6b64\u53c3\u6578\u662f\u4e00\u500b\u53ef\u80fd\u6703\u7e5e\u56de\u7684\u5e36\u7b26\u865f\u503c\u3002 (tick diff)\n\nExample: ``time.ticks_diff(scheduled_time, now)``\n\n:param ticks1: (tick 1) \u8981\u88ab\u6e1b\u7684\u503c\n:param ticks2: (tick 2) \u8981\u6e1b\u53bb\u7684\u503c\n\nThe argument order is the same as for subtraction operator,\n``ticks_diff(ticks1, ticks2)`` has the same meaning as ``ticks1 - ticks2``.\n\n``ticks_diff()`` is designed to accommodate various usage\npatterns, among them:\n\nPolling with timeout. In this case, the order of events is known, and you\nwill deal only with positive results of :func:`time.ticks_diff()`::\n\n # Wait for GPIO pin to be asserted, but at most 500us\n start = time.ticks_us()\n while pin.value() == 0:\n if time.ticks_diff(time.ticks_us(), start) > 500:\n raise TimeoutError\n\n\nScheduling events. In this case, :func:`time.ticks_diff()` result may be\nnegative if an event is overdue::\n\n # This code snippet is not optimized\n now = time.ticks_ms()\n scheduled_time = task.scheduled_time()\n if ticks_diff(scheduled_time, now) > 0:\n print(\"Too early, let's nap\")\n sleep_ms(ticks_diff(scheduled_time, now))\n task.run()\n elif ticks_diff(scheduled_time, now) == 0:\n print(\"Right at time!\")\n task.run()\n elif ticks_diff(scheduled_time, now) < 0:\n print(\"Oops, running late, tell task to run faster!\")\n task.run(run_faster=True)\"\"\"\n ...", + "/typeshed/stdlib/types.pyi": "import sys\nfrom typing import (\n Any,\n AsyncGenerator,\n Awaitable,\n Callable,\n Generator,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n Tuple,\n Type,\n TypeVar,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, final\n\n# Note, all classes \"defined\" here require special handling.\n\n_T = TypeVar(\"_T\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_V_co = TypeVar(\"_V_co\", covariant=True)\n\n@final\nclass _Cell:\n __hash__: None # type: ignore\n cell_contents: Any\n\n@final\nclass FunctionType:\n __closure__: Tuple[_Cell, ...] | None\n __code__: CodeType\n __defaults__: Tuple[Any, ...] | None\n __dict__: dict[str, Any]\n __globals__: dict[str, Any]\n __name__: str\n __qualname__: str\n __annotations__: dict[str, Any]\n __kwdefaults__: dict[str, Any]\n def __init__(\n self,\n code: CodeType,\n globals: dict[str, Any],\n name: str | None = ...,\n argdefs: Tuple[object, ...] | None = ...,\n closure: Tuple[_Cell, ...] | None = ...,\n ) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: object | None, type: type | None) -> MethodType: ...\n\nLambdaType = FunctionType\n\n@final\nclass CodeType:\n \"\"\"Create a code object. Not for the faint of heart.\"\"\"\n\n co_argcount: int\n if sys.version_info >= (3, 8):\n co_posonlyargcount: int\n co_kwonlyargcount: int\n co_nlocals: int\n co_stacksize: int\n co_flags: int\n co_code: bytes\n co_consts: Tuple[Any, ...]\n co_names: Tuple[str, ...]\n co_varnames: Tuple[str, ...]\n co_filename: str\n co_name: str\n co_firstlineno: int\n co_lnotab: bytes\n co_freevars: Tuple[str, ...]\n co_cellvars: Tuple[str, ...]\n if sys.version_info >= (3, 8):\n def __init__(\n self,\n argcount: int,\n posonlyargcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n else:\n def __init__(\n self,\n argcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n if sys.version_info >= (3, 8):\n def replace(\n self,\n *,\n co_argcount: int = ...,\n co_posonlyargcount: int = ...,\n co_kwonlyargcount: int = ...,\n co_nlocals: int = ...,\n co_stacksize: int = ...,\n co_flags: int = ...,\n co_firstlineno: int = ...,\n co_code: bytes = ...,\n co_consts: Tuple[Any, ...] = ...,\n co_names: Tuple[str, ...] = ...,\n co_varnames: Tuple[str, ...] = ...,\n co_freevars: Tuple[str, ...] = ...,\n co_cellvars: Tuple[str, ...] = ...,\n co_filename: str = ...,\n co_name: str = ...,\n co_lnotab: bytes = ...,\n ) -> CodeType: ...\n\n@final\nclass MappingProxyType(Mapping[_KT, _VT_co], Generic[_KT, _VT_co]):\n __hash__: None # type: ignore\n def __init__(self, mapping: Mapping[_KT, _VT_co]) -> None: ...\n def __getitem__(self, k: _KT) -> _VT_co: ...\n def __iter__(self) -> Iterator[_KT]: ...\n def __len__(self) -> int: ...\n def copy(self) -> dict[_KT, _VT_co]: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def items(self) -> ItemsView[_KT, _VT_co]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def __or__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n def __ror__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n\nclass SimpleNamespace:\n __hash__: None # type: ignore\n def __init__(self, **kwargs: Any) -> None: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __delattr__(self, name: str) -> None: ...\n\nclass ModuleType:\n __name__: str\n __file__: str\n __dict__: dict[str, Any]\n __package__: str | None\n def __init__(self, name: str, doc: str | None = ...) -> None: ...\n\n@final\nclass GeneratorType(Generator[_T_co, _T_contra, _V_co]):\n gi_code: CodeType\n gi_frame: FrameType\n gi_running: bool\n gi_yieldfrom: GeneratorType[_T_co, _T_contra, Any] | None\n def __iter__(self) -> GeneratorType[_T_co, _T_contra, _V_co]: ...\n def __next__(self) -> _T_co: ...\n def close(self) -> None: ...\n def send(self, __arg: _T_contra) -> _T_co: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> _T_co: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> _T_co: ...\n\n@final\nclass AsyncGeneratorType(AsyncGenerator[_T_co, _T_contra]):\n ag_await: Awaitable[Any] | None\n ag_frame: FrameType\n ag_running: bool\n ag_code: CodeType\n def __aiter__(self) -> AsyncGeneratorType[_T_co, _T_contra]: ...\n def __anext__(self) -> Awaitable[_T_co]: ...\n def asend(self, __val: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Awaitable[_T_co]: ...\n def aclose(self) -> Awaitable[None]: ...\n\n@final\nclass CoroutineType:\n cr_await: Any | None\n cr_code: CodeType\n cr_frame: FrameType\n cr_running: bool\n def close(self) -> None: ...\n def send(self, __arg: Any) -> Any: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Any: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Any: ...\n\nclass _StaticFunctionType:\n \"\"\"Fictional type to correct the type of MethodType.__func__.\n\n FunctionType is a descriptor, so mypy follows the descriptor protocol and\n converts MethodType.__func__ back to MethodType (the return type of\n FunctionType.__get__). But this is actually a special case; MethodType is\n implemented in C and its attribute access doesn't go through\n __getattribute__.\n\n By wrapping FunctionType in _StaticFunctionType, we get the right result;\n similar to wrapping a function in staticmethod() at runtime to prevent it\n being bound as a method.\n \"\"\"\n\n def __get__(self, obj: object | None, type: type | None) -> FunctionType: ...\n\n@final\nclass MethodType:\n __closure__: Tuple[_Cell, ...] | None # inherited from the added function\n __defaults__: Tuple[Any, ...] | None # inherited from the added function\n __func__: _StaticFunctionType\n __self__: object\n __name__: str # inherited from the added function\n __qualname__: str # inherited from the added function\n def __init__(self, func: Callable[..., Any], obj: object) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\n@final\nclass BuiltinFunctionType:\n __self__: object | ModuleType\n __name__: str\n __qualname__: str\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\nBuiltinMethodType = BuiltinFunctionType\n\nif sys.version_info >= (3, 7):\n @final\n class WrapperDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class MethodWrapperType:\n __self__: object\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __eq__(self, other: Any) -> bool: ...\n def __ne__(self, other: Any) -> bool: ...\n @final\n class MethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class ClassMethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n\n@final\nclass TracebackType:\n if sys.version_info >= (3, 7):\n def __init__(\n self,\n tb_next: TracebackType | None,\n tb_frame: FrameType,\n tb_lasti: int,\n tb_lineno: int,\n ) -> None: ...\n tb_next: TracebackType | None\n else:\n @property\n def tb_next(self) -> TracebackType | None: ...\n # the rest are read-only even in 3.7\n @property\n def tb_frame(self) -> FrameType: ...\n @property\n def tb_lasti(self) -> int: ...\n @property\n def tb_lineno(self) -> int: ...\n\n@final\nclass FrameType:\n f_back: FrameType | None\n f_builtins: dict[str, Any]\n f_code: CodeType\n f_globals: dict[str, Any]\n f_lasti: int\n f_lineno: int\n f_locals: dict[str, Any]\n f_trace: Callable[[FrameType, str, Any], Any] | None\n if sys.version_info >= (3, 7):\n f_trace_lines: bool\n f_trace_opcodes: bool\n def clear(self) -> None: ...\n\n@final\nclass GetSetDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\n@final\nclass MemberDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nif sys.version_info >= (3, 7):\n def new_class(\n name: str,\n bases: Iterable[object] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n def resolve_bases(bases: Iterable[object]) -> Tuple[Any, ...]: ...\n\nelse:\n def new_class(\n name: str,\n bases: Tuple[type, ...] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n\ndef prepare_class(\n name: str, bases: Tuple[type, ...] = ..., kwds: dict[str, Any] | None = ...\n) -> Tuple[type, dict[str, Any], dict[str, Any]]: ...\n\n# Actually a different type, but `property` is special and we want that too.\nDynamicClassAttribute = property\n\ndef coroutine(func: Callable[..., Any]) -> CoroutineType: ...\n\nif sys.version_info >= (3, 8):\n CellType = _Cell\n\nif sys.version_info >= (3, 9):\n class GenericAlias:\n __origin__: type\n __args__: Tuple[Any, ...]\n __parameters__: Tuple[Any, ...]\n def __init__(self, origin: type, args: Any) -> None: ...\n def __getattr__(self, name: str) -> Any: ... # incomplete\n\nif sys.version_info >= (3, 10):\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n EllipsisType = ellipsis # noqa F811 from builtins\n from builtins import _NotImplementedType\n\n NotImplementedType = _NotImplementedType # noqa F811 from builtins\n @final\n class UnionType:\n __args__: Tuple[Any, ...]\n def __or__(self, obj: Any) -> UnionType: ...\n def __ror__(self, obj: Any) -> UnionType: ...\n", + "/typeshed/stdlib/typing.pyi": "import collections # Needed by aliases like DefaultDict, see mypy issue 2986\nimport sys\nfrom abc import ABCMeta, abstractmethod\nfrom types import BuiltinFunctionType, CodeType, FrameType, FunctionType, MethodType, ModuleType, TracebackType\nfrom typing_extensions import Literal as _Literal\n\nif sys.version_info >= (3, 7):\n from types import MethodDescriptorType, MethodWrapperType, WrapperDescriptorType\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n# Definitions of special type checking related constructs. Their definitions\n# are not used, so their value does not matter.\n\nAny = object()\n\nclass TypeVar:\n __name__: str\n __bound__: Optional[Type[Any]]\n __constraints__: Tuple[Type[Any], ...]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self,\n name: str,\n *constraints: Type[Any],\n bound: Union[None, Type[Any], str] = ...,\n covariant: bool = ...,\n contravariant: bool = ...,\n ) -> None: ...\n\n_promote = object()\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> object: ...\n\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n\ndef overload(func: _F) -> _F: ...\n\nUnion: _SpecialForm = ...\nOptional: _SpecialForm = ...\nTuple: _SpecialForm = ...\nGeneric: _SpecialForm = ...\n# Protocol is only present in 3.8 and later, but mypy needs it unconditionally\nProtocol: _SpecialForm = ...\nCallable: _SpecialForm = ...\nType: _SpecialForm = ...\nClassVar: _SpecialForm = ...\nif sys.version_info >= (3, 8):\n Final: _SpecialForm = ...\n def final(f: _F) -> _F: ...\n Literal: _SpecialForm = ...\n # TypedDict is a (non-subscriptable) special form.\n TypedDict: object\n\nif sys.version_info < (3, 7):\n class GenericMeta(type): ...\n\nif sys.version_info >= (3, 10):\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Optional[Type[Any]]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: Union[None, Type[Any], str] = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n\n# Return type that indicates a function does not return.\n# This type is equivalent to the None type, but the no-op Union is necessary to\n# distinguish the None type from the None value.\nNoReturn = Union[None]\n\n# These type variables are used by the container types.\n_T = TypeVar(\"_T\")\n_S = TypeVar(\"_S\")\n_KT = TypeVar(\"_KT\") # Key type.\n_VT = TypeVar(\"_VT\") # Value type.\n_T_co = TypeVar(\"_T_co\", covariant=True) # Any type covariant containers.\n_V_co = TypeVar(\"_V_co\", covariant=True) # Any type covariant containers.\n_KT_co = TypeVar(\"_KT_co\", covariant=True) # Key type covariant containers.\n_VT_co = TypeVar(\"_VT_co\", covariant=True) # Value type covariant containers.\n_T_contra = TypeVar(\"_T_contra\", contravariant=True) # Ditto contravariant.\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\ndef no_type_check(arg: _F) -> _F: ...\ndef no_type_check_decorator(decorator: _F) -> _F: ...\n\n# Type aliases and type constructors\n\nclass _Alias:\n # Class for defining generic aliases for library types.\n def __getitem__(self, typeargs: Any) -> Any: ...\n\nList = _Alias()\nDict = _Alias()\nDefaultDict = _Alias()\nSet = _Alias()\nFrozenSet = _Alias()\nCounter = _Alias()\nDeque = _Alias()\nChainMap = _Alias()\n\nif sys.version_info >= (3, 7):\n OrderedDict = _Alias()\n\nif sys.version_info >= (3, 9):\n Annotated: _SpecialForm = ...\n\n# Predefined type variables.\nAnyStr = TypeVar(\"AnyStr\", str, bytes)\n\n# Abstract base classes.\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n@runtime_checkable\nclass SupportsInt(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __int__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsFloat(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __float__(self) -> float: ...\n\n@runtime_checkable\nclass SupportsComplex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __complex__(self) -> complex: ...\n\n@runtime_checkable\nclass SupportsBytes(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __bytes__(self) -> bytes: ...\n\nif sys.version_info >= (3, 8):\n @runtime_checkable\n class SupportsIndex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __index__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsAbs(Protocol[_T_co]):\n @abstractmethod\n def __abs__(self) -> _T_co: ...\n\n@runtime_checkable\nclass SupportsRound(Protocol[_T_co]):\n @overload\n @abstractmethod\n def __round__(self) -> int: ...\n @overload\n @abstractmethod\n def __round__(self, ndigits: int) -> _T_co: ...\n\n@runtime_checkable\nclass Sized(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __len__(self) -> int: ...\n\n@runtime_checkable\nclass Hashable(Protocol, metaclass=ABCMeta):\n # TODO: This is special, in that a subclass of a hashable class may not be hashable\n # (for example, list vs. object). It's not obvious how to represent this. This class\n # is currently mostly useless for static checking.\n @abstractmethod\n def __hash__(self) -> int: ...\n\n@runtime_checkable\nclass Iterable(Protocol[_T_co]):\n @abstractmethod\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Iterator(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __next__(self) -> _T_co: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Reversible(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass Generator(Iterator[_T_co], Generic[_T_co, _T_contra, _V_co]):\n def __next__(self) -> _T_co: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n def close(self) -> None: ...\n def __iter__(self) -> Generator[_T_co, _T_contra, _V_co]: ...\n @property\n def gi_code(self) -> CodeType: ...\n @property\n def gi_frame(self) -> FrameType: ...\n @property\n def gi_running(self) -> bool: ...\n @property\n def gi_yieldfrom(self) -> Optional[Generator[Any, Any, Any]]: ...\n\n@runtime_checkable\nclass Awaitable(Protocol[_T_co]):\n @abstractmethod\n def __await__(self) -> Generator[Any, None, _T_co]: ...\n\nclass Coroutine(Awaitable[_V_co], Generic[_T_co, _T_contra, _V_co]):\n __name__: str\n __qualname__: str\n @property\n def cr_await(self) -> Optional[Any]: ...\n @property\n def cr_code(self) -> CodeType: ...\n @property\n def cr_frame(self) -> FrameType: ...\n @property\n def cr_running(self) -> bool: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n @abstractmethod\n def close(self) -> None: ...\n\n# NOTE: This type does not exist in typing.py or PEP 484.\n# The parameters correspond to Generator, but the 4th is the original type.\nclass AwaitableGenerator(\n Awaitable[_V_co], Generator[_T_co, _T_contra, _V_co], Generic[_T_co, _T_contra, _V_co, _S], metaclass=ABCMeta\n): ...\n\n@runtime_checkable\nclass AsyncIterable(Protocol[_T_co]):\n @abstractmethod\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\n@runtime_checkable\nclass AsyncIterator(AsyncIterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\nclass AsyncGenerator(AsyncIterator[_T_co], Generic[_T_co, _T_contra]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n @abstractmethod\n def asend(self, __value: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> Awaitable[_T_co]: ...\n @abstractmethod\n def aclose(self) -> Awaitable[None]: ...\n @abstractmethod\n def __aiter__(self) -> AsyncGenerator[_T_co, _T_contra]: ...\n @property\n def ag_await(self) -> Any: ...\n @property\n def ag_code(self) -> CodeType: ...\n @property\n def ag_frame(self) -> FrameType: ...\n @property\n def ag_running(self) -> bool: ...\n\n@runtime_checkable\nclass Container(Protocol[_T_co]):\n @abstractmethod\n def __contains__(self, __x: object) -> bool: ...\n\n@runtime_checkable\nclass Collection(Iterable[_T_co], Container[_T_co], Protocol[_T_co]):\n # Implement Sized (but don't have it as a base class).\n @abstractmethod\n def __len__(self) -> int: ...\n\n_Collection = Collection[_T_co]\n\nclass Sequence(_Collection[_T_co], Reversible[_T_co], Generic[_T_co]):\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T_co: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> Sequence[_T_co]: ...\n # Mixin methods\n def index(self, value: Any, start: int = ..., stop: int = ...) -> int: ...\n def count(self, value: Any) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass MutableSequence(Sequence[_T], Generic[_T]):\n @abstractmethod\n def insert(self, index: int, value: _T) -> None: ...\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> MutableSequence[_T]: ...\n @overload\n @abstractmethod\n def __setitem__(self, i: int, o: _T) -> None: ...\n @overload\n @abstractmethod\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: int) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: slice) -> None: ...\n # Mixin methods\n def append(self, value: _T) -> None: ...\n def clear(self) -> None: ...\n def extend(self, values: Iterable[_T]) -> None: ...\n def reverse(self) -> None: ...\n def pop(self, index: int = ...) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __iadd__(self, x: Iterable[_T]) -> MutableSequence[_T]: ...\n\nclass AbstractSet(_Collection[_T_co], Generic[_T_co]):\n @abstractmethod\n def __contains__(self, x: object) -> bool: ...\n # Mixin methods\n def __le__(self, s: AbstractSet[Any]) -> bool: ...\n def __lt__(self, s: AbstractSet[Any]) -> bool: ...\n def __gt__(self, s: AbstractSet[Any]) -> bool: ...\n def __ge__(self, s: AbstractSet[Any]) -> bool: ...\n def __and__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def __sub__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def isdisjoint(self, other: Iterable[Any]) -> bool: ...\n\nclass MutableSet(AbstractSet[_T], Generic[_T]):\n @abstractmethod\n def add(self, value: _T) -> None: ...\n @abstractmethod\n def discard(self, value: _T) -> None: ...\n # Mixin methods\n def clear(self) -> None: ...\n def pop(self) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __ior__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __iand__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __isub__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n\nclass MappingView(Sized):\n def __init__(self, mapping: Mapping[Any, Any]) -> None: ... # undocumented\n def __len__(self) -> int: ...\n\nclass ItemsView(MappingView, AbstractSet[Tuple[_KT_co, _VT_co]], Generic[_KT_co, _VT_co]):\n def __init__(self, mapping: Mapping[_KT_co, _VT_co]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n\nclass KeysView(MappingView, AbstractSet[_KT_co], Generic[_KT_co]):\n def __init__(self, mapping: Mapping[_KT_co, Any]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_KT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT_co]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n\nclass ValuesView(MappingView, Iterable[_VT_co], Generic[_VT_co]):\n def __init__(self, mapping: Mapping[Any, _VT_co]) -> None: ... # undocumented\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_VT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_VT_co]: ...\n\n@runtime_checkable\nclass ContextManager(Protocol[_T_co]):\n def __enter__(self) -> _T_co: ...\n def __exit__(\n self,\n __exc_type: Optional[Type[BaseException]],\n __exc_value: Optional[BaseException],\n __traceback: Optional[TracebackType],\n ) -> Optional[bool]: ...\n\n@runtime_checkable\nclass AsyncContextManager(Protocol[_T_co]):\n def __aenter__(self) -> Awaitable[_T_co]: ...\n def __aexit__(\n self, exc_type: Optional[Type[BaseException]], exc_value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Awaitable[Optional[bool]]: ...\n\nclass Mapping(_Collection[_KT], Generic[_KT, _VT_co]):\n # TODO: We wish the key type could also be covariant, but that doesn't work,\n # see discussion in https: //github.com/python/typing/pull/273.\n @abstractmethod\n def __getitem__(self, k: _KT) -> _VT_co: ...\n # Mixin methods\n @overload\n def get(self, key: _KT) -> Optional[_VT_co]: ...\n @overload\n def get(self, key: _KT, default: Union[_VT_co, _T]) -> Union[_VT_co, _T]: ...\n def items(self) -> AbstractSet[Tuple[_KT, _VT_co]]: ...\n def keys(self) -> AbstractSet[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def __contains__(self, o: object) -> bool: ...\n\nclass MutableMapping(Mapping[_KT, _VT], Generic[_KT, _VT]):\n @abstractmethod\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n @abstractmethod\n def __delitem__(self, v: _KT) -> None: ...\n def clear(self) -> None: ...\n @overload\n def pop(self, key: _KT) -> _VT: ...\n @overload\n def pop(self, key: _KT, default: Union[_VT, _T] = ...) -> Union[_VT, _T]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, key: _KT, default: _VT = ...) -> _VT: ...\n # 'update' used to take a Union, but using overloading is better.\n # The second overloaded type here is a bit too general, because\n # Mapping[Tuple[_KT, _VT], W] is a subclass of Iterable[Tuple[_KT, _VT]],\n # but will always have the behavior of the first overloaded type\n # at runtime, leading to keys of a mix of types _KT and Tuple[_KT, _VT].\n # We don't currently have any way of forcing all Mappings to use\n # the first overload, but by using overloading rather than a Union,\n # mypy will commit to using the first overload when the argument is\n # known to be a Mapping with unknown type parameters, which is closer\n # to the behavior we want. See mypy issue #1430.\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n\nText = str\n\nTYPE_CHECKING = True\n\nclass IO(Iterator[AnyStr], Generic[AnyStr]):\n # TODO use abstract properties\n @property\n def mode(self) -> str: ...\n @property\n def name(self) -> str: ...\n @abstractmethod\n def close(self) -> None: ...\n @property\n def closed(self) -> bool: ...\n @abstractmethod\n def fileno(self) -> int: ...\n @abstractmethod\n def flush(self) -> None: ...\n @abstractmethod\n def isatty(self) -> bool: ...\n @abstractmethod\n def read(self, n: int = ...) -> AnyStr: ...\n @abstractmethod\n def readable(self) -> bool: ...\n @abstractmethod\n def readline(self, limit: int = ...) -> AnyStr: ...\n @abstractmethod\n def readlines(self, hint: int = ...) -> list[AnyStr]: ...\n @abstractmethod\n def seek(self, offset: int, whence: int = ...) -> int: ...\n @abstractmethod\n def seekable(self) -> bool: ...\n @abstractmethod\n def tell(self) -> int: ...\n @abstractmethod\n def truncate(self, size: Optional[int] = ...) -> int: ...\n @abstractmethod\n def writable(self) -> bool: ...\n @abstractmethod\n def write(self, s: AnyStr) -> int: ...\n @abstractmethod\n def writelines(self, lines: Iterable[AnyStr]) -> None: ...\n @abstractmethod\n def __next__(self) -> AnyStr: ...\n @abstractmethod\n def __iter__(self) -> Iterator[AnyStr]: ...\n @abstractmethod\n def __enter__(self) -> IO[AnyStr]: ...\n @abstractmethod\n def __exit__(\n self, t: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Optional[bool]: ...\n\nclass BinaryIO(IO[bytes]):\n @abstractmethod\n def __enter__(self) -> BinaryIO: ...\n\nclass TextIO(IO[str]):\n # TODO use abstractproperty\n @property\n def buffer(self) -> BinaryIO: ...\n @property\n def encoding(self) -> str: ...\n @property\n def errors(self) -> Optional[str]: ...\n @property\n def line_buffering(self) -> int: ... # int on PyPy, bool on CPython\n @property\n def newlines(self) -> Any: ... # None, str or tuple\n @abstractmethod\n def __enter__(self) -> TextIO: ...\n\nclass ByteString(Sequence[int], metaclass=ABCMeta): ...\n\nclass Match(Generic[AnyStr]):\n pos: int\n endpos: int\n lastindex: Optional[int]\n lastgroup: Optional[AnyStr]\n string: AnyStr\n\n # The regular expression object whose match() or search() method produced\n # this match instance.\n re: Pattern[AnyStr]\n def expand(self, template: AnyStr) -> AnyStr: ...\n # group() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def group(self, __group: _Literal[0] = ...) -> AnyStr: ...\n @overload\n def group(self, __group: str | int) -> AnyStr | Any: ...\n @overload\n def group(self, __group1: str | int, __group2: str | int, *groups: str | int) -> Tuple[AnyStr | Any, ...]: ...\n # Each item of groups()'s return tuple is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groups(self) -> Tuple[AnyStr | Any, ...]: ...\n @overload\n def groups(self, default: _T) -> Tuple[AnyStr | _T, ...]: ...\n # Each value in groupdict()'s return dict is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groupdict(self) -> dict[str, AnyStr | Any]: ...\n @overload\n def groupdict(self, default: _T) -> dict[str, AnyStr | _T]: ...\n def start(self, __group: Union[int, str] = ...) -> int: ...\n def end(self, __group: Union[int, str] = ...) -> int: ...\n def span(self, __group: Union[int, str] = ...) -> Tuple[int, int]: ...\n @property\n def regs(self) -> Tuple[Tuple[int, int], ...]: ... # undocumented\n # __getitem__() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def __getitem__(self, __key: _Literal[0]) -> AnyStr: ...\n @overload\n def __getitem__(self, __key: int | str) -> AnyStr | Any: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass Pattern(Generic[AnyStr]):\n flags: int\n groupindex: Mapping[str, int]\n groups: int\n pattern: AnyStr\n def search(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def match(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def fullmatch(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def split(self, string: AnyStr, maxsplit: int = ...) -> list[AnyStr]: ...\n def findall(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> list[Any]: ...\n def finditer(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Iterator[Match[AnyStr]]: ...\n @overload\n def sub(self, repl: AnyStr, string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def sub(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def subn(self, repl: AnyStr, string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n @overload\n def subn(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\n# Functions\n\nif sys.version_info >= (3, 7):\n _get_type_hints_obj_allowed_types = Union[\n object,\n Callable[..., Any],\n FunctionType,\n BuiltinFunctionType,\n MethodType,\n ModuleType,\n WrapperDescriptorType,\n MethodWrapperType,\n MethodDescriptorType,\n ]\nelse:\n _get_type_hints_obj_allowed_types = Union[\n object, Callable[..., Any], FunctionType, BuiltinFunctionType, MethodType, ModuleType,\n ]\n\nif sys.version_info >= (3, 9):\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types,\n globalns: Optional[Dict[str, Any]] = ...,\n localns: Optional[Dict[str, Any]] = ...,\n include_extras: bool = ...,\n ) -> Dict[str, Any]: ...\n\nelse:\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types, globalns: Optional[Dict[str, Any]] = ..., localns: Optional[Dict[str, Any]] = ...\n ) -> Dict[str, Any]: ...\n\nif sys.version_info >= (3, 8):\n def get_origin(tp: Any) -> Optional[Any]: ...\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n\n@overload\ndef cast(typ: Type[_T], val: Any) -> _T: ...\n@overload\ndef cast(typ: str, val: Any) -> Any: ...\n@overload\ndef cast(typ: object, val: Any) -> Any: ...\n\n# Type constructors\n\n# NamedTuple is special-cased in the type checker\nclass NamedTuple(Tuple[Any, ...]):\n _field_types: collections.OrderedDict[str, Type[Any]]\n _field_defaults: Dict[str, Any] = ...\n _fields: Tuple[str, ...]\n _source: str\n def __init__(self, typename: str, fields: Iterable[Tuple[str, Any]] = ..., **kwargs: Any) -> None: ...\n @classmethod\n def _make(cls: Type[_T], iterable: Iterable[Any]) -> _T: ...\n if sys.version_info >= (3, 8):\n def _asdict(self) -> Dict[str, Any]: ...\n else:\n def _asdict(self) -> collections.OrderedDict[str, Any]: ...\n def _replace(self: _T, **kwargs: Any) -> _T: ...\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __or__(self: _T, __value: _T) -> _T: ...\n def __ior__(self: _T, __value: _T) -> _T: ...\n\ndef NewType(name: str, tp: Type[_T]) -> Type[_T]: ...\n\n# This itself is only available during type checking\ndef type_check_only(func_or_cls: _F) -> _F: ...\n\nif sys.version_info >= (3, 7):\n class ForwardRef:\n __forward_arg__: str\n __forward_code__: CodeType\n __forward_evaluated__: bool\n __forward_value__: Optional[Any]\n __forward_is_argument__: bool\n def __init__(self, arg: str, is_argument: bool = ...) -> None: ...\n def _evaluate(self, globalns: Optional[Dict[str, Any]], localns: Optional[Dict[str, Any]]) -> Optional[Any]: ...\n def __eq__(self, other: Any) -> bool: ...\n def __hash__(self) -> int: ...\n def __repr__(self) -> str: ...\n\nif sys.version_info >= (3, 10):\n def is_typeddict(tp: Any) -> bool: ...\n", + "/typeshed/stdlib/typing_extensions.pyi": "import abc\nimport sys\nfrom typing import (\n TYPE_CHECKING as TYPE_CHECKING,\n Any,\n AsyncContextManager as AsyncContextManager,\n AsyncGenerator as AsyncGenerator,\n AsyncIterable as AsyncIterable,\n AsyncIterator as AsyncIterator,\n Awaitable as Awaitable,\n Callable,\n ChainMap as ChainMap,\n ClassVar as ClassVar,\n ContextManager as ContextManager,\n Coroutine as Coroutine,\n Counter as Counter,\n DefaultDict as DefaultDict,\n Deque as Deque,\n ItemsView,\n KeysView,\n Mapping,\n NewType as NewType,\n NoReturn as NoReturn,\n Text as Text,\n Tuple,\n Type as Type,\n TypeVar,\n ValuesView,\n _Alias,\n overload as overload,\n)\n\n_T = TypeVar(\"_T\")\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> Any: ...\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n\n# This alias for above is kept here for backwards compatibility.\nruntime = runtime_checkable\nProtocol: _SpecialForm = ...\nFinal: _SpecialForm = ...\n\ndef final(f: _F) -> _F: ...\n\nLiteral: _SpecialForm = ...\n\ndef IntVar(name: str) -> Any: ... # returns a new TypeVar\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=abc.ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n\n# TypedDict is a (non-subscriptable) special form.\nTypedDict: object = ...\n\nOrderedDict = _Alias()\n\ndef get_type_hints(\n obj: Callable[..., Any],\n globalns: dict[str, Any] | None = ...,\n localns: dict[str, Any] | None = ...,\n include_extras: bool = ...,\n) -> dict[str, Any]: ...\n\nif sys.version_info >= (3, 7):\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n def get_origin(tp: Any) -> Any | None: ...\n\nAnnotated: _SpecialForm = ...\n_AnnotatedAlias: Any = ... # undocumented\n\n@runtime_checkable\nclass SupportsIndex(Protocol, metaclass=abc.ABCMeta):\n @abc.abstractmethod\n def __index__(self) -> int: ...\n\n# PEP 612 support for Python < 3.9\nif sys.version_info >= (3, 10):\n from typing import Concatenate as Concatenate, ParamSpec as ParamSpec, TypeAlias as TypeAlias, TypeGuard as TypeGuard\nelse:\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Type[Any] | None\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: None | Type[Any] | str = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n", + "/typeshed/stdlib/uarray.pyi": "from array import *\n", + "/typeshed/stdlib/ucollections.pyi": "from collections import *\n", + "/typeshed/stdlib/uerrno.pyi": "from errno import *\n", + "/typeshed/stdlib/urandom.pyi": "from random import *\n", + "/typeshed/stdlib/ustruct.pyi": "from struct import *\n", + "/typeshed/stdlib/usys.pyi": "from sys import *\n", + "/typeshed/stdlib/utime.pyi": "from time import *\n", + "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", + "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"\u5f15\u8173\u3001\u5f71\u50cf\u3001\u8072\u97f3\u3001\u6eab\u5ea6\u548c\u97f3\u91cf\u3002\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Schedule to run a function at the interval specified by the time arguments **V2 only**.\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: Function to call at the provided interval. Omit when using as a decorator.\n:param days: Sets the day mark for the scheduling.\n:param h: Sets the hour mark for the scheduling.\n:param min: Sets the minute mark for the scheduling.\n:param s: Sets the second mark for the scheduling.\n:param ms: Sets the millisecond mark for the scheduling.\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"\u9032\u5165\u7dca\u6025\u6a21\u5f0f\u3002\n\nExample: ``panic(127)``\n\n:param n: \u4efb\u610f\u6574\u6578 <= 255 \u4ee5\u8868\u793a\u72c0\u614b\u3002\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"\u91cd\u555f\u958b\u767c\u677f\u3002\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Converts a value from a range to an integer range.\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: A number to convert.\n:param from_: A tuple to define the range to convert from.\n:param to: A tuple to define the range to convert to.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Converts a value from a range to a floating point range.\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: A number to convert.\n:param from_: A tuple to define the range to convert from.\n:param to: A tuple to define the range to convert to.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"\u7b49\u5f85 ``n`` \u6beb\u79d2\u3002\n\nExample: ``sleep(1000)``\n\n:param n: \u8981\u7b49\u5f85\u7684\u6beb\u79d2\u6578\u3002\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"\u53d6\u5f97\u958b\u767c\u677f\u7684\u57f7\u884c\u6642\u9593\u3002\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"\u53d6\u5f97 micro:bit \u7684\u6eab\u5ea6 (\u4ee5\u651d\u6c0f\u70ba\u55ae\u4f4d)\u3002 (\u6eab\u5ea6)\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"\u8a2d\u5b9a\u97f3\u91cf\u3002\n\nExample: ``set_volume(127)``\n\n:param v: \u4ecb\u65bc 0 (\u4f4e) \u548c 255 (\u9ad8) \u4e4b\u9593\u7684\u503c\u3002\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"\u6309\u9215 ``button_a`` \u548c ``button_b`` \u7684\u985e\u5225\u3002\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"\u6aa2\u67e5\u6309\u9215\u662f\u5426\u6709\u6309\u4e0b\u3002\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"\u6aa2\u67e5\u81ea\u88dd\u7f6e\u555f\u52d5\u6216\u4e0a\u6b21\u547c\u53eb\u6b64\u65b9\u6cd5\u4ee5\u4f86\uff0c\u662f\u5426\u6709\u6309\u4e0b\u8a72\u6309\u9215\u3002\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"\u53d6\u5f97\u6309\u4e0b\u6309\u9215\u7684\u57f7\u884c\u7e3d\u6578\uff0c\u4e26\u5728\u50b3\u56de\u524d\u5c07\u6b64\u7e3d\u6578\u91cd\u8a2d\u70ba\u96f6\u3002\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"\u5de6\u5074\u6309\u9215 ``Button`` \u7269\u4ef6\u3002\"\"\"\nbutton_b: Button\n\"\"\"\u53f3\u5074\u6309\u9215 ``Button`` \u7269\u4ef6\u3002\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"\u6578\u4f4d\u5f15\u8173\u3002\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"\u53d6\u5f97\u5f15\u8173\u7684\u6578\u4f4d\u503c\u3002\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"\u8a2d\u5b9a\u5f15\u8173\u7684\u6578\u4f4d\u503c\u3002\n\nExample: ``pin0.write_digital(1)``\n\n:param value: 1 \u5c07\u5f15\u8173\u8a2d\u70ba\u9ad8\u96fb\u5e73\uff0c\u6216 0 \u5c07\u5f15\u8173\u8a2d\u70ba\u4f4e\u96fb\u5e73\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"\u5c07\u63d0\u53d6\u72c0\u614b\u8a2d\u70ba\u4e09\u500b\u53ef\u80fd\u503c\u4e4b\u4e00\uff1a``PULL_UP``\u3001``PULL_DOWN`` \u6216 ``NO_PULL``\u3002\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: \u76f8\u95dc\u5f15\u8173\u7684\u63d0\u53d6\u72c0\u614b\uff0c\u4f8b\u5982 ``pin0.PULL_UP``\u3002\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"\u53d6\u5f97\u5f15\u8173\u4e0a\u7684\u63d0\u53d6\u72c0\u614b\u3002\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"\u50b3\u56de\u5f15\u8173\u6a21\u5f0f\u3002\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"\u5728\u5f15\u8173\u4e0a\u8f38\u51fa PWM \u8a0a\u865f\uff0c\u5de5\u4f5c\u9031\u671f\u8207 ``value`` \u6210\u6b63\u6bd4\u3002\n\nExample: ``pin0.write_analog(254)``\n\n:param value: \u4ecb\u65bc 0 (0% \u5de5\u4f5c\u9031\u671f) \u548c 1023 (100% \u5de5\u4f5c\u9031\u671f) \u4e4b\u9593\u7684\u6574\u6578\u6216\u6d6e\u9ede\u6578\u3002\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"\u5c07\u8f38\u51fa\u7684 PWM \u8a0a\u865f\u9031\u671f\u8a2d\u70ba ``period`` (\u4ee5\u6beb\u79d2\u70ba\u55ae\u4f4d)\u3002\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: \u4ee5\u6beb\u79d2\u70ba\u55ae\u4f4d\u7684\u9031\u671f\uff0c\u6700\u5c0f\u6709\u6548\u503c\u70ba 1ms\u3002\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"\u5c07\u8f38\u51fa\u7684 PWM \u8a0a\u865f\u9031\u671f\u8a2d\u70ba ``period`` (\u4ee5\u5fae\u79d2\u70ba\u55ae\u4f4d)\u3002\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: \u4ee5\u5fae\u79d2\u70ba\u55ae\u4f4d\u7684\u9031\u671f\uff0c\u6700\u5c0f\u6709\u6548\u503c\u70ba 256\u00b5s\u3002\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"\u5177\u6709\u985e\u6bd4\u548c\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"\u8b80\u53d6\u65bd\u52a0\u5230\u5f15\u8173\u7684\u96fb\u58d3\u3002\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"\u5177\u6709\u985e\u6bd4\u3001\u6578\u4f4d\u548c\u89f8\u63a7\u529f\u80fd\u7684\u5f15\u8173\u3002\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"\u6aa2\u67e5\u5f15\u8173\u662f\u5426\u53d7\u89f8\u63a7\u3002\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"\u8a2d\u5b9a\u5f15\u8173\u7684\u89f8\u63a7\u6a21\u5f0f\u3002\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: \u76f8\u95dc\u5f15\u8173\u7684 ``CAPACITIVE`` \u6216 ``RESISTIVE``\u3002\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u3001\u985e\u6bd4\u548c\u89f8\u63a7\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 0)\"\"\"\npin1: MicroBitTouchPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u3001\u985e\u6bd4\u548c\u89f8\u63a7\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 1)\"\"\"\npin2: MicroBitTouchPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u3001\u985e\u6bd4\u548c\u89f8\u63a7\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 2)\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u548c\u985e\u6bd4\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 3)\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u548c\u985e\u6bd4\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 4)\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 5)\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 6)\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 7)\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 8)\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 9)\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u548c\u985e\u6bd4\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 10)\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 11)\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 12)\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 13)\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 14)\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 15)\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 16)\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 19)\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 20)\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"micro:bit \u6b63\u9762\u7684\u89f8\u63a7\u611f\u61c9\u6a19\u8a8c\u5f15\u8173\uff0c\u9810\u8a2d\u70ba\u96fb\u5bb9\u5f0f\u89f8\u63a7\u6a21\u5f0f\u3002\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"\u7528\u65bc\u5b9a\u5740 micro:bit \u63da\u8072\u5668\u7684\u5f15\u8173\u3002\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"\u8981\u5728 micro:bit LED \u986f\u793a\u5668\u4e0a\u986f\u793a\u7684\u5716\u50cf\u3002 (\u5716\u50cf)\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"\u611b\u5fc3\u5716\u50cf\u3002\"\"\"\n HEART_SMALL: Image\n \"\"\"\u5c0f\u611b\u5fc3\u5716\u50cf\u3002\"\"\"\n HAPPY: Image\n \"\"\"\u958b\u5fc3\u7684\u81c9\u5716\u50cf\u3002 (\u958b\u5fc3)\"\"\"\n SMILE: Image\n \"\"\"\u7b11\u81c9\u5716\u50cf\u3002 (\u5fae\u7b11)\"\"\"\n SAD: Image\n \"\"\"\u50b7\u5fc3\u7684\u81c9\u5716\u50cf\u3002\"\"\"\n CONFUSED: Image\n \"\"\"\u56f0\u60d1\u7684\u81c9\u5716\u50cf\u3002\"\"\"\n ANGRY: Image\n \"\"\"\u751f\u6c23\u7684\u81c9\u5716\u50cf\u3002\"\"\"\n ASLEEP: Image\n \"\"\"\u7761\u81c9\u5716\u50cf\u3002\"\"\"\n SURPRISED: Image\n \"\"\"\u9a5a\u8a1d\u7684\u81c9\u5716\u50cf\u3002\"\"\"\n SILLY: Image\n \"\"\"\u9b3c\u81c9\u5716\u50cf\u3002\"\"\"\n FABULOUS: Image\n \"\"\"\u6234\u592a\u967d\u773c\u93e1\u7684\u81c9\u5716\u50cf\u3002\"\"\"\n MEH: Image\n \"\"\"\u51b7\u6f20\u7684\u81c9\u5716\u50cf\u3002\"\"\"\n YES: Image\n \"\"\"\u52fe\u865f\u5716\u50cf\u3002\"\"\"\n NO: Image\n \"\"\"\u53c9\u865f\u5716\u50cf\u3002\"\"\"\n CLOCK12: Image\n \"\"\"\u6307\u91dd\u6307\u5411 12 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK11: Image\n \"\"\"\u6307\u91dd\u6307\u5411 11 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK10: Image\n \"\"\"\u6307\u91dd\u6307\u5411 10 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK9: Image\n \"\"\"\u6307\u91dd\u6307\u5411 9 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK8: Image\n \"\"\"\u6307\u91dd\u6307\u5411 8 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK7: Image\n \"\"\"\u6307\u91dd\u6307\u5411 7 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK6: Image\n \"\"\"\u6307\u91dd\u6307\u5411 6 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK5: Image\n \"\"\"\u6307\u91dd\u6307\u5411 5 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK4: Image\n \"\"\"\u6307\u91dd\u6307\u5411 4 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK3: Image\n \"\"\"\u6307\u91dd\u6307\u5411 3 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK2: Image\n \"\"\"\u6307\u91dd\u6307\u5411 2 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK1: Image\n \"\"\"\u6307\u91dd\u6307\u5411 1 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n ARROW_N: Image\n \"\"\"\u6307\u5411\u5317\u65b9\u7bad\u982d\u7684\u5716\u50cf\u3002\"\"\"\n ARROW_NE: Image\n \"\"\"\u6307\u5411\u6771\u5317\u7bad\u982d\u7684\u5716\u50cf\u3002\"\"\"\n ARROW_E: Image\n \"\"\"\u6307\u5411\u6771\u65b9\u7bad\u982d\u7684\u5716\u50cf\u3002\"\"\"\n ARROW_SE: Image\n \"\"\"\u6307\u5411\u6771\u5357\u7bad\u982d\u7684\u5716\u50cf\u3002\"\"\"\n ARROW_S: Image\n \"\"\"\u6307\u5411\u5357\u65b9\u7bad\u982d\u7684\u5716\u50cf\u3002\"\"\"\n ARROW_SW: Image\n \"\"\"\u6307\u5411\u897f\u5357\u7bad\u982d\u7684\u5716\u50cf\u3002\"\"\"\n ARROW_W: Image\n \"\"\"\u6307\u5411\u897f\u65b9\u7bad\u982d\u7684\u5716\u50cf\u3002\"\"\"\n ARROW_NW: Image\n \"\"\"\u6307\u5411\u897f\u5317\u7bad\u982d\u7684\u5716\u50cf\u3002\"\"\"\n TRIANGLE: Image\n \"\"\"\u4e09\u89d2\u5f62\u671d\u4e0a\u7684\u5716\u50cf\u3002\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"\u4e09\u89d2\u5f62\u671d\u5de6\u7684\u5716\u50cf\u3002\"\"\"\n CHESSBOARD: Image\n \"\"\"\u4ee5\u68cb\u76e4\u5716\u6848\u4ea4\u932f\u767c\u4eae\u7684 LED \u71c8\u3002\"\"\"\n DIAMOND: Image\n \"\"\"\u947d\u77f3\u5716\u50cf\u3002\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"\u5c0f\u947d\u77f3\u5716\u50cf\u3002\"\"\"\n SQUARE: Image\n \"\"\"\u6b63\u65b9\u5f62\u5716\u50cf\u3002\"\"\"\n SQUARE_SMALL: Image\n \"\"\"\u5c0f\u6b63\u65b9\u5f62\u5716\u50cf\u3002\"\"\"\n RABBIT: Image\n \"\"\"\u5154\u5b50\u5716\u50cf\u3002\"\"\"\n COW: Image\n \"\"\"\u4e73\u725b\u5716\u50cf\u3002\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"\u56db\u5206\u97f3\u7b26\u5716\u50cf\u3002\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"\u516b\u5206\u97f3\u7b26\u5716\u50cf\u3002\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"\u4e00\u7d44\u516b\u5206\u97f3\u7b26\u5716\u50cf\u3002\"\"\"\n PITCHFORK: Image\n \"\"\"\u4e7e\u8349\u53c9\u5716\u50cf\u3002\"\"\"\n XMAS: Image\n \"\"\"\u8056\u8a95\u6a39\u5716\u50cf\u3002\"\"\"\n PACMAN: Image\n \"\"\"\u5c0f\u7cbe\u9748\u8857\u6a5f\u89d2\u8272\u5716\u50cf\u3002\"\"\"\n TARGET: Image\n \"\"\"\u9776\u5b50\u5716\u50cf\u3002\"\"\"\n TSHIRT: Image\n \"\"\"T \u6064\u5716\u50cf\u3002\"\"\"\n ROLLERSKATE: Image\n \"\"\"\u8f2a\u5f0f\u6e9c\u51b0\u978b\u5716\u50cf\u3002\"\"\"\n DUCK: Image\n \"\"\"\u9d28\u5b50\u5716\u50cf\u3002\"\"\"\n HOUSE: Image\n \"\"\"\u623f\u5b50\u5716\u50cf\u3002\"\"\"\n TORTOISE: Image\n \"\"\"\u9678\u9f9c\u5716\u50cf\u3002\"\"\"\n BUTTERFLY: Image\n \"\"\"\u8774\u8776\u5716\u50cf\u3002\"\"\"\n STICKFIGURE: Image\n \"\"\"\u7c21\u7b46\u756b\u5716\u50cf\u3002\"\"\"\n GHOST: Image\n \"\"\"\u5e7d\u9748\u5716\u50cf\u3002\"\"\"\n SWORD: Image\n \"\"\"\u528d\u5716\u50cf\u3002\"\"\"\n GIRAFFE: Image\n \"\"\"\u9577\u9838\u9e7f\u5716\u50cf\u3002\"\"\"\n SKULL: Image\n \"\"\"\u9ab7\u9acf\u982d\u5716\u50cf\"\"\"\n UMBRELLA: Image\n \"\"\"\u96e8\u5098\u5716\u50cf\u3002\"\"\"\n SNAKE: Image\n \"\"\"\u86c7\u5716\u50cf\u3002\"\"\"\n SCISSORS: Image\n \"\"\"Scissors image.\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"\u6309\u9806\u5e8f\u5305\u542b\u6240\u6709 CLOCK_\u5716\u50cf\u7684\u5217\u8868\u3002\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"\u6309\u9806\u5e8f\u5305\u542b\u6240\u6709 ARROW_\u5716\u50cf\u7684\u5217\u8868\u3002\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"\u5f9e\u63cf\u8ff0\u9ede\u4eae\u54ea\u4e9b LED \u7684\u5b57\u4e32\u5efa\u7acb\u5716\u50cf\u3002\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: \u63cf\u8ff0\u5716\u50cf\u7684\u5b57\u4e32\u3002\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"\u5efa\u7acb\u4e00\u500b ``width`` \u884c ``height`` \u5217\u7684\u7a7a\u767d\u5716\u50cf\u3002\n\n:param width: \u53ef\u9078\u7684\u5716\u50cf\u5bec\u5ea6\n:param height: \u53ef\u9078\u7684\u5716\u50cf\u9ad8\u5ea6\n:param buffer: \u7528\u53ef\u9078\u9663\u5217\u6216\u5728 0-9 \u7bc4\u570d\u5167\u7684 ``width``\u00d7``height`` \u6574\u6578\u4f4d\u5143\u7d44\uff0c\u4f86\u521d\u59cb\u5316\u5716\u50cf\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"\u53d6\u5f97\u884c\u6578\u3002\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"\u53d6\u5f97\u5217\u6578\u3002\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"\u8a2d\u5b9a\u50cf\u7d20\u7684\u4eae\u5ea6\u3002\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: \u884c\u865f\n:param y: \u5217\u865f\n:param value: \u4eae\u5ea6\u70ba\u4ecb\u65bc 0 (\u6697) \u548c 9 (\u4eae) \u4e4b\u9593\u7684\u6574\u6578\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"\u53d6\u5f97\u50cf\u7d20\u7684\u4eae\u5ea6\u3002\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: \u884c\u865f\n:param y: \u5217\u865f\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"\u5411\u5de6\u79fb\u52d5\u5716\u50cf\uff0c\u4ee5\u5efa\u7acb\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: \u8981\u79fb\u52d5\u7684\u884c\u6578\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"\u5411\u53f3\u79fb\u52d5\u5716\u50cf\uff0c\u4ee5\u5efa\u7acb\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: \u8981\u79fb\u52d5\u7684\u884c\u6578\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"\u5411\u4e0a\u79fb\u52d5\u5716\u50cf\uff0c\u4ee5\u5efa\u7acb\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: \u8981\u79fb\u52d5\u7684\u5217\u6578\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"\u900f\u904e\u5411\u4e0b\u79fb\u52d5\u5716\u50cf\uff0c\u4ee5\u5efa\u7acb\u4e00\u500b\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: \u8981\u79fb\u52d5\u7684\u5217\u6578\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"\u900f\u904e\u88c1\u526a\u5716\u50cf\uff0c\u4ee5\u5efa\u7acb\u4e00\u500b\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: \u88c1\u526a\u4f4d\u79fb\u884c\n:param y: \u88c1\u526a\u4f4d\u79fb\u5217\n:param w: \u526a\u88c1\u5bec\u5ea6\n:param h: \u526a\u88c1\u9ad8\u5ea6\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"\u5efa\u7acb\u5716\u50cf\u7684\u7cbe\u78ba\u526f\u672c\u3002\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"\u900f\u904e\u53cd\u8f49\u4f86\u6e90\u5716\u50cf\u7684\u50cf\u7d20\u4eae\u5ea6\uff0c\u4ee5\u5efa\u7acb\u4e00\u500b\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"\u8a2d\u5b9a\u5716\u50cf\u4e2d\u6240\u6709\u50cf\u7d20\u7684\u4eae\u5ea6\u3002\n\nExample: ``my_image.fill(5)``\n\n:param value: \u65b0\u4eae\u5ea6\u70ba 0 (\u6697) \u548c 9 (\u4eae) \u4e4b\u9593\u7684\u6578\u5b57\u3002\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"\u5c07\u53e6\u4e00\u500b\u5716\u50cf\u4e2d\u7684\u4e00\u500b\u5340\u57df\u8907\u88fd\u5230\u8a72\u5716\u50cf\u4e2d\u3002\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: \u4f86\u6e90\u5716\u50cf\n:param x: \u4f86\u6e90\u5716\u50cf\u4e2d\u7684\u8d77\u59cb\u884c\u4f4d\u79fb\n:param y: \u4f86\u6e90\u5716\u50cf\u4e2d\u7684\u8d77\u59cb\u5217\u4f4d\u79fb\n:param w: \u8981\u8907\u88fd\u7684\u884c\u6578\n:param h: \u8981\u8907\u88fd\u7684\u5217\u6578\n:param xdest: \u6b64\u5716\u50cf\u4e2d\u8981\u4fee\u6539\u7684\u884c\u4f4d\u79fb\n:param ydest: \u6b64\u5716\u50cf\u4e2d\u8981\u4fee\u6539\u7684\u5217\u4f4d\u79fb\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"\u53d6\u5f97\u5716\u50cf\u7684\u7dca\u6e4a\u5b57\u4e32\u986f\u793a\u3002\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"\u53d6\u5f97\u5716\u50cf\u7684\u53ef\u8b80\u5b57\u4e32\u986f\u793a\u3002\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"\u900f\u904e\u5c07\u5169\u500b\u5716\u50cf\u7684\u50cf\u7d20\u4eae\u5ea6\u503c\u76f8\u52a0\uff0c\u4ee5\u5efa\u7acb\u4e00\u500b\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: \u8981\u65b0\u589e\u7684\u5716\u50cf\u3002\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"\u900f\u904e\u5f9e\u8a72\u5716\u50cf\u4e2d\u6e1b\u53bb\u53e6\u4e00\u500b\u5716\u50cf\u7684\u4eae\u5ea6\u503c\uff0c\u4ee5\u5efa\u7acb\u4e00\u500b\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: \u8981\u6e1b\u53bb\u7684\u5716\u50cf\u3002\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"\u5c07\u5404\u50cf\u7d20\u7684\u4eae\u5ea6\u4e58\u4ee5 ``n``\uff0c\u4ee5\u5efa\u7acb\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART * 0.5``\n\n:param n: \u8981\u4e58\u4ee5\u7684\u503c\u3002\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"\u900f\u904e\u5c07\u5404\u50cf\u7d20\u7684\u4eae\u5ea6\u9664\u4ee5 ``n``\uff0c\u4ee5\u5efa\u7acb\u4e00\u500b\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART / 2``\n\n:param n: \u8981\u9664\u4ee5\u7684\u503c\u3002\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"\u8868\u793a\u8072\u97f3\u4e8b\u4ef6\u7684\u8f49\u63db\uff0c\u5f9e ``quiet`` \u5230 ``loud``\uff0c\u5982\u9f13\u638c\u6216\u558a\u53eb\u3002\"\"\"\n QUIET: SoundEvent\n \"\"\"\u8868\u793a\u8072\u97f3\u4e8b\u4ef6\u7684\u8f49\u63db\uff0c\u5f9e ``loud`` \u5230 ``quiet``\u3002\u4f8b\u5982\uff0c\u8aaa\u8a71\u6216\u80cc\u666f\u97f3\u6a02\u3002\"\"\"\n\nclass Sound:\n \"\"\"\u53ef\u4ee5\u4f7f\u7528 ``audio.play(Sound.NAME)`` \u8abf\u7528\u5167\u5efa\u8072\u97f3\u3002\"\"\"\n GIGGLE: Sound\n \"\"\"\u54af\u54af\u7b11\u7684\u8072\u97f3\u3002 (\u54af\u54af\u7b11)\"\"\"\n HAPPY: Sound\n \"\"\"\u958b\u5fc3\u7684\u8072\u97f3\u3002 (\u958b\u5fc3)\"\"\"\n HELLO: Sound\n \"\"\"\u6b61\u8fce\u7684\u8072\u97f3\u3002 (\u54c8\u56c9)\"\"\"\n MYSTERIOUS: Sound\n \"\"\"\u795e\u7955\u7684\u8072\u97f3\u3002 (\u795e\u79d8)\"\"\"\n SAD: Sound\n \"\"\"\u96e3\u904e\u7684\u8072\u97f3\u3002 (\u96e3\u904e)\"\"\"\n SLIDE: Sound\n \"\"\"\u6ed1\u52d5\u7684\u8072\u97f3\u3002\"\"\"\n SOARING: Sound\n \"\"\"\u9ad8\u6602\u7684\u8072\u97f3\u3002 (\u9ad8\u6602)\"\"\"\n SPRING: Sound\n \"\"\"\u5f48\u8df3\u7684\u8072\u97f3\u3002 (\u5f48\u8df3)\"\"\"\n TWINKLE: Sound\n \"\"\"\u767c\u4eae\u7684\u8072\u97f3\u3002 (\u767c\u4eae)\"\"\"\n YAWN: Sound\n \"\"\"\u5475\u6b20\u7684\u8072\u97f3\u3002\"\"\"", + "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"\u6e2c\u91cf micro:bit \u7684\u52a0\u901f\u5ea6\u4e26\u8b58\u5225\u624b\u52e2\u3002\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"\u53d6\u5f97 ``x`` \u8ef8\u4e0a\u7684\u52a0\u901f\u5ea6\u6e2c\u91cf\u503c (\u4ee5\u6beb\u514b\u70ba\u55ae\u4f4d)\u3002\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"\u53d6\u5f97 ``y`` \u8ef8\u4e0a\u7684\u52a0\u901f\u5ea6\u6e2c\u91cf\u503c (\u4ee5\u6beb\u514b\u70ba\u55ae\u4f4d)\u3002\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"\u53d6\u5f97 ``z`` \u8ef8\u4e0a\u7684\u52a0\u901f\u5ea6\u6e2c\u91cf\u503c (\u4ee5\u6beb\u514b\u70ba\u55ae\u4f4d)\u3002\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"\u4e00\u6b21\u53d6\u5f97\u6240\u6709\u8ef8\u4e0a\u7684\u52a0\u901f\u5ea6\u6e2c\u91cf\u503c\u505a\u70ba\u5143\u7d44\u3002\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Get the acceleration measurement of all axes combined, as a positive integer. This is the Pythagorean sum of the X, Y and Z axes.\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"\u53d6\u5f97\u76ee\u524d\u624b\u52e2\u7684\u540d\u7a31\u3002\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"\u6aa2\u67e5\u547d\u540d\u7684\u624b\u52e2\u76ee\u524d\u662f\u5426\u8655\u65bc\u6d3b\u52d5\u72c0\u614b\u3002\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: \u624b\u52e2\u540d\u7a31\u3002\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"\u6aa2\u67e5\u547d\u540d\u624b\u52e2\u81ea\u4e0a\u6b21\u547c\u53eb\u5f8c\u662f\u5426\u8655\u65bc\u6d3b\u52d5\u72c0\u614b\u3002\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: \u624b\u52e2\u540d\u7a31\u3002\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"\u50b3\u56de\u624b\u52e2\u6b77\u53f2\u7d00\u9304\u7684\u5143\u7d44\u3002\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Set the accelerometer sensitivity range, in g (standard gravity), to the closest values supported by the hardware, so it rounds to either ``2``, ``4``, or ``8`` g.\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: New range for the accelerometer, an integer in ``g``.\"\"\"", + "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"\u4f7f\u7528 micro:bit \u64ad\u653e\u8072\u97f3 (\u532f\u5165 ``audio`` \u8207 V1 \u76f8\u5bb9)\u3002\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Play a built-in sound, sound effect or custom audio frames.\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: A built-in ``Sound`` such as ``Sound.GIGGLE``, a ``SoundEffect`` or sample data as an iterable of ``AudioFrame`` objects.\n:param wait: \u5982\u679c ``wait`` \u70ba ``True``\uff0c\u6b64\u51fd\u5f0f\u5c07\u6703\u5c01\u9396\uff0c\u76f4\u5230\u8072\u97f3\u5b8c\u6210\u3002\n:param pin: (\u5f15\u8173) \u6307\u5b9a\u8f38\u51fa\u5f15\u8173\u7684\u53ef\u9078\u5f15\u6578\uff0c\u53ef\u7528\u65bc\u8986\u5beb\u9810\u8a2d\u503c ``pin0``\u3002\u5982\u679c\u6211\u5011\u4e0d\u60f3\u64ad\u653e\u4efb\u4f55\u8072\u97f3\uff0c\u6211\u5011\u53ef\u4ee5\u4f7f\u7528 ``pin=None``\u3002\n:param return_pin: \u6307\u5b9a\u5dee\u5206\u908a\u7de3\u9023\u63a5\u5668\u5f15\u8173\uff0c\u4ee5\u9023\u63a5\u5230\u5916\u90e8\u63da\u8072\u5668\u800c\u4e0d\u662f\u63a5\u5730\u3002\u5728 **V2** \u4fee\u8a02\u7248\u4e2d\uff0c\u9019\u5c07\u6703\u88ab\u5ffd\u7565\u3002\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"\u6aa2\u67e5\u662f\u5426\u6b63\u5728\u64ad\u653e\u8072\u97f3\u3002\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"\u505c\u6b62\u6240\u6709\u97f3\u8a0a\u64ad\u653e\u3002\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"A sound effect, composed by a set of parameters configured via the constructor or attributes.\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Sine wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Sawtooth wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Triangle wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Square wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Noise option used for the ``waveform`` parameter.\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Linear interpolation option used for the ``shape`` parameter.\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Curve interpolation option used for the ``shape`` parameter.\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Logarithmic interpolation option used for the ``shape`` parameter.\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"No effect option used for the ``fx`` parameter.\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Tremolo effect option used for the ``fx`` parameter.\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Vibrato effect option used for the ``fx`` parameter.\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Warble effect option used for the ``fx`` parameter.\"\"\"\n freq_start: int\n \"\"\"Start frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n freq_end: int\n \"\"\"End frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n duration: int\n \"\"\"Duration of the sound in milliseconds, a number between ``0`` and ``9999``\"\"\"\n vol_start: int\n \"\"\"Start volume value, a number between ``0`` and ``255``\"\"\"\n vol_end: int\n \"\"\"End volume value, a number between ``0`` and ``255``\"\"\"\n waveform: int\n \"\"\"Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise)\"\"\"\n fx: int\n \"\"\"Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``\"\"\"\n shape: int\n \"\"\"The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Create a new sound effect.\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: Start frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n:param freq_end: End frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n:param duration: Duration of the sound in milliseconds, a number between ``0`` and ``9999``.\n:param vol_start: Start volume value, a number between ``0`` and ``255``.\n:param vol_end: End volume value, a number between ``0`` and ``255``.\n:param waveform: Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise).\n:param fx: Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``.\n:param shape: The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Create a copy of this ``SoundEffect``.\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"``AudioFrame`` \u7269\u4ef6\u662f 32 \u500b\u6a23\u672c\u7684\u5217\u8868\uff0c\u6bcf\u500b\u6a23\u672c\u90fd\u662f\u4e00\u500b\u7121\u7b26\u865f\u4f4d\u5143\u7d44 (0 \u5230 255 \u4e4b\u9593\u7684\u6574\u6578)\u3002\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Overwrite the data in this ``AudioFrame`` with the data from another ``AudioFrame`` instance.\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: ``AudioFrame`` instance from which to copy the data.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", + "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"\u4f7f\u7528\u5167\u5efa\u6307\u5357\u91dd\u3002 (\u6307\u5357\u91dd)\"\"\"\n\ndef calibrate() -> None:\n \"\"\"\u958b\u59cb\u6821\u6e96\u7a0b\u5e8f\u3002\n\nExample: ``compass.calibrate()``\n\nAn instructive message will be scrolled to the user after which they will need\nto rotate the device in order to draw a circle on the LED display.\"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"\u6aa2\u67e5\u6307\u5357\u91dd\u662f\u5426\u5df2\u6821\u6e96\u3002\n\nExample: ``compass.is_calibrated()``\n\n:return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"\u5fa9\u539f\u6821\u6e96\uff0c\u4f7f\u6307\u5357\u91dd\u518d\u6b21\u672a\u6821\u6e96\u3002\n\nExample: ``compass.clear_calibration()``\"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"\u53d6\u5f97 ``x`` \u8ef8\u4e0a\u7684\u78c1\u5834\u5f37\u5ea6\u3002\n\nExample: ``compass.get_x()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"\u53d6\u5f97 ``y`` \u8ef8\u4e0a\u7684\u78c1\u5834\u5f37\u5ea6\u3002\n\nExample: ``compass.get_y()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"\u53d6\u5f97 ``z`` \u8ef8\u4e0a\u7684\u78c1\u5834\u5f37\u5ea6\u3002\n\nExample: ``compass.get_z()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"\u53d6\u5f97\u6307\u5357\u91dd\u65b9\u5411\u3002\n\nExample: ``compass.heading()``\n\n:return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"\u53d6\u5f97\u88dd\u7f6e\u5468\u570d\u78c1\u5834\u7684\u5f37\u5ea6\u3002\n\nExample: ``compass.get_field_strength()``\n\n:return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...", + "/typeshed/stdlib/microbit/display.pyi": "\"\"\"\u5728 5\u00d75 LED \u986f\u793a\u5668\u4e0a\u986f\u793a\u6587\u5b57\u3001\u5716\u50cf\u548c\u52d5\u756b\u3002\"\"\"\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"\u53d6\u5f97\u884c ``x`` \u548c\u5217 ``y`` \u7684 LED \u4eae\u5ea6\u3002\n\nExample: ``display.get_pixel(0, 0)``\n\n:param x: \u986f\u793a\u884c (0..4)\n:param y: \u986f\u793a\u5217 (0..4)\n:return: A number between 0 (off) and 9 (bright)\"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"\u5728\u884c ``x`` \u548c\u5217 ``y`` \u8a2d\u5b9a LED \u4eae\u5ea6\u3002\n\nExample: ``display.set_pixel(0, 0, 9)``\n\n:param x: \u986f\u793a\u884c (0..4)\n:param y: \u986f\u793a\u5217 (0..4)\n:param value: 0 (\u95dc\u9589) \u548c 9 (\u6700\u4eae) \u4e4b\u9593\u7684\u4eae\u5ea6\"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"\u5c07\u6240\u6709 LED \u7684\u4eae\u5ea6\u8a2d\u5b9a\u70ba 0 (\u95dc\u9589)\u3002\n\nExample: ``display.clear()``\"\"\"\n ...\n\ndef show(image: Union[str, float, int, Image, Iterable[Image]], delay: int=400, wait: bool=True, loop: bool=False, clear: bool=False) -> None:\n \"\"\"\u5728 LED \u986f\u793a\u5668\u4e0a\u986f\u793a\u5716\u50cf\u3001\u5b57\u6bcd\u6216\u6578\u5b57\u3002\n\nExample: ``display.show(Image.HEART)``\n\nWhen ``image`` is an image or a list of images then each image is displayed in turn.\nIf ``image`` is a string or number, each letter or digit is displayed in turn.\n\n:param image: \u8981\u986f\u793a\u7684\u5b57\u4e32\u3001\u6578\u5b57\u3001\u5716\u50cf\u6216\u5716\u50cf\u5217\u8868\u3002\n:param delay: \u6bcf\u500b\u5b57\u6bcd\u3001\u6578\u5b57\u6216\u5716\u50cf\u4e4b\u9593\u7684\u986f\u793a\u6642\u9593\u70ba ``delay`` \u6beb\u79d2\u3002\n:param wait: \u5982\u679c ``wait`` \u70ba ``True``\uff0c\u6b64\u51fd\u5f0f\u5c07\u5c01\u9396\u76f4\u5230\u52d5\u756b\u5b8c\u6210\uff0c\u5426\u5247\u52d5\u756b\u5c07\u5728\u80cc\u666f\u767c\u751f\u3002\n:param loop: \u5982\u679c ``loop`` \u70ba ``True``\uff0c\u52d5\u756b\u5c07\u6c38\u9060\u91cd\u8907\u3002\n:param clear: \u5982\u679c ``clear`` \u70ba ``True``\uff0c\u5247\u986f\u793a\u5c07\u5728\u5e8f\u5217\u5b8c\u6210\u5f8c\u88ab\u6e05\u9664\u3002\n\nThe ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\"\"\"\n ...\n\ndef scroll(text: Union[str, float, int], delay: int=150, wait: bool=True, loop: bool=False, monospace: bool=False) -> None:\n \"\"\"\u6372\u52d5 LED \u986f\u793a\u5668\u4e0a\u7684\u6578\u5b57\u6216\u6587\u5b57\u3002\n\nExample: ``display.scroll('micro:bit')``\n\n:param text: \u8981\u6372\u52d5\u7684\u5b57\u4e32\u3002\u5982\u679c ``text`` \u662f\u6574\u6578\u6216\u6d6e\u9ede\u6578\uff0c\u5247\u5148\u4f7f\u7528 ``str()`` \u5c07\u5176\u8f49\u63db\u70ba\u5b57\u4e32\u3002\n:param delay: ``delay`` \u53c3\u6578\u53ef\u63a7\u5236\u6587\u5b57\u6372\u52d5\u7684\u901f\u5ea6\u3002\n:param wait: \u5982\u679c ``wait`` \u70ba ``True``\uff0c\u6b64\u51fd\u5f0f\u5c07\u5c01\u9396\u76f4\u5230\u52d5\u756b\u5b8c\u6210\uff0c\u5426\u5247\u52d5\u756b\u5c07\u5728\u80cc\u666f\u767c\u751f\u3002\n:param loop: \u5982\u679c ``loop`` \u70ba ``True``\uff0c\u52d5\u756b\u5c07\u6c38\u9060\u91cd\u8907\u3002\n:param monospace: \u5982\u679c ``monospace`` \u70ba ``True``\uff0c\u5b57\u5143\u5bec\u5ea6\u5c07\u5168\u90e8\u4f54\u7528 5 \u500b\u50cf\u7d20\u884c\u3002\u5426\u5247\uff0c\u6372\u52d5\u6642\u6bcf\u500b\u5b57\u5143\u4e4b\u9593\u5c07\u6070\u597d\u6709 1 \u500b\u7a7a\u767d\u50cf\u7d20\u884c\u3002\n\nThe ``wait``, ``loop`` and ``monospace`` arguments must be specified\nusing their keyword.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"\u958b\u555f LED \u986f\u793a\u5668\u3002\n\nExample: ``display.on()``\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"\u95dc\u9589 LED \u986f\u793a\u5668 (\u505c\u7528\u986f\u793a\u5668\uff0c\u53ef\u8b93\u60a8\u5c07 GPIO \u5f15\u8173\u91cd\u65b0\u7528\u65bc\u5176\u4ed6\u76ee\u7684)\u3002\n\nExample: ``display.off()``\"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"\u6aa2\u67e5 LED \u986f\u793a\u5668\u662f\u5426\u6709\u555f\u7528\u3002\n\nExample: ``display.is_on()``\n\n:return: ``True`` if the display is on, otherwise returns ``False``.\"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"\u8b80\u53d6\u5149\u5ea6\u3002\n\nExample: ``display.read_light_level()``\n\nUses the display's LEDs in reverse-bias mode to sense the amount of light\nfalling on the display.\n\n:return: An integer between 0 and 255 representing the light level, with larger meaning more light.\"\"\"\n ...", + "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"\u4f7f\u7528 I\u00b2C \u532f\u6d41\u6392\u901a\u8a0a\u5354\u5b9a\u8207\u88dd\u7f6e\u901a\u8a0a\u3002\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"\u91cd\u65b0\u521d\u59cb\u5316\u5468\u908a\u8a2d\u5099\u3002\n\nExample: ``i2c.init()``\n\n:param freq: (\u983b\u7387) \u6642\u8108\u983b\u7387\n:param sda: ``sda`` \u5f15\u8173 (\u9810\u8a2d 20)\n:param scl: ``scl`` \u5f15\u8173 (\u9810\u8a2d 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"\u6383\u63cf\u532f\u6d41\u6392\u4ee5\u5c0b\u627e\u88dd\u7f6e\u3002\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"\u5f9e\u88dd\u7f6e\u8b80\u53d6\u4f4d\u5143\u7d44\u3002\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: \u88dd\u7f6e\u7684 7 \u4f4d\u5143\u5730\u5740\n:param n: \u8981\u8b80\u53d6\u7684\u4f4d\u5143\u7d44\u6578\n:param repeat: \u5982\u679c ``True``\uff0c\u5247\u4e0d\u6703\u50b3\u9001\u505c\u6b62\u4f4d\u5143\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"\u5c07\u4f4d\u5143\u7d44\u5beb\u5165\u88dd\u7f6e\u3002\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: \u88dd\u7f6e\u7684 7 \u4f4d\u5143\u4f4d\u5740\n:param buf: \u5305\u542b\u8981\u5beb\u5165\u4f4d\u5143\u7d44\u7684\u7de9\u885d\u5340\n:param repeat: \u5982\u679c ``True``\uff0c\u5247\u4e0d\u6703\u50b3\u9001\u505c\u6b62\u4f4d\u5143\"\"\"\n ...", + "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"\u4f7f\u7528\u5167\u5efa\u9ea5\u514b\u98a8\u56de\u61c9\u8072\u97f3 (\u50c5\u9650 V2)\u3002\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"\u53d6\u5f97\u6700\u5f8c\u9304\u88fd\u7684\u8072\u97f3\u4e8b\u4ef6\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"\u6aa2\u67e5\u81ea\u4e0a\u6b21\u547c\u53eb\u5f8c\uff0c\u662f\u5426\u81f3\u5c11\u6709\u807d\u5230\u4e00\u6b21\u8072\u97f3\u3002\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: \u8981\u6aa2\u67e5\u7684\u4e8b\u4ef6\uff0c\u4f8b\u5982 ``SoundEvent.LOUD`` \u6216 ``SoundEvent.QUIET``\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"\u6aa2\u67e5\u5075\u6e2c\u5230\u7684\u6700\u65b0\u8072\u97f3\u4e8b\u4ef6\u3002\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: \u8981\u6aa2\u67e5\u7684\u4e8b\u4ef6\uff0c\u4f8b\u5982 ``SoundEvent.LOUD`` \u6216 ``SoundEvent.QUIET``\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"\u4ee5\u5143\u7d44\u7684\u5f62\u5f0f\u53d6\u5f97\u8072\u97f3\u4e8b\u4ef6\u6b77\u53f2\u3002\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"\u8a2d\u5b9a\u8072\u97f3\u4e8b\u4ef6\u7684\u95be\u503c\u3002\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: \u8072\u97f3\u4e8b\u4ef6\uff0c\u4f8b\u5982 ``SoundEvent.LOUD`` \u6216 ``SoundEvent.QUIET``\u3002\n:param value: 0-255 \u7bc4\u570d\u5167\u7684\u95be\u503c\u7b49\u7d1a\u3002\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"\u53d6\u5f97\u8072\u58d3\u4f4d\u6e96\u3002\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", + "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"\u63a7\u5236\u5167\u5efa\u63da\u8072\u5668 (\u50c5\u9650 V2)\u3002\"\"\"\n\ndef off() -> None:\n \"\"\"\u95dc\u9589\u63da\u8072\u5668\u3002\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"\u958b\u555f\u63da\u8072\u5668\u3002\n\nExample: ``speaker.on()``\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"\u4f7f\u7528\u5468\u908a\u8a2d\u5099\u4ecb\u9762 (SPI) \u532f\u6d41\u6392\u8207\u88dd\u7f6e\u9032\u884c\u901a\u8a0a\u3002\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"\u521d\u59cb\u5316 SPI \u901a\u8a0a\u3002\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: \u901a\u8a0a\u901f\u5ea6\u3002\n:param bits: \u6bcf\u6b21\u50b3\u8f38\u7684\u4f4d\u5143\u5bec\u5ea6\u3002\u76ee\u524d\u50c5\u652f\u63f4 ``bits=8``\u3002\u7136\u800c\uff0c\u9019\u7a2e\u60c5\u6cc1\u5728\u672a\u4f86\u53ef\u80fd\u6703\u6539\u8b8a\u3002\n:param mode: \u78ba\u5b9a\u6642\u8108\u6975\u6027\u548c\u76f8\u4f4d\u7684\u7d44\u5408 - \u8acb\u898b\u7dda\u4e0a\u8868\u683c `_\u3002\n:param sclk: sclk \u5f15\u8173 (\u9810\u8a2d 13)\n:param mosi: mosi \u5f15\u8173 (\u9810\u8a2d 15)\n:param miso: miso \u5f15\u8173 (\u9810\u8a2d 14)\"\"\"\n ...\n\ndef read(nbytes: int) -> bytes:\n \"\"\"\u8b80\u53d6\u4f4d\u5143\u7d44\u3002\n\nExample: ``spi.read(64)``\n\n:param nbytes: \u8981\u8b80\u53d6\u7684\u6700\u5927\u4f4d\u5143\u7d44\u6578\u3002\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"\u5c07\u4f4d\u5143\u7d44\u5beb\u5165\u532f\u6d41\u6392\u3002\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: \u8b80\u53d6\u8cc7\u6599\u7684\u4f86\u6e90\u7de9\u885d\u5340\u3002\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"\u5c07 ``out`` \u7de9\u885d\u5340\u5beb\u5165\u532f\u6d41\u6392\uff0c\u4e26\u5c07\u4efb\u4f55\u56de\u61c9\u5beb\u5165 ``in_`` \u7de9\u885d\u5340\u3002\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: \u8981\u5beb\u5165\u4efb\u4f55\u56de\u61c9\u7684\u7de9\u885d\u5340\u3002\n:param in_: \u8981\u5f9e\u4e2d\u8b80\u53d6\u8cc7\u6599\u7684\u7de9\u885d\u5340\u3002\"\"\"\n ...", + "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"\u4f7f\u7528\u5e8f\u5217\u4ecb\u9762\u8207\u88dd\u7f6e\u901a\u8a0a\u3002\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"\u5947\u6578\u540c\u4f4d\u6aa2\u67e5\"\"\"\nEVEN: int\n\"\"\"\u5076\u6578\u540c\u4f4d\u6aa2\u67e5\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"\u521d\u59cb\u5316\u5e8f\u5217\u901a\u8a0a\u3002\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: \u901a\u8a0a\u901f\u5ea6\u3002\n:param bits: \u6b63\u5728\u50b3\u8f38\u7684\u4f4d\u5143\u7d44\u5927\u5c0f\uff0cmicro:bit \u53ea\u652f\u63f4 8\u3002\n:param parity: \u5982\u4f55\u6aa2\u67e5\u5947\u5076\u6027\uff0c``None``\u3001``uart.ODD`` \u6216 ``uart.EVEN``\u3002\n:param stop: \u505c\u6b62\u4f4d\u5143\u7684\u6578\u91cf\uff0cmicro:bit \u5fc5\u9808\u70ba 1\u3002\n:param tx: \u50b3\u8f38\u5f15\u8173\u3002\n:param rx: \u6b63\u5728\u63a5\u6536\u5f15\u8173\u3002\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"\u6aa2\u67e5\u662f\u5426\u6709\u4efb\u4f55\u8cc7\u6599\u6b63\u5728\u7b49\u5f85\u3002\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"\u8b80\u53d6\u4f4d\u5143\u7d44\u3002\n\nExample: ``uart.read()``\n\n:param nbytes: \u5982\u679c\u6307\u5b9a\u4e86 ``nbytes``\uff0c\u5247\u6700\u591a\u8b80\u53d6\u90a3\u9ebc\u591a\u4f4d\u5143\u7d44\uff0c\u5426\u5247\u8b80\u53d6\u76e1\u53ef\u80fd\u591a\u7684\u4f4d\u5143\u7d44\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"\u5c07\u4f4d\u5143\u7d44\u8b80\u5165 ``buf``\u3002\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: \u8981\u5beb\u5165\u7684\u7de9\u885d\u5340\u3002\n:param nbytes: \u5982\u679c\u6307\u5b9a\u4e86 ``nbytes``\uff0c\u5247\u6700\u591a\u8b80\u53d6\u90a3\u9ebc\u591a\u4f4d\u5143\u7d44\uff0c\u5426\u5247\u8b80\u53d6 ``len(buf)`` \u500b\u4f4d\u5143\u7d44\u3002\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"\u8b80\u53d6\u4e00\u884c\uff0c\u4ee5\u65b0\u884c\u5b57\u5143\u7d50\u5c3e\u3002\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"\u5c07\u7de9\u885d\u5340\u5beb\u5165\u532f\u6d41\u6392\u3002\n\nExample: ``uart.write('hello world')``\n\n:param buf: \u4e00\u500b\u4f4d\u5143\u7d44\u7269\u4ef6\u6216\u4e00\u500b\u5b57\u4e32\u3002\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", + "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", + "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" + } +} \ No newline at end of file diff --git a/src/micropython/micropython.ts b/src/micropython/micropython.ts index 2cf43d427..ea6ac664b 100644 --- a/src/micropython/micropython.ts +++ b/src/micropython/micropython.ts @@ -7,6 +7,8 @@ import { IntelHexWithId } from "@microbit/microbit-fs"; import { microbitBoardId } from "@microbit/microbit-universal-hex"; import microPythonV1HexUrl from "./microbit-micropython-v1.hex"; import microPythonV2HexUrl from "./main/microbit-micropython-v2.hex"; +import microPythonV2BetaHexUrl from "./beta/microbit-micropython-v2.hex"; +import { stage } from "../environment"; const v2Main = { name: "MicroPython (micro:bit V2)", @@ -16,6 +18,18 @@ const v2Main = { web: "https://github.com/microbit-foundation/micropython-microbit-v2/releases/tag/v2.1.2", }; +// This isn't the beta yet - we're using a branch build temporarily. +const v2Beta = { + name: "MicroPython (micro:bit V2)", + url: microPythonV2BetaHexUrl, + boardId: microbitBoardId.V2, + version: "fe05fba67941668fc0663da0962a03e366b1fc5f", + // It's not the beta yet! + web: "https://github.com/microbit-foundation/micropython-microbit-v2/pull/163", +}; + +const isBetaMicroPython = stage !== "PRODUCTION"; + export const microPythonConfig = { versions: [ { @@ -25,11 +39,11 @@ export const microPythonConfig = { version: "1.1.1", web: "https://github.com/bbcmicrobit/micropython/releases/tag/v1.1.1", }, - v2Main, + isBetaMicroPython ? v2Beta : v2Main, ], // We've previously used this field to allow flags to affect // the stubs used and might do so again. - stubs: "main", + stubs: isBetaMicroPython ? "beta" : "main", }; const fetchValidText = async (input: RequestInfo) => { diff --git a/src/simulator/Simulator.tsx b/src/simulator/Simulator.tsx index 2cccb284e..c747c0504 100644 --- a/src/simulator/Simulator.tsx +++ b/src/simulator/Simulator.tsx @@ -17,11 +17,11 @@ import HideSplitViewButton from "../common/SplitView/HideSplitViewButton"; import { topBarHeight } from "../deployment/misc"; import { DeviceContextProvider } from "../device/device-hooks"; import { SimulatorDeviceConnection } from "../device/simulator"; +// import { stage } from "../environment"; import { useLogging } from "../logging/logging-hooks"; import SimulatorActionBar from "./SimulatorActionBar"; import SimulatorSplitView from "./SimulatorSplitView"; import SimSerialTabControlProvider from "./tab-control-hooks"; -import { stage } from "../environment"; export enum RunningStatus { RUNNING, @@ -45,15 +45,17 @@ const Simulator = ({ }: SimulatorProps) => { const [brand500] = useToken("colors", ["brand.500"]); const url = useMemo(() => { - const production = - "https://python-simulator.usermbit.org/v/0.1/simulator.html"; - const staging = - "https://python-simulator.usermbit.org/staging/simulator.html?flag=sw"; + //const production = + // "https://python-simulator.usermbit.org/v/0.1/simulator.html"; + //const staging = + // "https://python-simulator.usermbit.org/staging/simulator.html?flag=sw"; // For testing with sim branches: - //const branch = "upgrade-mpy"; - //const url = new URL(`https://review-python-simulator.usermbit.org/${branch}/simulator.html`); - const url = new URL(stage === "PRODUCTION" ? production : staging); + const branch = "beta-updates"; + const url = new URL( + `https://review-python-simulator.usermbit.org/${branch}/simulator.html` + ); + //const url = new URL(stage === "PRODUCTION" ? production : staging); url.searchParams.append("color", brand500); return url.toString(); }, [brand500]);