diff --git a/.efrocachemap b/.efrocachemap index d56cbe9c..6a6106a1 100644 --- a/.efrocachemap +++ b/.efrocachemap @@ -946,11 +946,11 @@ "build/assets/ba_data/meshes/zoeUpperArm.bob": "a8a881010ac1ee9ec5ca872d5c5e853a", "build/assets/ba_data/meshes/zoeUpperLeg.bob": "95b2502f74c70f934927f67cd505c3ad", "build/assets/ba_data/python-site-packages/_yaml/__init__.py": "b09d1968d73a04d6cf20e4e79657a6e7", - "build/assets/ba_data/python-site-packages/certifi/__init__.py": "b1fb6436db400125ecbb288262d00f0f", + "build/assets/ba_data/python-site-packages/certifi/__init__.py": "98360d9e66de68a618eed6098a65405b", "build/assets/ba_data/python-site-packages/certifi/__main__.py": "ef02e73f8581609df189a9f61aca365b", - "build/assets/ba_data/python-site-packages/certifi/cacert.pem": "4422aed09ab445f7290df7d72a301a47", - "build/assets/ba_data/python-site-packages/certifi/core.py": "1b505388f1475fabd1b60031f985271c", - "build/assets/ba_data/python-site-packages/typing_extensions.py": "188320d92e530be7ea345d3ce3be38de", + "build/assets/ba_data/python-site-packages/certifi/cacert.pem": "4e587dca9ab75057ffef6658ed385ff2", + "build/assets/ba_data/python-site-packages/certifi/core.py": "c1b8c102093ea26587619677c7ec6016", + "build/assets/ba_data/python-site-packages/typing_extensions.py": "f1af94a03caf6fc79be0aedc8ab03090", "build/assets/ba_data/python-site-packages/yaml/__init__.py": "2b747e5772c203377222afc888ac6b71", "build/assets/ba_data/python-site-packages/yaml/composer.py": "cef871e1f5f99ba2a7c44941b70afb06", "build/assets/ba_data/python-site-packages/yaml/constructor.py": "8a15e361e34b79491c81553bb3534062", @@ -2582,133 +2582,126 @@ "build/assets/ba_data/textures/zoeIcon_preview.png": "f641a31316b126aea94f9adb62f23524", "build/assets/pylib-android/__future__.py": "acc24f51e6ae9197e256968b30ebe487", "build/assets/pylib-android/__hello__.py": "db85012d4e4d5bee6d13b4561846166f", - "build/assets/pylib-android/_aix_support.py": "f00b4f005e2b9de6c018215d40a58647", - "build/assets/pylib-android/_bootsubprocess.py": "205760f427c8f812dfe65f1731cd78ad", - "build/assets/pylib-android/_collections_abc.py": "2001886c6dfa4074d25c606642148f34", + "build/assets/pylib-android/_aix_support.py": "2f8a7b9e16b4ee66a814c2d07f3280db", + "build/assets/pylib-android/_collections_abc.py": "e063cc62c682af32663ad249e13d50e4", "build/assets/pylib-android/_compat_pickle.py": "831c0e093cb3284ca7e4dc9156c3ac23", "build/assets/pylib-android/_compression.py": "abcf25071189f4a5c3a89f70a1071317", "build/assets/pylib-android/_markupbase.py": "525da8ac70a8e3b009bd74eabb7d724b", - "build/assets/pylib-android/_osx_support.py": "5eff9100bbe3e24cc4efd25f6b9894de", + "build/assets/pylib-android/_osx_support.py": "c0871f8d2b36955d67f0446bb9fa3827", "build/assets/pylib-android/_py_abc.py": "180d5cf138b011bd6a280c2f433bed47", - "build/assets/pylib-android/_pydecimal.py": "0949becccc98d6df6eab38a85db0069b", - "build/assets/pylib-android/_pyio.py": "a6e88d66fbca88b13213cdd2177390b8", + "build/assets/pylib-android/_pydatetime.py": "af813d3d6cb8ccf3e90b76b91f5fa7f2", + "build/assets/pylib-android/_pydecimal.py": "4572eb8c67bcfbbcda7ed47055c6e6b5", + "build/assets/pylib-android/_pyio.py": "618a6fa97c93e8c63c8e5cf3c283d5fe", + "build/assets/pylib-android/_pylong.py": "e057ab3c9eea264704dff2af204884f8", "build/assets/pylib-android/_sitebuiltins.py": "8b5e3f6e73917962fa014ad2c4a55e61", - "build/assets/pylib-android/_strptime.py": "ff699c3f7647db7621bb88c43cc282d3", - "build/assets/pylib-android/_sysconfigdata__linux_aarch64-linux-android.py": "b1a9ca985ff6a159aa5ef94abd287f46", - "build/assets/pylib-android/_sysconfigdata__linux_arm-linux-androideabi.py": "21a5842f39c86fccaaa0a30e0e4ab347", - "build/assets/pylib-android/_sysconfigdata__linux_i686-linux-android.py": "9349023049d7599da61456b3f9a9687b", - "build/assets/pylib-android/_sysconfigdata__linux_x86_64-linux-android.py": "4151fa62c11c32cddf538e5cc7647160", - "build/assets/pylib-android/_sysconfigdata_d_linux_aarch64-linux-android.py": "d9f7f1d3f5b89b08150dfa00cf243901", - "build/assets/pylib-android/_sysconfigdata_d_linux_arm-linux-androideabi.py": "f4b99d4501a1cf1eb20fbc8973fa0040", - "build/assets/pylib-android/_sysconfigdata_d_linux_i686-linux-android.py": "454094da5fe52a969b53bb46d360da84", - "build/assets/pylib-android/_sysconfigdata_d_linux_x86_64-linux-android.py": "1e23f45f4243c1aacc83f23ad5852390", + "build/assets/pylib-android/_strptime.py": "8c65b46a50f13ca2389b19b32b7f2996", + "build/assets/pylib-android/_sysconfigdata__linux_.py": "90ccf964f2bb27f565a4e9d1f2298701", + "build/assets/pylib-android/_sysconfigdata_d_linux_.py": "5b0f120dabd3236bbf39e7630d6f97c4", "build/assets/pylib-android/_threading_local.py": "4a9688e3987d7d692db46feb9214945e", "build/assets/pylib-android/_weakrefset.py": "e4fa8532ace46dfbc35149c41ea497f7", "build/assets/pylib-android/abc.py": "a0daa1ed187eee8690c1e8438b97da90", "build/assets/pylib-android/aifc.py": "1b9134c72b1e542417bee5bf345a1d0a", "build/assets/pylib-android/antigravity.py": "6d56bedf73be574cb6d7117caf5d334c", - "build/assets/pylib-android/argparse.py": "e22cac9b12c09592929d57eb982fc554", - "build/assets/pylib-android/ast.py": "f287ccaa1cd7cb0ea256e3984fd4ce4d", - "build/assets/pylib-android/asynchat.py": "2ef3a0ce322332fabbf8fad4e133c6a3", - "build/assets/pylib-android/asyncio/__init__.py": "edf0e79e2b8b85c08f09fd14668e4822", + "build/assets/pylib-android/argparse.py": "479fa19b01a256e9162cfed4b3866708", + "build/assets/pylib-android/ast.py": "e59b9f09a7d1f8979b94f900a72f74c6", + "build/assets/pylib-android/asyncio/__init__.py": "4a732a7b4c77634cab1909d8be43cb4c", "build/assets/pylib-android/asyncio/__main__.py": "8e391b47f448ad922dc2614dbd93011e", - "build/assets/pylib-android/asyncio/base_events.py": "8494c7bc5f5fe98fd64d882ed4cc4722", - "build/assets/pylib-android/asyncio/base_futures.py": "d2502e045d28ea562e1a82ddb162b4f0", + "build/assets/pylib-android/asyncio/base_events.py": "071d87caa982ce12333bf31b691dd0b0", + "build/assets/pylib-android/asyncio/base_futures.py": "5b4cefd0a571e9e8d913a052f2e0b15e", "build/assets/pylib-android/asyncio/base_subprocess.py": "8a805e04a2911b2d8e297f0029def4b1", - "build/assets/pylib-android/asyncio/base_tasks.py": "f4388c294f4cf805a6f1e4ed12a5a3aa", - "build/assets/pylib-android/asyncio/constants.py": "13f733940667d1f81cf83adc6e5b2a5b", - "build/assets/pylib-android/asyncio/coroutines.py": "fb3e431df7d09ed38d7fa76385e9bb52", - "build/assets/pylib-android/asyncio/events.py": "3063d6b0d1fcbb50f8142f8ce58531fb", + "build/assets/pylib-android/asyncio/base_tasks.py": "c1d9d15b0f3b61fe9dc6b4efe8b1db0a", + "build/assets/pylib-android/asyncio/constants.py": "677f562b903572e54e03db17e179e608", + "build/assets/pylib-android/asyncio/coroutines.py": "567093e752f19f7b6e31b5b29738d7d4", + "build/assets/pylib-android/asyncio/events.py": "b20e48929fc14229fedd5488a0da33a9", "build/assets/pylib-android/asyncio/exceptions.py": "db8d3794a37d50a433d13c1eacf0d333", "build/assets/pylib-android/asyncio/format_helpers.py": "b0447581eff1bc759da16d512155c72a", - "build/assets/pylib-android/asyncio/futures.py": "297232981f201edac774ec3a49a0845b", - "build/assets/pylib-android/asyncio/locks.py": "ed7c3ace82280988d7415672ed6a5314", + "build/assets/pylib-android/asyncio/futures.py": "e2acd3a2e8f8d69c7884d572737fc358", + "build/assets/pylib-android/asyncio/locks.py": "1630852effc563876002c88455a2f7f4", "build/assets/pylib-android/asyncio/log.py": "1e101049c5cd7ad159b63ef97fe8fb0b", "build/assets/pylib-android/asyncio/mixins.py": "9be94c61811a65522320e29e3dec16b0", - "build/assets/pylib-android/asyncio/proactor_events.py": "b5dfbd01cafd9dbef13107b60c7b2add", + "build/assets/pylib-android/asyncio/proactor_events.py": "ff72970f982322a1141d710557847d4d", "build/assets/pylib-android/asyncio/protocols.py": "b8aa105b79d24f88c7a2c2cdbc8e7814", "build/assets/pylib-android/asyncio/queues.py": "f63be54780730992e2377c51ac373126", - "build/assets/pylib-android/asyncio/runners.py": "f184754fba961e4ea6e77a9aec633afc", - "build/assets/pylib-android/asyncio/selector_events.py": "a108fbd3a49f967da245f39cebf7694e", - "build/assets/pylib-android/asyncio/sslproto.py": "2ec1b21e523055147d94c8c634154aab", + "build/assets/pylib-android/asyncio/runners.py": "e523f1abdd9ab2cf2bc355acea052bd8", + "build/assets/pylib-android/asyncio/selector_events.py": "05a228a5402442e1919a3403f98cdbd2", + "build/assets/pylib-android/asyncio/sslproto.py": "91feebe3be1decbd95035cc1d7b74026", "build/assets/pylib-android/asyncio/staggered.py": "f5056f0a56b73b477a9fa65e71145366", - "build/assets/pylib-android/asyncio/streams.py": "8cc026c067fc9245568199ea659167df", - "build/assets/pylib-android/asyncio/subprocess.py": "46e8b0ba32b4ac7bb5f840c49c89c85a", - "build/assets/pylib-android/asyncio/taskgroups.py": "5162e5b1806d9b647383d34ba1b21b56", - "build/assets/pylib-android/asyncio/tasks.py": "c1bc59c01792bac43b79b425bb61e10e", + "build/assets/pylib-android/asyncio/streams.py": "4027a33e900603b756cde921a8ac2429", + "build/assets/pylib-android/asyncio/subprocess.py": "cc2556ca117d7e864f6f4dfaad7dfe0d", + "build/assets/pylib-android/asyncio/taskgroups.py": "a1c508b8c56ded41ba811085344f0e93", + "build/assets/pylib-android/asyncio/tasks.py": "a5037982ca752ad42910f47b022f3d80", "build/assets/pylib-android/asyncio/threads.py": "7bbf81d424901524510e07b5d20e4a50", - "build/assets/pylib-android/asyncio/timeouts.py": "c7cb81c7ee938bc47ff75342befc872a", + "build/assets/pylib-android/asyncio/timeouts.py": "81be08d68db64e205918ef1d11181c16", "build/assets/pylib-android/asyncio/transports.py": "04598090d813bb363cea9bf714b97c3f", "build/assets/pylib-android/asyncio/trsock.py": "305d016a93b3e5224cb45af43fdc52b9", - "build/assets/pylib-android/asyncio/unix_events.py": "cbb968f7c1e4f87f23b187d7140839f1", - "build/assets/pylib-android/asyncio/windows_events.py": "954637d8416216d656011178dbcedbb4", + "build/assets/pylib-android/asyncio/unix_events.py": "e5490096c3c8ce4d2537317c608862d9", + "build/assets/pylib-android/asyncio/windows_events.py": "e70d58554906a59b6d823850aa6b8395", "build/assets/pylib-android/asyncio/windows_utils.py": "4efbef16e6692c9424804d9bdc496761", - "build/assets/pylib-android/asyncore.py": "af21d495fa6ccc47b51ca8a8a382ea1c", - "build/assets/pylib-android/base64.py": "5f8bbbfda4b9145b1968cb9badf8325b", + "build/assets/pylib-android/base64.py": "00f5d31b06dd0f489d8b14b7bcf43db7", "build/assets/pylib-android/bdb.py": "1e26c626405bfc06b1e7231183eb928a", - "build/assets/pylib-android/bisect.py": "9b70437e327d5176da41192567ad0064", + "build/assets/pylib-android/bisect.py": "69d3166bd72a28217f1bffa40dc9c33b", "build/assets/pylib-android/bz2.py": "cd6a5f2491bc52afd8fc180097371473", - "build/assets/pylib-android/cProfile.py": "9e9c07ac3b9e4195a62b74e4f2b9489f", - "build/assets/pylib-android/calendar.py": "18df862e8e3c3fcbe4ab8a0b0348e339", + "build/assets/pylib-android/cProfile.py": "bec17d6b102c0123c4b743ac685de752", + "build/assets/pylib-android/calendar.py": "cbba95e4f8fb043d8bfd2e2949ed9add", "build/assets/pylib-android/cgi.py": "090c5cfc8b4b92a730beec975159bd2a", - "build/assets/pylib-android/cgitb.py": "2bcff1cec7f3a3a9c96de7a55ebb4ea3", + "build/assets/pylib-android/cgitb.py": "61bb76d359241de24b296bbb337e4b0c", "build/assets/pylib-android/chunk.py": "13d7633b1ff28f5aed4eb043c65c99c5", "build/assets/pylib-android/cmd.py": "8befee2654b0954af7886e24e2e7871f", - "build/assets/pylib-android/code.py": "5d47099984013b933c96b02ef16981b8", - "build/assets/pylib-android/codecs.py": "e11eabe4824899dea4b26a89a568a361", - "build/assets/pylib-android/codeop.py": "d375467fb29fccd43ab94d15a2e63085", - "build/assets/pylib-android/collections/__init__.py": "dcffbb6ee2cadd0c05ad22f2ef41f89b", + "build/assets/pylib-android/code.py": "6d8d7fbb1dce3e6d69810c42b3fae033", + "build/assets/pylib-android/codecs.py": "ccec1dd1d4817516256b1e1bfacf44c5", + "build/assets/pylib-android/codeop.py": "8b1cc6dbee873d6fdc4beeee5ea55077", + "build/assets/pylib-android/collections/__init__.py": "042cc1db56604a76bc4ea5cb0a2435e9", "build/assets/pylib-android/collections/abc.py": "15f410d3821352033a90a04539c99060", "build/assets/pylib-android/colorsys.py": "ca8f117785bf7606c3919ef0f4b828ae", - "build/assets/pylib-android/compileall.py": "eb3f6d92f020ebec3f3f5bffc8a4dd4b", + "build/assets/pylib-android/compileall.py": "8ec3f6a137b3dc78fa583b0d95c54e24", "build/assets/pylib-android/concurrent/__init__.py": "aa990702e8f3a7af205efb5ae23a7c85", "build/assets/pylib-android/concurrent/futures/__init__.py": "3e46fadb9de9c995c37dca4311641d6a", "build/assets/pylib-android/concurrent/futures/_base.py": "a1cd37aea6fe0efff1bc00a39543609e", - "build/assets/pylib-android/concurrent/futures/process.py": "1d1bb7b14e3999b383ba8bd11aa8951c", - "build/assets/pylib-android/concurrent/futures/thread.py": "e63753b8201f1392dbebc84a15054a13", - "build/assets/pylib-android/configparser.py": "914afd2b2cec90bbca0b94fd176b5176", - "build/assets/pylib-android/contextlib.py": "6f52eac914e438ef54407760def8305f", + "build/assets/pylib-android/concurrent/futures/process.py": "2574acdffe6d78cc7b2e98fabd8cdbd3", + "build/assets/pylib-android/concurrent/futures/thread.py": "18557743160bce418a120fa3ca0659ee", + "build/assets/pylib-android/configparser.py": "ff0c0b64d30a191609b88a269e155f45", + "build/assets/pylib-android/contextlib.py": "c3e4c9a022ab8596b6b257957b79c0da", "build/assets/pylib-android/contextvars.py": "ddf2ae9be02601bd8fc9c2cb8a51c04e", - "build/assets/pylib-android/copy.py": "e7c43b1ec5f81ef36486ad8b49ed7f74", - "build/assets/pylib-android/copyreg.py": "91d8335b8ed50cb836e228e30950918f", + "build/assets/pylib-android/copy.py": "73f8cd7ccf79b68121f7c8a42dcde3d0", + "build/assets/pylib-android/copyreg.py": "de5fb1333a0e388e69749e78ed5e55ae", "build/assets/pylib-android/crypt.py": "e12ad225ff7be254f543a48ed68b9465", - "build/assets/pylib-android/csv.py": "0f136b65898fcb860cc8736cfcc96492", - "build/assets/pylib-android/ctypes/__init__.py": "9176a1b1d653a4601d374c44132e5e74", - "build/assets/pylib-android/ctypes/_aix.py": "157227ded02925d8e20ef02b8e2816c9", - "build/assets/pylib-android/ctypes/_endian.py": "2f2f874f4c10e08e2355f6cdcb11be76", + "build/assets/pylib-android/csv.py": "a896b3c30246ae11b1633b402675b6b9", + "build/assets/pylib-android/ctypes/__init__.py": "235310a16d0c17607d86807724dfc51f", + "build/assets/pylib-android/ctypes/_aix.py": "5fd9184c6794ee90ac1441f2c5fe7335", + "build/assets/pylib-android/ctypes/_endian.py": "75edb1136e6c70ff5797b639d74d3a76", "build/assets/pylib-android/ctypes/macholib/__init__.py": "b2ee4220c9357720236e4da2f849f7da", "build/assets/pylib-android/ctypes/macholib/dyld.py": "0788a3010fa031df2dc6bb11942db9de", "build/assets/pylib-android/ctypes/macholib/dylib.py": "6818bfa4d44fb1c1f3aa53f4451de3b6", "build/assets/pylib-android/ctypes/macholib/framework.py": "45eb920bb26cf00cafdb195ecbd2e444", - "build/assets/pylib-android/ctypes/util.py": "55b33ec8508355f99cb322f00026e9fc", - "build/assets/pylib-android/ctypes/wintypes.py": "40e1127cbddb32758cac468826aa9907", + "build/assets/pylib-android/ctypes/util.py": "7b6905d7bb1f55ff33003bd999692eca", + "build/assets/pylib-android/ctypes/wintypes.py": "ff2c24e390bac2cdd203142b422933f5", "build/assets/pylib-android/curses/__init__.py": "9c6a7f3da146df621b20032d11705db7", - "build/assets/pylib-android/curses/ascii.py": "991f235753006a5700fd768abaad844c", + "build/assets/pylib-android/curses/ascii.py": "8bf9cbf2174c327318e671f61882cf6e", "build/assets/pylib-android/curses/has_key.py": "c74b8d6db329fbbd872b7b91bfa94624", "build/assets/pylib-android/curses/panel.py": "8f36fdade9588f8a4362d2cc057a6eff", - "build/assets/pylib-android/curses/textpad.py": "94aa9ebc47a6068d4461652346646dbb", - "build/assets/pylib-android/dataclasses.py": "febeea138bff21dbed88762be772514e", - "build/assets/pylib-android/datetime.py": "521d6767afcfef887ac4c3719386b8fd", + "build/assets/pylib-android/curses/textpad.py": "c53f9edcb5abba15eb755fdebef0eb19", + "build/assets/pylib-android/dataclasses.py": "52ef11127750fed81643fe829bc4c737", + "build/assets/pylib-android/datetime.py": "b4a98cc076882de0f4c5787b888b2eb6", "build/assets/pylib-android/decimal.py": "f57d255d45b5d1d7d8e13c41a283c3e4", "build/assets/pylib-android/difflib.py": "6b3c8fd541b2b8d0320727025cd25275", - "build/assets/pylib-android/dis.py": "cecdc0c02aa3d70a7f550e60ebc9b3ba", - "build/assets/pylib-android/doctest.py": "8a18c35f3aa66130955a6a3bf1bfead4", + "build/assets/pylib-android/dis.py": "a13ae44a4be77ce18f74d1e56659ea03", + "build/assets/pylib-android/doctest.py": "25cfaf6115c8d69f5e84c66ce4d51dae", "build/assets/pylib-android/email/__init__.py": "4ff603eeeb4ce0302c8bd1b220fc5e13", "build/assets/pylib-android/email/_encoded_words.py": "d7b77501689dd1ce32da789b46264a6a", - "build/assets/pylib-android/email/_header_value_parser.py": "982718787815084548747d4b078902e6", + "build/assets/pylib-android/email/_header_value_parser.py": "f472e3136172faada943c60181e886eb", "build/assets/pylib-android/email/_parseaddr.py": "a6d2999aeed17f060be8797e761a01aa", "build/assets/pylib-android/email/_policybase.py": "09b0c21693ac080c52c52f5daab616aa", "build/assets/pylib-android/email/base64mime.py": "d3e4fc07d04833487677dd2a888c3826", - "build/assets/pylib-android/email/charset.py": "1d101758464f75bf2b93fb17fec9542f", + "build/assets/pylib-android/email/charset.py": "8bcb2315a8340755057e66398e975542", "build/assets/pylib-android/email/contentmanager.py": "e88780ef1d37a11ff216060f740f2572", "build/assets/pylib-android/email/encoders.py": "d401cf76e52f0205393dd8bb1ae28b46", "build/assets/pylib-android/email/errors.py": "afd6b5e8f8baa701baaae14e736ddca0", - "build/assets/pylib-android/email/feedparser.py": "623788306ab3b5d75df1145484045edc", - "build/assets/pylib-android/email/generator.py": "073bac3c4874c3ab74d4e6a9e9317fb2", + "build/assets/pylib-android/email/feedparser.py": "07a3e447714a368776df54182ff4859b", + "build/assets/pylib-android/email/generator.py": "28c473aa2f9c3d295f3d89f5c1bea1ad", "build/assets/pylib-android/email/header.py": "09923b7b77bf91bed41a71b6e3c6e4d9", "build/assets/pylib-android/email/headerregistry.py": "dfd48f9c41454d5bc2355cb1762fb869", "build/assets/pylib-android/email/iterators.py": "752ece28a18545e70fa67a7cf2fe3ef3", - "build/assets/pylib-android/email/message.py": "5b198b0cf1095ba5a3faccdd28310f28", + "build/assets/pylib-android/email/message.py": "d35660dfc0ff8e0ed0125f0e465771b6", "build/assets/pylib-android/email/mime/__init__.py": "340c83beff7dcff8f5c7b87cd43cedaf", "build/assets/pylib-android/email/mime/application.py": "4ce678512f30cac9fd95993186d2eef7", "build/assets/pylib-android/email/mime/audio.py": "4073e45bda9524e3cbe29374951fdc16", @@ -2717,11 +2710,11 @@ "build/assets/pylib-android/email/mime/message.py": "0bf18b4f07a68b646e45b10d7e31c6c7", "build/assets/pylib-android/email/mime/multipart.py": "69577df977b7b36f5e175661dd7095bc", "build/assets/pylib-android/email/mime/nonmultipart.py": "a96d8d31156781a7511cec04e46a95f6", - "build/assets/pylib-android/email/mime/text.py": "21928b3afec29cb55ae1ae7682b8fbe1", - "build/assets/pylib-android/email/parser.py": "f0cdd5c8491cbff0948672784fca1e8f", - "build/assets/pylib-android/email/policy.py": "69a5f116b77b6a70e7761309c5592557", + "build/assets/pylib-android/email/mime/text.py": "634e0b909f94788cf97fc8a0b914d12c", + "build/assets/pylib-android/email/parser.py": "d78f74ba45a3618608cdc9ece2aa411a", + "build/assets/pylib-android/email/policy.py": "34946fe746ce5d39634d54f18716c8f3", "build/assets/pylib-android/email/quoprimime.py": "c5e54c3f0e70d55145517382d4455765", - "build/assets/pylib-android/email/utils.py": "145a606aaa3cbad40c68054ebbf4efa6", + "build/assets/pylib-android/email/utils.py": "05398f8a134b22fac6ab3a1d4b84fcb1", "build/assets/pylib-android/encodings/__init__.py": "6a342ed3b218da63b7f7937beafcc20c", "build/assets/pylib-android/encodings/aliases.py": "29e508ce46c2815863ee7ae01044f594", "build/assets/pylib-android/encodings/ascii.py": "9d1732861e514a1942499024d1a1a799", @@ -2780,7 +2773,7 @@ "build/assets/pylib-android/encodings/hex_codec.py": "fa90b2e675c94926d65257422f416f4b", "build/assets/pylib-android/encodings/hp_roman8.py": "c31c41bd06e088266672f009818fd6e9", "build/assets/pylib-android/encodings/hz.py": "8fc8bc535c23ce519437a3e6eaf94084", - "build/assets/pylib-android/encodings/idna.py": "8c2dbf011854734e0bdea7ce33c488a1", + "build/assets/pylib-android/encodings/idna.py": "f38bbf7849895c2d02829644a62a420c", "build/assets/pylib-android/encodings/iso2022_jp.py": "46b50810137d72dfeda745baee89eabd", "build/assets/pylib-android/encodings/iso2022_jp_1.py": "1587a4e5ad77349035a293ea3950ce98", "build/assets/pylib-android/encodings/iso2022_jp_2.py": "f6eaef565e5c3744dded731a9116f2bc", @@ -2844,351 +2837,340 @@ "build/assets/pylib-android/encodings/utf_8_sig.py": "8f3542863ef311d8b970a37c0d66b0de", "build/assets/pylib-android/encodings/uu_codec.py": "4ef8a65413574c017a96b97fc1638ba6", "build/assets/pylib-android/encodings/zlib_codec.py": "1388fb103fdf395451bfc8a2d60933a9", - "build/assets/pylib-android/enum.py": "e2a5734675e418870d7b379b5dba1ed3", - "build/assets/pylib-android/filecmp.py": "7648fdc6d0fc8bae7429d5e4081cf353", + "build/assets/pylib-android/enum.py": "adc9910dd2b96f3028de962e1a91baa7", + "build/assets/pylib-android/filecmp.py": "4f85ce060c139af3d1866931ea0e97b9", "build/assets/pylib-android/fileinput.py": "c3def1041e6b12dd5f1906c9dbbd1101", "build/assets/pylib-android/fnmatch.py": "a1bc67633695d4defd4c0886428c5363", - "build/assets/pylib-android/fractions.py": "eb9712fffd4157211952a28fa9b813ee", - "build/assets/pylib-android/ftplib.py": "acc4bef6b6da342d9b1522db6d41a41d", - "build/assets/pylib-android/functools.py": "c67a3710100f6503daab26a919d7f7b0", - "build/assets/pylib-android/genericpath.py": "5e991b8dd73dd4a05571b73ac532988a", - "build/assets/pylib-android/getopt.py": "d630bf22334ba037143a3dca69088ee1", + "build/assets/pylib-android/fractions.py": "02689771b334f161f5bd4b052aaa3e33", + "build/assets/pylib-android/ftplib.py": "84c6c5d111b887aa3986a02d164e4cdd", + "build/assets/pylib-android/functools.py": "a60c3a01c02be0f20a3e91de2b9e188f", + "build/assets/pylib-android/genericpath.py": "700f98a87ac51709fc817a23e48b52f3", + "build/assets/pylib-android/getopt.py": "2c02d59b410128b2ebff26e3030568a6", "build/assets/pylib-android/getpass.py": "c19e383e949c147a30ecc554b8598e91", - "build/assets/pylib-android/gettext.py": "245a4d4c7ba79febb5423a49ebdc019a", - "build/assets/pylib-android/glob.py": "0607521b67b32c59f30a9e1b238d5c1a", + "build/assets/pylib-android/gettext.py": "41bcab6726c47e297aee10d0e297246b", + "build/assets/pylib-android/glob.py": "aaeb903638c52b8c0f16dea0d63f180d", "build/assets/pylib-android/graphlib.py": "156d50d67d92c1917cf910dfce9cecc9", - "build/assets/pylib-android/gzip.py": "296ba9c497e9c0cc4a97b82dcb02d780", - "build/assets/pylib-android/hashlib.py": "a7fed99623cb1a5373316ff7d4e679df", + "build/assets/pylib-android/gzip.py": "f37180ea6b3df1f9ebe24cf6fce3b418", + "build/assets/pylib-android/hashlib.py": "a99c24c45e421aa6dd563a8f9bfc8b09", "build/assets/pylib-android/heapq.py": "d21f25e54b85a1ec93279167013831ea", - "build/assets/pylib-android/hmac.py": "20f106e37b931a8379cf3cca6bedcd6b", + "build/assets/pylib-android/hmac.py": "95efa902861d54aa09bf43467858bb11", "build/assets/pylib-android/html/__init__.py": "c7f462c6ba167f7ed5e931a76e5482ff", - "build/assets/pylib-android/html/entities.py": "8561b405414160a08f613bdfd89e161b", - "build/assets/pylib-android/html/parser.py": "c2ff6801a3ef6a2863d37b899615efb8", - "build/assets/pylib-android/http/__init__.py": "1dab578aab89ead7171ef10638e88a5d", - "build/assets/pylib-android/http/client.py": "a3f2cd21f8ce7a4ee1b47f0b19fb57f7", - "build/assets/pylib-android/http/cookiejar.py": "f324a21e7c17f40e4d5c78139875811c", + "build/assets/pylib-android/html/entities.py": "7640f21c6ce25357af6d13de96b77a8b", + "build/assets/pylib-android/html/parser.py": "759c3f4323885077bd67e8f1b3c025dd", + "build/assets/pylib-android/http/__init__.py": "eaefcb8fa3addeae50fb6ef77078c928", + "build/assets/pylib-android/http/client.py": "01e7ad4dabecd76980eaca1f6c1e5657", + "build/assets/pylib-android/http/cookiejar.py": "4336d703f02278ece3479532ed43f431", "build/assets/pylib-android/http/cookies.py": "9319b95b505a644b9a112b4c7a7678c3", - "build/assets/pylib-android/http/server.py": "4b286e2b5e6112af17e097539eadd9d7", - "build/assets/pylib-android/imghdr.py": "011d27a98acf3774279a584525614ba3", - "build/assets/pylib-android/imp.py": "34bd1d1620eb0d42f9ef9bbbb11cafae", - "build/assets/pylib-android/importlib/__init__.py": "2f6c1fb453d61417245cd196311a9b52", - "build/assets/pylib-android/importlib/_abc.py": "720f8056e5cd852156378b532ddbbb7c", - "build/assets/pylib-android/importlib/_bootstrap.py": "6f4819e9443e3fda3c28c62f15a8238c", - "build/assets/pylib-android/importlib/_bootstrap_external.py": "aa2d5aab23ea30219b7a42d2b7d27201", - "build/assets/pylib-android/importlib/abc.py": "c9697e928ff17089dc6aea96f5b33003", + "build/assets/pylib-android/http/server.py": "c18bbb2be8ec4195dd065ec13d002016", + "build/assets/pylib-android/imghdr.py": "e1b164d686ccfe3bc2c41c17229cdf4e", + "build/assets/pylib-android/importlib/__init__.py": "37e549dc665547e6d4b766039fc984ee", + "build/assets/pylib-android/importlib/_abc.py": "bb82688b63958d77211ea1c4404a733f", + "build/assets/pylib-android/importlib/_bootstrap.py": "511e1b884a54f9c4c1557bd948927fcf", + "build/assets/pylib-android/importlib/_bootstrap_external.py": "0f864c9f2ad70303da51b4ca2b9b096f", + "build/assets/pylib-android/importlib/abc.py": "c4e08fea8f5896ef300c710bbbfaaa10", "build/assets/pylib-android/importlib/machinery.py": "6a056c561b4ea8eb5457761c8a9fd704", - "build/assets/pylib-android/importlib/metadata/__init__.py": "31c7436c1e3e0e3fcea8c8d506973e49", - "build/assets/pylib-android/importlib/metadata/_adapters.py": "04b4db5bd88699a585c47dca7f4fd528", + "build/assets/pylib-android/importlib/metadata/__init__.py": "aeb10ad9a6f9d3e20d9252dc9e0fc312", + "build/assets/pylib-android/importlib/metadata/_adapters.py": "36d9ec62de810ad11d1d94fef1c53902", "build/assets/pylib-android/importlib/metadata/_collections.py": "6c6720236c09edd9c5b848db865e9a67", "build/assets/pylib-android/importlib/metadata/_functools.py": "67b161a56c1fee136489e10667525dd9", "build/assets/pylib-android/importlib/metadata/_itertools.py": "90757497a57e424716941f43e687617b", - "build/assets/pylib-android/importlib/metadata/_meta.py": "00800b3accf1a58bf07c4e678d6a4107", + "build/assets/pylib-android/importlib/metadata/_meta.py": "552d5cef08a96d83986da8fdae64d692", "build/assets/pylib-android/importlib/metadata/_text.py": "9d94dbaa32344851c5918e5d32468f12", "build/assets/pylib-android/importlib/readers.py": "e88cbbe8636d1ecf9526a3dd9a17162d", "build/assets/pylib-android/importlib/resources/__init__.py": "8963f5e44f2c25e288eb229dd68385f3", - "build/assets/pylib-android/importlib/resources/_adapters.py": "36c384659b0dd599e9efaf57b3f6f642", - "build/assets/pylib-android/importlib/resources/_common.py": "f55698ce31c56eee7b6bc8a5ce72733d", - "build/assets/pylib-android/importlib/resources/_itertools.py": "cbbe35b4b7c101e818b7598fda7a42b3", - "build/assets/pylib-android/importlib/resources/_legacy.py": "77f9dd75b4f64cefe875df7550ca26c5", - "build/assets/pylib-android/importlib/resources/abc.py": "f402d06845215e1c8725c243a3681d73", - "build/assets/pylib-android/importlib/resources/readers.py": "b2bc76af81288e8f6b8e1a272490ba1f", - "build/assets/pylib-android/importlib/resources/simple.py": "ae95788edf31cbfffd53db748d76f0b9", + "build/assets/pylib-android/importlib/resources/_adapters.py": "0545a15d7cc6221744422b2539d24123", + "build/assets/pylib-android/importlib/resources/_common.py": "6ae7e9e7d25df6bd789a2d824bf07cad", + "build/assets/pylib-android/importlib/resources/_itertools.py": "4e890bac49bcb865d4bfa846309a5d6d", + "build/assets/pylib-android/importlib/resources/_legacy.py": "617c6c1e3f8beea72cb03d4fd14f221c", + "build/assets/pylib-android/importlib/resources/abc.py": "528643b7a9f0c3cfa1d86173b9a3f747", + "build/assets/pylib-android/importlib/resources/readers.py": "00ee1e5e1bccffa19cbe2a539b97e2cb", + "build/assets/pylib-android/importlib/resources/simple.py": "16b97df12d2762e00bbb7ee6189750a2", "build/assets/pylib-android/importlib/simple.py": "f34f28cd359ecaf9fd6cf18a4dca2c33", - "build/assets/pylib-android/importlib/util.py": "09c3a96d1265db211f32b73a5f76e1ac", - "build/assets/pylib-android/inspect.py": "365d413e26b3a77118e51987cfd2eb1f", - "build/assets/pylib-android/io.py": "4a3ab68b3f38d3dcf9282f4839fe5d84", - "build/assets/pylib-android/ipaddress.py": "b9831cf9058885b35a2411b4cbada972", + "build/assets/pylib-android/importlib/util.py": "8b414591277a59478a9acab9ef9c56e2", + "build/assets/pylib-android/inspect.py": "1f9f508f836c6f55658d722e9383ada9", + "build/assets/pylib-android/io.py": "4f501a9e8a4ff4c2ca8152b8f5634cb9", + "build/assets/pylib-android/ipaddress.py": "f8aab9a66231645bc9bd92301f1c6ac0", "build/assets/pylib-android/json/__init__.py": "e8b000d2bf8c53b55a72bc3053800596", "build/assets/pylib-android/json/decoder.py": "82a8faab8ae9599b2b5f58322b8055ee", - "build/assets/pylib-android/json/encoder.py": "053c0b87645fb3e5a4a485db7b83e3f7", + "build/assets/pylib-android/json/encoder.py": "c85377b74511c6f463715e02118ca566", "build/assets/pylib-android/json/scanner.py": "d62190fe7b7bbc5c774f7f70d73751a0", "build/assets/pylib-android/json/tool.py": "a83b2c5dafa3adfd772a058cddbc0afc", - "build/assets/pylib-android/keyword.py": "640f4740aa688ce2cca35f19325c1f78", - "build/assets/pylib-android/linecache.py": "2712c31a3a6d7625d437029a6b7470c9", - "build/assets/pylib-android/locale.py": "42f3f48fed6a16da350de46aa85b446a", - "build/assets/pylib-android/logging/__init__.py": "6e5d6f80af880857f5eb29b038512c6d", - "build/assets/pylib-android/logging/config.py": "f811372496ec5ae34e8047f0280686be", - "build/assets/pylib-android/logging/handlers.py": "55d604de088570f8bd5edb62f64682fb", + "build/assets/pylib-android/keyword.py": "4132d92e0b8a50d8f7119ed5fabf1674", + "build/assets/pylib-android/linecache.py": "965977aa395c6db802aa732f30660097", + "build/assets/pylib-android/locale.py": "7c90ef0f6f75d9a5ee9a709ca266a2e2", + "build/assets/pylib-android/logging/__init__.py": "88f53a4eec4313c2e2ab9130250d3ab5", + "build/assets/pylib-android/logging/config.py": "cc6d515fd6b7b16d8ab66fe934249f9b", + "build/assets/pylib-android/logging/handlers.py": "0d0ca5db1f8e3588301a4cfbc4d6d365", "build/assets/pylib-android/lzma.py": "d7388640aa6af4c64fdc821471930f57", - "build/assets/pylib-android/mailbox.py": "d9db3c7510e38484ade3d88446b8f231", - "build/assets/pylib-android/mailcap.py": "c61462a36d20d79a0f4e37717f957bf6", - "build/assets/pylib-android/mimetypes.py": "1e3ee9d7f80b7547d1d3186bf97db3ab", + "build/assets/pylib-android/mailbox.py": "7de36be1f3365d2202d1e6548c538360", + "build/assets/pylib-android/mailcap.py": "bd0d2f41202a3cc850dc25c6c323ecb9", + "build/assets/pylib-android/mimetypes.py": "9eb2bba41bda6bcf7571f7a4c2a2c4a4", "build/assets/pylib-android/modulefinder.py": "3fc074c018de1dd15ab2e309be199dea", - "build/assets/pylib-android/netrc.py": "9a869ca83b316ab5a19a0a2cf22efaf3", + "build/assets/pylib-android/netrc.py": "9dd6b80891863e23b5e0a57bb80c7346", "build/assets/pylib-android/nntplib.py": "4926aa991bd4b96b9318d6242135abf9", - "build/assets/pylib-android/ntpath.py": "d53ff21dc0ef0cd939cc865ae1fb011e", + "build/assets/pylib-android/ntpath.py": "1e3997be9aec964b4a3caa2ff7172c78", "build/assets/pylib-android/nturl2path.py": "937624c4b6f213b652addea66296ccc4", - "build/assets/pylib-android/numbers.py": "0cdcb42317422500d514ec67d496a06e", - "build/assets/pylib-android/opcode.py": "18cba8b1d09ec6fcccfe20e5b13db980", + "build/assets/pylib-android/numbers.py": "bb9d88751c4f892d66e43961c521de7f", + "build/assets/pylib-android/opcode.py": "27b5ed52b503d4cf1adb7d65116655c3", "build/assets/pylib-android/operator.py": "61e197bc43df97ec39ae3e5e59b11c19", "build/assets/pylib-android/optparse.py": "5f65f891612b68c71a2846da86254285", - "build/assets/pylib-android/os.py": "36f9692131ffb9ba4db510de31afc651", - "build/assets/pylib-android/pathlib.py": "095ec821fec243124d0a286b4de3848a", - "build/assets/pylib-android/pdb.py": "c44527d9e905ca3b1b45d3c158df730a", - "build/assets/pylib-android/pickle.py": "e6f9f53d29988454690ccde3279c7c38", - "build/assets/pylib-android/pickletools.py": "85b30fba86d32dfc4a588300dedf5f01", + "build/assets/pylib-android/os.py": "1d20abe92b62ba9fc876be6714e29337", + "build/assets/pylib-android/pathlib.py": "1bf23fd9f937bb58eec2a62a60d73280", + "build/assets/pylib-android/pdb.py": "c62b3dff47478089a415ed83671a636c", + "build/assets/pylib-android/pickle.py": "ec61f6c0d4bd9f21c664a3673d6ce158", + "build/assets/pylib-android/pickletools.py": "e2cb81715625efdc409f8d34e36a9569", "build/assets/pylib-android/pipes.py": "2dd796bdbb87982034234fec50d4526c", - "build/assets/pylib-android/pkgutil.py": "8e3fdfcb6c90dc50245aee89c49eb515", - "build/assets/pylib-android/platform.py": "072a4f8d700c73429d420ca8f5f3a90d", - "build/assets/pylib-android/plistlib.py": "8aa9836b7a69628873b25811c4d5fffa", - "build/assets/pylib-android/poplib.py": "829dc4df5d8e082ad414d499ec4678bd", - "build/assets/pylib-android/posixpath.py": "2a6b3f940f89b0819ee002b6b82b0318", - "build/assets/pylib-android/pprint.py": "b4e9efe35d05b6126d41da36eda47754", - "build/assets/pylib-android/profile.py": "a9f11f8aa6a2905706a5fc9273d6c981", - "build/assets/pylib-android/pstats.py": "c5884aaae199265ab0c3849d053bc996", - "build/assets/pylib-android/pty.py": "c97b51147360cf7fd92c364ab8068a2b", + "build/assets/pylib-android/pkgutil.py": "417ff74f276b7659b93ac5e8ee425f0f", + "build/assets/pylib-android/platform.py": "d15e44b3dcd3271c78bcd4b0cd37dbbb", + "build/assets/pylib-android/plistlib.py": "89a4be15fa63e930d5b5fc3f9c99c4f7", + "build/assets/pylib-android/poplib.py": "8150e0a07082ec4dbb017c4bc7163d7d", + "build/assets/pylib-android/posixpath.py": "f7403faf74c3968010c45e204aad6415", + "build/assets/pylib-android/pprint.py": "8a1792d9fe0cad9605a9deb9af479341", + "build/assets/pylib-android/profile.py": "8f26436d147cfd6d00d19592cf0d8c91", + "build/assets/pylib-android/pstats.py": "1eb59db1b83dd577c863d26ca04b3105", + "build/assets/pylib-android/pty.py": "d778afa8c34f4042a16671503088429b", "build/assets/pylib-android/py_compile.py": "772b429c589d2e005e8bd79b12f55a92", "build/assets/pylib-android/pyclbr.py": "bf1989a2c73108005e874a640760476a", - "build/assets/pylib-android/pydoc.py": "b17a6d227db749f91434253248fa6384", + "build/assets/pylib-android/pydoc.py": "5a84a7bc2c3aa1c4c06f00805eb3f2a4", "build/assets/pylib-android/queue.py": "1e90a0b87965a2642946621db162f441", - "build/assets/pylib-android/quopri.py": "5d58010dd1f96b37a167c6d305372881", - "build/assets/pylib-android/random.py": "9ec8461bc4d5b072e3fc1f65aafccf2f", - "build/assets/pylib-android/re/__init__.py": "a393e2d0c2a468c8d4a0ff76a8a317ea", + "build/assets/pylib-android/quopri.py": "65b24ff8c45eb0e1b29a862093c704db", + "build/assets/pylib-android/random.py": "9bf770576df6ba5ffc2b9e2cef10a47e", + "build/assets/pylib-android/re/__init__.py": "fff067dde47f9c1eca3d58ad1274db3a", "build/assets/pylib-android/re/_casefix.py": "106514c6c6bb479fa2691423a61c8938", - "build/assets/pylib-android/re/_compiler.py": "d38bbefe652b6bfff2bb30459436f112", - "build/assets/pylib-android/re/_constants.py": "99b8d7dba7fb50be8fb435dcefcd2989", - "build/assets/pylib-android/re/_parser.py": "1afe14ae4219eadb32ba0fd3ac1b921a", - "build/assets/pylib-android/reprlib.py": "a129eeeaf66fbd9591d2da242ce23a1a", + "build/assets/pylib-android/re/_compiler.py": "0925da97a1ca572354c08ea6c60c52f5", + "build/assets/pylib-android/re/_constants.py": "f33c8744623d7fb1655b72a49ed71be0", + "build/assets/pylib-android/re/_parser.py": "2232063aa737735fdd6f3bc63730e5bb", + "build/assets/pylib-android/reprlib.py": "d0d46647c19063b69893da3aa015a0aa", "build/assets/pylib-android/rlcompleter.py": "9e57bb7030b57c4ec82eba9e09852414", - "build/assets/pylib-android/runpy.py": "3a2dd98314791c7e36b6bd3585f6ad82", + "build/assets/pylib-android/runpy.py": "7cda83ec81f6ff5e6264d7f01bb5629a", "build/assets/pylib-android/sched.py": "f5579c8c711dd3e89da70ec9e1788c9c", - "build/assets/pylib-android/secrets.py": "bbf9ed672044ef3ab4b83ca2aea1644e", + "build/assets/pylib-android/secrets.py": "98212944edac844461bd146cd3680d5a", "build/assets/pylib-android/selectors.py": "3c94b3b678c473543cdc7f1d2b20a6f6", "build/assets/pylib-android/shelve.py": "3e569c07c863ecbd7f35a6c382d1785a", - "build/assets/pylib-android/shlex.py": "0873fac90a491702950816ead0e59dd0", - "build/assets/pylib-android/shutil.py": "aa636d67785c2e92d34c7c5c81f9e8c5", - "build/assets/pylib-android/signal.py": "114ef47b1798fca6f56ac8a250974b3e", - "build/assets/pylib-android/site.py": "2a99f7de2702aa8411d35acbb91fe926", - "build/assets/pylib-android/smtpd.py": "0602b6a39c4e37133303bee16c3e28a4", - "build/assets/pylib-android/smtplib.py": "439eab6ffc5425ddf57c0be283aa7325", + "build/assets/pylib-android/shlex.py": "adb6b917c5d3adadbdcb77a9257595fd", + "build/assets/pylib-android/shutil.py": "b24c18a65894e6860b16fb8462f9c1c5", + "build/assets/pylib-android/signal.py": "6c286caa92d351510f74cb4e1b3661da", + "build/assets/pylib-android/site.py": "ddbf5304e85bedcc06f9a49b2e544e74", + "build/assets/pylib-android/smtplib.py": "a8121c0c6888489f89cdb2d5b06638f7", "build/assets/pylib-android/sndhdr.py": "6b62a34738529e39528c0cb498a23eee", - "build/assets/pylib-android/socket.py": "c3612daf4d6de67347c7b0e09e44aeb5", - "build/assets/pylib-android/socketserver.py": "98e33643181a54765e6d0b9e01b03d53", - "build/assets/pylib-android/sqlite3/__init__.py": "8838d75ad0e465e25bb0c8dfeab7a9ab", - "build/assets/pylib-android/sqlite3/dbapi2.py": "c85f3ff9ddbd56683a8c801885dc5e53", + "build/assets/pylib-android/socket.py": "93b3814a3cd3753bfbb8caa1e37ea8dd", + "build/assets/pylib-android/socketserver.py": "08d185dbe1e568e299133cc8dcb35940", + "build/assets/pylib-android/sqlite3/__init__.py": "e64822b75a1c8f1be3e23ed6923e12eb", + "build/assets/pylib-android/sqlite3/__main__.py": "52b4c89dbcbaab2bcbd71da0317fdf46", + "build/assets/pylib-android/sqlite3/dbapi2.py": "b3b44b48fcb3999ca0269023c2fb7268", "build/assets/pylib-android/sqlite3/dump.py": "8d2085ec40031d544694759608e53178", "build/assets/pylib-android/sre_compile.py": "a1784e9ccbea7d9963cab75b536b40c8", "build/assets/pylib-android/sre_constants.py": "5c5be32a5334d9b0a848dad520746a63", "build/assets/pylib-android/sre_parse.py": "cca15b9ab31509e6642f9d2fd4fb9d91", - "build/assets/pylib-android/ssl.py": "ed512664b82e23aa157fc69f97df9d01", + "build/assets/pylib-android/ssl.py": "6dcc0bc1a7c25e06be75f50cebc415d2", "build/assets/pylib-android/stat.py": "185f17736cdb40bd3e7400ad8cedef84", - "build/assets/pylib-android/statistics.py": "9807c60eb942bf320ee85a2016ba4516", + "build/assets/pylib-android/statistics.py": "d58cadb4127511466905f2d97e927330", "build/assets/pylib-android/string.py": "c072d3a2d0337386d3235ba72f292752", "build/assets/pylib-android/stringprep.py": "6a5635711a838f76fee7b52537bf8b45", "build/assets/pylib-android/struct.py": "4fd288bd6537effd1d5edbba9d44dde2", - "build/assets/pylib-android/subprocess.py": "4932fae7e87da40d7661100b6871a005", - "build/assets/pylib-android/sunau.py": "a034779289fef0b2221345f40e042680", - "build/assets/pylib-android/symtable.py": "0cd4a624b2e3304664f43189ed9e3bf7", - "build/assets/pylib-android/sysconfig.py": "9ffad6cfff49bc09fe36a33a5446c59d", - "build/assets/pylib-android/tabnanny.py": "84614c63ead0ab71527cecdf3de68f1a", - "build/assets/pylib-android/tarfile.py": "e2fc4eca5c2d39b6f44b9e622a32f602", + "build/assets/pylib-android/subprocess.py": "e34c91ec81308cafc74a353395a10b45", + "build/assets/pylib-android/sunau.py": "146e2e69d9554c3ba397c651179fa9b5", + "build/assets/pylib-android/symtable.py": "7808839ac346e577ef1ab623c324d9e1", + "build/assets/pylib-android/sysconfig.py": "6c0114db24638ab125b9e933d44c79ef", + "build/assets/pylib-android/tabnanny.py": "017f45469d744cc511654fe887bda204", + "build/assets/pylib-android/tarfile.py": "43041075df31a5c8e7d8ea626391f185", "build/assets/pylib-android/telnetlib.py": "1a746e1fc988b9f5c12b9fd5a97c00ea", - "build/assets/pylib-android/tempfile.py": "436007fbe6821c864a53861bd73b4d43", + "build/assets/pylib-android/tempfile.py": "916365f4533239ffe6d66440b0ead6ae", "build/assets/pylib-android/textwrap.py": "3eb16a40553205dc96be5cb9039f3c8c", "build/assets/pylib-android/this.py": "8b0a9a1fa0a45a37e6c656eca1922277", - "build/assets/pylib-android/threading.py": "3354bf0cad72286a0532b0754de78704", - "build/assets/pylib-android/timeit.py": "c918c7dee7538ff6e5a92288f55b4327", - "build/assets/pylib-android/token.py": "d8ff4e6c8eb59896891d01148f481e27", - "build/assets/pylib-android/tokenize.py": "3056f048c07e6c5a6442a5ef4f38e54c", + "build/assets/pylib-android/threading.py": "50ef8436f61b2250a5e19f47818fb990", + "build/assets/pylib-android/timeit.py": "aeb3dde523e82b4e0f6d69a058d924cf", + "build/assets/pylib-android/token.py": "82c742822bb3e47388f579d5135ddf3e", + "build/assets/pylib-android/tokenize.py": "a6dbc95555395d59e97cc5fb232574c7", "build/assets/pylib-android/tomllib/__init__.py": "253ecf9dd67cb81a3e19911a4a39f930", "build/assets/pylib-android/tomllib/_parser.py": "f9a4dc92c44403f970e94c2e494a7358", "build/assets/pylib-android/tomllib/_re.py": "0e509117e16c41c491615e06bb98861d", "build/assets/pylib-android/tomllib/_types.py": "07be9616d6f5e401fd31fbeea619fc97", - "build/assets/pylib-android/trace.py": "3d8698a2c3ec03dc0f394a2f48c2ffbc", - "build/assets/pylib-android/traceback.py": "668bd36fc103a89554d2f9202a07f56d", + "build/assets/pylib-android/trace.py": "e0015a322cf5fbb35310705e81953ab1", + "build/assets/pylib-android/traceback.py": "84cbe40fcb14833ce4a1c0be22c4c9bc", "build/assets/pylib-android/tracemalloc.py": "e4d10d2bee7773566e46797a939e5cbf", - "build/assets/pylib-android/tty.py": "271c7d61005a0a3c2c0952efc60dcb6d", - "build/assets/pylib-android/types.py": "78f8942c08dbfc9c582f1bb8d5206639", - "build/assets/pylib-android/typing.py": "17aaeea16cbfdb93cb4c5b87f535e341", + "build/assets/pylib-android/tty.py": "06d3dd054c50fbff2712f3a38cca880f", + "build/assets/pylib-android/types.py": "134f86ee0d4879d294f95ea39c396027", + "build/assets/pylib-android/typing.py": "5780108232e902b6c03c9dede3203e15", "build/assets/pylib-android/urllib/__init__.py": "340c83beff7dcff8f5c7b87cd43cedaf", "build/assets/pylib-android/urllib/error.py": "b7dde0483ff647eb87162d6e19c04fa0", - "build/assets/pylib-android/urllib/parse.py": "28e09ecc3b696bae8ac5589b9cd64f63", - "build/assets/pylib-android/urllib/request.py": "09b8666fe8319542f7247bb9f8573806", + "build/assets/pylib-android/urllib/parse.py": "9533d0e59e5ec79810be417dfc8b351a", + "build/assets/pylib-android/urllib/request.py": "bf59985a796494de7374fb909f32f933", "build/assets/pylib-android/urllib/response.py": "c8537707a4b1e493c0ec4489ab523c93", "build/assets/pylib-android/urllib/robotparser.py": "5a7616bdf398c166f953ad48c25506eb", "build/assets/pylib-android/uu.py": "7cb795ca0c9e914550e6245dfe53c53e", - "build/assets/pylib-android/uuid.py": "755d75cad456d0c3ab0c67f0276cca32", - "build/assets/pylib-android/warnings.py": "e5f0b4cbc35aae8d4b89a856b189b626", - "build/assets/pylib-android/wave.py": "727a8dacad95625ea14554b7d655ce2e", + "build/assets/pylib-android/uuid.py": "fc298b89a3f1327be7808f0125c57866", + "build/assets/pylib-android/warnings.py": "0786f92f520b209fc88b9352fd7fc474", + "build/assets/pylib-android/wave.py": "91c8be6651123c0d264fada07b63fd8e", "build/assets/pylib-android/weakref.py": "dd14612f02ca8acd723f633b6fff0adf", - "build/assets/pylib-android/webbrowser.py": "8185b8d83c5311ddea5d88a1cfb89c3c", - "build/assets/pylib-android/xdrlib.py": "ee12e9067ab4904da935b8d2213426d8", + "build/assets/pylib-android/webbrowser.py": "45185d3143cc2513d3141e7cbfdafb1b", + "build/assets/pylib-android/xdrlib.py": "d980006108f3333914c49e4d283efbb8", "build/assets/pylib-android/xml/__init__.py": "8eacec822c39da8e54d90d7713f9d517", "build/assets/pylib-android/xml/dom/NodeFilter.py": "aa14742aa31e84424191d88c61db7c60", "build/assets/pylib-android/xml/dom/__init__.py": "6cef27de99de7cf3a6a3444a366f1a4a", "build/assets/pylib-android/xml/dom/domreg.py": "e1ae09aebe4f3ae8f0458a3cbb9d6203", - "build/assets/pylib-android/xml/dom/expatbuilder.py": "d0d92580d8c8c29df4d879b4baeec499", + "build/assets/pylib-android/xml/dom/expatbuilder.py": "ba707d7f72c2f1ded1a488ecbe2bf05b", "build/assets/pylib-android/xml/dom/minicompat.py": "48905f2202fef3b557a41ec0fc31fa9b", "build/assets/pylib-android/xml/dom/minidom.py": "3f4037810f081b078cc3fcab75bae3a0", "build/assets/pylib-android/xml/dom/pulldom.py": "e133090081e446d69e5d1884f64fe1b6", "build/assets/pylib-android/xml/dom/xmlbuilder.py": "610ebe0afcf5c7a72c6f708ae34e4f7e", "build/assets/pylib-android/xml/etree/ElementInclude.py": "164c77dfb9abdf9c70def8812a00843a", "build/assets/pylib-android/xml/etree/ElementPath.py": "fca9220534a8160762dee5e7da5f4144", - "build/assets/pylib-android/xml/etree/ElementTree.py": "e563b0ad7f1079f7298a2f9fd547cea4", + "build/assets/pylib-android/xml/etree/ElementTree.py": "dade97ab01bfa32bafca09daf7e7bbb2", "build/assets/pylib-android/xml/etree/__init__.py": "82a62c7b190620aa1d3a40cc9ba829a5", "build/assets/pylib-android/xml/etree/cElementTree.py": "4708b9e01f77cfda41ec333efec138b7", "build/assets/pylib-android/xml/parsers/__init__.py": "320734d4a3dd5364bd8d2d3d3ad75ff1", "build/assets/pylib-android/xml/parsers/expat.py": "18689bb5155b639098d83a55ad62d9de", - "build/assets/pylib-android/xml/sax/__init__.py": "edc76fc9c2c328868771f14cc2cfee27", - "build/assets/pylib-android/xml/sax/_exceptions.py": "3540d338888633751b11db0324f14020", - "build/assets/pylib-android/xml/sax/expatreader.py": "fdb16c570f98c5153cde642d5095e604", + "build/assets/pylib-android/xml/sax/__init__.py": "a0f081a762804146e043e41db3b5852b", + "build/assets/pylib-android/xml/sax/_exceptions.py": "47e2e96cd8e70ec83e0fc123dd8538f2", + "build/assets/pylib-android/xml/sax/expatreader.py": "194f24e8b6d51aff8b9e99f9c14e5bb2", "build/assets/pylib-android/xml/sax/handler.py": "f861c1516713c5e8d066f8bbe7bc4b54", "build/assets/pylib-android/xml/sax/saxutils.py": "895538d082305b1785e4d407a6f37f09", - "build/assets/pylib-android/xml/sax/xmlreader.py": "a9d0126a36fb7dfe1fbc1ef7de9c5897", + "build/assets/pylib-android/xml/sax/xmlreader.py": "c457eb153d2076241bb0c883d1a6236a", "build/assets/pylib-android/xmlrpc/__init__.py": "aa990702e8f3a7af205efb5ae23a7c85", - "build/assets/pylib-android/xmlrpc/client.py": "8f2cad71c1c87031be073184e71aa405", - "build/assets/pylib-android/xmlrpc/server.py": "3147663bd28b952eef0e1316b94bacc6", - "build/assets/pylib-android/zipapp.py": "d92ea793f092af6383a6383678cf7b73", - "build/assets/pylib-android/zipfile.py": "00671f5cdb9a5ad667efa1dccf0129d3", - "build/assets/pylib-android/zipimport.py": "6d3b32a7258f670eb71daf3a8492a4f1", + "build/assets/pylib-android/xmlrpc/client.py": "c1465858891b6ef5ff366d0bd4c2156b", + "build/assets/pylib-android/xmlrpc/server.py": "168f0d34990d6ed1299c4220176feae5", + "build/assets/pylib-android/zipapp.py": "b387a3b7e895e342c6927e6daa7ac09e", + "build/assets/pylib-android/zipfile/__init__.py": "9c18607a032c9218f310cb378c633c35", + "build/assets/pylib-android/zipfile/__main__.py": "b34ad7063ce4b3461fd9902eb81e0275", + "build/assets/pylib-android/zipfile/_path/__init__.py": "595fff17da7767c6fda1ce996594c9dc", + "build/assets/pylib-android/zipfile/_path/glob.py": "d5792635c566cdcae37a335f1835dc48", + "build/assets/pylib-android/zipimport.py": "2773fff8e214ecced3ebfe1296719893", "build/assets/pylib-android/zoneinfo/__init__.py": "0df5e8a66015e2fe2d77f2e4a5dea1ff", "build/assets/pylib-android/zoneinfo/_common.py": "5b52bdac4156dcbac96743fa99468bf2", - "build/assets/pylib-android/zoneinfo/_tzpath.py": "f021e91036bd38590f2ce643b59dc881", - "build/assets/pylib-android/zoneinfo/_zoneinfo.py": "d000d61aa8998d0076c37f96cf40ca69", + "build/assets/pylib-android/zoneinfo/_tzpath.py": "f8978da35d0aa9073b921133eb387c44", + "build/assets/pylib-android/zoneinfo/_zoneinfo.py": "0a0bb8001deb2238223d05218259af3c", "build/assets/pylib-apple/__future__.py": "acc24f51e6ae9197e256968b30ebe487", "build/assets/pylib-apple/__hello__.py": "db85012d4e4d5bee6d13b4561846166f", - "build/assets/pylib-apple/_aix_support.py": "f00b4f005e2b9de6c018215d40a58647", - "build/assets/pylib-apple/_bootsubprocess.py": "205760f427c8f812dfe65f1731cd78ad", - "build/assets/pylib-apple/_collections_abc.py": "2001886c6dfa4074d25c606642148f34", + "build/assets/pylib-apple/_aix_support.py": "2f8a7b9e16b4ee66a814c2d07f3280db", + "build/assets/pylib-apple/_collections_abc.py": "e063cc62c682af32663ad249e13d50e4", "build/assets/pylib-apple/_compat_pickle.py": "831c0e093cb3284ca7e4dc9156c3ac23", "build/assets/pylib-apple/_compression.py": "abcf25071189f4a5c3a89f70a1071317", "build/assets/pylib-apple/_ios_support.py": "b0b4f9ea562811579b6890415df3330f", "build/assets/pylib-apple/_markupbase.py": "525da8ac70a8e3b009bd74eabb7d724b", "build/assets/pylib-apple/_osx_support.py": "5eff9100bbe3e24cc4efd25f6b9894de", "build/assets/pylib-apple/_py_abc.py": "180d5cf138b011bd6a280c2f433bed47", - "build/assets/pylib-apple/_pydecimal.py": "0949becccc98d6df6eab38a85db0069b", - "build/assets/pylib-apple/_pyio.py": "a6e88d66fbca88b13213cdd2177390b8", + "build/assets/pylib-apple/_pydatetime.py": "0a34d0b9ad990d11918890643e06f691", + "build/assets/pylib-apple/_pydecimal.py": "4572eb8c67bcfbbcda7ed47055c6e6b5", + "build/assets/pylib-apple/_pyio.py": "f7d28af8e054fe3202a50d51314fa174", + "build/assets/pylib-apple/_pylong.py": "e057ab3c9eea264704dff2af204884f8", "build/assets/pylib-apple/_sitebuiltins.py": "8b5e3f6e73917962fa014ad2c4a55e61", - "build/assets/pylib-apple/_strptime.py": "ff699c3f7647db7621bb88c43cc282d3", - "build/assets/pylib-apple/_sysconfigdata__darwin_darwin.py": "851eda9bce1b25dcba0ed272da9a25c1", - "build/assets/pylib-apple/_sysconfigdata__ios_iphoneos.py": "5bfced73a12261ecc310bffce6786cd2", - "build/assets/pylib-apple/_sysconfigdata__ios_iphoneos_arm64.py": "b323d9e0ce8d23039fe55a55a85a7f03", - "build/assets/pylib-apple/_sysconfigdata__ios_iphonesimulator.py": "f9c955d9c5c9cf5a0a026d084a1f9519", - "build/assets/pylib-apple/_sysconfigdata__ios_iphonesimulator_arm64.py": "a546cdaf5cd7c96b7494ea604ba7ce43", - "build/assets/pylib-apple/_sysconfigdata__ios_iphonesimulator_x86_64.py": "56abcd261de3ab910cf340623328a7c0", - "build/assets/pylib-apple/_sysconfigdata__tvos_appletvos.py": "6882eb86d192411b9e85c8b59252c719", - "build/assets/pylib-apple/_sysconfigdata__tvos_appletvos_arm64.py": "aca63835009f6ddd207d25fac7af21f9", - "build/assets/pylib-apple/_sysconfigdata__tvos_appletvsimulator.py": "a3c88367fb568e377ef2a72f0e9c2394", - "build/assets/pylib-apple/_sysconfigdata__tvos_appletvsimulator_arm64.py": "f3fbbf1e8541363be49ddfe5b7f42a5c", - "build/assets/pylib-apple/_sysconfigdata__tvos_appletvsimulator_x86_64.py": "8af232f8b1f956a2ec0bad2dc44f1f59", - "build/assets/pylib-apple/_sysconfigdata_d_darwin_darwin.py": "7b82990a773d8bfdc56a4d0587e767dc", - "build/assets/pylib-apple/_sysconfigdata_d_ios_iphoneos.py": "5bfced73a12261ecc310bffce6786cd2", - "build/assets/pylib-apple/_sysconfigdata_d_ios_iphoneos_arm64.py": "8d5c7003e7ebc454dc0919524c643b81", - "build/assets/pylib-apple/_sysconfigdata_d_ios_iphonesimulator.py": "f9c955d9c5c9cf5a0a026d084a1f9519", - "build/assets/pylib-apple/_sysconfigdata_d_ios_iphonesimulator_arm64.py": "4fcbe87958cfa21d5bba4fc96dd8514e", - "build/assets/pylib-apple/_sysconfigdata_d_ios_iphonesimulator_x86_64.py": "038f6c0ae9ebd4585ba3d71ac9a6f46b", - "build/assets/pylib-apple/_sysconfigdata_d_tvos_appletvos.py": "6882eb86d192411b9e85c8b59252c719", - "build/assets/pylib-apple/_sysconfigdata_d_tvos_appletvos_arm64.py": "370c439fe07fbf0d11a00654eee2cab0", - "build/assets/pylib-apple/_sysconfigdata_d_tvos_appletvsimulator.py": "a3c88367fb568e377ef2a72f0e9c2394", - "build/assets/pylib-apple/_sysconfigdata_d_tvos_appletvsimulator_arm64.py": "35c66716d8e2d2c93a4fffd7fd6143e2", - "build/assets/pylib-apple/_sysconfigdata_d_tvos_appletvsimulator_x86_64.py": "3b59c71925adf541ceaccb165cd57067", + "build/assets/pylib-apple/_strptime.py": "ed6521fd413f31f0de7be162af8db9f5", + "build/assets/pylib-apple/_sysconfigdata__darwin_darwin.py": "bc494dcb0239846f92c26622e84fb99d", + "build/assets/pylib-apple/_sysconfigdata__ios_iphoneos-arm64.py": "f073b8cdfe4179236abb923d538e7fbe", + "build/assets/pylib-apple/_sysconfigdata__ios_iphonesimulator-arm64.py": "2c3a1b46d9966d740b226d0d603a392a", + "build/assets/pylib-apple/_sysconfigdata__tvos_appletvos-arm64.py": "df1d00e8a7b529d64e600c8113d872d7", + "build/assets/pylib-apple/_sysconfigdata__tvos_appletvsimulator-arm64.py": "f9b8d515e7a6619fea32ab77c341b294", + "build/assets/pylib-apple/_sysconfigdata_d_darwin_darwin.py": "bd1f109ca34c52afd95632f7ae64171f", + "build/assets/pylib-apple/_sysconfigdata_d_ios_iphoneos-arm64.py": "178d3dc412e56aeaa211c8f5237f9462", + "build/assets/pylib-apple/_sysconfigdata_d_ios_iphonesimulator-arm64.py": "fc568dd0c36d2253993b9a48f53535d6", + "build/assets/pylib-apple/_sysconfigdata_d_tvos_appletvos-arm64.py": "50e50f852dc4f6acd785fa83c2e6530b", + "build/assets/pylib-apple/_sysconfigdata_d_tvos_appletvsimulator-arm64.py": "5e2dd0675c1364fb20fb7777c4c0eeb0", "build/assets/pylib-apple/_threading_local.py": "4a9688e3987d7d692db46feb9214945e", "build/assets/pylib-apple/_weakrefset.py": "e4fa8532ace46dfbc35149c41ea497f7", "build/assets/pylib-apple/abc.py": "a0daa1ed187eee8690c1e8438b97da90", "build/assets/pylib-apple/aifc.py": "1b9134c72b1e542417bee5bf345a1d0a", "build/assets/pylib-apple/antigravity.py": "6d56bedf73be574cb6d7117caf5d334c", - "build/assets/pylib-apple/argparse.py": "e22cac9b12c09592929d57eb982fc554", - "build/assets/pylib-apple/ast.py": "3aaa1b0e56b21b28155707c54bc225a8", - "build/assets/pylib-apple/asynchat.py": "2ef3a0ce322332fabbf8fad4e133c6a3", - "build/assets/pylib-apple/asyncio/__init__.py": "edf0e79e2b8b85c08f09fd14668e4822", + "build/assets/pylib-apple/argparse.py": "69287b50d559bce5edf5fa4032452324", + "build/assets/pylib-apple/ast.py": "4da7fbee1724f41830970a6660f8949a", + "build/assets/pylib-apple/asyncio/__init__.py": "4a732a7b4c77634cab1909d8be43cb4c", "build/assets/pylib-apple/asyncio/__main__.py": "8e391b47f448ad922dc2614dbd93011e", - "build/assets/pylib-apple/asyncio/base_events.py": "8494c7bc5f5fe98fd64d882ed4cc4722", - "build/assets/pylib-apple/asyncio/base_futures.py": "d2502e045d28ea562e1a82ddb162b4f0", + "build/assets/pylib-apple/asyncio/base_events.py": "13afa4c764bb9aa885cbb6c9f2987ef7", + "build/assets/pylib-apple/asyncio/base_futures.py": "5b4cefd0a571e9e8d913a052f2e0b15e", "build/assets/pylib-apple/asyncio/base_subprocess.py": "8a805e04a2911b2d8e297f0029def4b1", - "build/assets/pylib-apple/asyncio/base_tasks.py": "f4388c294f4cf805a6f1e4ed12a5a3aa", - "build/assets/pylib-apple/asyncio/constants.py": "13f733940667d1f81cf83adc6e5b2a5b", - "build/assets/pylib-apple/asyncio/coroutines.py": "fb3e431df7d09ed38d7fa76385e9bb52", - "build/assets/pylib-apple/asyncio/events.py": "3063d6b0d1fcbb50f8142f8ce58531fb", + "build/assets/pylib-apple/asyncio/base_tasks.py": "c1d9d15b0f3b61fe9dc6b4efe8b1db0a", + "build/assets/pylib-apple/asyncio/constants.py": "61868609d970b5e11a5c49a92472ab87", + "build/assets/pylib-apple/asyncio/coroutines.py": "567093e752f19f7b6e31b5b29738d7d4", + "build/assets/pylib-apple/asyncio/events.py": "b5046a9f8e88fafa4f29919d87f5415b", "build/assets/pylib-apple/asyncio/exceptions.py": "db8d3794a37d50a433d13c1eacf0d333", "build/assets/pylib-apple/asyncio/format_helpers.py": "b0447581eff1bc759da16d512155c72a", - "build/assets/pylib-apple/asyncio/futures.py": "297232981f201edac774ec3a49a0845b", - "build/assets/pylib-apple/asyncio/locks.py": "ed7c3ace82280988d7415672ed6a5314", + "build/assets/pylib-apple/asyncio/futures.py": "e2acd3a2e8f8d69c7884d572737fc358", + "build/assets/pylib-apple/asyncio/locks.py": "1630852effc563876002c88455a2f7f4", "build/assets/pylib-apple/asyncio/log.py": "1e101049c5cd7ad159b63ef97fe8fb0b", "build/assets/pylib-apple/asyncio/mixins.py": "9be94c61811a65522320e29e3dec16b0", - "build/assets/pylib-apple/asyncio/proactor_events.py": "b5dfbd01cafd9dbef13107b60c7b2add", + "build/assets/pylib-apple/asyncio/proactor_events.py": "ff72970f982322a1141d710557847d4d", "build/assets/pylib-apple/asyncio/protocols.py": "b8aa105b79d24f88c7a2c2cdbc8e7814", "build/assets/pylib-apple/asyncio/queues.py": "f63be54780730992e2377c51ac373126", - "build/assets/pylib-apple/asyncio/runners.py": "f184754fba961e4ea6e77a9aec633afc", - "build/assets/pylib-apple/asyncio/selector_events.py": "a108fbd3a49f967da245f39cebf7694e", + "build/assets/pylib-apple/asyncio/runners.py": "e523f1abdd9ab2cf2bc355acea052bd8", + "build/assets/pylib-apple/asyncio/selector_events.py": "818f87c72cac00a40cb63a8eeddb5b55", "build/assets/pylib-apple/asyncio/sslproto.py": "2ec1b21e523055147d94c8c634154aab", "build/assets/pylib-apple/asyncio/staggered.py": "f5056f0a56b73b477a9fa65e71145366", - "build/assets/pylib-apple/asyncio/streams.py": "f00ddd2b2fd74554ae1d3088bd9d2bfd", - "build/assets/pylib-apple/asyncio/subprocess.py": "edb8d98278300b6c99f36cd08643c743", - "build/assets/pylib-apple/asyncio/taskgroups.py": "5162e5b1806d9b647383d34ba1b21b56", - "build/assets/pylib-apple/asyncio/tasks.py": "234550593cd4928e6ee2c9591b6928ca", + "build/assets/pylib-apple/asyncio/streams.py": "2e4964bd4169572f50397423934f1176", + "build/assets/pylib-apple/asyncio/subprocess.py": "80dc3637dda70589030e121ef0f65005", + "build/assets/pylib-apple/asyncio/taskgroups.py": "1d899de15be7bc25f44684d724b62413", + "build/assets/pylib-apple/asyncio/tasks.py": "07346b0046860fdd1b0b5536f2273ecd", "build/assets/pylib-apple/asyncio/threads.py": "7bbf81d424901524510e07b5d20e4a50", "build/assets/pylib-apple/asyncio/timeouts.py": "c7cb81c7ee938bc47ff75342befc872a", "build/assets/pylib-apple/asyncio/transports.py": "04598090d813bb363cea9bf714b97c3f", "build/assets/pylib-apple/asyncio/trsock.py": "305d016a93b3e5224cb45af43fdc52b9", - "build/assets/pylib-apple/asyncio/unix_events.py": "cbb968f7c1e4f87f23b187d7140839f1", - "build/assets/pylib-apple/asyncio/windows_events.py": "954637d8416216d656011178dbcedbb4", + "build/assets/pylib-apple/asyncio/unix_events.py": "87ef0782c45d962724d88b381ece3d6c", + "build/assets/pylib-apple/asyncio/windows_events.py": "0efce1ef1c2807eefb9a7a345d82e256", "build/assets/pylib-apple/asyncio/windows_utils.py": "4efbef16e6692c9424804d9bdc496761", - "build/assets/pylib-apple/asyncore.py": "af21d495fa6ccc47b51ca8a8a382ea1c", - "build/assets/pylib-apple/base64.py": "5f8bbbfda4b9145b1968cb9badf8325b", + "build/assets/pylib-apple/base64.py": "00f5d31b06dd0f489d8b14b7bcf43db7", "build/assets/pylib-apple/bdb.py": "1e26c626405bfc06b1e7231183eb928a", - "build/assets/pylib-apple/bisect.py": "9b70437e327d5176da41192567ad0064", + "build/assets/pylib-apple/bisect.py": "69d3166bd72a28217f1bffa40dc9c33b", "build/assets/pylib-apple/bz2.py": "cd6a5f2491bc52afd8fc180097371473", - "build/assets/pylib-apple/cProfile.py": "9e9c07ac3b9e4195a62b74e4f2b9489f", - "build/assets/pylib-apple/calendar.py": "4ef3d6d85d44e36212e5d784051c80b6", + "build/assets/pylib-apple/cProfile.py": "bec17d6b102c0123c4b743ac685de752", + "build/assets/pylib-apple/calendar.py": "aa432398ad952e31038a6f6a6967911f", "build/assets/pylib-apple/cgi.py": "090c5cfc8b4b92a730beec975159bd2a", - "build/assets/pylib-apple/cgitb.py": "2bcff1cec7f3a3a9c96de7a55ebb4ea3", + "build/assets/pylib-apple/cgitb.py": "61bb76d359241de24b296bbb337e4b0c", "build/assets/pylib-apple/chunk.py": "13d7633b1ff28f5aed4eb043c65c99c5", "build/assets/pylib-apple/cmd.py": "8befee2654b0954af7886e24e2e7871f", - "build/assets/pylib-apple/code.py": "5d47099984013b933c96b02ef16981b8", - "build/assets/pylib-apple/codecs.py": "6fac5e2969e98ceaba92d3b8e42cb2ec", + "build/assets/pylib-apple/code.py": "6d8d7fbb1dce3e6d69810c42b3fae033", + "build/assets/pylib-apple/codecs.py": "70c31aa45cdfcdc85e035f8a23791de1", "build/assets/pylib-apple/codeop.py": "d375467fb29fccd43ab94d15a2e63085", - "build/assets/pylib-apple/collections/__init__.py": "dcffbb6ee2cadd0c05ad22f2ef41f89b", + "build/assets/pylib-apple/collections/__init__.py": "3071fa1109a42b7d6353dcdb26c59092", "build/assets/pylib-apple/collections/abc.py": "15f410d3821352033a90a04539c99060", "build/assets/pylib-apple/colorsys.py": "ca8f117785bf7606c3919ef0f4b828ae", - "build/assets/pylib-apple/compileall.py": "eb3f6d92f020ebec3f3f5bffc8a4dd4b", + "build/assets/pylib-apple/compileall.py": "8ec3f6a137b3dc78fa583b0d95c54e24", "build/assets/pylib-apple/concurrent/__init__.py": "aa990702e8f3a7af205efb5ae23a7c85", "build/assets/pylib-apple/concurrent/futures/__init__.py": "3e46fadb9de9c995c37dca4311641d6a", "build/assets/pylib-apple/concurrent/futures/_base.py": "a1cd37aea6fe0efff1bc00a39543609e", - "build/assets/pylib-apple/concurrent/futures/process.py": "a44e8618e158f8f351dafcb566a02544", - "build/assets/pylib-apple/concurrent/futures/thread.py": "e63753b8201f1392dbebc84a15054a13", - "build/assets/pylib-apple/configparser.py": "914afd2b2cec90bbca0b94fd176b5176", - "build/assets/pylib-apple/contextlib.py": "6f52eac914e438ef54407760def8305f", + "build/assets/pylib-apple/concurrent/futures/process.py": "ba3ce5df1138ef92a3e5a027515d2d5b", + "build/assets/pylib-apple/concurrent/futures/thread.py": "18557743160bce418a120fa3ca0659ee", + "build/assets/pylib-apple/configparser.py": "58966aed381c8fffe328eaa8718fbc57", + "build/assets/pylib-apple/contextlib.py": "c92d27f5382d35c00a5e5caa44565ba0", "build/assets/pylib-apple/contextvars.py": "ddf2ae9be02601bd8fc9c2cb8a51c04e", - "build/assets/pylib-apple/copy.py": "e7c43b1ec5f81ef36486ad8b49ed7f74", - "build/assets/pylib-apple/copyreg.py": "91d8335b8ed50cb836e228e30950918f", + "build/assets/pylib-apple/copy.py": "73f8cd7ccf79b68121f7c8a42dcde3d0", + "build/assets/pylib-apple/copyreg.py": "de5fb1333a0e388e69749e78ed5e55ae", "build/assets/pylib-apple/crypt.py": "e12ad225ff7be254f543a48ed68b9465", - "build/assets/pylib-apple/csv.py": "0f136b65898fcb860cc8736cfcc96492", - "build/assets/pylib-apple/ctypes/__init__.py": "9176a1b1d653a4601d374c44132e5e74", - "build/assets/pylib-apple/ctypes/_aix.py": "157227ded02925d8e20ef02b8e2816c9", - "build/assets/pylib-apple/ctypes/_endian.py": "2f2f874f4c10e08e2355f6cdcb11be76", + "build/assets/pylib-apple/csv.py": "a896b3c30246ae11b1633b402675b6b9", + "build/assets/pylib-apple/ctypes/__init__.py": "235310a16d0c17607d86807724dfc51f", + "build/assets/pylib-apple/ctypes/_aix.py": "5fd9184c6794ee90ac1441f2c5fe7335", + "build/assets/pylib-apple/ctypes/_endian.py": "a8e306cd53fd8f29fa9341e9bfe87944", "build/assets/pylib-apple/ctypes/macholib/__init__.py": "b2ee4220c9357720236e4da2f849f7da", "build/assets/pylib-apple/ctypes/macholib/dyld.py": "0788a3010fa031df2dc6bb11942db9de", "build/assets/pylib-apple/ctypes/macholib/dylib.py": "6818bfa4d44fb1c1f3aa53f4451de3b6", "build/assets/pylib-apple/ctypes/macholib/framework.py": "45eb920bb26cf00cafdb195ecbd2e444", - "build/assets/pylib-apple/ctypes/util.py": "4c7b6b960ccd369efdcd7084b8cbd573", - "build/assets/pylib-apple/ctypes/wintypes.py": "40e1127cbddb32758cac468826aa9907", + "build/assets/pylib-apple/ctypes/util.py": "b571425fafa9471803e5fe114c4e8914", + "build/assets/pylib-apple/ctypes/wintypes.py": "ff2c24e390bac2cdd203142b422933f5", "build/assets/pylib-apple/curses/__init__.py": "9c6a7f3da146df621b20032d11705db7", - "build/assets/pylib-apple/curses/ascii.py": "991f235753006a5700fd768abaad844c", + "build/assets/pylib-apple/curses/ascii.py": "8bf9cbf2174c327318e671f61882cf6e", "build/assets/pylib-apple/curses/has_key.py": "c74b8d6db329fbbd872b7b91bfa94624", "build/assets/pylib-apple/curses/panel.py": "8f36fdade9588f8a4362d2cc057a6eff", - "build/assets/pylib-apple/curses/textpad.py": "94aa9ebc47a6068d4461652346646dbb", - "build/assets/pylib-apple/dataclasses.py": "febeea138bff21dbed88762be772514e", - "build/assets/pylib-apple/datetime.py": "5dcfd7f3b1a4db8214c1442164ac999c", + "build/assets/pylib-apple/curses/textpad.py": "c53f9edcb5abba15eb755fdebef0eb19", + "build/assets/pylib-apple/dataclasses.py": "4d4d34f9262dc9f7a1a19ab3b447b981", + "build/assets/pylib-apple/datetime.py": "b4a98cc076882de0f4c5787b888b2eb6", "build/assets/pylib-apple/decimal.py": "f57d255d45b5d1d7d8e13c41a283c3e4", "build/assets/pylib-apple/difflib.py": "6b3c8fd541b2b8d0320727025cd25275", - "build/assets/pylib-apple/dis.py": "cecdc0c02aa3d70a7f550e60ebc9b3ba", - "build/assets/pylib-apple/doctest.py": "8a18c35f3aa66130955a6a3bf1bfead4", + "build/assets/pylib-apple/dis.py": "68bf342ab66f67cb0c1d7d31a12d4148", + "build/assets/pylib-apple/doctest.py": "1c7cee2b3e619011dfcd3f735a4b12e1", "build/assets/pylib-apple/email/__init__.py": "4ff603eeeb4ce0302c8bd1b220fc5e13", "build/assets/pylib-apple/email/_encoded_words.py": "d7b77501689dd1ce32da789b46264a6a", - "build/assets/pylib-apple/email/_header_value_parser.py": "982718787815084548747d4b078902e6", + "build/assets/pylib-apple/email/_header_value_parser.py": "e77052d073674f25133102b06a57c0fe", "build/assets/pylib-apple/email/_parseaddr.py": "a6d2999aeed17f060be8797e761a01aa", "build/assets/pylib-apple/email/_policybase.py": "09b0c21693ac080c52c52f5daab616aa", "build/assets/pylib-apple/email/base64mime.py": "d3e4fc07d04833487677dd2a888c3826", - "build/assets/pylib-apple/email/charset.py": "1d101758464f75bf2b93fb17fec9542f", + "build/assets/pylib-apple/email/charset.py": "8bcb2315a8340755057e66398e975542", "build/assets/pylib-apple/email/contentmanager.py": "e88780ef1d37a11ff216060f740f2572", "build/assets/pylib-apple/email/encoders.py": "d401cf76e52f0205393dd8bb1ae28b46", "build/assets/pylib-apple/email/errors.py": "afd6b5e8f8baa701baaae14e736ddca0", - "build/assets/pylib-apple/email/feedparser.py": "623788306ab3b5d75df1145484045edc", - "build/assets/pylib-apple/email/generator.py": "073bac3c4874c3ab74d4e6a9e9317fb2", + "build/assets/pylib-apple/email/feedparser.py": "07a3e447714a368776df54182ff4859b", + "build/assets/pylib-apple/email/generator.py": "be5568964053b71900912bc25cf9cf21", "build/assets/pylib-apple/email/header.py": "09923b7b77bf91bed41a71b6e3c6e4d9", "build/assets/pylib-apple/email/headerregistry.py": "dfd48f9c41454d5bc2355cb1762fb869", "build/assets/pylib-apple/email/iterators.py": "752ece28a18545e70fa67a7cf2fe3ef3", - "build/assets/pylib-apple/email/message.py": "5b198b0cf1095ba5a3faccdd28310f28", + "build/assets/pylib-apple/email/message.py": "186f18babc1e5c26b6e2095dbb0d3318", "build/assets/pylib-apple/email/mime/__init__.py": "340c83beff7dcff8f5c7b87cd43cedaf", "build/assets/pylib-apple/email/mime/application.py": "4ce678512f30cac9fd95993186d2eef7", "build/assets/pylib-apple/email/mime/audio.py": "4073e45bda9524e3cbe29374951fdc16", @@ -3197,11 +3179,11 @@ "build/assets/pylib-apple/email/mime/message.py": "0bf18b4f07a68b646e45b10d7e31c6c7", "build/assets/pylib-apple/email/mime/multipart.py": "69577df977b7b36f5e175661dd7095bc", "build/assets/pylib-apple/email/mime/nonmultipart.py": "a96d8d31156781a7511cec04e46a95f6", - "build/assets/pylib-apple/email/mime/text.py": "21928b3afec29cb55ae1ae7682b8fbe1", - "build/assets/pylib-apple/email/parser.py": "f0cdd5c8491cbff0948672784fca1e8f", + "build/assets/pylib-apple/email/mime/text.py": "634e0b909f94788cf97fc8a0b914d12c", + "build/assets/pylib-apple/email/parser.py": "d78f74ba45a3618608cdc9ece2aa411a", "build/assets/pylib-apple/email/policy.py": "69a5f116b77b6a70e7761309c5592557", "build/assets/pylib-apple/email/quoprimime.py": "c5e54c3f0e70d55145517382d4455765", - "build/assets/pylib-apple/email/utils.py": "145a606aaa3cbad40c68054ebbf4efa6", + "build/assets/pylib-apple/email/utils.py": "9373081154eac1992d7c778dc7c6d714", "build/assets/pylib-apple/encodings/__init__.py": "6a342ed3b218da63b7f7937beafcc20c", "build/assets/pylib-apple/encodings/aliases.py": "29e508ce46c2815863ee7ae01044f594", "build/assets/pylib-apple/encodings/ascii.py": "9d1732861e514a1942499024d1a1a799", @@ -3260,7 +3242,7 @@ "build/assets/pylib-apple/encodings/hex_codec.py": "fa90b2e675c94926d65257422f416f4b", "build/assets/pylib-apple/encodings/hp_roman8.py": "c31c41bd06e088266672f009818fd6e9", "build/assets/pylib-apple/encodings/hz.py": "8fc8bc535c23ce519437a3e6eaf94084", - "build/assets/pylib-apple/encodings/idna.py": "8c2dbf011854734e0bdea7ce33c488a1", + "build/assets/pylib-apple/encodings/idna.py": "f38bbf7849895c2d02829644a62a420c", "build/assets/pylib-apple/encodings/iso2022_jp.py": "46b50810137d72dfeda745baee89eabd", "build/assets/pylib-apple/encodings/iso2022_jp_1.py": "1587a4e5ad77349035a293ea3950ce98", "build/assets/pylib-apple/encodings/iso2022_jp_2.py": "f6eaef565e5c3744dded731a9116f2bc", @@ -3324,409 +3306,416 @@ "build/assets/pylib-apple/encodings/utf_8_sig.py": "8f3542863ef311d8b970a37c0d66b0de", "build/assets/pylib-apple/encodings/uu_codec.py": "4ef8a65413574c017a96b97fc1638ba6", "build/assets/pylib-apple/encodings/zlib_codec.py": "1388fb103fdf395451bfc8a2d60933a9", - "build/assets/pylib-apple/enum.py": "73b214a43ceef88aff7098b83623ed09", - "build/assets/pylib-apple/filecmp.py": "7648fdc6d0fc8bae7429d5e4081cf353", + "build/assets/pylib-apple/enum.py": "04d9fd7117d789b2673e87929bef27a1", + "build/assets/pylib-apple/filecmp.py": "4f85ce060c139af3d1866931ea0e97b9", "build/assets/pylib-apple/fileinput.py": "c3def1041e6b12dd5f1906c9dbbd1101", "build/assets/pylib-apple/fnmatch.py": "a1bc67633695d4defd4c0886428c5363", - "build/assets/pylib-apple/fractions.py": "eb9712fffd4157211952a28fa9b813ee", - "build/assets/pylib-apple/ftplib.py": "acc4bef6b6da342d9b1522db6d41a41d", - "build/assets/pylib-apple/functools.py": "c67a3710100f6503daab26a919d7f7b0", - "build/assets/pylib-apple/genericpath.py": "5e991b8dd73dd4a05571b73ac532988a", - "build/assets/pylib-apple/getopt.py": "d630bf22334ba037143a3dca69088ee1", + "build/assets/pylib-apple/fractions.py": "d1c02a567c5d07e52065b27de0d05507", + "build/assets/pylib-apple/ftplib.py": "0e4bfebb83ce85fa43a9c009e432cb12", + "build/assets/pylib-apple/functools.py": "a60c3a01c02be0f20a3e91de2b9e188f", + "build/assets/pylib-apple/genericpath.py": "700f98a87ac51709fc817a23e48b52f3", + "build/assets/pylib-apple/getopt.py": "2c02d59b410128b2ebff26e3030568a6", "build/assets/pylib-apple/getpass.py": "c19e383e949c147a30ecc554b8598e91", "build/assets/pylib-apple/gettext.py": "245a4d4c7ba79febb5423a49ebdc019a", "build/assets/pylib-apple/glob.py": "0607521b67b32c59f30a9e1b238d5c1a", "build/assets/pylib-apple/graphlib.py": "156d50d67d92c1917cf910dfce9cecc9", - "build/assets/pylib-apple/gzip.py": "296ba9c497e9c0cc4a97b82dcb02d780", - "build/assets/pylib-apple/hashlib.py": "a7fed99623cb1a5373316ff7d4e679df", + "build/assets/pylib-apple/gzip.py": "f37180ea6b3df1f9ebe24cf6fce3b418", + "build/assets/pylib-apple/hashlib.py": "a99c24c45e421aa6dd563a8f9bfc8b09", "build/assets/pylib-apple/heapq.py": "d21f25e54b85a1ec93279167013831ea", "build/assets/pylib-apple/hmac.py": "20f106e37b931a8379cf3cca6bedcd6b", "build/assets/pylib-apple/html/__init__.py": "c7f462c6ba167f7ed5e931a76e5482ff", - "build/assets/pylib-apple/html/entities.py": "8561b405414160a08f613bdfd89e161b", - "build/assets/pylib-apple/html/parser.py": "c2ff6801a3ef6a2863d37b899615efb8", - "build/assets/pylib-apple/http/__init__.py": "1dab578aab89ead7171ef10638e88a5d", - "build/assets/pylib-apple/http/client.py": "a3f2cd21f8ce7a4ee1b47f0b19fb57f7", - "build/assets/pylib-apple/http/cookiejar.py": "f324a21e7c17f40e4d5c78139875811c", + "build/assets/pylib-apple/html/entities.py": "7640f21c6ce25357af6d13de96b77a8b", + "build/assets/pylib-apple/html/parser.py": "759c3f4323885077bd67e8f1b3c025dd", + "build/assets/pylib-apple/http/__init__.py": "eaefcb8fa3addeae50fb6ef77078c928", + "build/assets/pylib-apple/http/client.py": "d0a1ca5e0930f598e58d9bf377d3283b", + "build/assets/pylib-apple/http/cookiejar.py": "4336d703f02278ece3479532ed43f431", "build/assets/pylib-apple/http/cookies.py": "9319b95b505a644b9a112b4c7a7678c3", - "build/assets/pylib-apple/http/server.py": "4b286e2b5e6112af17e097539eadd9d7", - "build/assets/pylib-apple/imghdr.py": "011d27a98acf3774279a584525614ba3", - "build/assets/pylib-apple/imp.py": "34bd1d1620eb0d42f9ef9bbbb11cafae", - "build/assets/pylib-apple/importlib/__init__.py": "2f6c1fb453d61417245cd196311a9b52", - "build/assets/pylib-apple/importlib/_abc.py": "720f8056e5cd852156378b532ddbbb7c", - "build/assets/pylib-apple/importlib/_bootstrap.py": "6f4819e9443e3fda3c28c62f15a8238c", - "build/assets/pylib-apple/importlib/_bootstrap_external.py": "c22f4fa4086742713c2071db7de7726c", - "build/assets/pylib-apple/importlib/abc.py": "c9697e928ff17089dc6aea96f5b33003", + "build/assets/pylib-apple/http/server.py": "c18bbb2be8ec4195dd065ec13d002016", + "build/assets/pylib-apple/imghdr.py": "e1b164d686ccfe3bc2c41c17229cdf4e", + "build/assets/pylib-apple/importlib/__init__.py": "37e549dc665547e6d4b766039fc984ee", + "build/assets/pylib-apple/importlib/_abc.py": "bb82688b63958d77211ea1c4404a733f", + "build/assets/pylib-apple/importlib/_bootstrap.py": "c2c3e6d9f853d4a16e7d9fca103f61eb", + "build/assets/pylib-apple/importlib/_bootstrap_external.py": "cfbb73bb414f6e808927e8bec77e9222", + "build/assets/pylib-apple/importlib/abc.py": "c4e08fea8f5896ef300c710bbbfaaa10", "build/assets/pylib-apple/importlib/machinery.py": "6a056c561b4ea8eb5457761c8a9fd704", - "build/assets/pylib-apple/importlib/metadata/__init__.py": "31c7436c1e3e0e3fcea8c8d506973e49", - "build/assets/pylib-apple/importlib/metadata/_adapters.py": "04b4db5bd88699a585c47dca7f4fd528", + "build/assets/pylib-apple/importlib/metadata/__init__.py": "db15a7824c0e99feff755adfc7a1ff58", + "build/assets/pylib-apple/importlib/metadata/_adapters.py": "36d9ec62de810ad11d1d94fef1c53902", "build/assets/pylib-apple/importlib/metadata/_collections.py": "6c6720236c09edd9c5b848db865e9a67", "build/assets/pylib-apple/importlib/metadata/_functools.py": "67b161a56c1fee136489e10667525dd9", "build/assets/pylib-apple/importlib/metadata/_itertools.py": "90757497a57e424716941f43e687617b", - "build/assets/pylib-apple/importlib/metadata/_meta.py": "00800b3accf1a58bf07c4e678d6a4107", + "build/assets/pylib-apple/importlib/metadata/_meta.py": "552d5cef08a96d83986da8fdae64d692", "build/assets/pylib-apple/importlib/metadata/_text.py": "9d94dbaa32344851c5918e5d32468f12", "build/assets/pylib-apple/importlib/readers.py": "e88cbbe8636d1ecf9526a3dd9a17162d", "build/assets/pylib-apple/importlib/resources/__init__.py": "8963f5e44f2c25e288eb229dd68385f3", - "build/assets/pylib-apple/importlib/resources/_adapters.py": "36c384659b0dd599e9efaf57b3f6f642", - "build/assets/pylib-apple/importlib/resources/_common.py": "f55698ce31c56eee7b6bc8a5ce72733d", - "build/assets/pylib-apple/importlib/resources/_itertools.py": "cbbe35b4b7c101e818b7598fda7a42b3", - "build/assets/pylib-apple/importlib/resources/_legacy.py": "77f9dd75b4f64cefe875df7550ca26c5", - "build/assets/pylib-apple/importlib/resources/abc.py": "f402d06845215e1c8725c243a3681d73", - "build/assets/pylib-apple/importlib/resources/readers.py": "b2bc76af81288e8f6b8e1a272490ba1f", - "build/assets/pylib-apple/importlib/resources/simple.py": "ae95788edf31cbfffd53db748d76f0b9", + "build/assets/pylib-apple/importlib/resources/_adapters.py": "0545a15d7cc6221744422b2539d24123", + "build/assets/pylib-apple/importlib/resources/_common.py": "6ae7e9e7d25df6bd789a2d824bf07cad", + "build/assets/pylib-apple/importlib/resources/_itertools.py": "4e890bac49bcb865d4bfa846309a5d6d", + "build/assets/pylib-apple/importlib/resources/_legacy.py": "617c6c1e3f8beea72cb03d4fd14f221c", + "build/assets/pylib-apple/importlib/resources/abc.py": "528643b7a9f0c3cfa1d86173b9a3f747", + "build/assets/pylib-apple/importlib/resources/readers.py": "00ee1e5e1bccffa19cbe2a539b97e2cb", + "build/assets/pylib-apple/importlib/resources/simple.py": "20924858e2c0a285fae2523a206f721d", "build/assets/pylib-apple/importlib/simple.py": "f34f28cd359ecaf9fd6cf18a4dca2c33", - "build/assets/pylib-apple/importlib/util.py": "09c3a96d1265db211f32b73a5f76e1ac", - "build/assets/pylib-apple/inspect.py": "365d413e26b3a77118e51987cfd2eb1f", - "build/assets/pylib-apple/io.py": "4a3ab68b3f38d3dcf9282f4839fe5d84", - "build/assets/pylib-apple/ipaddress.py": "b9831cf9058885b35a2411b4cbada972", + "build/assets/pylib-apple/importlib/util.py": "926a4e6f3d90511d71995b525469e8a2", + "build/assets/pylib-apple/inspect.py": "f9f230f9a227e9ca1c02fe51cd1707eb", + "build/assets/pylib-apple/io.py": "d4dbfd4942c1d4966d2517761fcd1452", + "build/assets/pylib-apple/ipaddress.py": "fc79922a18e25f988e882f24ae8009fe", "build/assets/pylib-apple/json/__init__.py": "e8b000d2bf8c53b55a72bc3053800596", "build/assets/pylib-apple/json/decoder.py": "82a8faab8ae9599b2b5f58322b8055ee", "build/assets/pylib-apple/json/encoder.py": "053c0b87645fb3e5a4a485db7b83e3f7", "build/assets/pylib-apple/json/scanner.py": "d62190fe7b7bbc5c774f7f70d73751a0", "build/assets/pylib-apple/json/tool.py": "a83b2c5dafa3adfd772a058cddbc0afc", - "build/assets/pylib-apple/keyword.py": "640f4740aa688ce2cca35f19325c1f78", + "build/assets/pylib-apple/keyword.py": "4132d92e0b8a50d8f7119ed5fabf1674", "build/assets/pylib-apple/linecache.py": "2712c31a3a6d7625d437029a6b7470c9", - "build/assets/pylib-apple/locale.py": "42f3f48fed6a16da350de46aa85b446a", - "build/assets/pylib-apple/logging/__init__.py": "6e5d6f80af880857f5eb29b038512c6d", - "build/assets/pylib-apple/logging/config.py": "f811372496ec5ae34e8047f0280686be", - "build/assets/pylib-apple/logging/handlers.py": "55d604de088570f8bd5edb62f64682fb", + "build/assets/pylib-apple/locale.py": "05e55bc4a9bb9fafe1b20b3162c9c44a", + "build/assets/pylib-apple/logging/__init__.py": "b6fc750d765b66ba86eda659cbcdd996", + "build/assets/pylib-apple/logging/config.py": "b3ad6eb78d97a0bd54090828d3b9e0d0", + "build/assets/pylib-apple/logging/handlers.py": "e7c36b384f4509b6075cae394482d95c", "build/assets/pylib-apple/lzma.py": "d7388640aa6af4c64fdc821471930f57", - "build/assets/pylib-apple/mailbox.py": "d9db3c7510e38484ade3d88446b8f231", - "build/assets/pylib-apple/mailcap.py": "c61462a36d20d79a0f4e37717f957bf6", - "build/assets/pylib-apple/mimetypes.py": "1e3ee9d7f80b7547d1d3186bf97db3ab", + "build/assets/pylib-apple/mailbox.py": "b37497d6faf4987bc46e6651f711e8b2", + "build/assets/pylib-apple/mailcap.py": "bd0d2f41202a3cc850dc25c6c323ecb9", + "build/assets/pylib-apple/mimetypes.py": "0d227b9c6f23c1d1fa7cd9c6a5ca1534", "build/assets/pylib-apple/modulefinder.py": "3fc074c018de1dd15ab2e309be199dea", - "build/assets/pylib-apple/netrc.py": "9a869ca83b316ab5a19a0a2cf22efaf3", + "build/assets/pylib-apple/netrc.py": "9dd6b80891863e23b5e0a57bb80c7346", "build/assets/pylib-apple/nntplib.py": "4926aa991bd4b96b9318d6242135abf9", - "build/assets/pylib-apple/ntpath.py": "d53ff21dc0ef0cd939cc865ae1fb011e", + "build/assets/pylib-apple/ntpath.py": "1e3997be9aec964b4a3caa2ff7172c78", "build/assets/pylib-apple/nturl2path.py": "937624c4b6f213b652addea66296ccc4", - "build/assets/pylib-apple/numbers.py": "0cdcb42317422500d514ec67d496a06e", - "build/assets/pylib-apple/opcode.py": "18cba8b1d09ec6fcccfe20e5b13db980", + "build/assets/pylib-apple/numbers.py": "bb9d88751c4f892d66e43961c521de7f", + "build/assets/pylib-apple/opcode.py": "27b5ed52b503d4cf1adb7d65116655c3", "build/assets/pylib-apple/operator.py": "61e197bc43df97ec39ae3e5e59b11c19", "build/assets/pylib-apple/optparse.py": "5f65f891612b68c71a2846da86254285", - "build/assets/pylib-apple/os.py": "36f9692131ffb9ba4db510de31afc651", - "build/assets/pylib-apple/pathlib.py": "095ec821fec243124d0a286b4de3848a", - "build/assets/pylib-apple/pdb.py": "117b0d24ccb89edc5f183c94f6722f70", - "build/assets/pylib-apple/pickle.py": "e6f9f53d29988454690ccde3279c7c38", + "build/assets/pylib-apple/os.py": "0e6eb31fb137f184d07b61484f2ef58f", + "build/assets/pylib-apple/pathlib.py": "885c899840212b8c6c49298abd77f0a8", + "build/assets/pylib-apple/pdb.py": "8371a5fa163a48c57d29d5ec2e0740db", + "build/assets/pylib-apple/pickle.py": "847270da723f1dfaae7ff60e64da87d7", "build/assets/pylib-apple/pickletools.py": "85b30fba86d32dfc4a588300dedf5f01", "build/assets/pylib-apple/pipes.py": "2dd796bdbb87982034234fec50d4526c", - "build/assets/pylib-apple/pkgutil.py": "8e3fdfcb6c90dc50245aee89c49eb515", - "build/assets/pylib-apple/platform.py": "ee86bbf8ce5fbe11cd285600ecf4aecd", - "build/assets/pylib-apple/plistlib.py": "8aa9836b7a69628873b25811c4d5fffa", - "build/assets/pylib-apple/poplib.py": "829dc4df5d8e082ad414d499ec4678bd", - "build/assets/pylib-apple/posixpath.py": "2a6b3f940f89b0819ee002b6b82b0318", - "build/assets/pylib-apple/pprint.py": "b4e9efe35d05b6126d41da36eda47754", - "build/assets/pylib-apple/profile.py": "a9f11f8aa6a2905706a5fc9273d6c981", - "build/assets/pylib-apple/pstats.py": "c5884aaae199265ab0c3849d053bc996", - "build/assets/pylib-apple/pty.py": "c97b51147360cf7fd92c364ab8068a2b", + "build/assets/pylib-apple/pkgutil.py": "417ff74f276b7659b93ac5e8ee425f0f", + "build/assets/pylib-apple/platform.py": "9594001a28c91511e9ff0cb0709ff3e6", + "build/assets/pylib-apple/plistlib.py": "89a4be15fa63e930d5b5fc3f9c99c4f7", + "build/assets/pylib-apple/poplib.py": "8150e0a07082ec4dbb017c4bc7163d7d", + "build/assets/pylib-apple/posixpath.py": "f7403faf74c3968010c45e204aad6415", + "build/assets/pylib-apple/pprint.py": "596aa5457ecd1ddb92f2d7e17aeca2e2", + "build/assets/pylib-apple/profile.py": "8f26436d147cfd6d00d19592cf0d8c91", + "build/assets/pylib-apple/pstats.py": "1eb59db1b83dd577c863d26ca04b3105", + "build/assets/pylib-apple/pty.py": "d778afa8c34f4042a16671503088429b", "build/assets/pylib-apple/py_compile.py": "772b429c589d2e005e8bd79b12f55a92", "build/assets/pylib-apple/pyclbr.py": "bf1989a2c73108005e874a640760476a", - "build/assets/pylib-apple/pydoc.py": "b17a6d227db749f91434253248fa6384", + "build/assets/pylib-apple/pydoc.py": "15b3a89d009a50b869c053a3a3e9fdd7", "build/assets/pylib-apple/queue.py": "1e90a0b87965a2642946621db162f441", - "build/assets/pylib-apple/quopri.py": "5d58010dd1f96b37a167c6d305372881", - "build/assets/pylib-apple/random.py": "9ec8461bc4d5b072e3fc1f65aafccf2f", - "build/assets/pylib-apple/re/__init__.py": "a393e2d0c2a468c8d4a0ff76a8a317ea", + "build/assets/pylib-apple/quopri.py": "65b24ff8c45eb0e1b29a862093c704db", + "build/assets/pylib-apple/random.py": "3c462011763976896a6d893f779498fc", + "build/assets/pylib-apple/re/__init__.py": "fff067dde47f9c1eca3d58ad1274db3a", "build/assets/pylib-apple/re/_casefix.py": "106514c6c6bb479fa2691423a61c8938", "build/assets/pylib-apple/re/_compiler.py": "d38bbefe652b6bfff2bb30459436f112", - "build/assets/pylib-apple/re/_constants.py": "99b8d7dba7fb50be8fb435dcefcd2989", - "build/assets/pylib-apple/re/_parser.py": "1afe14ae4219eadb32ba0fd3ac1b921a", - "build/assets/pylib-apple/reprlib.py": "a129eeeaf66fbd9591d2da242ce23a1a", + "build/assets/pylib-apple/re/_constants.py": "f33c8744623d7fb1655b72a49ed71be0", + "build/assets/pylib-apple/re/_parser.py": "232ecf324c74e9a58ef746b851ec0657", + "build/assets/pylib-apple/reprlib.py": "5233c6d9e14272b88584bd00b7cad7f1", "build/assets/pylib-apple/rlcompleter.py": "9e57bb7030b57c4ec82eba9e09852414", - "build/assets/pylib-apple/runpy.py": "3a2dd98314791c7e36b6bd3585f6ad82", + "build/assets/pylib-apple/runpy.py": "7cda83ec81f6ff5e6264d7f01bb5629a", "build/assets/pylib-apple/sched.py": "f5579c8c711dd3e89da70ec9e1788c9c", - "build/assets/pylib-apple/secrets.py": "bbf9ed672044ef3ab4b83ca2aea1644e", + "build/assets/pylib-apple/secrets.py": "98212944edac844461bd146cd3680d5a", "build/assets/pylib-apple/selectors.py": "98e0d83849452cbc2cc1381555bd5024", "build/assets/pylib-apple/shelve.py": "3e569c07c863ecbd7f35a6c382d1785a", - "build/assets/pylib-apple/shlex.py": "0873fac90a491702950816ead0e59dd0", - "build/assets/pylib-apple/shutil.py": "a5d0ee9f28244b42a06e682312d0e3fa", + "build/assets/pylib-apple/shlex.py": "adb6b917c5d3adadbdcb77a9257595fd", + "build/assets/pylib-apple/shutil.py": "5ad069bb4ff643eb8275e739992b8055", "build/assets/pylib-apple/signal.py": "114ef47b1798fca6f56ac8a250974b3e", - "build/assets/pylib-apple/site.py": "c2bb58a3e8fe69733a28b56d04b47e50", - "build/assets/pylib-apple/smtpd.py": "0602b6a39c4e37133303bee16c3e28a4", - "build/assets/pylib-apple/smtplib.py": "439eab6ffc5425ddf57c0be283aa7325", + "build/assets/pylib-apple/site.py": "1765eb1e249594b0faddb9663509b03a", + "build/assets/pylib-apple/smtplib.py": "a8121c0c6888489f89cdb2d5b06638f7", "build/assets/pylib-apple/sndhdr.py": "6b62a34738529e39528c0cb498a23eee", - "build/assets/pylib-apple/socket.py": "c3612daf4d6de67347c7b0e09e44aeb5", - "build/assets/pylib-apple/socketserver.py": "98e33643181a54765e6d0b9e01b03d53", - "build/assets/pylib-apple/sqlite3/__init__.py": "8838d75ad0e465e25bb0c8dfeab7a9ab", - "build/assets/pylib-apple/sqlite3/dbapi2.py": "c85f3ff9ddbd56683a8c801885dc5e53", - "build/assets/pylib-apple/sqlite3/dump.py": "8364bd18be01acf7e56e168db98c0e6f", + "build/assets/pylib-apple/socket.py": "a315ae7d99fa18439a53213d7c689c61", + "build/assets/pylib-apple/socketserver.py": "08d185dbe1e568e299133cc8dcb35940", + "build/assets/pylib-apple/sqlite3/__init__.py": "e64822b75a1c8f1be3e23ed6923e12eb", + "build/assets/pylib-apple/sqlite3/__main__.py": "52b4c89dbcbaab2bcbd71da0317fdf46", + "build/assets/pylib-apple/sqlite3/dbapi2.py": "b3b44b48fcb3999ca0269023c2fb7268", + "build/assets/pylib-apple/sqlite3/dump.py": "8d2085ec40031d544694759608e53178", "build/assets/pylib-apple/sre_compile.py": "a1784e9ccbea7d9963cab75b536b40c8", "build/assets/pylib-apple/sre_constants.py": "5c5be32a5334d9b0a848dad520746a63", "build/assets/pylib-apple/sre_parse.py": "cca15b9ab31509e6642f9d2fd4fb9d91", - "build/assets/pylib-apple/ssl.py": "ed512664b82e23aa157fc69f97df9d01", + "build/assets/pylib-apple/ssl.py": "0e660771f6bf5876a966eee2b01a5cc0", "build/assets/pylib-apple/stat.py": "185f17736cdb40bd3e7400ad8cedef84", - "build/assets/pylib-apple/statistics.py": "9807c60eb942bf320ee85a2016ba4516", + "build/assets/pylib-apple/statistics.py": "d58cadb4127511466905f2d97e927330", "build/assets/pylib-apple/string.py": "c072d3a2d0337386d3235ba72f292752", "build/assets/pylib-apple/stringprep.py": "6a5635711a838f76fee7b52537bf8b45", "build/assets/pylib-apple/struct.py": "4fd288bd6537effd1d5edbba9d44dde2", - "build/assets/pylib-apple/subprocess.py": "71393ec8cfd7da74691d932dd1861992", - "build/assets/pylib-apple/sunau.py": "a034779289fef0b2221345f40e042680", - "build/assets/pylib-apple/symtable.py": "0cd4a624b2e3304664f43189ed9e3bf7", - "build/assets/pylib-apple/sysconfig.py": "e14e3272debfcb60192898d131712bad", - "build/assets/pylib-apple/tabnanny.py": "84614c63ead0ab71527cecdf3de68f1a", - "build/assets/pylib-apple/tarfile.py": "e2fc4eca5c2d39b6f44b9e622a32f602", + "build/assets/pylib-apple/subprocess.py": "361d39323a2c45017f99da02c9dae259", + "build/assets/pylib-apple/sunau.py": "146e2e69d9554c3ba397c651179fa9b5", + "build/assets/pylib-apple/symtable.py": "7808839ac346e577ef1ab623c324d9e1", + "build/assets/pylib-apple/sysconfig.py": "908424337cb4192539c34c9260623a24", + "build/assets/pylib-apple/tabnanny.py": "017f45469d744cc511654fe887bda204", + "build/assets/pylib-apple/tarfile.py": "b5de469a9bc9410c5e6cc6a5292f7a6b", "build/assets/pylib-apple/telnetlib.py": "1a746e1fc988b9f5c12b9fd5a97c00ea", - "build/assets/pylib-apple/tempfile.py": "436007fbe6821c864a53861bd73b4d43", + "build/assets/pylib-apple/tempfile.py": "152004e6cace5eba2b991825c156751d", "build/assets/pylib-apple/textwrap.py": "3eb16a40553205dc96be5cb9039f3c8c", "build/assets/pylib-apple/this.py": "8b0a9a1fa0a45a37e6c656eca1922277", - "build/assets/pylib-apple/threading.py": "dda98a9e1169adb496655300454ecc09", - "build/assets/pylib-apple/timeit.py": "8dc6f4245abf1d44814745e22a2f78b1", - "build/assets/pylib-apple/token.py": "d8ff4e6c8eb59896891d01148f481e27", - "build/assets/pylib-apple/tokenize.py": "3056f048c07e6c5a6442a5ef4f38e54c", + "build/assets/pylib-apple/threading.py": "a7f3c368a00d7a5b296941a9c24a4efd", + "build/assets/pylib-apple/timeit.py": "aeb3dde523e82b4e0f6d69a058d924cf", + "build/assets/pylib-apple/token.py": "82c742822bb3e47388f579d5135ddf3e", + "build/assets/pylib-apple/tokenize.py": "c6928003869c55e0f52cb88679d22c06", "build/assets/pylib-apple/tomllib/__init__.py": "253ecf9dd67cb81a3e19911a4a39f930", "build/assets/pylib-apple/tomllib/_parser.py": "f9a4dc92c44403f970e94c2e494a7358", "build/assets/pylib-apple/tomllib/_re.py": "0e509117e16c41c491615e06bb98861d", "build/assets/pylib-apple/tomllib/_types.py": "07be9616d6f5e401fd31fbeea619fc97", "build/assets/pylib-apple/trace.py": "3d8698a2c3ec03dc0f394a2f48c2ffbc", - "build/assets/pylib-apple/traceback.py": "91f67818e621e3b2f5bf583ed6863ef8", + "build/assets/pylib-apple/traceback.py": "ca41a2ffeb0b8e543531b85c7a2a1dc7", "build/assets/pylib-apple/tracemalloc.py": "e4d10d2bee7773566e46797a939e5cbf", - "build/assets/pylib-apple/tty.py": "271c7d61005a0a3c2c0952efc60dcb6d", - "build/assets/pylib-apple/types.py": "78f8942c08dbfc9c582f1bb8d5206639", - "build/assets/pylib-apple/typing.py": "17aaeea16cbfdb93cb4c5b87f535e341", + "build/assets/pylib-apple/tty.py": "09fa9b32d1b2a36d00e4c5f396ee74a0", + "build/assets/pylib-apple/types.py": "134f86ee0d4879d294f95ea39c396027", + "build/assets/pylib-apple/typing.py": "a5996aa02b21708d88c67946dabd529e", "build/assets/pylib-apple/urllib/__init__.py": "340c83beff7dcff8f5c7b87cd43cedaf", "build/assets/pylib-apple/urllib/error.py": "b7dde0483ff647eb87162d6e19c04fa0", - "build/assets/pylib-apple/urllib/parse.py": "28e09ecc3b696bae8ac5589b9cd64f63", - "build/assets/pylib-apple/urllib/request.py": "09b8666fe8319542f7247bb9f8573806", + "build/assets/pylib-apple/urllib/parse.py": "112c518e8857be22f75ef4cd668fe5b4", + "build/assets/pylib-apple/urllib/request.py": "2a9f2ec22765c9959240f559bcb2fca3", "build/assets/pylib-apple/urllib/response.py": "c8537707a4b1e493c0ec4489ab523c93", "build/assets/pylib-apple/urllib/robotparser.py": "5a7616bdf398c166f953ad48c25506eb", "build/assets/pylib-apple/uu.py": "7cb795ca0c9e914550e6245dfe53c53e", - "build/assets/pylib-apple/uuid.py": "755d75cad456d0c3ab0c67f0276cca32", - "build/assets/pylib-apple/warnings.py": "e5f0b4cbc35aae8d4b89a856b189b626", - "build/assets/pylib-apple/wave.py": "727a8dacad95625ea14554b7d655ce2e", + "build/assets/pylib-apple/uuid.py": "fc298b89a3f1327be7808f0125c57866", + "build/assets/pylib-apple/warnings.py": "80a01d1cc1488cde43dfd7c2d14a8a8d", + "build/assets/pylib-apple/wave.py": "91c8be6651123c0d264fada07b63fd8e", "build/assets/pylib-apple/weakref.py": "dd14612f02ca8acd723f633b6fff0adf", - "build/assets/pylib-apple/webbrowser.py": "7356fd255ec3bdfef98349a9c9d2b563", - "build/assets/pylib-apple/xdrlib.py": "ee12e9067ab4904da935b8d2213426d8", + "build/assets/pylib-apple/webbrowser.py": "afe253a15b5e3e847fce6918335fdf45", + "build/assets/pylib-apple/xdrlib.py": "d980006108f3333914c49e4d283efbb8", "build/assets/pylib-apple/xml/__init__.py": "8eacec822c39da8e54d90d7713f9d517", "build/assets/pylib-apple/xml/dom/NodeFilter.py": "aa14742aa31e84424191d88c61db7c60", "build/assets/pylib-apple/xml/dom/__init__.py": "6cef27de99de7cf3a6a3444a366f1a4a", "build/assets/pylib-apple/xml/dom/domreg.py": "e1ae09aebe4f3ae8f0458a3cbb9d6203", - "build/assets/pylib-apple/xml/dom/expatbuilder.py": "d0d92580d8c8c29df4d879b4baeec499", + "build/assets/pylib-apple/xml/dom/expatbuilder.py": "ba707d7f72c2f1ded1a488ecbe2bf05b", "build/assets/pylib-apple/xml/dom/minicompat.py": "48905f2202fef3b557a41ec0fc31fa9b", "build/assets/pylib-apple/xml/dom/minidom.py": "3f4037810f081b078cc3fcab75bae3a0", "build/assets/pylib-apple/xml/dom/pulldom.py": "e133090081e446d69e5d1884f64fe1b6", "build/assets/pylib-apple/xml/dom/xmlbuilder.py": "610ebe0afcf5c7a72c6f708ae34e4f7e", "build/assets/pylib-apple/xml/etree/ElementInclude.py": "164c77dfb9abdf9c70def8812a00843a", "build/assets/pylib-apple/xml/etree/ElementPath.py": "fca9220534a8160762dee5e7da5f4144", - "build/assets/pylib-apple/xml/etree/ElementTree.py": "e563b0ad7f1079f7298a2f9fd547cea4", + "build/assets/pylib-apple/xml/etree/ElementTree.py": "885a8459f3d4ea81dc3954a3301548a5", "build/assets/pylib-apple/xml/etree/__init__.py": "82a62c7b190620aa1d3a40cc9ba829a5", "build/assets/pylib-apple/xml/etree/cElementTree.py": "4708b9e01f77cfda41ec333efec138b7", "build/assets/pylib-apple/xml/parsers/__init__.py": "320734d4a3dd5364bd8d2d3d3ad75ff1", "build/assets/pylib-apple/xml/parsers/expat.py": "18689bb5155b639098d83a55ad62d9de", - "build/assets/pylib-apple/xml/sax/__init__.py": "edc76fc9c2c328868771f14cc2cfee27", - "build/assets/pylib-apple/xml/sax/_exceptions.py": "3540d338888633751b11db0324f14020", - "build/assets/pylib-apple/xml/sax/expatreader.py": "fdb16c570f98c5153cde642d5095e604", + "build/assets/pylib-apple/xml/sax/__init__.py": "a0f081a762804146e043e41db3b5852b", + "build/assets/pylib-apple/xml/sax/_exceptions.py": "47e2e96cd8e70ec83e0fc123dd8538f2", + "build/assets/pylib-apple/xml/sax/expatreader.py": "44b22072eda8062a46d81630dccd614e", "build/assets/pylib-apple/xml/sax/handler.py": "f861c1516713c5e8d066f8bbe7bc4b54", "build/assets/pylib-apple/xml/sax/saxutils.py": "895538d082305b1785e4d407a6f37f09", - "build/assets/pylib-apple/xml/sax/xmlreader.py": "a9d0126a36fb7dfe1fbc1ef7de9c5897", + "build/assets/pylib-apple/xml/sax/xmlreader.py": "c457eb153d2076241bb0c883d1a6236a", "build/assets/pylib-apple/xmlrpc/__init__.py": "aa990702e8f3a7af205efb5ae23a7c85", - "build/assets/pylib-apple/xmlrpc/client.py": "8f2cad71c1c87031be073184e71aa405", - "build/assets/pylib-apple/xmlrpc/server.py": "3147663bd28b952eef0e1316b94bacc6", - "build/assets/pylib-apple/zipapp.py": "d92ea793f092af6383a6383678cf7b73", - "build/assets/pylib-apple/zipfile.py": "00671f5cdb9a5ad667efa1dccf0129d3", - "build/assets/pylib-apple/zipimport.py": "6d3b32a7258f670eb71daf3a8492a4f1", + "build/assets/pylib-apple/xmlrpc/client.py": "c1465858891b6ef5ff366d0bd4c2156b", + "build/assets/pylib-apple/xmlrpc/server.py": "168f0d34990d6ed1299c4220176feae5", + "build/assets/pylib-apple/zipapp.py": "b387a3b7e895e342c6927e6daa7ac09e", + "build/assets/pylib-apple/zipfile/__init__.py": "b05c924fac906cf40977088744874cce", + "build/assets/pylib-apple/zipfile/__main__.py": "82cd8a6b351cfa10e323885508ddda56", + "build/assets/pylib-apple/zipfile/_path/__init__.py": "595fff17da7767c6fda1ce996594c9dc", + "build/assets/pylib-apple/zipfile/_path/glob.py": "d5792635c566cdcae37a335f1835dc48", + "build/assets/pylib-apple/zipimport.py": "2773fff8e214ecced3ebfe1296719893", "build/assets/pylib-apple/zoneinfo/__init__.py": "0df5e8a66015e2fe2d77f2e4a5dea1ff", "build/assets/pylib-apple/zoneinfo/_common.py": "5b52bdac4156dcbac96743fa99468bf2", "build/assets/pylib-apple/zoneinfo/_tzpath.py": "f021e91036bd38590f2ce643b59dc881", "build/assets/pylib-apple/zoneinfo/_zoneinfo.py": "d000d61aa8998d0076c37f96cf40ca69", "build/assets/sphinx/static/conf.py": "a7155ede351981500dd219f44ae67531", - "build/assets/windows/Win32/DLLs/_asyncio.pyd": "36024ca5f0f257dd4edfe1a3e92c1a07", - "build/assets/windows/Win32/DLLs/_asyncio_d.pyd": "a809fe3d7f3b6931e5f127821d0d30b6", - "build/assets/windows/Win32/DLLs/_bz2.pyd": "cf535d3d0a020f0ae5ff20336a56ba3b", - "build/assets/windows/Win32/DLLs/_bz2_d.pyd": "2742bb6d7742f34e2c91f24d514b3478", - "build/assets/windows/Win32/DLLs/_ctypes.pyd": "560113ca8dd3d2b53658d4e9898e8737", - "build/assets/windows/Win32/DLLs/_ctypes_d.pyd": "975b3bb720666468f6ed6f626b397b63", - "build/assets/windows/Win32/DLLs/_ctypes_test.pyd": "6a845aa71755d7ca50a8edfc2706d2a7", - "build/assets/windows/Win32/DLLs/_ctypes_test_d.pyd": "2f2ad166bf2119f371f12ce7a4bfeb77", - "build/assets/windows/Win32/DLLs/_decimal.pyd": "80194f122ff6bdf37219c1169a6f76bc", - "build/assets/windows/Win32/DLLs/_decimal_d.pyd": "798c778a1d3e6e11469aec63ae4e770f", - "build/assets/windows/Win32/DLLs/_elementtree.pyd": "7ad07b4ea7717eefe7dda199fe6d695a", - "build/assets/windows/Win32/DLLs/_elementtree_d.pyd": "c9a0ddd68f277c3022ca4db13d9bf3b7", - "build/assets/windows/Win32/DLLs/_hashlib.pyd": "b8d0a6a22d0cebd48b880b230348fbc2", - "build/assets/windows/Win32/DLLs/_hashlib_d.pyd": "6c54c22038014c358dd87b2ab9b497d6", - "build/assets/windows/Win32/DLLs/_lzma.pyd": "bc37f4dc7464ca5a49e59722098f7dc6", - "build/assets/windows/Win32/DLLs/_lzma_d.pyd": "c0a821cb9626eac13c5eb42756d67522", - "build/assets/windows/Win32/DLLs/_msi.pyd": "b39d525fd89e37059765f795799608f0", - "build/assets/windows/Win32/DLLs/_msi_d.pyd": "01797c8c8cf91729fa6ec82ac964f35f", - "build/assets/windows/Win32/DLLs/_multiprocessing.pyd": "22a0e43c5c3abe91bfe87ee6c3e5eead", - "build/assets/windows/Win32/DLLs/_multiprocessing_d.pyd": "3c3b5dc4d97782d185bfdcb346f0f0ea", - "build/assets/windows/Win32/DLLs/_overlapped.pyd": "c5787ba0e23a9bde5a5973ee95aeeb45", - "build/assets/windows/Win32/DLLs/_overlapped_d.pyd": "d0a61fc089be4693388cff6289c74b0a", - "build/assets/windows/Win32/DLLs/_queue.pyd": "4d8362526b7c0f59be1d0497b0c82738", - "build/assets/windows/Win32/DLLs/_queue_d.pyd": "a6606aab8c4d0ae6bc3b65d12836fd5a", - "build/assets/windows/Win32/DLLs/_socket.pyd": "b47b7a0200d9a70bfee20d20aac243c4", - "build/assets/windows/Win32/DLLs/_socket_d.pyd": "2619eefc1b90d206ca6465f9852f15c5", - "build/assets/windows/Win32/DLLs/_sqlite3.pyd": "560eb1d718fb598a84f4750135ad1544", - "build/assets/windows/Win32/DLLs/_sqlite3_d.pyd": "e962c6bdf6b33bad4f4b1a4ba378c666", - "build/assets/windows/Win32/DLLs/_ssl.pyd": "b8dd9a957203d3c587eeb7412f9fc9b4", - "build/assets/windows/Win32/DLLs/_ssl_d.pyd": "987d2a44d1d6b45d97c1459ee87775cb", - "build/assets/windows/Win32/DLLs/_testbuffer.pyd": "53348c590932b14110041295aedcbb42", - "build/assets/windows/Win32/DLLs/_testbuffer_d.pyd": "ce7bc854f481da8315f4642026c32eeb", - "build/assets/windows/Win32/DLLs/_testcapi.pyd": "eab4d97331cf25909affe69c3c1c5566", - "build/assets/windows/Win32/DLLs/_testcapi_d.pyd": "9b581f461b11f786f4cecf5966274974", - "build/assets/windows/Win32/DLLs/_testconsole.pyd": "dbfd00fc7db80486d0f3269660114901", - "build/assets/windows/Win32/DLLs/_testconsole_d.pyd": "6a7f933eef678738c8c719f6150fe04e", - "build/assets/windows/Win32/DLLs/_testimportmultiple.pyd": "4f97481647078ce59921e223b843cb9f", - "build/assets/windows/Win32/DLLs/_testimportmultiple_d.pyd": "f81d62193b35c42e2c00c37c5c5685b2", - "build/assets/windows/Win32/DLLs/_testinternalcapi.pyd": "ffeceb1d8a1f63491b32461d1797c014", - "build/assets/windows/Win32/DLLs/_testinternalcapi_d.pyd": "89712df22d527add5703e0dd381d94d2", - "build/assets/windows/Win32/DLLs/_testmultiphase.pyd": "5f046e9adc56eb8203baba879fbf6c2f", - "build/assets/windows/Win32/DLLs/_testmultiphase_d.pyd": "1a42ba49817be1e100a4116de5fa2429", - "build/assets/windows/Win32/DLLs/_tkinter.pyd": "986bc097824a212958b2bfee1b512ee0", - "build/assets/windows/Win32/DLLs/_tkinter_d.lib": "f59c7519459d21f1f6de055feea8adeb", - "build/assets/windows/Win32/DLLs/_tkinter_d.pyd": "9962b2a5867a20a7d3b14dddd33cb057", - "build/assets/windows/Win32/DLLs/_uuid.pyd": "fe046ab63f30494c4604565a756dcb53", - "build/assets/windows/Win32/DLLs/_uuid_d.pyd": "4752b694b697698918d2221659140294", - "build/assets/windows/Win32/DLLs/_zoneinfo.pyd": "dbb8af677a15a3744b206e09889388e2", - "build/assets/windows/Win32/DLLs/_zoneinfo_d.pyd": "89e97cb632acc54496af45c9eb76767c", - "build/assets/windows/Win32/DLLs/libcrypto-1_1.dll": "c588d94b02736a8b4cc82ef516167d93", + "build/assets/windows/Win32/DLLs/_asyncio.pyd": "d6200b9d2f1a6cf65f92c73cd4af9f34", + "build/assets/windows/Win32/DLLs/_asyncio_d.pyd": "c10a43c8765f9a060450adb77ce1b187", + "build/assets/windows/Win32/DLLs/_bz2.pyd": "facde30bd5093c615391f235f1ad5ba7", + "build/assets/windows/Win32/DLLs/_bz2_d.pyd": "623de8af4766e75cb828e158fe9c5f00", + "build/assets/windows/Win32/DLLs/_ctypes.pyd": "f5a2397204703da29a0713182492b760", + "build/assets/windows/Win32/DLLs/_ctypes_d.pyd": "6b438389a102548f0b664dd009a19fbf", + "build/assets/windows/Win32/DLLs/_ctypes_test.pyd": "51416f628d22861958721761cfd40591", + "build/assets/windows/Win32/DLLs/_ctypes_test_d.pyd": "19b282f18a8cfed112901ad27f80b6ac", + "build/assets/windows/Win32/DLLs/_decimal.pyd": "b670d6fa176b849f306a7a11dce494f9", + "build/assets/windows/Win32/DLLs/_decimal_d.pyd": "b0d185c274f05bf2f02276139073c52b", + "build/assets/windows/Win32/DLLs/_elementtree.pyd": "2cf58ae2834fbfdfd999de24a4dd62b4", + "build/assets/windows/Win32/DLLs/_elementtree_d.pyd": "b4cc21ac2a6408591d8f69bc3383135f", + "build/assets/windows/Win32/DLLs/_hashlib.pyd": "3d2bdc52152c93f711c00daa2a18b373", + "build/assets/windows/Win32/DLLs/_hashlib_d.pyd": "521c10f92ebc00871993fb289d611f87", + "build/assets/windows/Win32/DLLs/_lzma.pyd": "d68d59304f97826492c886878f0e0006", + "build/assets/windows/Win32/DLLs/_lzma_d.pyd": "9c34d9f1233db02922f907d15bcd6496", + "build/assets/windows/Win32/DLLs/_msi.pyd": "61d91a41a212edae7abb5292528eea72", + "build/assets/windows/Win32/DLLs/_msi_d.pyd": "6b8f4b97850403f97764dd9dafae4e4e", + "build/assets/windows/Win32/DLLs/_multiprocessing.pyd": "7b7da3895d47ab9b5c340604d4e912f5", + "build/assets/windows/Win32/DLLs/_multiprocessing_d.pyd": "20c5e4b9f6354ead73bfe1338f019c7b", + "build/assets/windows/Win32/DLLs/_overlapped.pyd": "8fd7b6efaffceb3f7e37a9a556fc813b", + "build/assets/windows/Win32/DLLs/_overlapped_d.pyd": "3f59f889a00a34c5597f33ddb49af5d7", + "build/assets/windows/Win32/DLLs/_queue.pyd": "1617fa61bad54b3d61d37b89232b751d", + "build/assets/windows/Win32/DLLs/_queue_d.pyd": "67c018c6cd6f0df8fa1bbe1c95909325", + "build/assets/windows/Win32/DLLs/_socket.pyd": "32e6fa024c973ed9c31e34329e1be873", + "build/assets/windows/Win32/DLLs/_socket_d.pyd": "2c075f6749e6791479aa1cc161d56d72", + "build/assets/windows/Win32/DLLs/_sqlite3.pyd": "497ab198a7ed5a650dfabcd02956c4e5", + "build/assets/windows/Win32/DLLs/_sqlite3_d.pyd": "6ea623939dab34896c2db59688a93ccd", + "build/assets/windows/Win32/DLLs/_ssl.pyd": "ec341f56cabc66b829e744690a7fe4bb", + "build/assets/windows/Win32/DLLs/_ssl_d.pyd": "4f0e26fa12ebdbe181980c19a38a676a", + "build/assets/windows/Win32/DLLs/_testbuffer.pyd": "393cc0990e3db66ccea3a8e1f44be8ea", + "build/assets/windows/Win32/DLLs/_testbuffer_d.pyd": "6220862ba41d423d16379adced2dde99", + "build/assets/windows/Win32/DLLs/_testcapi.pyd": "6a72448d8bab258afd560c68016527c3", + "build/assets/windows/Win32/DLLs/_testcapi_d.pyd": "6d6b2275db508a4bdc6b2017ab8e14f6", + "build/assets/windows/Win32/DLLs/_testclinic.pyd": "15ae08e197d157dd5fda76b90fe1314d", + "build/assets/windows/Win32/DLLs/_testclinic_d.pyd": "fa93c5a01becf49e75e4a6d325e5e0a8", + "build/assets/windows/Win32/DLLs/_testconsole.pyd": "c4db1f648d8e56ff47ccbaad8739921f", + "build/assets/windows/Win32/DLLs/_testconsole_d.pyd": "c42901b62c869207d853c163142ba6dc", + "build/assets/windows/Win32/DLLs/_testimportmultiple.pyd": "4c0f4b047c64b99659ff58af02fa8adc", + "build/assets/windows/Win32/DLLs/_testimportmultiple_d.pyd": "8e8cedea42356eec761f579a868dc95d", + "build/assets/windows/Win32/DLLs/_testinternalcapi.pyd": "9d4758b21bd71d3aa9408a65b78edb75", + "build/assets/windows/Win32/DLLs/_testinternalcapi_d.pyd": "57bde373451db366e07270d383554ddb", + "build/assets/windows/Win32/DLLs/_testmultiphase.pyd": "badda84bb3cfd098009e9e79f0fc2716", + "build/assets/windows/Win32/DLLs/_testmultiphase_d.pyd": "b678052d47705266d5cb6a7ad316c7bc", + "build/assets/windows/Win32/DLLs/_testsinglephase.pyd": "af177f3cd836c57668a8065f86f771ec", + "build/assets/windows/Win32/DLLs/_testsinglephase_d.pyd": "410aae28caab5d4863f9de37361f830f", + "build/assets/windows/Win32/DLLs/_tkinter.pyd": "704e09df34add2447f4b5e28df11fd9f", + "build/assets/windows/Win32/DLLs/_tkinter_d.lib": "457f33f88e45ae1e57ba2cbcc19d1db2", + "build/assets/windows/Win32/DLLs/_tkinter_d.pyd": "41a8539155704d5ff1016817109673e2", + "build/assets/windows/Win32/DLLs/_uuid.pyd": "d3d60397f83f9f5080f11e13cedb07a6", + "build/assets/windows/Win32/DLLs/_uuid_d.pyd": "70b3dfbfbe63b5060db468297aa61e56", + "build/assets/windows/Win32/DLLs/_wmi.pyd": "261657251728e20f8665dabd8637e0fd", + "build/assets/windows/Win32/DLLs/_wmi_d.pyd": "951fb7b550bbe940b04c0c41e6fd37f4", + "build/assets/windows/Win32/DLLs/_zoneinfo.pyd": "081fcc97976251ec421461ca21d5f63c", + "build/assets/windows/Win32/DLLs/_zoneinfo_d.pyd": "f1bdd6e538dc6ccea90ce39db4d5a7cd", + "build/assets/windows/Win32/DLLs/libcrypto-3.dll": "10205f683ed2716c2d34b18b0cabb952", "build/assets/windows/Win32/DLLs/libffi-8.dll": "add5e4fd0994adea27625d3cb292d517", - "build/assets/windows/Win32/DLLs/libssl-1_1.dll": "9c57632b130a24a07aae68944f16d7b4", - "build/assets/windows/Win32/DLLs/pyexpat.pyd": "b9332bb55fa1ff0fc7892a10e98349d0", - "build/assets/windows/Win32/DLLs/pyexpat_d.pyd": "f483934130b68e6cf2c2c6f19b13f321", - "build/assets/windows/Win32/DLLs/python_lib.cat": "770d26b5e320de7dccf9179f435808c1", - "build/assets/windows/Win32/DLLs/python_tools.cat": "dcfe43811c80ddb0e0c0ba26d7ad6683", - "build/assets/windows/Win32/DLLs/select.pyd": "2ccdd0cc82c9bb590feecea9010d1afb", - "build/assets/windows/Win32/DLLs/select_d.pyd": "0e94eb1e98794a52afc08f215befbedb", - "build/assets/windows/Win32/DLLs/sqlite3.dll": "720be2a8e9e99dc10da20a7332a1895d", - "build/assets/windows/Win32/DLLs/sqlite3_d.dll": "d601e241ec67e90928cbb514b486cf78", - "build/assets/windows/Win32/DLLs/tcl86t.dll": "2989edad0cefc560ce46d9c610fcf002", - "build/assets/windows/Win32/DLLs/tk86t.dll": "5400c27ddead370fed86588e28c1c710", - "build/assets/windows/Win32/DLLs/unicodedata.pyd": "3d3a82e03bfef5a20cc90f6ef9dfdd5d", - "build/assets/windows/Win32/DLLs/unicodedata_d.pyd": "f0a1342830b25380bc488dafbbec8c8a", - "build/assets/windows/Win32/DLLs/winsound.pyd": "ff30442580f8007d8e3cf249065be504", - "build/assets/windows/Win32/DLLs/winsound_d.pyd": "61bfae0b4550628962383115a678a3a7", + "build/assets/windows/Win32/DLLs/libssl-3.dll": "8d806beba7a2774910a04ec8b1920228", + "build/assets/windows/Win32/DLLs/pyexpat.pyd": "c6a4f03592e3faec39d3aeb3cadbcbb8", + "build/assets/windows/Win32/DLLs/pyexpat_d.pyd": "a9f7fcb5ca24b37361e7ffa2b0e05033", + "build/assets/windows/Win32/DLLs/python_lib.cat": "aebea0475d054851cee4695976eead03", + "build/assets/windows/Win32/DLLs/select.pyd": "df2d690ce071da84e3c432517403ef1c", + "build/assets/windows/Win32/DLLs/select_d.pyd": "033f90e4657da91b0f3cb7f2e88acc17", + "build/assets/windows/Win32/DLLs/sqlite3.dll": "960cfd5011c87271c3a6d925cb585292", + "build/assets/windows/Win32/DLLs/sqlite3_d.dll": "3e46cfd0288e45d3ecb2767c59c2b8f0", + "build/assets/windows/Win32/DLLs/tcl86t.dll": "631b48d5aaa9b3a63af5787eb7e7ecd1", + "build/assets/windows/Win32/DLLs/tk86t.dll": "abb8f82c017931e73698ad40a2b7472e", + "build/assets/windows/Win32/DLLs/unicodedata.pyd": "db52a6d12283916ea1ebfae7366a6e73", + "build/assets/windows/Win32/DLLs/unicodedata_d.pyd": "dc9c9ce32757c0b929f2096f631b433c", + "build/assets/windows/Win32/DLLs/winsound.pyd": "c800a16c594e2367f7330239542342c3", + "build/assets/windows/Win32/DLLs/winsound_d.pyd": "7d2bfbb555e11eaf21630e7705acc3f3", + "build/assets/windows/Win32/DLLs/zlib1.dll": "22edbf379459a26bd793f97a77818e1b", "build/assets/windows/Win32/Lib/__future__.py": "fa431443cdb2f89e145ca34ed374c8fb", "build/assets/windows/Win32/Lib/__hello__.py": "945039e2ba3b437621f13a4ae5974173", - "build/assets/windows/Win32/Lib/_aix_support.py": "f618be7a108eeb416af4c66c47776b3d", - "build/assets/windows/Win32/Lib/_bootsubprocess.py": "68a5e16ecae3b0b9fb479e351f6d24c0", - "build/assets/windows/Win32/Lib/_collections_abc.py": "258d56c370cb9967418ec759cfb005b7", + "build/assets/windows/Win32/Lib/_aix_support.py": "1b7a5fc71771254d200c503b23803b90", + "build/assets/windows/Win32/Lib/_collections_abc.py": "9c909b070062aab3119c3d7ca30fc146", "build/assets/windows/Win32/Lib/_compat_pickle.py": "7219c3b86988b7db7f087dbf04568979", "build/assets/windows/Win32/Lib/_compression.py": "2ef9a3240a15664c6c5497048870c3c6", "build/assets/windows/Win32/Lib/_markupbase.py": "3bcbdc5aa75d0b02cc0891bc3590de45", - "build/assets/windows/Win32/Lib/_osx_support.py": "f0a79c1aa27709024dc0cd72565a6c8b", + "build/assets/windows/Win32/Lib/_osx_support.py": "c2abd7910469b5b845967fcb9fe14c07", "build/assets/windows/Win32/Lib/_py_abc.py": "571f62cfdffd6279656fb4c0705cd84f", - "build/assets/windows/Win32/Lib/_pydecimal.py": "66f56c7b346bc35589c7c21b3ac5bbb8", - "build/assets/windows/Win32/Lib/_pyio.py": "7e4e18f3802a8404ed6e559efadaeac8", + "build/assets/windows/Win32/Lib/_pydatetime.py": "81301471249a54da7ee24bf36fd664f8", + "build/assets/windows/Win32/Lib/_pydecimal.py": "79b9ce1e0cd6b57a95f4ad4f1d91b3cd", + "build/assets/windows/Win32/Lib/_pyio.py": "31fff03b28770cde8e1c1f9ddd88b5c0", + "build/assets/windows/Win32/Lib/_pylong.py": "5948739fb11d787947aaec2040b578cd", "build/assets/windows/Win32/Lib/_sitebuiltins.py": "319ebfe45484d5f642ffe0d17c75cada", - "build/assets/windows/Win32/Lib/_strptime.py": "9ca78a77f23710f30d074a128f971b2a", + "build/assets/windows/Win32/Lib/_strptime.py": "c2e2226e2a4160b5e583241844a9c8b8", "build/assets/windows/Win32/Lib/_threading_local.py": "d728c39eeb1e1f847f63153f74227668", "build/assets/windows/Win32/Lib/_weakrefset.py": "bb8d0977e707d2d3335bab70248c105c", - "build/assets/windows/Win32/Lib/abc.py": "fe5bf21a189a6fdcf4730906625a23e6", + "build/assets/windows/Win32/Lib/abc.py": "80151ab0b06f1d0e58f5b82ee9301a1c", "build/assets/windows/Win32/Lib/aifc.py": "d03f1a814836871c815ca4ec555c0f4c", "build/assets/windows/Win32/Lib/antigravity.py": "1f197aa12683a28f3e1c374ef0861dc2", - "build/assets/windows/Win32/Lib/argparse.py": "e06afef9e361815d396f032dc4c8dd2b", - "build/assets/windows/Win32/Lib/ast.py": "b387eb3b7b41213f8579941a1b4efaeb", - "build/assets/windows/Win32/Lib/asynchat.py": "0f487b167f22293a3bd8d1ef1443263c", - "build/assets/windows/Win32/Lib/asyncio/__init__.py": "33b01ebf1c790e26092d9bcc317589e6", + "build/assets/windows/Win32/Lib/argparse.py": "90fd6752f1164c3783ea9b179df9c825", + "build/assets/windows/Win32/Lib/ast.py": "42971deb4069729a8923f417c115d168", + "build/assets/windows/Win32/Lib/asyncio/__init__.py": "dd116953fb385eb10890a309a3e82de6", "build/assets/windows/Win32/Lib/asyncio/__main__.py": "46081e642d868f97becc00cfbf2166f7", - "build/assets/windows/Win32/Lib/asyncio/base_events.py": "b9323e9af89aeedd3d109c7dbb7966ad", - "build/assets/windows/Win32/Lib/asyncio/base_futures.py": "00f2942d96bf11921f1a6c371377bec3", + "build/assets/windows/Win32/Lib/asyncio/base_events.py": "9e3d8bc0327569bdef4a2ba8d7d447c2", + "build/assets/windows/Win32/Lib/asyncio/base_futures.py": "8a4f670897a444853653a62930638190", "build/assets/windows/Win32/Lib/asyncio/base_subprocess.py": "06d35c71af4164a59770815a4af3aa30", - "build/assets/windows/Win32/Lib/asyncio/base_tasks.py": "281707ad99fa72b51f841cae69f61e0d", - "build/assets/windows/Win32/Lib/asyncio/constants.py": "46c41dd7b83345e84ba1515925a01546", - "build/assets/windows/Win32/Lib/asyncio/coroutines.py": "2ebb0c1f8196b7cf531795e217bd2a1b", - "build/assets/windows/Win32/Lib/asyncio/events.py": "65c0c7974aca2497c0a3409fbd572977", + "build/assets/windows/Win32/Lib/asyncio/base_tasks.py": "8b31e7def03a9b53e0d5a0c8bc0141f4", + "build/assets/windows/Win32/Lib/asyncio/constants.py": "6e2938028721a1e886dfb9325bfb9c0a", + "build/assets/windows/Win32/Lib/asyncio/coroutines.py": "38bae71c8ba55ec747255dcf5cee4e0f", + "build/assets/windows/Win32/Lib/asyncio/events.py": "9e0cd791e4cf634e4513c6f4682bee73", "build/assets/windows/Win32/Lib/asyncio/exceptions.py": "abbe69f9f1f76c5e14d8a6502f981f41", "build/assets/windows/Win32/Lib/asyncio/format_helpers.py": "94e6e139c5895dad46b62301cdb055dd", - "build/assets/windows/Win32/Lib/asyncio/futures.py": "d1f485f994ab76f4eda521bfa85a87ce", - "build/assets/windows/Win32/Lib/asyncio/locks.py": "20d30060338f823f644345fbbf3e6060", + "build/assets/windows/Win32/Lib/asyncio/futures.py": "bfafee417af4cb76c44b571b4c38523b", + "build/assets/windows/Win32/Lib/asyncio/locks.py": "3f11494a6853b417396f87aaa8d7034e", "build/assets/windows/Win32/Lib/asyncio/log.py": "4a2916885c157052d18b8ffaa46bba2c", "build/assets/windows/Win32/Lib/asyncio/mixins.py": "32d733fe6d90dba53409b26f9b3745da", - "build/assets/windows/Win32/Lib/asyncio/proactor_events.py": "5929f4a0db2201486cccf62975645584", + "build/assets/windows/Win32/Lib/asyncio/proactor_events.py": "a1962a126a59d48181443c5a26294c75", "build/assets/windows/Win32/Lib/asyncio/protocols.py": "fee90d0bdaf784a4005c391066279bca", "build/assets/windows/Win32/Lib/asyncio/queues.py": "3eab9ccabc902d551f3a7d47933b6c6d", - "build/assets/windows/Win32/Lib/asyncio/runners.py": "7fc486b2b89e2cfe0101aebcbae56af7", - "build/assets/windows/Win32/Lib/asyncio/selector_events.py": "67c76e6039ec42451dbf8a08f94cc20b", - "build/assets/windows/Win32/Lib/asyncio/sslproto.py": "2434f1328ca8e1e24eeecbe39f769b88", + "build/assets/windows/Win32/Lib/asyncio/runners.py": "4a9dfc6547e96f1125c1b25fda003bf6", + "build/assets/windows/Win32/Lib/asyncio/selector_events.py": "e42f1ac19191f9315b0d80ea94f3a14e", + "build/assets/windows/Win32/Lib/asyncio/sslproto.py": "26f5df2eaf3eaf5758eb425839591c46", "build/assets/windows/Win32/Lib/asyncio/staggered.py": "28b9ece61372b27a47996aac663f244b", - "build/assets/windows/Win32/Lib/asyncio/streams.py": "c4943c41fce3eb0831dc34704f779173", - "build/assets/windows/Win32/Lib/asyncio/subprocess.py": "c5b4683e796109f3b6e51c9489de7d25", - "build/assets/windows/Win32/Lib/asyncio/taskgroups.py": "7ded4b7542361a94d00c2c8e6c389d6d", - "build/assets/windows/Win32/Lib/asyncio/tasks.py": "756c3d7b06740ba536c24c79d35f5a7c", + "build/assets/windows/Win32/Lib/asyncio/streams.py": "a7563e85e7229307465c6f7c3c478b11", + "build/assets/windows/Win32/Lib/asyncio/subprocess.py": "667309315d74b3d93884b65df1806112", + "build/assets/windows/Win32/Lib/asyncio/taskgroups.py": "e2a99de6fe5b448c6ec290f525256863", + "build/assets/windows/Win32/Lib/asyncio/tasks.py": "9194674f4b7d193302e4298b25d5466c", "build/assets/windows/Win32/Lib/asyncio/threads.py": "19978e7e575a5736581a948f2aa43f06", - "build/assets/windows/Win32/Lib/asyncio/timeouts.py": "cc43cf1120eebd93c4c273271c9b4bc4", + "build/assets/windows/Win32/Lib/asyncio/timeouts.py": "c19c9d800f10619b9ec332af06df577a", "build/assets/windows/Win32/Lib/asyncio/transports.py": "8a95410f0a8af302302d9f6403b9a804", "build/assets/windows/Win32/Lib/asyncio/trsock.py": "04065813c0df37fa2e8c92861398e91b", - "build/assets/windows/Win32/Lib/asyncio/unix_events.py": "aa57a5055b164836a090f4245a226302", - "build/assets/windows/Win32/Lib/asyncio/windows_events.py": "168458ae0f968dcf0d37c1dd2e13bc0c", + "build/assets/windows/Win32/Lib/asyncio/unix_events.py": "1fff382ab51898592309444e9add3e83", + "build/assets/windows/Win32/Lib/asyncio/windows_events.py": "1ab1706e0b85623e4c31bdaa2a478fbd", "build/assets/windows/Win32/Lib/asyncio/windows_utils.py": "fbe727afd09a759384684cef34e3d280", - "build/assets/windows/Win32/Lib/asyncore.py": "d9a5d43b5567d0b7a86ab1dade90cfe3", - "build/assets/windows/Win32/Lib/base64.py": "dbcd846c72ddfd68de7da4bc6f547acf", - "build/assets/windows/Win32/Lib/bdb.py": "df3730b9f17ee5d6239e8f3cafbd1ee2", - "build/assets/windows/Win32/Lib/bisect.py": "1052ec3b15ca76f95adbb0efaa4936ce", + "build/assets/windows/Win32/Lib/base64.py": "1c135bb7429ec20d89a673949a66f3b0", + "build/assets/windows/Win32/Lib/bdb.py": "9d84866fefc59a2f626f71480300dd2f", + "build/assets/windows/Win32/Lib/bisect.py": "d5b425e28c1f8c278d83823d10823aa8", "build/assets/windows/Win32/Lib/bz2.py": "baf199333fac6274d5a35e08efb80e2d", - "build/assets/windows/Win32/Lib/cProfile.py": "8db3db63b21e7c88e1a56c0cd8a27f4a", - "build/assets/windows/Win32/Lib/calendar.py": "6fc1c91468dce664b9521757752cb429", + "build/assets/windows/Win32/Lib/cProfile.py": "d8d1a11c94fe294d959d59f3c9df74bd", + "build/assets/windows/Win32/Lib/calendar.py": "2c244158ee31601c4c9c3068c03f5992", "build/assets/windows/Win32/Lib/cgi.py": "e8f008c333fd45a3ae17be54dff3e988", - "build/assets/windows/Win32/Lib/cgitb.py": "616dbca7209faf0b13d9d6f849a7ed65", + "build/assets/windows/Win32/Lib/cgitb.py": "210e2dd85351c618207d7a339b2e4278", "build/assets/windows/Win32/Lib/chunk.py": "f23e91a3db4e72b78fa0bb27367e55b6", "build/assets/windows/Win32/Lib/cmd.py": "2d96978495135230bf3206f719aa17a1", - "build/assets/windows/Win32/Lib/code.py": "7fea25b8921ef753b2337aa40f7b24d0", - "build/assets/windows/Win32/Lib/codecs.py": "61be62a9e187fc1232c269f16a544601", - "build/assets/windows/Win32/Lib/codeop.py": "3a92a0b014bdbc98716fc116b5cceca2", - "build/assets/windows/Win32/Lib/collections/__init__.py": "3d6d4dfb4faba8ed821dc1a26831b4a4", + "build/assets/windows/Win32/Lib/code.py": "dd2e6de6365cc3c83a125cb1597d711c", + "build/assets/windows/Win32/Lib/codecs.py": "df296f6579696c337f7197825b02d688", + "build/assets/windows/Win32/Lib/codeop.py": "00fe8452dc883cc6a11bb1ec4bcd3d12", + "build/assets/windows/Win32/Lib/collections/__init__.py": "3706797bde0b38b4cea08eccd2a29012", "build/assets/windows/Win32/Lib/collections/abc.py": "fa570434263d345a8060251dcc1496d8", - "build/assets/windows/Win32/Lib/colorsys.py": "8d567ec87c27f3d415c809432bdcb4ef", - "build/assets/windows/Win32/Lib/compileall.py": "5e88d460781254362f046bfcaf31357d", + "build/assets/windows/Win32/Lib/colorsys.py": "5a90b1713728aad7432ffd75b4c99577", + "build/assets/windows/Win32/Lib/compileall.py": "5340d67297feb6d3ae731fe68890cf52", "build/assets/windows/Win32/Lib/concurrent/__init__.py": "a1763d550a676bb6d5ac49f848394a75", "build/assets/windows/Win32/Lib/concurrent/futures/__init__.py": "bff30824c77101bf134476c1b34720c9", "build/assets/windows/Win32/Lib/concurrent/futures/_base.py": "4c2b4954e9af3850bc2d8f2683e68dd9", - "build/assets/windows/Win32/Lib/concurrent/futures/process.py": "0cfe1a81e775b1faf429ee846811bcb1", - "build/assets/windows/Win32/Lib/concurrent/futures/thread.py": "d5f6c0311a02c6eac15c245ae0912b41", - "build/assets/windows/Win32/Lib/configparser.py": "13f29dedf00abfa1d94d460ab1be05b3", - "build/assets/windows/Win32/Lib/contextlib.py": "36570d35cef63201f841a87c917b9a64", + "build/assets/windows/Win32/Lib/concurrent/futures/process.py": "3c9a6d0b7847ea5e770f76ef7ac549c3", + "build/assets/windows/Win32/Lib/concurrent/futures/thread.py": "0fbaef5db0f7289ee36e9f9ca48249bc", + "build/assets/windows/Win32/Lib/configparser.py": "2d42c768057fe603da46d91c19083818", + "build/assets/windows/Win32/Lib/contextlib.py": "65177d8878e295f1fba8071b66ca2f7e", "build/assets/windows/Win32/Lib/contextvars.py": "2b57f9509deec34bdcc0d68b15f4c56d", - "build/assets/windows/Win32/Lib/copy.py": "878ee9ac0e196270537fc6f1372d7569", - "build/assets/windows/Win32/Lib/copyreg.py": "44eb4b335fbb03f965bcb37b3eb872d9", + "build/assets/windows/Win32/Lib/copy.py": "b36515078390399b0591e6652b7f6b29", + "build/assets/windows/Win32/Lib/copyreg.py": "198f19e7b39d76e841f7b7e55cad0eea", "build/assets/windows/Win32/Lib/crypt.py": "8b8dbcac724ca23660394ecf3e3fc880", - "build/assets/windows/Win32/Lib/csv.py": "e102feae436f17ab2beb5eaf636331e7", - "build/assets/windows/Win32/Lib/ctypes/__init__.py": "b1226c2b1f7fec64834f00134d10785a", - "build/assets/windows/Win32/Lib/ctypes/_aix.py": "21faca975417035fa5a4a002161db818", - "build/assets/windows/Win32/Lib/ctypes/_endian.py": "cb4baf786e4e062fb9f4d7ac74dc27e9", + "build/assets/windows/Win32/Lib/csv.py": "f0c07b7357871e850fa6529937e1b276", + "build/assets/windows/Win32/Lib/ctypes/__init__.py": "4b9a758982bdacb6c4a48947c8ae487e", + "build/assets/windows/Win32/Lib/ctypes/_aix.py": "d0692faac3ff345491130890cd0cb0b6", + "build/assets/windows/Win32/Lib/ctypes/_endian.py": "a18be1853b76bf255f0a4bad0fe20b0b", "build/assets/windows/Win32/Lib/ctypes/macholib/__init__.py": "50d810daab87b8becccfe6039c31f3cd", "build/assets/windows/Win32/Lib/ctypes/macholib/dyld.py": "42fc603db00a44571bc508104bedb873", "build/assets/windows/Win32/Lib/ctypes/macholib/dylib.py": "af1f2399fc8df5e350d7a65318977dcf", "build/assets/windows/Win32/Lib/ctypes/macholib/framework.py": "5f496e888d76fa24107079de85749689", - "build/assets/windows/Win32/Lib/ctypes/util.py": "93d9e5c1c46e6e84291ec10a15641538", - "build/assets/windows/Win32/Lib/ctypes/wintypes.py": "25a1f4314b059a24cb47659f6b7bf3ef", + "build/assets/windows/Win32/Lib/ctypes/util.py": "8675126192759af584da3446df959be5", + "build/assets/windows/Win32/Lib/ctypes/wintypes.py": "81e34d9725fc4b57ba3aec96ca96bd56", "build/assets/windows/Win32/Lib/curses/__init__.py": "3acc0fa316f37311bfa8d0cbb4aeac98", - "build/assets/windows/Win32/Lib/curses/ascii.py": "70d7fcaf61929b9ee9da399e40d87972", + "build/assets/windows/Win32/Lib/curses/ascii.py": "09af3344511269ece467e21e3bcfe983", "build/assets/windows/Win32/Lib/curses/has_key.py": "49cf9984c4dfb2af6f689a0f837a06e0", "build/assets/windows/Win32/Lib/curses/panel.py": "06f34add65abbaed2a6ac50fe10b14d8", - "build/assets/windows/Win32/Lib/curses/textpad.py": "23cc43602831c6a9e53699adac94cca1", - "build/assets/windows/Win32/Lib/dataclasses.py": "27161ff5bb5c59b6a12f0aead81c838b", - "build/assets/windows/Win32/Lib/datetime.py": "ca28963b420a4f1a7aa40e26d5cb0ab2", + "build/assets/windows/Win32/Lib/curses/textpad.py": "dbf68c87f03a63dc75f4324a4bf8a85a", + "build/assets/windows/Win32/Lib/dataclasses.py": "1e08778d005b1b96600e5870a58ebcce", + "build/assets/windows/Win32/Lib/datetime.py": "2863ea33ca73ed627be00967ed1b4c54", "build/assets/windows/Win32/Lib/decimal.py": "b411f825f78657b08740590fe1f57e09", "build/assets/windows/Win32/Lib/difflib.py": "27187330aa382868805ddc412f3105c0", - "build/assets/windows/Win32/Lib/dis.py": "8a7de27de5ab9f03857445c4380b3864", - "build/assets/windows/Win32/Lib/doctest.py": "e6e93d5c8f105103e919c1b355416af6", - "build/assets/windows/Win32/Lib/email/__init__.py": "bc395fc9067a88eff1e848c1f308fb28", + "build/assets/windows/Win32/Lib/dis.py": "ebda97c97a336b99c57679b275da2e92", + "build/assets/windows/Win32/Lib/doctest.py": "df2e40e4166e38029d88d11d7b4e7640", + "build/assets/windows/Win32/Lib/email/__init__.py": "e2e366d6032626f39ca83b7f56e8d5af", "build/assets/windows/Win32/Lib/email/_encoded_words.py": "34381d774fa1a7134ccf76d5ccceef1e", - "build/assets/windows/Win32/Lib/email/_header_value_parser.py": "bffdc9dd9025c16c5940508173b22248", + "build/assets/windows/Win32/Lib/email/_header_value_parser.py": "44cc5249b30a5488c804d614a4fab6b3", "build/assets/windows/Win32/Lib/email/_parseaddr.py": "797f8ae24b95c3fdd6a6a5d2d0a13506", "build/assets/windows/Win32/Lib/email/_policybase.py": "69b4885573ed1cdaef626292260f8c0d", "build/assets/windows/Win32/Lib/email/architecture.rst": "2e6e6ff48eb00d9472036bb58df2683d", - "build/assets/windows/Win32/Lib/email/base64mime.py": "0258067f067387e349729ead4ec45cf8", - "build/assets/windows/Win32/Lib/email/charset.py": "1d5fa1f4a67ee3cdad5d37b605d264ff", + "build/assets/windows/Win32/Lib/email/base64mime.py": "940d660bddcf920467b5ca2bff9abfd4", + "build/assets/windows/Win32/Lib/email/charset.py": "c93a88e7f15c583aa3affdf07791bce9", "build/assets/windows/Win32/Lib/email/contentmanager.py": "882adb28c9ef99cba9e18488aa4a7feb", - "build/assets/windows/Win32/Lib/email/encoders.py": "ac45b147a46fd6134829360fc04e7faf", + "build/assets/windows/Win32/Lib/email/encoders.py": "457e08ff022a9f050714dd2aaed225b8", "build/assets/windows/Win32/Lib/email/errors.py": "ddbb171b230bf413aae93f419693dbb9", - "build/assets/windows/Win32/Lib/email/feedparser.py": "13f6c2d2055cf5cce929da1cbde0d49d", - "build/assets/windows/Win32/Lib/email/generator.py": "ad35328f0abb99aa84e49db589df642e", - "build/assets/windows/Win32/Lib/email/header.py": "fc77bf472e4ec4de45001f42a13dca2d", + "build/assets/windows/Win32/Lib/email/feedparser.py": "bb22ff3470f0140cdcccb23fb494a68a", + "build/assets/windows/Win32/Lib/email/generator.py": "dfabc694df6311708fcba9c34c61c360", + "build/assets/windows/Win32/Lib/email/header.py": "01ce99d0ce458e10cf9b3c67c0f83359", "build/assets/windows/Win32/Lib/email/headerregistry.py": "4ee0b0e20e7ee48de360abdbadb1be2f", - "build/assets/windows/Win32/Lib/email/iterators.py": "173ee248fea705b3e4897b3a789dc420", - "build/assets/windows/Win32/Lib/email/message.py": "ebcee718c28aaa3ba7b64bd6820f5bed", + "build/assets/windows/Win32/Lib/email/iterators.py": "388462f1cf6b24d0629af434c89652e9", + "build/assets/windows/Win32/Lib/email/message.py": "446f90d33c8e2c195a1fd5eaa208443a", "build/assets/windows/Win32/Lib/email/mime/__init__.py": "340c83beff7dcff8f5c7b87cd43cedaf", "build/assets/windows/Win32/Lib/email/mime/application.py": "5c0e693ab28b46dffc7c3df34e037da6", "build/assets/windows/Win32/Lib/email/mime/audio.py": "ff5e73dfb6d60603e22c3f13f9807c5f", - "build/assets/windows/Win32/Lib/email/mime/base.py": "8009041a1112df8ef88e20a1a1fd35d6", + "build/assets/windows/Win32/Lib/email/mime/base.py": "dafe5fa1c16dd2b1f449ca1929cfdb78", "build/assets/windows/Win32/Lib/email/mime/image.py": "dc81b5479197771c2e821f87a73571d2", - "build/assets/windows/Win32/Lib/email/mime/message.py": "c65a2cc98551e26853217fdc80d91ce3", - "build/assets/windows/Win32/Lib/email/mime/multipart.py": "c7c07904eda6675bb6d1dca6d31fc216", - "build/assets/windows/Win32/Lib/email/mime/nonmultipart.py": "289e3b0165bc59a57dc09d42c7dab384", - "build/assets/windows/Win32/Lib/email/mime/text.py": "69b632216ec669b20f472b993fdfd18e", - "build/assets/windows/Win32/Lib/email/parser.py": "298134b8fd5f16742344cb5d7cea69b9", - "build/assets/windows/Win32/Lib/email/policy.py": "751b5fbe98e1e32b5d5abdf74c98cbc8", + "build/assets/windows/Win32/Lib/email/mime/message.py": "19ebc144d5aa2c82f3779bc93fe43d2d", + "build/assets/windows/Win32/Lib/email/mime/multipart.py": "ff1b3e481d98ac02b5d8a46d98c5942c", + "build/assets/windows/Win32/Lib/email/mime/nonmultipart.py": "1bf2b651760f1ddb48e21f7d100b2734", + "build/assets/windows/Win32/Lib/email/mime/text.py": "70436eda8bb24bfb9214d4cda6a9cbe5", + "build/assets/windows/Win32/Lib/email/parser.py": "38fb10678ae9de5247594afb06098545", + "build/assets/windows/Win32/Lib/email/policy.py": "cd02b8d233e18e55b0287288c8b4b871", "build/assets/windows/Win32/Lib/email/quoprimime.py": "66f0e9cfe5151d76e246c1de56899061", - "build/assets/windows/Win32/Lib/email/utils.py": "4dfc2f60dc556ca5b6d8caa356544343", + "build/assets/windows/Win32/Lib/email/utils.py": "2357e29ff0ab95613f5a41062fd4bcd6", "build/assets/windows/Win32/Lib/encodings/__init__.py": "76a8b4455123dfea7f30028dbdf9e14a", "build/assets/windows/Win32/Lib/encodings/aliases.py": "54dfc02248088a3371b57caf0498c24c", "build/assets/windows/Win32/Lib/encodings/ascii.py": "3428503ab8e57db1e654e6a7a6730671", @@ -3785,7 +3774,7 @@ "build/assets/windows/Win32/Lib/encodings/hex_codec.py": "0efa4764167845190a7595ce191d50f9", "build/assets/windows/Win32/Lib/encodings/hp_roman8.py": "d8ce099e7b8e804230a42872c232d305", "build/assets/windows/Win32/Lib/encodings/hz.py": "ad1c8efdae3c468ff14b41046cd198ea", - "build/assets/windows/Win32/Lib/encodings/idna.py": "4a330020df438769672add6b51973d63", + "build/assets/windows/Win32/Lib/encodings/idna.py": "984c57d253f77d4d8118fca868310ec4", "build/assets/windows/Win32/Lib/encodings/iso2022_jp.py": "653db9f44279ab6328b167a194193746", "build/assets/windows/Win32/Lib/encodings/iso2022_jp_1.py": "94e58a4ed862c7c9f0347b6303c1e58e", "build/assets/windows/Win32/Lib/encodings/iso2022_jp_2.py": "dba37d7836612e7cb15d41754ddf48ef", @@ -3849,266 +3838,268 @@ "build/assets/windows/Win32/Lib/encodings/utf_8_sig.py": "967f93eb4613619338c9186b4c5ea69b", "build/assets/windows/Win32/Lib/encodings/uu_codec.py": "254cd6bf834e57955dc074f931697b17", "build/assets/windows/Win32/Lib/encodings/zlib_codec.py": "39880fea3cdf2d6fba21e277358287aa", - "build/assets/windows/Win32/Lib/enum.py": "080ca500be8c8840dedfc3148ae66174", - "build/assets/windows/Win32/Lib/filecmp.py": "1cdaad1f90a8a05fc0348aada4eec295", + "build/assets/windows/Win32/Lib/enum.py": "733689f7c63f92aa0f05eb248e23bc38", + "build/assets/windows/Win32/Lib/filecmp.py": "3c926fdd7eb886f396e8513b17e937a2", "build/assets/windows/Win32/Lib/fileinput.py": "c945a0d3ce429a595165c9fa8f077674", "build/assets/windows/Win32/Lib/fnmatch.py": "709a22732944e9c1d01fe30e09ab4546", - "build/assets/windows/Win32/Lib/fractions.py": "246268a6bc93e0d21a70a0c8b371b43d", - "build/assets/windows/Win32/Lib/ftplib.py": "4ea11c7d66a3e502706732fc5e28a7b1", - "build/assets/windows/Win32/Lib/functools.py": "1bb730b0ca61e4f7540475acf0826047", - "build/assets/windows/Win32/Lib/genericpath.py": "02c815ee7e5753526d0685b9568137d7", - "build/assets/windows/Win32/Lib/getopt.py": "01a4860defe1d9e2d79d407cea1ef4d4", + "build/assets/windows/Win32/Lib/fractions.py": "785131cff33c87253bb21e18e52672c0", + "build/assets/windows/Win32/Lib/ftplib.py": "5cfe80a1dec9366b369d1b16e5d278a1", + "build/assets/windows/Win32/Lib/functools.py": "043d5f2de5f764d06f1609c20c24841a", + "build/assets/windows/Win32/Lib/genericpath.py": "79af76c0d44bd8fea7d789af98572678", + "build/assets/windows/Win32/Lib/getopt.py": "433199527d43fe6614176a0e13483519", "build/assets/windows/Win32/Lib/getpass.py": "a4ca93e18ef84af3ef4cd660fb792d19", - "build/assets/windows/Win32/Lib/gettext.py": "521b1bff04ea722edd8fd1480f9e16c3", - "build/assets/windows/Win32/Lib/glob.py": "83e3e9e88081ad328f6b588398804ca3", + "build/assets/windows/Win32/Lib/gettext.py": "ab30188eaa83966e7d77b7dd828d496e", + "build/assets/windows/Win32/Lib/glob.py": "03dee0d3aaca277c36375a6679439455", "build/assets/windows/Win32/Lib/graphlib.py": "7e334216161cace5c3845ecc2c1503ac", - "build/assets/windows/Win32/Lib/gzip.py": "84ddaec2967a488173621f2777d87587", - "build/assets/windows/Win32/Lib/hashlib.py": "538b3ccdfdeb0c9c3fb52b3567e2283d", + "build/assets/windows/Win32/Lib/gzip.py": "501ebde531690c6a136753d646414afe", + "build/assets/windows/Win32/Lib/hashlib.py": "419b9e23b117c011d34d1a8fe3084a90", "build/assets/windows/Win32/Lib/heapq.py": "27487a7721004cc13c71ed938ed0e514", - "build/assets/windows/Win32/Lib/hmac.py": "d17bf2dd46d0e2671ea6dfd47c9f4b61", + "build/assets/windows/Win32/Lib/hmac.py": "889b023d1a317d3e52c3d8b769c8ba37", "build/assets/windows/Win32/Lib/html/__init__.py": "b3161643488aa6412b72d97ede6f99f0", - "build/assets/windows/Win32/Lib/html/entities.py": "92f1a59d8dad648b82a675e26d270b6c", - "build/assets/windows/Win32/Lib/html/parser.py": "b364614e14ac702c6ac69c9991bd1b8f", - "build/assets/windows/Win32/Lib/http/__init__.py": "a141acc19735e614127761d6b7c21695", - "build/assets/windows/Win32/Lib/http/client.py": "2666c383d728abdb252c4dea20221f7f", - "build/assets/windows/Win32/Lib/http/cookiejar.py": "1506b3637aab8f0903964f7d1a08eca3", + "build/assets/windows/Win32/Lib/html/entities.py": "dff75be0d162f3ce0fb08d6cd7252710", + "build/assets/windows/Win32/Lib/html/parser.py": "84a8820be95eca20d3e06df54a490c7e", + "build/assets/windows/Win32/Lib/http/__init__.py": "35b771db39ef38790243d2472d559aec", + "build/assets/windows/Win32/Lib/http/client.py": "1ddcbaf29df2aecb70996db41c4b2899", + "build/assets/windows/Win32/Lib/http/cookiejar.py": "c840a39537dfc7adcea9d343f4a27338", "build/assets/windows/Win32/Lib/http/cookies.py": "35a5566e71bc4739320396ea61ad7579", - "build/assets/windows/Win32/Lib/http/server.py": "52c30a29d43f99088b1103973c7a088b", - "build/assets/windows/Win32/Lib/imghdr.py": "8887ce1ec208c02bdfc3901fa94dbb2b", - "build/assets/windows/Win32/Lib/imp.py": "9f0ce0074497c4cac0d255b83f1d8622", - "build/assets/windows/Win32/Lib/importlib/__init__.py": "86b9180c2211a1e9fe65fe69b0b15a2a", - "build/assets/windows/Win32/Lib/importlib/_abc.py": "f0edffce97b6a9e220909fb2000f3774", - "build/assets/windows/Win32/Lib/importlib/_bootstrap.py": "4584faa9930fb6144e8b919ce9df65bc", - "build/assets/windows/Win32/Lib/importlib/_bootstrap_external.py": "71e158c0f1d8b89c1cfd7d00e11760be", - "build/assets/windows/Win32/Lib/importlib/abc.py": "7faa9ba8972681fbc086d20a1cb531d4", + "build/assets/windows/Win32/Lib/http/server.py": "16126d95264104e48d320b7446b6e1e8", + "build/assets/windows/Win32/Lib/imghdr.py": "fa8198565241e7b211a856ab467b1e5f", + "build/assets/windows/Win32/Lib/importlib/__init__.py": "71b46e61f00a0ff6747fbc8a0fab049d", + "build/assets/windows/Win32/Lib/importlib/_abc.py": "9b8fde397e9fe6f11800eaec9a9868ff", + "build/assets/windows/Win32/Lib/importlib/_bootstrap.py": "c061ba07d397e3399c3124ba1f3be00c", + "build/assets/windows/Win32/Lib/importlib/_bootstrap_external.py": "3b2fc13250c5c7cc945f5c490c622759", + "build/assets/windows/Win32/Lib/importlib/abc.py": "034028fa598e2931f22216b0071a8221", "build/assets/windows/Win32/Lib/importlib/machinery.py": "6a340b452911166743067c0855d188c2", - "build/assets/windows/Win32/Lib/importlib/metadata/__init__.py": "7d7aab0c1af83eba4c8affd4b29d8b21", - "build/assets/windows/Win32/Lib/importlib/metadata/_adapters.py": "bba28f01066d681e44561752a39f4e07", + "build/assets/windows/Win32/Lib/importlib/metadata/__init__.py": "4fe51d5c228e8f32d99b36dcbc8fc828", + "build/assets/windows/Win32/Lib/importlib/metadata/_adapters.py": "291651434392c0f857ee134dcc79f008", "build/assets/windows/Win32/Lib/importlib/metadata/_collections.py": "219a427b3c861958657d67a194e476cb", "build/assets/windows/Win32/Lib/importlib/metadata/_functools.py": "fc3e69957851b67b4f36a9c2b31388d9", "build/assets/windows/Win32/Lib/importlib/metadata/_itertools.py": "53081eb413abd351a57e4df8c6d88d0e", - "build/assets/windows/Win32/Lib/importlib/metadata/_meta.py": "0c4e02862290fee810500b433271d157", + "build/assets/windows/Win32/Lib/importlib/metadata/_meta.py": "d79de5879c5ea82d869ecb696d45ce2d", "build/assets/windows/Win32/Lib/importlib/metadata/_text.py": "705c77dfe5baffe64e8a04bf7c4aa70b", "build/assets/windows/Win32/Lib/importlib/readers.py": "5e1ef1857ebfad4aa8fa9f6a2e1c3376", "build/assets/windows/Win32/Lib/importlib/resources/__init__.py": "bf69221304c7832cec4996301c500208", - "build/assets/windows/Win32/Lib/importlib/resources/_adapters.py": "6aae358829f4a9ade2765ee414cc7f82", - "build/assets/windows/Win32/Lib/importlib/resources/_common.py": "54995fd6ea66d689c86ed6fc9d80ae2d", - "build/assets/windows/Win32/Lib/importlib/resources/_itertools.py": "a90815e95002dc6b1a63320370f39d8c", - "build/assets/windows/Win32/Lib/importlib/resources/_legacy.py": "a95f90c8da16ffa8b4b1f8566bff6ea3", - "build/assets/windows/Win32/Lib/importlib/resources/abc.py": "3aa58669bebfbad799d8d9b6603fb740", - "build/assets/windows/Win32/Lib/importlib/resources/readers.py": "3e4b7dbe725edf04516ceac42d8e051a", - "build/assets/windows/Win32/Lib/importlib/resources/simple.py": "5344d72410814e6434453f4f5e4d347a", + "build/assets/windows/Win32/Lib/importlib/resources/_adapters.py": "2bf022b3b400b874e2e7b312d26a1c7b", + "build/assets/windows/Win32/Lib/importlib/resources/_common.py": "b5d1759962fc8e41d5930fb155d52ea9", + "build/assets/windows/Win32/Lib/importlib/resources/_itertools.py": "36d2c42cc788cfaed8de69c7719abfe1", + "build/assets/windows/Win32/Lib/importlib/resources/_legacy.py": "5e6dff48b05a4ec687a2d86f70c4ad15", + "build/assets/windows/Win32/Lib/importlib/resources/abc.py": "440a083cbb9d330ad86cb9cc40ab6943", + "build/assets/windows/Win32/Lib/importlib/resources/readers.py": "c5fc2fe06dfc29ebc355a8a729caf473", + "build/assets/windows/Win32/Lib/importlib/resources/simple.py": "21fd93b6fadd62c7bf198e8da925a594", "build/assets/windows/Win32/Lib/importlib/simple.py": "01ff1266bb13813a1f13f00273f0f60f", - "build/assets/windows/Win32/Lib/importlib/util.py": "3decfd68112ab45e528b248ebe7180fd", - "build/assets/windows/Win32/Lib/inspect.py": "2facd0131cbbf340cee6600ea7481397", - "build/assets/windows/Win32/Lib/io.py": "8226a515383231b4bc69415136745a23", - "build/assets/windows/Win32/Lib/ipaddress.py": "47585d25fb4abd07f2d29adad6cabf42", + "build/assets/windows/Win32/Lib/importlib/util.py": "a366ac49357410247f6fb3272ea28693", + "build/assets/windows/Win32/Lib/inspect.py": "744dd5999502047434ac0ab729f5fa41", + "build/assets/windows/Win32/Lib/io.py": "b284ff0a9afdaf2f29c51beef4908218", + "build/assets/windows/Win32/Lib/ipaddress.py": "27a0cd02e42fbf7f153f13a132e70e88", "build/assets/windows/Win32/Lib/json/__init__.py": "81b2759a093c54d04be129dff9bef0cf", "build/assets/windows/Win32/Lib/json/decoder.py": "c866993931ca540a5e48cb20ff0ba252", - "build/assets/windows/Win32/Lib/json/encoder.py": "94b5beea9075343ca31b35dee6a3ac9e", + "build/assets/windows/Win32/Lib/json/encoder.py": "253d6a479ebe99e6c117e84b8f113389", "build/assets/windows/Win32/Lib/json/scanner.py": "d2b9b752df0f00987c4355340ab8f30a", "build/assets/windows/Win32/Lib/json/tool.py": "3208ce981b4b9fa881113037dbaa71af", - "build/assets/windows/Win32/Lib/keyword.py": "3b29c9969e1355717a7f8a5d72a3e379", - "build/assets/windows/Win32/Lib/linecache.py": "93b2e2249313a0f4392816d39243b7c4", - "build/assets/windows/Win32/Lib/locale.py": "45ce4b0d5cbbccfebac5c0e25a723b32", - "build/assets/windows/Win32/Lib/logging/__init__.py": "585e273589291879d8f77991d9c1da76", - "build/assets/windows/Win32/Lib/logging/config.py": "036b2cf4d63f9b87e17bd4a96ba3ea7b", - "build/assets/windows/Win32/Lib/logging/handlers.py": "941b204505573ac6c29d5d8b36b70ad6", + "build/assets/windows/Win32/Lib/keyword.py": "59922b148cb459ac33840ed5f254b1af", + "build/assets/windows/Win32/Lib/linecache.py": "9417acd8e4bec3c0e6c85a26ccd95c9b", + "build/assets/windows/Win32/Lib/locale.py": "1e006cb7bd594b2912bff6e1cd1ee62e", + "build/assets/windows/Win32/Lib/logging/__init__.py": "f7f2cc25f42fe5f8ec3837f077363c28", + "build/assets/windows/Win32/Lib/logging/config.py": "32fb5186a1919ca49b1fcb71ae6c013f", + "build/assets/windows/Win32/Lib/logging/handlers.py": "50e50d8ad42cb57c0e5a41d4d1a28a38", "build/assets/windows/Win32/Lib/lzma.py": "ce68dc42f64460d19c21262d1df645ed", - "build/assets/windows/Win32/Lib/mailbox.py": "5af74c50d4877fa9e1540869ebe414e5", - "build/assets/windows/Win32/Lib/mailcap.py": "54857f8d384773dff7b7d49ea4b16ce6", - "build/assets/windows/Win32/Lib/mimetypes.py": "f912197e3738249509745d173e63ab99", + "build/assets/windows/Win32/Lib/mailbox.py": "6b89792c065185ee35fcdb62ed7dd1ed", + "build/assets/windows/Win32/Lib/mailcap.py": "3f7507ae772297af0d5f8d44dcb896a1", + "build/assets/windows/Win32/Lib/mimetypes.py": "cfaa95070d43187fa8187519d6c97ae3", "build/assets/windows/Win32/Lib/modulefinder.py": "de16704ba6de49a9b7099f7fb854ada0", - "build/assets/windows/Win32/Lib/netrc.py": "d4dae660d37c9beee661bf6b0e1e52e0", + "build/assets/windows/Win32/Lib/netrc.py": "ff99a8987ce37e5c4b516b75af3858cd", "build/assets/windows/Win32/Lib/nntplib.py": "143fe3bfef9c2c26f7f28f78ac5fa9f6", - "build/assets/windows/Win32/Lib/ntpath.py": "6d8b44d152bafbfacf7db168e498d410", + "build/assets/windows/Win32/Lib/ntpath.py": "60fb608bac74801f53dbfbdeac84f6c0", "build/assets/windows/Win32/Lib/nturl2path.py": "4905ce18bd83864de1bbe90dbcb90715", - "build/assets/windows/Win32/Lib/numbers.py": "6af2c7baeb3a429a64dffe0650de1725", - "build/assets/windows/Win32/Lib/opcode.py": "d28cf14ddf60f983f0545f3d54778794", + "build/assets/windows/Win32/Lib/numbers.py": "4730b1abbd091abd140190fc6b4e5fe9", + "build/assets/windows/Win32/Lib/opcode.py": "aab69327897112562323bde75a0237d7", "build/assets/windows/Win32/Lib/operator.py": "c0902db33cf1573bf9046237a9f9190c", "build/assets/windows/Win32/Lib/optparse.py": "07e222890fcca2fce34c566769bcbb0f", - "build/assets/windows/Win32/Lib/os.py": "5b4c775d8d302b83baa64cdb517bf464", - "build/assets/windows/Win32/Lib/pathlib.py": "764bbaccbd48f831269816c01e0bb251", - "build/assets/windows/Win32/Lib/pdb.py": "2eab6b55f9b11b9a1a12715b22fbc135", - "build/assets/windows/Win32/Lib/pickle.py": "e0b914ed532382244ed52fcf6a4a9ba2", - "build/assets/windows/Win32/Lib/pickletools.py": "e0f106c5ad23a876fea4e49bfa71340e", + "build/assets/windows/Win32/Lib/os.py": "abfba49c85336b4383a59541b46668cf", + "build/assets/windows/Win32/Lib/pathlib.py": "5546ab6f0dee9017570c05e648d455ba", + "build/assets/windows/Win32/Lib/pdb.py": "3c732ba33cb73503914fdc7cd3d3f114", + "build/assets/windows/Win32/Lib/pickle.py": "858dd82a51624e56bfb1a336492d7143", + "build/assets/windows/Win32/Lib/pickletools.py": "e79d19704f2c4ab688d471089e233548", "build/assets/windows/Win32/Lib/pipes.py": "21dc911007004a2b42136a9d28bd9c05", - "build/assets/windows/Win32/Lib/pkgutil.py": "3c88c0b0bf745f3ba1d53bf0e9919876", - "build/assets/windows/Win32/Lib/platform.py": "f03bb503753159990893cf13543ce8d1", - "build/assets/windows/Win32/Lib/plistlib.py": "d9a184fa02eb811c5dd175d9d2d10fd5", - "build/assets/windows/Win32/Lib/poplib.py": "7458fc0ceed8f0ed4932cd95ed973408", - "build/assets/windows/Win32/Lib/posixpath.py": "0b3a42dd44d8652f5995f76a33ed309a", - "build/assets/windows/Win32/Lib/pprint.py": "b75350e743e4406fd81e4ba44976963f", - "build/assets/windows/Win32/Lib/profile.py": "6f10a8ad820dbf4f89adc7442c51cfb1", - "build/assets/windows/Win32/Lib/pstats.py": "14409a445f9f81359c04fe5996f48c70", - "build/assets/windows/Win32/Lib/pty.py": "f40d0a39d2518696ce51d256a1286284", + "build/assets/windows/Win32/Lib/pkgutil.py": "937d42ababa8e3421227aa4f96e492d5", + "build/assets/windows/Win32/Lib/platform.py": "478f5069014e513b60802c17a6b8742a", + "build/assets/windows/Win32/Lib/plistlib.py": "84f5e4053828760026f7eaa187850276", + "build/assets/windows/Win32/Lib/poplib.py": "1d9e430892364acb671e56fc33a7c093", + "build/assets/windows/Win32/Lib/posixpath.py": "60c2e283082885effb1a4b028422dbcf", + "build/assets/windows/Win32/Lib/pprint.py": "44e89025ecaed2492d920ba18f1b752c", + "build/assets/windows/Win32/Lib/profile.py": "86a2fffd59157a78da0a722de977f737", + "build/assets/windows/Win32/Lib/pstats.py": "9db69bb5086c65ada6b5150b9226d4ef", + "build/assets/windows/Win32/Lib/pty.py": "cce080ac8906cfb2e743dc8ebdcc4c81", "build/assets/windows/Win32/Lib/py_compile.py": "c41dcf52b14c0bd495e3fd3d874125ac", "build/assets/windows/Win32/Lib/pyclbr.py": "5e5ce2370e71f5645a7b2e82f474d333", - "build/assets/windows/Win32/Lib/pydoc.py": "d12839705c01b8ecac8a98d9913769e4", + "build/assets/windows/Win32/Lib/pydoc.py": "8db8b5ffee063407a10884883f79c5c7", "build/assets/windows/Win32/Lib/queue.py": "a9525574ac1e42527ba85d22cc766d5f", - "build/assets/windows/Win32/Lib/quopri.py": "8cd207a73ad2540c1764b52f536b29c3", - "build/assets/windows/Win32/Lib/random.py": "05f312bf0c834ff15bebe4e4c493bfd7", - "build/assets/windows/Win32/Lib/re/__init__.py": "646f4f2ad51e1bd6a908837a7111bbb1", + "build/assets/windows/Win32/Lib/quopri.py": "3910827d10e99d377e6c3b21acff151c", + "build/assets/windows/Win32/Lib/random.py": "d55950708d161683c84142a02e1cc089", + "build/assets/windows/Win32/Lib/re/__init__.py": "d53096799033a724b6b3fb618dc7599b", "build/assets/windows/Win32/Lib/re/_casefix.py": "615f1b8ef1e3b20cd87c1f8472514e92", - "build/assets/windows/Win32/Lib/re/_compiler.py": "fff1cba197cd0462300401d99297318d", - "build/assets/windows/Win32/Lib/re/_constants.py": "db046e206e5d387f6264803930e1933e", - "build/assets/windows/Win32/Lib/re/_parser.py": "666488e587cf5c4ce02e1af79450cc95", - "build/assets/windows/Win32/Lib/reprlib.py": "23c1ece029ad6232df7d6d16c05375c9", + "build/assets/windows/Win32/Lib/re/_compiler.py": "d3beceef7579180cafe8b4daddda5700", + "build/assets/windows/Win32/Lib/re/_constants.py": "d794664fee02a077c063f69560703745", + "build/assets/windows/Win32/Lib/re/_parser.py": "7ab225762af120653fb98c055b31f8cc", + "build/assets/windows/Win32/Lib/reprlib.py": "3764096fa0242e15a8ffe548e172ef04", "build/assets/windows/Win32/Lib/rlcompleter.py": "275533528e69f51b2f46a82c475593c5", - "build/assets/windows/Win32/Lib/runpy.py": "ff43dc6df44dcf7c01343d8557721453", + "build/assets/windows/Win32/Lib/runpy.py": "3a7369f192908cd5223c6255f8240b28", "build/assets/windows/Win32/Lib/sched.py": "eca87af94b57c5a51bade38ceaacb07a", - "build/assets/windows/Win32/Lib/secrets.py": "f3fa4e7ff05b7fdfcfcdceb89fefef27", - "build/assets/windows/Win32/Lib/selectors.py": "4889777aec16be4edb8e19e6357b0c5e", + "build/assets/windows/Win32/Lib/secrets.py": "37f1f3ff394f84d167dbd22bbba3e9b4", + "build/assets/windows/Win32/Lib/selectors.py": "9c991648ceabaa08a610216f49e03991", "build/assets/windows/Win32/Lib/shelve.py": "08764a152ffcdee2502cf394d12d291f", - "build/assets/windows/Win32/Lib/shlex.py": "3d3cf54b025af275ff30a701f1a16f1c", - "build/assets/windows/Win32/Lib/shutil.py": "38757417d252c02889de397684482b03", - "build/assets/windows/Win32/Lib/signal.py": "ef0645c18798f09d52cde99538a34237", - "build/assets/windows/Win32/Lib/site.py": "b3ed98590c6ae80bda9fc87e11eebb7d", - "build/assets/windows/Win32/Lib/smtpd.py": "e5c6bd04d2a6e1c4b8604526eb3c9efa", - "build/assets/windows/Win32/Lib/smtplib.py": "0fd04dac82cba42dab2a85bd4a595986", + "build/assets/windows/Win32/Lib/shlex.py": "304d9f41262e1a9f9f119a462f30a7d8", + "build/assets/windows/Win32/Lib/shutil.py": "23fb1d8cb46163cafb0a62b321ac0569", + "build/assets/windows/Win32/Lib/signal.py": "c07b76f5d3c6065bb23b53deb86e232f", + "build/assets/windows/Win32/Lib/site.py": "4f3f6676f31ecbb805c65aea0425e181", + "build/assets/windows/Win32/Lib/smtplib.py": "d25692a9d50598cc856f8e66c8795f97", "build/assets/windows/Win32/Lib/sndhdr.py": "a725038a46236de316cba99690bddcca", - "build/assets/windows/Win32/Lib/socket.py": "c0e8c6d337a23174479420dda8e940ce", - "build/assets/windows/Win32/Lib/socketserver.py": "cb73ecc7690218ef93316e3c539ed883", - "build/assets/windows/Win32/Lib/sqlite3/__init__.py": "120bce41a68cb3c6546f43267afed2e9", - "build/assets/windows/Win32/Lib/sqlite3/dbapi2.py": "33e46a36b822b9255c339dbb6deb438e", - "build/assets/windows/Win32/Lib/sqlite3/dump.py": "67f64cb7f8ac22ea0c895323badf48b8", + "build/assets/windows/Win32/Lib/socket.py": "0e0bcd7b04530ecc68965cf0cceee961", + "build/assets/windows/Win32/Lib/socketserver.py": "2e17f331c5511116c5f380104cac888e", + "build/assets/windows/Win32/Lib/sqlite3/__init__.py": "bff4a15513901ff638bb5281813ca829", + "build/assets/windows/Win32/Lib/sqlite3/__main__.py": "b0cc91e2caf9e78b9346576db88859ac", + "build/assets/windows/Win32/Lib/sqlite3/dbapi2.py": "52a7bbdf6661bcb9f8fc1fde335cca9f", + "build/assets/windows/Win32/Lib/sqlite3/dump.py": "2e7c1d8b67511861fee327cbd5359f23", "build/assets/windows/Win32/Lib/sre_compile.py": "17b4ff96efa3d5d82d5b3d416172f537", "build/assets/windows/Win32/Lib/sre_constants.py": "a7f00ca571c46f12ccf21d7b7fbf307d", "build/assets/windows/Win32/Lib/sre_parse.py": "d3a9c6d9574c4b3d239f804ab47493b8", - "build/assets/windows/Win32/Lib/ssl.py": "375436306dab626ef0d45133ad9a5ab5", + "build/assets/windows/Win32/Lib/ssl.py": "ab8b962caeb066dbec83cfd8b65b211b", "build/assets/windows/Win32/Lib/stat.py": "40e9513548e520eaf34be5ee0e416f28", - "build/assets/windows/Win32/Lib/statistics.py": "b09f5be183aac08004050aa1552cbbe3", + "build/assets/windows/Win32/Lib/statistics.py": "63e586c932f574730c9d2de53a6d893e", "build/assets/windows/Win32/Lib/string.py": "bc9644a02cc456665bac69edadd4853d", "build/assets/windows/Win32/Lib/stringprep.py": "b084fab1517de6f5c9af6f409b1cb971", "build/assets/windows/Win32/Lib/struct.py": "31b6d488e334a14a5729c744a2e1e64b", - "build/assets/windows/Win32/Lib/subprocess.py": "366453eb7989587fb872fb0eb394ac56", - "build/assets/windows/Win32/Lib/sunau.py": "eae9e8f38a7c4ec04d99f47ca1f7ac54", - "build/assets/windows/Win32/Lib/symtable.py": "ceb4ef4ee36fd614a954d374a51c2928", - "build/assets/windows/Win32/Lib/sysconfig.py": "c898f90182b5b1c84e9de8a3b35af938", - "build/assets/windows/Win32/Lib/tabnanny.py": "5fb4e717b03485a23956c066285c2306", - "build/assets/windows/Win32/Lib/tarfile.py": "2ba81839246b2a6a7197fa0a7a292215", + "build/assets/windows/Win32/Lib/subprocess.py": "04366b7eef5af6aaef2c5c79312037d1", + "build/assets/windows/Win32/Lib/sunau.py": "0907155d83871d9a9ec62f3d7f95582d", + "build/assets/windows/Win32/Lib/symtable.py": "8ecb5f9d2958f25006ca8ec419de6c88", + "build/assets/windows/Win32/Lib/sysconfig.py": "be43153e8c9a6ade260f436da7b71812", + "build/assets/windows/Win32/Lib/tabnanny.py": "9c3de31e3b79302f4c4d67a37c12a8b9", + "build/assets/windows/Win32/Lib/tarfile.py": "a68bf0719acaf36656cedafa76574ab0", "build/assets/windows/Win32/Lib/telnetlib.py": "610e6f1b39c8dd6ce7634a2817eef563", - "build/assets/windows/Win32/Lib/tempfile.py": "c9b58c18d2e3ffcd04a3c1d2daa08985", + "build/assets/windows/Win32/Lib/tempfile.py": "d32143e7a19c8d476bb59368154d5b85", "build/assets/windows/Win32/Lib/textwrap.py": "1cdb5420274f49a92bdb069f84e98312", "build/assets/windows/Win32/Lib/this.py": "41e6b63325f6b9310091aed779717158", - "build/assets/windows/Win32/Lib/threading.py": "8698491362d09e3a3a431fbc924e6d9c", - "build/assets/windows/Win32/Lib/timeit.py": "1b4b1b51716d75a3de5ee5521c3dcf30", - "build/assets/windows/Win32/Lib/token.py": "5c1b1eda5f1ee11ae0d5f613d0ed5e46", - "build/assets/windows/Win32/Lib/tokenize.py": "f4e26db2f22e70e07ecb3f39b03743ae", + "build/assets/windows/Win32/Lib/threading.py": "a786844b7029254bb21e343f085e60d6", + "build/assets/windows/Win32/Lib/timeit.py": "d07f48f2190bb5ad6a09a8346eb9abc0", + "build/assets/windows/Win32/Lib/token.py": "34edfa17fd7f77208001f07f6cdc9431", + "build/assets/windows/Win32/Lib/tokenize.py": "48813abb89aa1b6ef0858d95cf8d1427", "build/assets/windows/Win32/Lib/tomllib/__init__.py": "6517071101223227e05c0355672b665b", "build/assets/windows/Win32/Lib/tomllib/_parser.py": "91aed453f9958c2463aa74c222032617", "build/assets/windows/Win32/Lib/tomllib/_re.py": "63c8aefcea29596a7c345ac30670b277", "build/assets/windows/Win32/Lib/tomllib/_types.py": "07da9d6afb4e790fbe2a2570db595a70", - "build/assets/windows/Win32/Lib/trace.py": "fa49e5a6444584347c403c8577efcc02", - "build/assets/windows/Win32/Lib/traceback.py": "7b102c0300f4339771b47199cf56b090", + "build/assets/windows/Win32/Lib/trace.py": "6400a74e7259f1e6392c6cd0d71657d0", + "build/assets/windows/Win32/Lib/traceback.py": "4b816b81d198369e3a3d639befc146dd", "build/assets/windows/Win32/Lib/tracemalloc.py": "38b34a01481aafbe3d8f3022d19002d3", - "build/assets/windows/Win32/Lib/tty.py": "66fd3e58cfff04d68f4101b211b3cef5", - "build/assets/windows/Win32/Lib/types.py": "d6fcc10139e7859822f865ee6f2d1e89", - "build/assets/windows/Win32/Lib/typing.py": "cc1bb3df2e18e9edbd1cba0b02349375", + "build/assets/windows/Win32/Lib/tty.py": "d4a2c51899d7b0e1a01066e94ac1d8ea", + "build/assets/windows/Win32/Lib/types.py": "bc54ebd6ad50ab04d21b7d4829ba76ec", + "build/assets/windows/Win32/Lib/typing.py": "c1f8f122a078d4f74c4562e8aa18fd30", "build/assets/windows/Win32/Lib/urllib/__init__.py": "340c83beff7dcff8f5c7b87cd43cedaf", "build/assets/windows/Win32/Lib/urllib/error.py": "5c7c7f7733ce20536c8c7829339edd53", - "build/assets/windows/Win32/Lib/urllib/parse.py": "fe9e27fd3712d25adc9b83d6e1a97595", - "build/assets/windows/Win32/Lib/urllib/request.py": "2fd20c8cdbfe1ba224fb819031d5ef7e", + "build/assets/windows/Win32/Lib/urllib/parse.py": "a52658c0c4df781ff9b62fb4513331ea", + "build/assets/windows/Win32/Lib/urllib/request.py": "bbd73f724c78a7c1585739932aaf9167", "build/assets/windows/Win32/Lib/urllib/response.py": "a8ab8bab3eaeab62a53cbf28ab133073", "build/assets/windows/Win32/Lib/urllib/robotparser.py": "569197286a1526e592e972ca3bd6a987", - "build/assets/windows/Win32/Lib/uu.py": "4d22b5eca6352a2a203deba4aa9976d3", - "build/assets/windows/Win32/Lib/uuid.py": "1f1369dbd6c82fb65b994d653856bfeb", - "build/assets/windows/Win32/Lib/warnings.py": "b5596bb4939cd5d9e079b6855817d39d", - "build/assets/windows/Win32/Lib/wave.py": "af3e6bdce6593d9f3a3f35f79eea63f3", + "build/assets/windows/Win32/Lib/uu.py": "4c494d33ff1ec1b2302671cf21a178b4", + "build/assets/windows/Win32/Lib/uuid.py": "08273164771b50ddbe7093f043683dae", + "build/assets/windows/Win32/Lib/warnings.py": "f47e2a79447a607c889c8e0871b1a63e", + "build/assets/windows/Win32/Lib/wave.py": "78b56874edbff1d218050828ec9e9a52", "build/assets/windows/Win32/Lib/weakref.py": "c0c4c3ceeb4439730b2cd1ef59facedc", - "build/assets/windows/Win32/Lib/webbrowser.py": "6b74d0231893b89944aaacccabe1fed2", - "build/assets/windows/Win32/Lib/xdrlib.py": "7fd8b3ad0b5717e774e4003c77a669cb", + "build/assets/windows/Win32/Lib/webbrowser.py": "0692ad07be523483a9af5ed3f481467b", + "build/assets/windows/Win32/Lib/xdrlib.py": "3b64519d8aee87e6d921f48a2dc58d8c", "build/assets/windows/Win32/Lib/xml/__init__.py": "7fd76b516d055ad7362a4e026605b565", "build/assets/windows/Win32/Lib/xml/dom/NodeFilter.py": "e4b7a3b5ff69a8601ebbe5b64d31a992", "build/assets/windows/Win32/Lib/xml/dom/__init__.py": "6ffe926d6bd77d247bfcee6e1060350a", "build/assets/windows/Win32/Lib/xml/dom/domreg.py": "5cac15fead4e8354d494dbbd7b149c7e", - "build/assets/windows/Win32/Lib/xml/dom/expatbuilder.py": "cf225b1f3af0055c58de4d27f46ba013", + "build/assets/windows/Win32/Lib/xml/dom/expatbuilder.py": "0b1091f044eda2ad29831483ceef78a7", "build/assets/windows/Win32/Lib/xml/dom/minicompat.py": "552827dcbf7760dabb8731acb66ea60d", "build/assets/windows/Win32/Lib/xml/dom/minidom.py": "c206d1775e6a4498bc11c13e17fecbbe", "build/assets/windows/Win32/Lib/xml/dom/pulldom.py": "578a6dcb3157f7f9213b64f652fcaa77", "build/assets/windows/Win32/Lib/xml/dom/xmlbuilder.py": "1aa015b0ddd5dad09976d1c1180fae05", "build/assets/windows/Win32/Lib/xml/etree/ElementInclude.py": "292d40950e5da9877a252a2cf516b83b", "build/assets/windows/Win32/Lib/xml/etree/ElementPath.py": "edad05c442542c22c7b5a655d99a5cd2", - "build/assets/windows/Win32/Lib/xml/etree/ElementTree.py": "d0903c68c22be260ae3e9b083133d6eb", + "build/assets/windows/Win32/Lib/xml/etree/ElementTree.py": "de5f3c82186ba13c5f929bdbe85c8ba0", "build/assets/windows/Win32/Lib/xml/etree/__init__.py": "6d6a236f07d23e97193493778b48a86c", "build/assets/windows/Win32/Lib/xml/etree/cElementTree.py": "166b03aa40e7c656a51d71f46862a6e8", "build/assets/windows/Win32/Lib/xml/parsers/__init__.py": "255ef6dc4559858cfb63d4802d5f3dba", "build/assets/windows/Win32/Lib/xml/parsers/expat.py": "29897e8c876c9d18493ec2cfe820d906", - "build/assets/windows/Win32/Lib/xml/sax/__init__.py": "bb0b2401f80468767ebaa8ebc56265ac", - "build/assets/windows/Win32/Lib/xml/sax/_exceptions.py": "a98c803daed04368ba792e739b1f8a24", - "build/assets/windows/Win32/Lib/xml/sax/expatreader.py": "6611727e336381d28d3f03dc36cad242", + "build/assets/windows/Win32/Lib/xml/sax/__init__.py": "0e39899f6b16cd295e6c13b9c23951bb", + "build/assets/windows/Win32/Lib/xml/sax/_exceptions.py": "1d22c3502fbe0c21a84686ac6aa0afbb", + "build/assets/windows/Win32/Lib/xml/sax/expatreader.py": "26857b3a0705c406a40e4263793b0bd5", "build/assets/windows/Win32/Lib/xml/sax/handler.py": "47b6aa2b604b42476f04438e8bf2dad7", "build/assets/windows/Win32/Lib/xml/sax/saxutils.py": "34b4279ec596bdd7943daf657e8609b5", - "build/assets/windows/Win32/Lib/xml/sax/xmlreader.py": "efaf077c4bc44cbf4feb22b4ae280119", + "build/assets/windows/Win32/Lib/xml/sax/xmlreader.py": "b8a6b2975e4afe5899af7a87a7e3e2ff", "build/assets/windows/Win32/Lib/xmlrpc/__init__.py": "a1763d550a676bb6d5ac49f848394a75", - "build/assets/windows/Win32/Lib/xmlrpc/client.py": "aa7e61194ad8817d79189793c8abd860", - "build/assets/windows/Win32/Lib/xmlrpc/server.py": "2573db7b3a81137c3f3435cea1052043", - "build/assets/windows/Win32/Lib/zipapp.py": "cadc79c44558cb1f3447e5e0b3671b33", - "build/assets/windows/Win32/Lib/zipfile.py": "cbc388fbfba5b89a3ecf4296b251c82d", - "build/assets/windows/Win32/Lib/zipimport.py": "48ded0a9c8ef7799a27e49f74196242b", + "build/assets/windows/Win32/Lib/xmlrpc/client.py": "1530f3afac30d53d8896b9c00dfaa617", + "build/assets/windows/Win32/Lib/xmlrpc/server.py": "18b3c825c31ba9312cb2d560316eb9e2", + "build/assets/windows/Win32/Lib/zipapp.py": "d5f8a39dacd26718e73e4f38a694dfbc", + "build/assets/windows/Win32/Lib/zipfile/__init__.py": "1dde9808d4dac2778290e564e4ebb5b0", + "build/assets/windows/Win32/Lib/zipfile/__main__.py": "ca6627e603d94686720a7cfaaabb9b71", + "build/assets/windows/Win32/Lib/zipfile/_path/__init__.py": "1b09ec092f86da3802a0cd6aed8765fc", + "build/assets/windows/Win32/Lib/zipfile/_path/glob.py": "dc5771ef42e77451f61ab6786ec8685c", + "build/assets/windows/Win32/Lib/zipimport.py": "7d5f70d7bcf25f82c504a8d2863a2ba2", "build/assets/windows/Win32/Lib/zoneinfo/__init__.py": "81f35302cb580395b0763d2721cf9561", "build/assets/windows/Win32/Lib/zoneinfo/_common.py": "ff9332cf9b99cd96dbb28497c1beba61", - "build/assets/windows/Win32/Lib/zoneinfo/_tzpath.py": "08a2e9502e68a3e35c45067f7439b108", - "build/assets/windows/Win32/Lib/zoneinfo/_zoneinfo.py": "88e71c4db229ce21321b991cd7162d23", + "build/assets/windows/Win32/Lib/zoneinfo/_tzpath.py": "dae0a83742900651fc1bac890eea1eca", + "build/assets/windows/Win32/Lib/zoneinfo/_zoneinfo.py": "ac3bfb57b66f7d328f83ef66a56be5d9", "build/assets/windows/Win32/OpenAL32.dll": "8bcdadebd8bc95a591e727a04faebda8", "build/assets/windows/Win32/SDL2.dll": "3937d3151ffb6544bf9657d0e45a8d0a", "build/assets/windows/Win32/libvorbis.dll": "dcfa5c5534900b7c109adc820ae57d74", "build/assets/windows/Win32/libvorbisfile.dll": "8abd2d7131857b9cc689b2857d04d018", "build/assets/windows/Win32/msvcp140d.dll": "d172cacd2087cf34db2fb8bb3c29c337", "build/assets/windows/Win32/ogg.dll": "38a386d3a0092e7a28fce9597a9d9e5d", - "build/assets/windows/Win32/python.exe": "5518554fb7e222f3a8ed6c40ff4b7c42", - "build/assets/windows/Win32/python311.dll": "efcc801d5dbed7173eb45e7529d1c8f7", - "build/assets/windows/Win32/python311_d.dll": "7396c8aab36799ea56c50af5698f93b6", - "build/assets/windows/Win32/python_d.exe": "0a7d4c1fde8e37d79a5477f43a910bee", - "build/assets/windows/Win32/pythonw.exe": "4a28efac0cf8443fec01c1c846da1da6", - "build/assets/windows/Win32/pythonw_d.exe": "6a40cc313514e3781312f54294558bcf", + "build/assets/windows/Win32/python.exe": "2265052ae8452d0260e39bef170db9f7", + "build/assets/windows/Win32/python312.dll": "7c7584de5a2c1ae64afcddeb4444929f", + "build/assets/windows/Win32/python312_d.dll": "c5cd78c04904b784299834c3b33a9cfc", + "build/assets/windows/Win32/python_d.exe": "4c141b8b6dc315e39a8168ef9fb9433f", + "build/assets/windows/Win32/pythonw.exe": "60f972a154dd6af1b4a67a23bcd89a92", + "build/assets/windows/Win32/pythonw_d.exe": "440ba78327698a2706fe7a0eb358dfe8", "build/assets/windows/Win32/ucrtbased.dll": "2def5335207d41b21b9823f6805997f1", "build/assets/windows/Win32/vc_redist.x86.exe": "b08a55e2e77623fe657bea24f223a3ae", "build/assets/windows/Win32/vcruntime140d.dll": "865b2af4d1e26a1a8073c89acb06e599", - "build/prefab/full/linux_arm64_gui/debug/ballisticakit": "bd022f1b19b2fdbe7a48b9084dd8cb7a", - "build/prefab/full/linux_arm64_gui/release/ballisticakit": "1cfe22cea5f84b7bc5f8141d16d20575", - "build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "f490b97609b282918b5233ad331efc62", - "build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "8b864dcae5de4e4d8dd0ccbb8e57fa62", - "build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "3b21dd0f65b32a20f5e255c4b2be7727", - "build/prefab/full/linux_x86_64_gui/release/ballisticakit": "fe7a68d99dcd214fcc4048a9fc7cba15", - "build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "05a85e2cf828727b74ddcea1f4e1222c", - "build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "fd52509c4df00c5a9bb755cbf108e742", - "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "5143aa1718cd2f21cb5af06ca50a9f75", - "build/prefab/full/mac_arm64_gui/release/ballisticakit": "f73e3719c67bb542fb20b133f2e149c9", - "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "1a7c52d06793e3789c7edf399e130517", - "build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "2f520f7c438b6ebbdeb2c9c978821a5a", - "build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "aa47af4bd4da2f41810cf9c3f3cf77f5", - "build/prefab/full/mac_x86_64_gui/release/ballisticakit": "d3b4ab3992fb65e8ba7f2f79c662cfd4", - "build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "60b02233d658f7c9f6cdcbb46a1b17c8", - "build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "f73ea5e1e7e7ae9c2a396928c4aaf200", - "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "e52c0dcfabc211c79eef65d986497b03", - "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "1ebbf093c255d64bcbcf6c6d03f58251", - "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "2134c1ffd3e850089359d80d3ebe7805", - "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "567b99fd31ec7a48ab640465ecd32940", - "build/prefab/lib/linux_arm64_gui/debug/libballisticaplus.a": "d9865523059d8cf11b2bef4b9da9a8c9", - "build/prefab/lib/linux_arm64_gui/release/libballisticaplus.a": "56d6440f62c271c4ce9ef520400395a3", - "build/prefab/lib/linux_arm64_server/debug/libballisticaplus.a": "d9865523059d8cf11b2bef4b9da9a8c9", - "build/prefab/lib/linux_arm64_server/release/libballisticaplus.a": "56d6440f62c271c4ce9ef520400395a3", - "build/prefab/lib/linux_x86_64_gui/debug/libballisticaplus.a": "390a90cf4af1c55662c61ec19f9481bb", - "build/prefab/lib/linux_x86_64_gui/release/libballisticaplus.a": "e55895a55cc40f79be9e2e8095e8adf2", - "build/prefab/lib/linux_x86_64_server/debug/libballisticaplus.a": "390a90cf4af1c55662c61ec19f9481bb", - "build/prefab/lib/linux_x86_64_server/release/libballisticaplus.a": "e55895a55cc40f79be9e2e8095e8adf2", - "build/prefab/lib/mac_arm64_gui/debug/libballisticaplus.a": "9846a6a3dd3685417fe834b91be8ac74", - "build/prefab/lib/mac_arm64_gui/release/libballisticaplus.a": "68087f1bac1513e92cabdb59c637e759", - "build/prefab/lib/mac_arm64_server/debug/libballisticaplus.a": "9846a6a3dd3685417fe834b91be8ac74", - "build/prefab/lib/mac_arm64_server/release/libballisticaplus.a": "68087f1bac1513e92cabdb59c637e759", - "build/prefab/lib/mac_x86_64_gui/debug/libballisticaplus.a": "72a7370f23c76ed8018999b78d88a545", - "build/prefab/lib/mac_x86_64_gui/release/libballisticaplus.a": "c2cf0dc227e41a826c913d12e117c316", - "build/prefab/lib/mac_x86_64_server/debug/libballisticaplus.a": "fbdc80e41c5883b4a893d2f0786e377f", - "build/prefab/lib/mac_x86_64_server/release/libballisticaplus.a": "c2cf0dc227e41a826c913d12e117c316", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "01fef29ef22e9054eda0d2c40d29d5bf", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "252dfe8aa1a7f3b1f6036b766d2990e6", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "3f26bc4ef5159ce7f488603e8e8526b3", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "606c6f95bf97b9c45af0dc1e403bd91e", - "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "c7521fdf876f28e0f8aeecfbcf5f78df", - "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "fbc7f8bfd808a83027974f2cf06a05b4", - "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "fc2e1fd7617c26fe37bd914236635316", - "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "e110986966081e3d23192c57ffaf7381", + "build/prefab/full/linux_arm64_gui/debug/ballisticakit": "10ca339552ccefcc1cf0458d77ddfc60", + "build/prefab/full/linux_arm64_gui/release/ballisticakit": "220a8bae9a55c6625972254dd7265029", + "build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "54bde68d1f6c948a0fe1a3844b49fbc9", + "build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "d6908e5517980c48204c5d7d38b624b2", + "build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "0552bfb41850409763c3eb0824629c4f", + "build/prefab/full/linux_x86_64_gui/release/ballisticakit": "3b92b9b7b6f25ec0b00ebdac6af8f7f7", + "build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "bf943bb02a696a97b8eb13173bd10381", + "build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "733c06666e6ac2bd49a645814820ae70", + "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "274f31c8955c9af9799edc72eef37184", + "build/prefab/full/mac_arm64_gui/release/ballisticakit": "ced3d5b6e818c2c5901e6373d40583ba", + "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "c745ec776c3fa19166fab17b91541c02", + "build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "cf3751677f46d248d251b566b737c3ca", + "build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "ab74e096ad474d389c4e20cc78f22e43", + "build/prefab/full/mac_x86_64_gui/release/ballisticakit": "e54648fc2a899449baa081b55cb52588", + "build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "882935d0e1e2a9a36dfb7e0a3d4a5170", + "build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "342b58d91ed50562f9f8d8163f5f4441", + "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "591cf3434d9ac490d416c9dcc60f051f", + "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "4ef7a5bbfef88bf2174a0001aaf9532d", + "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "16253a3ef3ccc96250eb5a311caf14fe", + "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "90ab514825fbb1e5c2a88297b19d95d2", + "build/prefab/lib/linux_arm64_gui/debug/libballisticaplus.a": "11668f7191dc8d4e2b03db15ff2a4241", + "build/prefab/lib/linux_arm64_gui/release/libballisticaplus.a": "b190199ce8b8fe122993d14fb7e8e813", + "build/prefab/lib/linux_arm64_server/debug/libballisticaplus.a": "11668f7191dc8d4e2b03db15ff2a4241", + "build/prefab/lib/linux_arm64_server/release/libballisticaplus.a": "b190199ce8b8fe122993d14fb7e8e813", + "build/prefab/lib/linux_x86_64_gui/debug/libballisticaplus.a": "d33507e6163f7afb54334dc6141d074b", + "build/prefab/lib/linux_x86_64_gui/release/libballisticaplus.a": "15d57b7d0c2fae7695e008650a37b7f7", + "build/prefab/lib/linux_x86_64_server/debug/libballisticaplus.a": "d33507e6163f7afb54334dc6141d074b", + "build/prefab/lib/linux_x86_64_server/release/libballisticaplus.a": "15d57b7d0c2fae7695e008650a37b7f7", + "build/prefab/lib/mac_arm64_gui/debug/libballisticaplus.a": "6d5af317e8e9fc6d4eabeab31623e109", + "build/prefab/lib/mac_arm64_gui/release/libballisticaplus.a": "19e9dab275cd13cc3030de1b0f1f08c9", + "build/prefab/lib/mac_arm64_server/debug/libballisticaplus.a": "6d5af317e8e9fc6d4eabeab31623e109", + "build/prefab/lib/mac_arm64_server/release/libballisticaplus.a": "19e9dab275cd13cc3030de1b0f1f08c9", + "build/prefab/lib/mac_x86_64_gui/debug/libballisticaplus.a": "3769b38b590a8a5623749771900e60fe", + "build/prefab/lib/mac_x86_64_gui/release/libballisticaplus.a": "4fab22abc481a97e884cce9d67b35c6b", + "build/prefab/lib/mac_x86_64_server/debug/libballisticaplus.a": "7c536b056d78148a302c975bf9238118", + "build/prefab/lib/mac_x86_64_server/release/libballisticaplus.a": "4fab22abc481a97e884cce9d67b35c6b", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "be00cf9781b1c86439452c4ba0999c8d", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "5803cfddbaf5e09f513aded1a8fc71f5", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "b682b559cef053626ee8ee9da79ad266", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "8d467c3b01c4b2fd4977afd0aabb2bd0", + "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "748545de892e5ed6556ba0b05f9a0e9d", + "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "2671eae8ad8f42eb272ffed0fc8e93df", + "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "23712747790fbd36e33b9e59364accb7", + "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "1832b257d7cd01ca68b7b99cbb62bfa6", "src/assets/ba_data/python/babase/_mgen/__init__.py": "f885fed7f2ed98ff2ba271f9dbe3391c", "src/assets/ba_data/python/babase/_mgen/enums.py": "b611c090513a21e2fe90e56582724e9d", "src/ballistica/base/mgen/pyembed/binding_base.inc": "72bfed2cce8ff19741989dec28302f3f", diff --git a/.gitignore b/.gitignore index 273c7b58..665272c6 100644 --- a/.gitignore +++ b/.gitignore @@ -16,6 +16,7 @@ local.properties .gdb_history .dmypy.json .cache +.venv .mypy_cache .pytest_cache .mypy.ini @@ -30,6 +31,8 @@ local.properties PUBSYNC_IN_PROGRESS _fulltest_buildfile_* ballistica_files/ +tools/pcommand +tools/cloudshell **/.#* # Environment files diff --git a/CHANGELOG.md b/CHANGELOG.md index 2bcf5e77..a0910474 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,32 @@ -### 1.7.34 (build 21800, api 8, 2024-04-10) -- `_bascenev1.protocol_version()` now properly throw an exception if called +### 1.7.34 (build 21801, api 8, 2024-04-21) +- Bumped Python version from 3.11 to 3.12 for all builds and project tools. One + of the things this means is that we can use `typing.override` instead of the + `typing_extensions` version so the annoying workaround of installing + `typing_extensions` first thing when setting up the repo introduced a few + versions back is finally no longer needed. +- The project now maintains its own Python virtual environment in `.venv` where + it automatically installs whatever Python packages it needs instead of asking + the user to do so in their own environment. This should greatly simplify + working with the project and keep tool versions more consistent for people. + There will likely be some bugs related to this needing to be shaken out, so + please holler if you run into any. Namely, most all Makefile targets will now + need to depend on the `prereqs` target which ensures the virtual env is set + up. A target that does not do so may error if run on a freshly cloned/cleaned + repo, so holler if you run into such a thing. +- There is now a `config/requirements.txt` file which controls which pip + packages are made available in the project's internal virtual environment. + Note that this is only for tooling; the actual engine bundles a different + minimal set of pip packages. +- Since `config/requirements.txt` now exists and pip stuff is handled + automatically, stripped out the old manual pip requirement management stuff. + This includes the `list_pip_reqs` and `get_pip_reqs` pcommands and the + requirements list in `batools.build`. +- Some executable scripts such as `tools/pcommand` and `tools/bacloud` are now + generated dynamically so that they always use the shiny new internal Python + virtual-environment. This generation should happen automagically when you + build `make` targets, but please holler if you run into a situation where it + does not and you get errors. +- `_bascenev1.protocol_version()` now properly throws an exception if called while scene-v1 is not active. ### 1.7.33 (build 21795, api 8, 2024-03-24) diff --git a/Makefile b/Makefile index 75f3f9a9..2c4284fc 100644 --- a/Makefile +++ b/Makefile @@ -25,7 +25,7 @@ ################################################################################ # List targets in this Makefile and basic descriptions for them. -help: +help: prereqs @$(PCOMMAND) makefile_target_list Makefile # Set env-var BA_ENABLE_COMPILE_COMMANDS_DB=1 to enable creating/updating a @@ -49,8 +49,8 @@ endif # Prereq targets that should be safe to run anytime; even if project-files # are out of date. PREREQS_SAFE = .cache/checkenv $(PCOMMANDBATCHBIN) .dir-locals.el .mypy.ini \ - .pyrightconfig.json .pylintrc .style.yapf .clang-format \ - ballisticakit-cmake/.clang-format .editorconfig + .pyrightconfig.json .pylintrc .clang-format \ + ballisticakit-cmake/.clang-format .editorconfig tools/cloudshell # Prereq targets that may break if the project needs updating should go here. # An example is compile-command-databases; these might try to run cmake and @@ -59,8 +59,8 @@ PREREQS_SAFE = .cache/checkenv $(PCOMMANDBATCHBIN) .dir-locals.el .mypy.ini \ # which would leave us stuck in a broken state. PREREQS_POST_UPDATE_ONLY = $(PREREQ_COMPILE_COMMANDS_DB) -# Target that should be built before running most any other build. -# This installs tool config files, runs environment checks, etc. +# Target that should be built before building almost any other target. This +# installs tool config files, sets up the Python virtual environment, etc. prereqs: $(PREREQS_SAFE) $(PREREQS_POST_UPDATE_ONLY) # Set of prereqs safe to run if the project state is dirty. @@ -169,21 +169,32 @@ dummymodules: prereqs meta @$(PCOMMAND) lazybuild dummymodules_src $(LAZYBUILDDIR)/$@ \ rm -rf build/dummymodules \&\& $(PCOMMAND) gen_dummy_modules -dummymodules-clean: +dummymodules-clean: prereqs rm -f $(LAZYBUILDDIR)/dummymodules rm -rf build/dummymodules +# Build the project's Python virtual environment. This should happen +# automatically as a dependency of the prereqs target. +venv: .venv/efro_venv_complete + +# Update pip requirements to latest versions. +venv-upgrade: prereqs + $(PCOMMAND) pur -r config/requirements.txt + +venv-clean: + rm -rf .venv + # Generate all docs. # # IMPORTANT: Docs generation targets may themselves run builds, so they should # be run alone serially and never in parallel alongside other builds. -docs: +docs: prereqs $(MAKE) docs-pdoc -docs-pdoc: +docs-pdoc: prereqs @$(PCOMMAND) gen_docs_pdoc -docs-sphinx: +docs-sphinx: prereqs $(MAKE) dummymodules @$(PCOMMAND) gen_docs_sphinx @@ -199,7 +210,7 @@ pcommandbatch_speed_test: prereqs assets-cmake-scripts assets-windows assets-windows-Win32 \ assets-windows-x64 assets-mac assets-ios assets-android assets-clean \ resources resources-clean meta meta-clean clean clean-list \ - dummymodules docs docs-pdoc pcommandbatch_speed_test + dummymodules venv venv-clean docs docs-pdoc pcommandbatch_speed_test ################################################################################ @@ -224,11 +235,11 @@ prefab-gui-release: prefab-gui-release-build $($(shell $(WSLU) $(PCOMMAND) prefab_run_var gui-release)) # Assemble a debug build for this platform. -prefab-gui-debug-build: +prefab-gui-debug-build: prereqs $(WSLU) $(PCOMMAND) make_prefab gui-debug # Assemble a release build for this platform. -prefab-gui-release-build: +prefab-gui-release-build: prereqs $(WSLU) $(PCOMMAND) make_prefab gui-release # Assemble & run a server debug build for this platform. @@ -240,11 +251,11 @@ prefab-server-release: prefab-server-release-build $($(shell $(WSLU) $(PCOMMAND) prefab_run_var server-release)) # Assemble a server debug build for this platform. -prefab-server-debug-build: +prefab-server-debug-build: prereqs $(WSLU) $(PCOMMAND) make_prefab server-debug # Assemble a server release build for this platform. -prefab-server-release-build: +prefab-server-release-build: prereqs $(WSLU) $(PCOMMAND) make_prefab server-release # Clean all prefab builds. @@ -640,51 +651,51 @@ build/prefab/lib/windows/Release_%/BallisticaKitHeadlessPlus.pdb: .efrocachemap SPINOFF_TEST_TARGET ?= core # Run a given spinoff test. -spinoff-test: +spinoff-test: prereqs $(PCOMMAND) spinoff_test $(SPINOFF_TEST_TARGET) $(SPINOFF_TEST_EXTRA_ARGS) # Build and check core feature set alone. -spinoff-test-core: +spinoff-test-core: prereqs $(PCOMMAND) spinoff_test core $(SPINOFF_TEST_EXTRA_ARGS) # Build and check base feature set alone. -spinoff-test-base: +spinoff-test-base: prereqs $(PCOMMAND) spinoff_test base $(SPINOFF_TEST_EXTRA_ARGS) # Build and check plus feature set alone. -spinoff-test-plus: +spinoff-test-plus: prereqs $(PCOMMAND) spinoff_test plus $(SPINOFF_TEST_EXTRA_ARGS) # Build and check classic feature set alone. -spinoff-test-classic: +spinoff-test-classic: prereqs $(PCOMMAND) spinoff_test classic $(SPINOFF_TEST_EXTRA_ARGS) # Build and check template_fs feature set alone. -spinoff-test-template_fs: +spinoff-test-template_fs: prereqs $(PCOMMAND) spinoff_test template_fs $(SPINOFF_TEST_EXTRA_ARGS) # Build and check ui_v1 feature set alone. -spinoff-test-ui_v1: +spinoff-test-ui_v1: prereqs $(PCOMMAND) spinoff_test ui_v1 $(SPINOFF_TEST_EXTRA_ARGS) # Build and check ui_v1_lib feature set alone. -spinoff-test-ui_v1_lib: +spinoff-test-ui_v1_lib: prereqs $(PCOMMAND) spinoff_test ui_v1_lib $(SPINOFF_TEST_EXTRA_ARGS) # Build and check scene_v1 feature set alone. -spinoff-test-scene_v1: +spinoff-test-scene_v1: prereqs $(PCOMMAND) spinoff_test scene_v1 $(SPINOFF_TEST_EXTRA_ARGS) # Build and check scene_v1_lib feature set alone. -spinoff-test-scene_v1_lib: +spinoff-test-scene_v1_lib: prereqs $(PCOMMAND) spinoff_test scene_v1_lib $(SPINOFF_TEST_EXTRA_ARGS) # Blow away all spinoff-test builds. -spinoff-test-clean: +spinoff-test-clean: prereqs rm -rf build/spinofftest # Grab the current parent project and sync it into ourself. -spinoff-update: +spinoff-update: prereqs @$(PCOMMAND) spinoff_check_submodule_parent $(MAKE) update @$(PCOMMANDBATCH) echo BLU Pulling current parent project... @@ -695,7 +706,7 @@ spinoff-update: @$(PCOMMANDBATCH) echo GRN Spinoff update successful! # Upgrade to latest parent project and sync it into ourself. -spinoff-upgrade: +spinoff-upgrade: prereqs @$(PCOMMAND) spinoff_check_submodule_parent $(MAKE) update @$(PCOMMANDBATCH) echo BLU Pulling latest parent project... @@ -1200,17 +1211,28 @@ CHECK_CLEAN_SAFETY = $(PCOMMAND) check_clean_safety TOOL_CFG_INST = $(PCOMMAND) tool_config_install # Anything that affects tool-config generation. -TOOL_CFG_SRC = tools/efrotools/toolconfig.py config/projectconfig.json +TOOL_CFG_SRC = tools/efrotools/toolconfig.py config/projectconfig.json \ + .venv/efro_venv_complete tools/pcommand # Anything that should trigger an environment-check when changed. -ENV_SRC = $(PCOMMAND) tools/batools/build.py +ENV_SRC = tools/batools/build.py .venv/efro_venv_complete tools/pcommand + +# Generate a pcommand script hard-coded to use our virtual environment. +# This is a prereq dependency so should not itself depend on prereqs. +tools/pcommand: tools/efrotools/genwrapper.py tools/efrotools/pyver.py + @echo Generating tools/pcommand... + @PYTHONPATH=tools python3 -m efrotools.genwrapper pcommand tools/pcommand \ + batools.pcommandmain + +# Generate a cloudshell script hard-coded to use our virtual environment. +# This is a prereq dependency so should not itself depend on prereqs. +tools/cloudshell: tools/efrotools/genwrapper.py tools/efrotools/pyver.py + @echo Generating tools/cloudshell... + @PYTHONPATH=tools python3 -m efrotools.genwrapper cloudshell tools/cloudshell .clang-format: config/toolconfigsrc/clang-format $(TOOL_CFG_SRC) @$(TOOL_CFG_INST) $< $@ -.style.yapf: config/toolconfigsrc/style.yapf $(TOOL_CFG_SRC) - @$(TOOL_CFG_INST) $< $@ - .pylintrc: config/toolconfigsrc/pylintrc $(TOOL_CFG_SRC) @$(TOOL_CFG_INST) $< $@ @@ -1232,6 +1254,20 @@ ENV_SRC = $(PCOMMAND) tools/batools/build.py # Set this to 1 to skip environment checks. SKIP_ENV_CHECKS ?= 0 +# Rebuild our virtual environment whenever reqs or Python version changes. +# This is a prereq dependency so should not itself depend on prereqs. Note +# that we rely on pcommand but can't use it in here until the end when the +# venv is up. +.venv/efro_venv_complete: tools/pcommand config/requirements.txt \ +tools/efrotools/pyver.py + @echo Creating Project\'s Python Virtual Environment... + @rm -rf .venv + python3.12 -m venv .venv + .venv/bin/pip install --upgrade pip + .venv/bin/pip install -r config/requirements.txt + touch .venv/efro_venv_complete # Done last to avoid partly-built venvs. + @$(PCOMMAND) echo GRN Python Virtual Environment Created. + .cache/checkenv: $(ENV_SRC) @if [ $(SKIP_ENV_CHECKS) -ne 1 ]; then \ $(PCOMMAND) checkenv && mkdir -p .cache && touch .cache/checkenv; \ @@ -1286,7 +1322,7 @@ ballisticakit-cmake/.clang-format: .clang-format && mv compile_commands.json .cache/compile_commands_db @$(PCOMMANDBATCH) echo BLU Created compile commands db at $@ -_windows-wsl-build: +_windows-wsl-build: prereqs @$(PCOMMAND) wsl_build_check_win_drive $(WIN_MSBUILD_EXE_B) \ $(shell $(PCOMMAND) wsl_path_to_win --escape \ @@ -1297,7 +1333,7 @@ _windows-wsl-build: $(VISUAL_STUDIO_VERSION) @$(PCOMMAND) echo BLU BLD Built build/windows/BallisticaKit$(WINPRJ).exe. -_windows-wsl-rebuild: +_windows-wsl-rebuild: prereqs @$(PCOMMAND) wsl_build_check_win_drive $(WIN_MSBUILD_EXE_B) \ $(shell $(PCOMMAND) wsl_path_to_win --escape \ diff --git a/ballisticakit-cmake/CMakeLists.txt b/ballisticakit-cmake/CMakeLists.txt index ab6575ab..64df74e8 100644 --- a/ballisticakit-cmake/CMakeLists.txt +++ b/ballisticakit-cmake/CMakeLists.txt @@ -27,12 +27,12 @@ if (APPLE) # to load a 3.X library from within it which doesn't exist. So we need # to be a bit more explicit telling it where to look. Note: this was last # tested with 3.7; should revisit sometime to make sure still applies. - execute_process(COMMAND "python3.11-config" "--prefix" + execute_process(COMMAND "python3.12-config" "--prefix" OUTPUT_VARIABLE Python_ROOT_DIR OUTPUT_STRIP_TRAILING_WHITESPACE) endif () -find_package (Python 3.11 REQUIRED EXACT COMPONENTS Development) +find_package (Python 3.12 REQUIRED EXACT COMPONENTS Development) if (HEADLESS) diff --git a/config/README.md b/config/README.md index 589e8246..eda20710 100644 --- a/config/README.md +++ b/config/README.md @@ -5,7 +5,7 @@ This directory contains overall configuration files for the project. Noteworthy files: - [projectconfig.json](projectconfig.json): Top level settings for the project. Various tools look for values here. -- [spinoffconfig.json](spinoffconfig.json): Configures how this project can be +- [spinoffconfig.py](spinoffconfig.py): Configures how this project can be spun off into other projects and/or what it inherits from a parent project. - **localconfig.json**: Optional file influencing behavior only at this location. This file should not be stored in git/etc. diff --git a/config/requirements.txt b/config/requirements.txt new file mode 100644 index 00000000..7edcaf0d --- /dev/null +++ b/config/requirements.txt @@ -0,0 +1,25 @@ +typing_extensions==4.11.0 +filelock==3.13.4 +python-daemon==3.0.1 +python-lsp-server==1.11.0 +python-lsp-black==2.0.0 +mypy==1.9.0 +pylint==3.1.0 +cpplint==1.6.1 +pytest==8.1.1 +pytz==2024.1 +ansiwrap==0.8.4 +requests==2.31.0 +pdoc==14.4.0 +PyYAML==6.0.1 +types-filelock==3.2.7 +types-requests==2.31.0.20240406 +types-pytz==2024.1.0.20240417 +types-PyYAML==6.0.12.20240311 +types-certifi==2021.10.8.3 +pbxproj==4.1.0 +Sphinx==7.3.7 +furo==2024.1.29 +pylsp-mypy==0.6.8 +pur==7.3.1 + diff --git a/config/spinoffconfig.py b/config/spinoffconfig.py index f4da7124..87d57444 100644 --- a/config/spinoffconfig.py +++ b/config/spinoffconfig.py @@ -151,7 +151,6 @@ ctx.project_file_suffixes = { ctx.filter_dirs = { 'ballisticakit-cmake', 'ballisticakit-xcode/BallisticaKit.xcodeproj', - 'ballisticakit-ios.xcodeproj', 'config', 'src/assets/pdoc', } diff --git a/config/toolconfigsrc/pycheckers b/config/toolconfigsrc/pycheckers deleted file mode 100644 index 556740c8..00000000 --- a/config/toolconfigsrc/pycheckers +++ /dev/null @@ -1,5 +0,0 @@ -[DEFAULT] -checkers= pylint, mypy3 -mypy_config_file=.mypy.ini -mypy_use_daemon=true -mypy_daemon_files_command=tools/pcommand scriptfiles -lines diff --git a/config/toolconfigsrc/style.yapf b/config/toolconfigsrc/style.yapf deleted file mode 100644 index f1bfe843..00000000 --- a/config/toolconfigsrc/style.yapf +++ /dev/null @@ -1,8 +0,0 @@ -[style] -based_on_style = pep8 -allow_multiline_lambdas = true -allow_multiline_dictionary_keys = true -coalesce_brackets = true -join_multiple_lines = false -indent_dictionary_value = true -blank_line_before_nested_class_or_def = true diff --git a/src/assets/.asset_manifest_private.json b/src/assets/.asset_manifest_private.json index 92a5edc2..db37a0e3 100644 --- a/src/assets/.asset_manifest_private.json +++ b/src/assets/.asset_manifest_private.json @@ -944,35 +944,35 @@ "ba_data/meshes/zoeTorso.bob", "ba_data/meshes/zoeUpperArm.bob", "ba_data/meshes/zoeUpperLeg.bob", - "ba_data/python-site-packages/__pycache__/typing_extensions.cpython-311.opt-1.pyc", + "ba_data/python-site-packages/__pycache__/typing_extensions.cpython-312.opt-1.pyc", "ba_data/python-site-packages/_yaml/__init__.py", - "ba_data/python-site-packages/_yaml/__pycache__/__init__.cpython-311.opt-1.pyc", + "ba_data/python-site-packages/_yaml/__pycache__/__init__.cpython-312.opt-1.pyc", "ba_data/python-site-packages/certifi/__init__.py", "ba_data/python-site-packages/certifi/__main__.py", - "ba_data/python-site-packages/certifi/__pycache__/__init__.cpython-311.opt-1.pyc", - "ba_data/python-site-packages/certifi/__pycache__/__main__.cpython-311.opt-1.pyc", - "ba_data/python-site-packages/certifi/__pycache__/core.cpython-311.opt-1.pyc", + "ba_data/python-site-packages/certifi/__pycache__/__init__.cpython-312.opt-1.pyc", + "ba_data/python-site-packages/certifi/__pycache__/__main__.cpython-312.opt-1.pyc", + "ba_data/python-site-packages/certifi/__pycache__/core.cpython-312.opt-1.pyc", "ba_data/python-site-packages/certifi/cacert.pem", "ba_data/python-site-packages/certifi/core.py", "ba_data/python-site-packages/typing_extensions.py", "ba_data/python-site-packages/yaml/__init__.py", - "ba_data/python-site-packages/yaml/__pycache__/__init__.cpython-311.opt-1.pyc", - "ba_data/python-site-packages/yaml/__pycache__/composer.cpython-311.opt-1.pyc", - "ba_data/python-site-packages/yaml/__pycache__/constructor.cpython-311.opt-1.pyc", - "ba_data/python-site-packages/yaml/__pycache__/cyaml.cpython-311.opt-1.pyc", - "ba_data/python-site-packages/yaml/__pycache__/dumper.cpython-311.opt-1.pyc", - "ba_data/python-site-packages/yaml/__pycache__/emitter.cpython-311.opt-1.pyc", - "ba_data/python-site-packages/yaml/__pycache__/error.cpython-311.opt-1.pyc", - "ba_data/python-site-packages/yaml/__pycache__/events.cpython-311.opt-1.pyc", - "ba_data/python-site-packages/yaml/__pycache__/loader.cpython-311.opt-1.pyc", - "ba_data/python-site-packages/yaml/__pycache__/nodes.cpython-311.opt-1.pyc", - "ba_data/python-site-packages/yaml/__pycache__/parser.cpython-311.opt-1.pyc", - "ba_data/python-site-packages/yaml/__pycache__/reader.cpython-311.opt-1.pyc", - "ba_data/python-site-packages/yaml/__pycache__/representer.cpython-311.opt-1.pyc", - "ba_data/python-site-packages/yaml/__pycache__/resolver.cpython-311.opt-1.pyc", - "ba_data/python-site-packages/yaml/__pycache__/scanner.cpython-311.opt-1.pyc", - "ba_data/python-site-packages/yaml/__pycache__/serializer.cpython-311.opt-1.pyc", - "ba_data/python-site-packages/yaml/__pycache__/tokens.cpython-311.opt-1.pyc", + "ba_data/python-site-packages/yaml/__pycache__/__init__.cpython-312.opt-1.pyc", + "ba_data/python-site-packages/yaml/__pycache__/composer.cpython-312.opt-1.pyc", + "ba_data/python-site-packages/yaml/__pycache__/constructor.cpython-312.opt-1.pyc", + "ba_data/python-site-packages/yaml/__pycache__/cyaml.cpython-312.opt-1.pyc", + "ba_data/python-site-packages/yaml/__pycache__/dumper.cpython-312.opt-1.pyc", + "ba_data/python-site-packages/yaml/__pycache__/emitter.cpython-312.opt-1.pyc", + "ba_data/python-site-packages/yaml/__pycache__/error.cpython-312.opt-1.pyc", + "ba_data/python-site-packages/yaml/__pycache__/events.cpython-312.opt-1.pyc", + "ba_data/python-site-packages/yaml/__pycache__/loader.cpython-312.opt-1.pyc", + "ba_data/python-site-packages/yaml/__pycache__/nodes.cpython-312.opt-1.pyc", + "ba_data/python-site-packages/yaml/__pycache__/parser.cpython-312.opt-1.pyc", + "ba_data/python-site-packages/yaml/__pycache__/reader.cpython-312.opt-1.pyc", + "ba_data/python-site-packages/yaml/__pycache__/representer.cpython-312.opt-1.pyc", + "ba_data/python-site-packages/yaml/__pycache__/resolver.cpython-312.opt-1.pyc", + "ba_data/python-site-packages/yaml/__pycache__/scanner.cpython-312.opt-1.pyc", + "ba_data/python-site-packages/yaml/__pycache__/serializer.cpython-312.opt-1.pyc", + "ba_data/python-site-packages/yaml/__pycache__/tokens.cpython-312.opt-1.pyc", "ba_data/python-site-packages/yaml/composer.py", "ba_data/python-site-packages/yaml/constructor.py", "ba_data/python-site-packages/yaml/cyaml.py", @@ -2603,199 +2603,184 @@ "ba_data/textures/zoeIcon_preview.png", "pylib-android/__future__.py", "pylib-android/__hello__.py", - "pylib-android/__pycache__/__future__.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/__hello__.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/_aix_support.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/_bootsubprocess.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/_collections_abc.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/_compat_pickle.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/_compression.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/_markupbase.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/_osx_support.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/_py_abc.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/_pydecimal.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/_pyio.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/_sitebuiltins.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/_strptime.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/_sysconfigdata__linux_aarch64-linux-android.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/_sysconfigdata__linux_arm-linux-androideabi.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/_sysconfigdata__linux_i686-linux-android.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/_sysconfigdata__linux_x86_64-linux-android.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/_sysconfigdata_d_linux_aarch64-linux-android.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/_sysconfigdata_d_linux_arm-linux-androideabi.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/_sysconfigdata_d_linux_i686-linux-android.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/_sysconfigdata_d_linux_x86_64-linux-android.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/_threading_local.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/_weakrefset.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/abc.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/aifc.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/antigravity.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/argparse.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/ast.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/asynchat.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/asyncore.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/base64.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/bdb.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/bisect.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/bz2.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/cProfile.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/calendar.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/cgi.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/cgitb.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/chunk.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/cmd.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/code.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/codecs.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/codeop.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/colorsys.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/compileall.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/configparser.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/contextlib.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/contextvars.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/copy.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/copyreg.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/crypt.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/csv.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/dataclasses.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/datetime.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/decimal.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/difflib.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/dis.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/doctest.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/enum.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/filecmp.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/fileinput.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/fnmatch.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/fractions.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/ftplib.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/functools.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/genericpath.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/getopt.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/getpass.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/gettext.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/glob.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/graphlib.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/gzip.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/hashlib.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/heapq.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/hmac.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/imghdr.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/imp.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/inspect.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/io.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/ipaddress.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/keyword.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/linecache.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/locale.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/lzma.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/mailbox.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/mailcap.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/mimetypes.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/modulefinder.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/netrc.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/nntplib.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/ntpath.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/nturl2path.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/numbers.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/opcode.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/operator.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/optparse.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/os.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/pathlib.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/pdb.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/pickle.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/pickletools.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/pipes.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/pkgutil.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/platform.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/plistlib.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/poplib.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/posixpath.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/pprint.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/profile.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/pstats.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/pty.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/py_compile.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/pyclbr.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/pydoc.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/queue.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/quopri.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/random.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/reprlib.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/rlcompleter.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/runpy.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/sched.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/secrets.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/selectors.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/shelve.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/shlex.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/shutil.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/signal.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/site.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/smtpd.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/smtplib.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/sndhdr.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/socket.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/socketserver.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/sre_compile.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/sre_constants.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/sre_parse.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/ssl.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/stat.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/statistics.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/string.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/stringprep.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/struct.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/subprocess.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/sunau.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/symtable.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/sysconfig.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/tabnanny.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/tarfile.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/telnetlib.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/tempfile.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/textwrap.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/this.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/threading.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/timeit.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/token.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/tokenize.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/trace.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/traceback.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/tracemalloc.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/tty.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/types.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/typing.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/uu.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/uuid.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/warnings.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/wave.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/weakref.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/webbrowser.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/xdrlib.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/zipapp.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/zipfile.cpython-311.opt-1.pyc", - "pylib-android/__pycache__/zipimport.cpython-311.opt-1.pyc", + "pylib-android/__pycache__/__future__.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/__hello__.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/_aix_support.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/_collections_abc.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/_compat_pickle.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/_compression.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/_markupbase.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/_osx_support.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/_py_abc.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/_pydatetime.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/_pydecimal.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/_pyio.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/_pylong.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/_sitebuiltins.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/_strptime.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/_sysconfigdata__linux_.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/_sysconfigdata_d_linux_.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/_threading_local.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/_weakrefset.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/abc.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/aifc.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/antigravity.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/argparse.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/ast.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/base64.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/bdb.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/bisect.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/bz2.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/cProfile.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/calendar.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/cgi.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/cgitb.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/chunk.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/cmd.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/code.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/codecs.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/codeop.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/colorsys.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/compileall.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/configparser.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/contextlib.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/contextvars.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/copy.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/copyreg.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/crypt.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/csv.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/dataclasses.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/datetime.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/decimal.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/difflib.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/dis.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/doctest.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/enum.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/filecmp.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/fileinput.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/fnmatch.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/fractions.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/ftplib.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/functools.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/genericpath.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/getopt.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/getpass.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/gettext.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/glob.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/graphlib.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/gzip.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/hashlib.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/heapq.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/hmac.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/imghdr.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/inspect.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/io.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/ipaddress.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/keyword.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/linecache.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/locale.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/lzma.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/mailbox.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/mailcap.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/mimetypes.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/modulefinder.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/netrc.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/nntplib.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/ntpath.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/nturl2path.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/numbers.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/opcode.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/operator.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/optparse.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/os.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/pathlib.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/pdb.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/pickle.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/pickletools.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/pipes.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/pkgutil.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/platform.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/plistlib.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/poplib.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/posixpath.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/pprint.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/profile.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/pstats.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/pty.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/py_compile.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/pyclbr.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/pydoc.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/queue.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/quopri.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/random.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/reprlib.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/rlcompleter.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/runpy.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/sched.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/secrets.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/selectors.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/shelve.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/shlex.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/shutil.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/signal.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/site.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/smtplib.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/sndhdr.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/socket.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/socketserver.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/sre_compile.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/sre_constants.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/sre_parse.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/ssl.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/stat.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/statistics.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/string.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/stringprep.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/struct.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/subprocess.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/sunau.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/symtable.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/sysconfig.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/tabnanny.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/tarfile.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/telnetlib.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/tempfile.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/textwrap.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/this.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/threading.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/timeit.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/token.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/tokenize.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/trace.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/traceback.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/tracemalloc.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/tty.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/types.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/typing.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/uu.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/uuid.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/warnings.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/wave.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/weakref.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/webbrowser.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/xdrlib.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/zipapp.cpython-312.opt-1.pyc", + "pylib-android/__pycache__/zipimport.cpython-312.opt-1.pyc", "pylib-android/_aix_support.py", - "pylib-android/_bootsubprocess.py", "pylib-android/_collections_abc.py", "pylib-android/_compat_pickle.py", "pylib-android/_compression.py", "pylib-android/_markupbase.py", "pylib-android/_osx_support.py", "pylib-android/_py_abc.py", + "pylib-android/_pydatetime.py", "pylib-android/_pydecimal.py", "pylib-android/_pyio.py", + "pylib-android/_pylong.py", "pylib-android/_sitebuiltins.py", "pylib-android/_strptime.py", - "pylib-android/_sysconfigdata__linux_aarch64-linux-android.py", - "pylib-android/_sysconfigdata__linux_arm-linux-androideabi.py", - "pylib-android/_sysconfigdata__linux_i686-linux-android.py", - "pylib-android/_sysconfigdata__linux_x86_64-linux-android.py", - "pylib-android/_sysconfigdata_d_linux_aarch64-linux-android.py", - "pylib-android/_sysconfigdata_d_linux_arm-linux-androideabi.py", - "pylib-android/_sysconfigdata_d_linux_i686-linux-android.py", - "pylib-android/_sysconfigdata_d_linux_x86_64-linux-android.py", + "pylib-android/_sysconfigdata__linux_.py", + "pylib-android/_sysconfigdata_d_linux_.py", "pylib-android/_threading_local.py", "pylib-android/_weakrefset.py", "pylib-android/abc.py", @@ -2803,42 +2788,41 @@ "pylib-android/antigravity.py", "pylib-android/argparse.py", "pylib-android/ast.py", - "pylib-android/asynchat.py", "pylib-android/asyncio/__init__.py", "pylib-android/asyncio/__main__.py", - "pylib-android/asyncio/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-android/asyncio/__pycache__/__main__.cpython-311.opt-1.pyc", - "pylib-android/asyncio/__pycache__/base_events.cpython-311.opt-1.pyc", - "pylib-android/asyncio/__pycache__/base_futures.cpython-311.opt-1.pyc", - "pylib-android/asyncio/__pycache__/base_subprocess.cpython-311.opt-1.pyc", - "pylib-android/asyncio/__pycache__/base_tasks.cpython-311.opt-1.pyc", - "pylib-android/asyncio/__pycache__/constants.cpython-311.opt-1.pyc", - "pylib-android/asyncio/__pycache__/coroutines.cpython-311.opt-1.pyc", - "pylib-android/asyncio/__pycache__/events.cpython-311.opt-1.pyc", - "pylib-android/asyncio/__pycache__/exceptions.cpython-311.opt-1.pyc", - "pylib-android/asyncio/__pycache__/format_helpers.cpython-311.opt-1.pyc", - "pylib-android/asyncio/__pycache__/futures.cpython-311.opt-1.pyc", - "pylib-android/asyncio/__pycache__/locks.cpython-311.opt-1.pyc", - "pylib-android/asyncio/__pycache__/log.cpython-311.opt-1.pyc", - "pylib-android/asyncio/__pycache__/mixins.cpython-311.opt-1.pyc", - "pylib-android/asyncio/__pycache__/proactor_events.cpython-311.opt-1.pyc", - "pylib-android/asyncio/__pycache__/protocols.cpython-311.opt-1.pyc", - "pylib-android/asyncio/__pycache__/queues.cpython-311.opt-1.pyc", - "pylib-android/asyncio/__pycache__/runners.cpython-311.opt-1.pyc", - "pylib-android/asyncio/__pycache__/selector_events.cpython-311.opt-1.pyc", - "pylib-android/asyncio/__pycache__/sslproto.cpython-311.opt-1.pyc", - "pylib-android/asyncio/__pycache__/staggered.cpython-311.opt-1.pyc", - "pylib-android/asyncio/__pycache__/streams.cpython-311.opt-1.pyc", - "pylib-android/asyncio/__pycache__/subprocess.cpython-311.opt-1.pyc", - "pylib-android/asyncio/__pycache__/taskgroups.cpython-311.opt-1.pyc", - "pylib-android/asyncio/__pycache__/tasks.cpython-311.opt-1.pyc", - "pylib-android/asyncio/__pycache__/threads.cpython-311.opt-1.pyc", - "pylib-android/asyncio/__pycache__/timeouts.cpython-311.opt-1.pyc", - "pylib-android/asyncio/__pycache__/transports.cpython-311.opt-1.pyc", - "pylib-android/asyncio/__pycache__/trsock.cpython-311.opt-1.pyc", - "pylib-android/asyncio/__pycache__/unix_events.cpython-311.opt-1.pyc", - "pylib-android/asyncio/__pycache__/windows_events.cpython-311.opt-1.pyc", - "pylib-android/asyncio/__pycache__/windows_utils.cpython-311.opt-1.pyc", + "pylib-android/asyncio/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-android/asyncio/__pycache__/__main__.cpython-312.opt-1.pyc", + "pylib-android/asyncio/__pycache__/base_events.cpython-312.opt-1.pyc", + "pylib-android/asyncio/__pycache__/base_futures.cpython-312.opt-1.pyc", + "pylib-android/asyncio/__pycache__/base_subprocess.cpython-312.opt-1.pyc", + "pylib-android/asyncio/__pycache__/base_tasks.cpython-312.opt-1.pyc", + "pylib-android/asyncio/__pycache__/constants.cpython-312.opt-1.pyc", + "pylib-android/asyncio/__pycache__/coroutines.cpython-312.opt-1.pyc", + "pylib-android/asyncio/__pycache__/events.cpython-312.opt-1.pyc", + "pylib-android/asyncio/__pycache__/exceptions.cpython-312.opt-1.pyc", + "pylib-android/asyncio/__pycache__/format_helpers.cpython-312.opt-1.pyc", + "pylib-android/asyncio/__pycache__/futures.cpython-312.opt-1.pyc", + "pylib-android/asyncio/__pycache__/locks.cpython-312.opt-1.pyc", + "pylib-android/asyncio/__pycache__/log.cpython-312.opt-1.pyc", + "pylib-android/asyncio/__pycache__/mixins.cpython-312.opt-1.pyc", + "pylib-android/asyncio/__pycache__/proactor_events.cpython-312.opt-1.pyc", + "pylib-android/asyncio/__pycache__/protocols.cpython-312.opt-1.pyc", + "pylib-android/asyncio/__pycache__/queues.cpython-312.opt-1.pyc", + "pylib-android/asyncio/__pycache__/runners.cpython-312.opt-1.pyc", + "pylib-android/asyncio/__pycache__/selector_events.cpython-312.opt-1.pyc", + "pylib-android/asyncio/__pycache__/sslproto.cpython-312.opt-1.pyc", + "pylib-android/asyncio/__pycache__/staggered.cpython-312.opt-1.pyc", + "pylib-android/asyncio/__pycache__/streams.cpython-312.opt-1.pyc", + "pylib-android/asyncio/__pycache__/subprocess.cpython-312.opt-1.pyc", + "pylib-android/asyncio/__pycache__/taskgroups.cpython-312.opt-1.pyc", + "pylib-android/asyncio/__pycache__/tasks.cpython-312.opt-1.pyc", + "pylib-android/asyncio/__pycache__/threads.cpython-312.opt-1.pyc", + "pylib-android/asyncio/__pycache__/timeouts.cpython-312.opt-1.pyc", + "pylib-android/asyncio/__pycache__/transports.cpython-312.opt-1.pyc", + "pylib-android/asyncio/__pycache__/trsock.cpython-312.opt-1.pyc", + "pylib-android/asyncio/__pycache__/unix_events.cpython-312.opt-1.pyc", + "pylib-android/asyncio/__pycache__/windows_events.cpython-312.opt-1.pyc", + "pylib-android/asyncio/__pycache__/windows_utils.cpython-312.opt-1.pyc", "pylib-android/asyncio/base_events.py", "pylib-android/asyncio/base_futures.py", "pylib-android/asyncio/base_subprocess.py", @@ -2870,7 +2854,6 @@ "pylib-android/asyncio/unix_events.py", "pylib-android/asyncio/windows_events.py", "pylib-android/asyncio/windows_utils.py", - "pylib-android/asyncore.py", "pylib-android/base64.py", "pylib-android/bdb.py", "pylib-android/bisect.py", @@ -2885,18 +2868,18 @@ "pylib-android/codecs.py", "pylib-android/codeop.py", "pylib-android/collections/__init__.py", - "pylib-android/collections/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-android/collections/__pycache__/abc.cpython-311.opt-1.pyc", + "pylib-android/collections/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-android/collections/__pycache__/abc.cpython-312.opt-1.pyc", "pylib-android/collections/abc.py", "pylib-android/colorsys.py", "pylib-android/compileall.py", "pylib-android/concurrent/__init__.py", - "pylib-android/concurrent/__pycache__/__init__.cpython-311.opt-1.pyc", + "pylib-android/concurrent/__pycache__/__init__.cpython-312.opt-1.pyc", "pylib-android/concurrent/futures/__init__.py", - "pylib-android/concurrent/futures/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-android/concurrent/futures/__pycache__/_base.cpython-311.opt-1.pyc", - "pylib-android/concurrent/futures/__pycache__/process.cpython-311.opt-1.pyc", - "pylib-android/concurrent/futures/__pycache__/thread.cpython-311.opt-1.pyc", + "pylib-android/concurrent/futures/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-android/concurrent/futures/__pycache__/_base.cpython-312.opt-1.pyc", + "pylib-android/concurrent/futures/__pycache__/process.cpython-312.opt-1.pyc", + "pylib-android/concurrent/futures/__pycache__/thread.cpython-312.opt-1.pyc", "pylib-android/concurrent/futures/_base.py", "pylib-android/concurrent/futures/process.py", "pylib-android/concurrent/futures/thread.py", @@ -2908,29 +2891,29 @@ "pylib-android/crypt.py", "pylib-android/csv.py", "pylib-android/ctypes/__init__.py", - "pylib-android/ctypes/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-android/ctypes/__pycache__/_aix.cpython-311.opt-1.pyc", - "pylib-android/ctypes/__pycache__/_endian.cpython-311.opt-1.pyc", - "pylib-android/ctypes/__pycache__/util.cpython-311.opt-1.pyc", - "pylib-android/ctypes/__pycache__/wintypes.cpython-311.opt-1.pyc", + "pylib-android/ctypes/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-android/ctypes/__pycache__/_aix.cpython-312.opt-1.pyc", + "pylib-android/ctypes/__pycache__/_endian.cpython-312.opt-1.pyc", + "pylib-android/ctypes/__pycache__/util.cpython-312.opt-1.pyc", + "pylib-android/ctypes/__pycache__/wintypes.cpython-312.opt-1.pyc", "pylib-android/ctypes/_aix.py", "pylib-android/ctypes/_endian.py", "pylib-android/ctypes/macholib/__init__.py", - "pylib-android/ctypes/macholib/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-android/ctypes/macholib/__pycache__/dyld.cpython-311.opt-1.pyc", - "pylib-android/ctypes/macholib/__pycache__/dylib.cpython-311.opt-1.pyc", - "pylib-android/ctypes/macholib/__pycache__/framework.cpython-311.opt-1.pyc", + "pylib-android/ctypes/macholib/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-android/ctypes/macholib/__pycache__/dyld.cpython-312.opt-1.pyc", + "pylib-android/ctypes/macholib/__pycache__/dylib.cpython-312.opt-1.pyc", + "pylib-android/ctypes/macholib/__pycache__/framework.cpython-312.opt-1.pyc", "pylib-android/ctypes/macholib/dyld.py", "pylib-android/ctypes/macholib/dylib.py", "pylib-android/ctypes/macholib/framework.py", "pylib-android/ctypes/util.py", "pylib-android/ctypes/wintypes.py", "pylib-android/curses/__init__.py", - "pylib-android/curses/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-android/curses/__pycache__/ascii.cpython-311.opt-1.pyc", - "pylib-android/curses/__pycache__/has_key.cpython-311.opt-1.pyc", - "pylib-android/curses/__pycache__/panel.cpython-311.opt-1.pyc", - "pylib-android/curses/__pycache__/textpad.cpython-311.opt-1.pyc", + "pylib-android/curses/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-android/curses/__pycache__/ascii.cpython-312.opt-1.pyc", + "pylib-android/curses/__pycache__/has_key.cpython-312.opt-1.pyc", + "pylib-android/curses/__pycache__/panel.cpython-312.opt-1.pyc", + "pylib-android/curses/__pycache__/textpad.cpython-312.opt-1.pyc", "pylib-android/curses/ascii.py", "pylib-android/curses/has_key.py", "pylib-android/curses/panel.py", @@ -2942,26 +2925,26 @@ "pylib-android/dis.py", "pylib-android/doctest.py", "pylib-android/email/__init__.py", - "pylib-android/email/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-android/email/__pycache__/_encoded_words.cpython-311.opt-1.pyc", - "pylib-android/email/__pycache__/_header_value_parser.cpython-311.opt-1.pyc", - "pylib-android/email/__pycache__/_parseaddr.cpython-311.opt-1.pyc", - "pylib-android/email/__pycache__/_policybase.cpython-311.opt-1.pyc", - "pylib-android/email/__pycache__/base64mime.cpython-311.opt-1.pyc", - "pylib-android/email/__pycache__/charset.cpython-311.opt-1.pyc", - "pylib-android/email/__pycache__/contentmanager.cpython-311.opt-1.pyc", - "pylib-android/email/__pycache__/encoders.cpython-311.opt-1.pyc", - "pylib-android/email/__pycache__/errors.cpython-311.opt-1.pyc", - "pylib-android/email/__pycache__/feedparser.cpython-311.opt-1.pyc", - "pylib-android/email/__pycache__/generator.cpython-311.opt-1.pyc", - "pylib-android/email/__pycache__/header.cpython-311.opt-1.pyc", - "pylib-android/email/__pycache__/headerregistry.cpython-311.opt-1.pyc", - "pylib-android/email/__pycache__/iterators.cpython-311.opt-1.pyc", - "pylib-android/email/__pycache__/message.cpython-311.opt-1.pyc", - "pylib-android/email/__pycache__/parser.cpython-311.opt-1.pyc", - "pylib-android/email/__pycache__/policy.cpython-311.opt-1.pyc", - "pylib-android/email/__pycache__/quoprimime.cpython-311.opt-1.pyc", - "pylib-android/email/__pycache__/utils.cpython-311.opt-1.pyc", + "pylib-android/email/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-android/email/__pycache__/_encoded_words.cpython-312.opt-1.pyc", + "pylib-android/email/__pycache__/_header_value_parser.cpython-312.opt-1.pyc", + "pylib-android/email/__pycache__/_parseaddr.cpython-312.opt-1.pyc", + "pylib-android/email/__pycache__/_policybase.cpython-312.opt-1.pyc", + "pylib-android/email/__pycache__/base64mime.cpython-312.opt-1.pyc", + "pylib-android/email/__pycache__/charset.cpython-312.opt-1.pyc", + "pylib-android/email/__pycache__/contentmanager.cpython-312.opt-1.pyc", + "pylib-android/email/__pycache__/encoders.cpython-312.opt-1.pyc", + "pylib-android/email/__pycache__/errors.cpython-312.opt-1.pyc", + "pylib-android/email/__pycache__/feedparser.cpython-312.opt-1.pyc", + "pylib-android/email/__pycache__/generator.cpython-312.opt-1.pyc", + "pylib-android/email/__pycache__/header.cpython-312.opt-1.pyc", + "pylib-android/email/__pycache__/headerregistry.cpython-312.opt-1.pyc", + "pylib-android/email/__pycache__/iterators.cpython-312.opt-1.pyc", + "pylib-android/email/__pycache__/message.cpython-312.opt-1.pyc", + "pylib-android/email/__pycache__/parser.cpython-312.opt-1.pyc", + "pylib-android/email/__pycache__/policy.cpython-312.opt-1.pyc", + "pylib-android/email/__pycache__/quoprimime.cpython-312.opt-1.pyc", + "pylib-android/email/__pycache__/utils.cpython-312.opt-1.pyc", "pylib-android/email/_encoded_words.py", "pylib-android/email/_header_value_parser.py", "pylib-android/email/_parseaddr.py", @@ -2978,15 +2961,15 @@ "pylib-android/email/iterators.py", "pylib-android/email/message.py", "pylib-android/email/mime/__init__.py", - "pylib-android/email/mime/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-android/email/mime/__pycache__/application.cpython-311.opt-1.pyc", - "pylib-android/email/mime/__pycache__/audio.cpython-311.opt-1.pyc", - "pylib-android/email/mime/__pycache__/base.cpython-311.opt-1.pyc", - "pylib-android/email/mime/__pycache__/image.cpython-311.opt-1.pyc", - "pylib-android/email/mime/__pycache__/message.cpython-311.opt-1.pyc", - "pylib-android/email/mime/__pycache__/multipart.cpython-311.opt-1.pyc", - "pylib-android/email/mime/__pycache__/nonmultipart.cpython-311.opt-1.pyc", - "pylib-android/email/mime/__pycache__/text.cpython-311.opt-1.pyc", + "pylib-android/email/mime/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-android/email/mime/__pycache__/application.cpython-312.opt-1.pyc", + "pylib-android/email/mime/__pycache__/audio.cpython-312.opt-1.pyc", + "pylib-android/email/mime/__pycache__/base.cpython-312.opt-1.pyc", + "pylib-android/email/mime/__pycache__/image.cpython-312.opt-1.pyc", + "pylib-android/email/mime/__pycache__/message.cpython-312.opt-1.pyc", + "pylib-android/email/mime/__pycache__/multipart.cpython-312.opt-1.pyc", + "pylib-android/email/mime/__pycache__/nonmultipart.cpython-312.opt-1.pyc", + "pylib-android/email/mime/__pycache__/text.cpython-312.opt-1.pyc", "pylib-android/email/mime/application.py", "pylib-android/email/mime/audio.py", "pylib-android/email/mime/base.py", @@ -3000,128 +2983,128 @@ "pylib-android/email/quoprimime.py", "pylib-android/email/utils.py", "pylib-android/encodings/__init__.py", - "pylib-android/encodings/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/aliases.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/ascii.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/base64_codec.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/big5.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/big5hkscs.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/bz2_codec.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/charmap.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp037.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp1006.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp1026.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp1125.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp1140.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp1250.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp1251.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp1252.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp1253.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp1254.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp1255.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp1256.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp1257.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp1258.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp273.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp424.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp437.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp500.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp720.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp737.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp775.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp850.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp852.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp855.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp856.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp857.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp858.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp860.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp861.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp862.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp863.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp864.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp865.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp866.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp869.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp874.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp875.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp932.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp949.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/cp950.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/euc_jis_2004.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/euc_jisx0213.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/euc_jp.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/euc_kr.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/gb18030.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/gb2312.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/gbk.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/hex_codec.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/hp_roman8.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/hz.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/idna.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/iso2022_jp.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/iso2022_jp_1.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/iso2022_jp_2.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/iso2022_jp_2004.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/iso2022_jp_3.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/iso2022_jp_ext.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/iso2022_kr.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/iso8859_1.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/iso8859_10.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/iso8859_11.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/iso8859_13.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/iso8859_14.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/iso8859_15.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/iso8859_16.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/iso8859_2.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/iso8859_3.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/iso8859_4.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/iso8859_5.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/iso8859_6.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/iso8859_7.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/iso8859_8.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/iso8859_9.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/johab.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/koi8_r.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/koi8_t.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/koi8_u.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/kz1048.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/latin_1.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/mac_arabic.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/mac_croatian.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/mac_cyrillic.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/mac_farsi.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/mac_greek.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/mac_iceland.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/mac_latin2.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/mac_roman.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/mac_romanian.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/mac_turkish.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/mbcs.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/oem.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/palmos.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/ptcp154.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/punycode.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/quopri_codec.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/raw_unicode_escape.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/rot_13.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/shift_jis.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/shift_jis_2004.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/shift_jisx0213.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/tis_620.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/undefined.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/unicode_escape.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/utf_16.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/utf_16_be.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/utf_16_le.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/utf_32.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/utf_32_be.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/utf_32_le.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/utf_7.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/utf_8.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/utf_8_sig.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/uu_codec.cpython-311.opt-1.pyc", - "pylib-android/encodings/__pycache__/zlib_codec.cpython-311.opt-1.pyc", + "pylib-android/encodings/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/aliases.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/ascii.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/base64_codec.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/big5.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/big5hkscs.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/bz2_codec.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/charmap.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp037.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp1006.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp1026.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp1125.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp1140.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp1250.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp1251.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp1252.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp1253.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp1254.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp1255.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp1256.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp1257.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp1258.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp273.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp424.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp437.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp500.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp720.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp737.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp775.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp850.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp852.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp855.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp856.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp857.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp858.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp860.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp861.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp862.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp863.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp864.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp865.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp866.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp869.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp874.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp875.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp932.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp949.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/cp950.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/euc_jis_2004.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/euc_jisx0213.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/euc_jp.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/euc_kr.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/gb18030.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/gb2312.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/gbk.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/hex_codec.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/hp_roman8.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/hz.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/idna.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/iso2022_jp.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/iso2022_jp_1.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/iso2022_jp_2.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/iso2022_jp_2004.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/iso2022_jp_3.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/iso2022_jp_ext.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/iso2022_kr.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/iso8859_1.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/iso8859_10.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/iso8859_11.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/iso8859_13.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/iso8859_14.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/iso8859_15.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/iso8859_16.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/iso8859_2.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/iso8859_3.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/iso8859_4.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/iso8859_5.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/iso8859_6.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/iso8859_7.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/iso8859_8.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/iso8859_9.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/johab.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/koi8_r.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/koi8_t.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/koi8_u.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/kz1048.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/latin_1.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/mac_arabic.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/mac_croatian.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/mac_cyrillic.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/mac_farsi.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/mac_greek.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/mac_iceland.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/mac_latin2.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/mac_roman.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/mac_romanian.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/mac_turkish.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/mbcs.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/oem.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/palmos.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/ptcp154.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/punycode.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/quopri_codec.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/raw_unicode_escape.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/rot_13.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/shift_jis.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/shift_jis_2004.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/shift_jisx0213.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/tis_620.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/undefined.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/unicode_escape.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/utf_16.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/utf_16_be.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/utf_16_le.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/utf_32.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/utf_32_be.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/utf_32_le.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/utf_7.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/utf_8.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/utf_8_sig.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/uu_codec.cpython-312.opt-1.pyc", + "pylib-android/encodings/__pycache__/zlib_codec.cpython-312.opt-1.pyc", "pylib-android/encodings/aliases.py", "pylib-android/encodings/ascii.py", "pylib-android/encodings/base64_codec.py", @@ -3261,46 +3244,45 @@ "pylib-android/heapq.py", "pylib-android/hmac.py", "pylib-android/html/__init__.py", - "pylib-android/html/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-android/html/__pycache__/entities.cpython-311.opt-1.pyc", - "pylib-android/html/__pycache__/parser.cpython-311.opt-1.pyc", + "pylib-android/html/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-android/html/__pycache__/entities.cpython-312.opt-1.pyc", + "pylib-android/html/__pycache__/parser.cpython-312.opt-1.pyc", "pylib-android/html/entities.py", "pylib-android/html/parser.py", "pylib-android/http/__init__.py", - "pylib-android/http/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-android/http/__pycache__/client.cpython-311.opt-1.pyc", - "pylib-android/http/__pycache__/cookiejar.cpython-311.opt-1.pyc", - "pylib-android/http/__pycache__/cookies.cpython-311.opt-1.pyc", - "pylib-android/http/__pycache__/server.cpython-311.opt-1.pyc", + "pylib-android/http/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-android/http/__pycache__/client.cpython-312.opt-1.pyc", + "pylib-android/http/__pycache__/cookiejar.cpython-312.opt-1.pyc", + "pylib-android/http/__pycache__/cookies.cpython-312.opt-1.pyc", + "pylib-android/http/__pycache__/server.cpython-312.opt-1.pyc", "pylib-android/http/client.py", "pylib-android/http/cookiejar.py", "pylib-android/http/cookies.py", "pylib-android/http/server.py", "pylib-android/imghdr.py", - "pylib-android/imp.py", "pylib-android/importlib/__init__.py", - "pylib-android/importlib/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-android/importlib/__pycache__/_abc.cpython-311.opt-1.pyc", - "pylib-android/importlib/__pycache__/_bootstrap.cpython-311.opt-1.pyc", - "pylib-android/importlib/__pycache__/_bootstrap_external.cpython-311.opt-1.pyc", - "pylib-android/importlib/__pycache__/abc.cpython-311.opt-1.pyc", - "pylib-android/importlib/__pycache__/machinery.cpython-311.opt-1.pyc", - "pylib-android/importlib/__pycache__/readers.cpython-311.opt-1.pyc", - "pylib-android/importlib/__pycache__/simple.cpython-311.opt-1.pyc", - "pylib-android/importlib/__pycache__/util.cpython-311.opt-1.pyc", + "pylib-android/importlib/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-android/importlib/__pycache__/_abc.cpython-312.opt-1.pyc", + "pylib-android/importlib/__pycache__/_bootstrap.cpython-312.opt-1.pyc", + "pylib-android/importlib/__pycache__/_bootstrap_external.cpython-312.opt-1.pyc", + "pylib-android/importlib/__pycache__/abc.cpython-312.opt-1.pyc", + "pylib-android/importlib/__pycache__/machinery.cpython-312.opt-1.pyc", + "pylib-android/importlib/__pycache__/readers.cpython-312.opt-1.pyc", + "pylib-android/importlib/__pycache__/simple.cpython-312.opt-1.pyc", + "pylib-android/importlib/__pycache__/util.cpython-312.opt-1.pyc", "pylib-android/importlib/_abc.py", "pylib-android/importlib/_bootstrap.py", "pylib-android/importlib/_bootstrap_external.py", "pylib-android/importlib/abc.py", "pylib-android/importlib/machinery.py", "pylib-android/importlib/metadata/__init__.py", - "pylib-android/importlib/metadata/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-android/importlib/metadata/__pycache__/_adapters.cpython-311.opt-1.pyc", - "pylib-android/importlib/metadata/__pycache__/_collections.cpython-311.opt-1.pyc", - "pylib-android/importlib/metadata/__pycache__/_functools.cpython-311.opt-1.pyc", - "pylib-android/importlib/metadata/__pycache__/_itertools.cpython-311.opt-1.pyc", - "pylib-android/importlib/metadata/__pycache__/_meta.cpython-311.opt-1.pyc", - "pylib-android/importlib/metadata/__pycache__/_text.cpython-311.opt-1.pyc", + "pylib-android/importlib/metadata/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-android/importlib/metadata/__pycache__/_adapters.cpython-312.opt-1.pyc", + "pylib-android/importlib/metadata/__pycache__/_collections.cpython-312.opt-1.pyc", + "pylib-android/importlib/metadata/__pycache__/_functools.cpython-312.opt-1.pyc", + "pylib-android/importlib/metadata/__pycache__/_itertools.cpython-312.opt-1.pyc", + "pylib-android/importlib/metadata/__pycache__/_meta.cpython-312.opt-1.pyc", + "pylib-android/importlib/metadata/__pycache__/_text.cpython-312.opt-1.pyc", "pylib-android/importlib/metadata/_adapters.py", "pylib-android/importlib/metadata/_collections.py", "pylib-android/importlib/metadata/_functools.py", @@ -3309,14 +3291,14 @@ "pylib-android/importlib/metadata/_text.py", "pylib-android/importlib/readers.py", "pylib-android/importlib/resources/__init__.py", - "pylib-android/importlib/resources/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-android/importlib/resources/__pycache__/_adapters.cpython-311.opt-1.pyc", - "pylib-android/importlib/resources/__pycache__/_common.cpython-311.opt-1.pyc", - "pylib-android/importlib/resources/__pycache__/_itertools.cpython-311.opt-1.pyc", - "pylib-android/importlib/resources/__pycache__/_legacy.cpython-311.opt-1.pyc", - "pylib-android/importlib/resources/__pycache__/abc.cpython-311.opt-1.pyc", - "pylib-android/importlib/resources/__pycache__/readers.cpython-311.opt-1.pyc", - "pylib-android/importlib/resources/__pycache__/simple.cpython-311.opt-1.pyc", + "pylib-android/importlib/resources/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-android/importlib/resources/__pycache__/_adapters.cpython-312.opt-1.pyc", + "pylib-android/importlib/resources/__pycache__/_common.cpython-312.opt-1.pyc", + "pylib-android/importlib/resources/__pycache__/_itertools.cpython-312.opt-1.pyc", + "pylib-android/importlib/resources/__pycache__/_legacy.cpython-312.opt-1.pyc", + "pylib-android/importlib/resources/__pycache__/abc.cpython-312.opt-1.pyc", + "pylib-android/importlib/resources/__pycache__/readers.cpython-312.opt-1.pyc", + "pylib-android/importlib/resources/__pycache__/simple.cpython-312.opt-1.pyc", "pylib-android/importlib/resources/_adapters.py", "pylib-android/importlib/resources/_common.py", "pylib-android/importlib/resources/_itertools.py", @@ -3330,11 +3312,11 @@ "pylib-android/io.py", "pylib-android/ipaddress.py", "pylib-android/json/__init__.py", - "pylib-android/json/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-android/json/__pycache__/decoder.cpython-311.opt-1.pyc", - "pylib-android/json/__pycache__/encoder.cpython-311.opt-1.pyc", - "pylib-android/json/__pycache__/scanner.cpython-311.opt-1.pyc", - "pylib-android/json/__pycache__/tool.cpython-311.opt-1.pyc", + "pylib-android/json/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-android/json/__pycache__/decoder.cpython-312.opt-1.pyc", + "pylib-android/json/__pycache__/encoder.cpython-312.opt-1.pyc", + "pylib-android/json/__pycache__/scanner.cpython-312.opt-1.pyc", + "pylib-android/json/__pycache__/tool.cpython-312.opt-1.pyc", "pylib-android/json/decoder.py", "pylib-android/json/encoder.py", "pylib-android/json/scanner.py", @@ -3343,9 +3325,9 @@ "pylib-android/linecache.py", "pylib-android/locale.py", "pylib-android/logging/__init__.py", - "pylib-android/logging/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-android/logging/__pycache__/config.cpython-311.opt-1.pyc", - "pylib-android/logging/__pycache__/handlers.cpython-311.opt-1.pyc", + "pylib-android/logging/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-android/logging/__pycache__/config.cpython-312.opt-1.pyc", + "pylib-android/logging/__pycache__/handlers.cpython-312.opt-1.pyc", "pylib-android/logging/config.py", "pylib-android/logging/handlers.py", "pylib-android/lzma.py", @@ -3383,11 +3365,11 @@ "pylib-android/quopri.py", "pylib-android/random.py", "pylib-android/re/__init__.py", - "pylib-android/re/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-android/re/__pycache__/_casefix.cpython-311.opt-1.pyc", - "pylib-android/re/__pycache__/_compiler.cpython-311.opt-1.pyc", - "pylib-android/re/__pycache__/_constants.cpython-311.opt-1.pyc", - "pylib-android/re/__pycache__/_parser.cpython-311.opt-1.pyc", + "pylib-android/re/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-android/re/__pycache__/_casefix.cpython-312.opt-1.pyc", + "pylib-android/re/__pycache__/_compiler.cpython-312.opt-1.pyc", + "pylib-android/re/__pycache__/_constants.cpython-312.opt-1.pyc", + "pylib-android/re/__pycache__/_parser.cpython-312.opt-1.pyc", "pylib-android/re/_casefix.py", "pylib-android/re/_compiler.py", "pylib-android/re/_constants.py", @@ -3403,15 +3385,16 @@ "pylib-android/shutil.py", "pylib-android/signal.py", "pylib-android/site.py", - "pylib-android/smtpd.py", "pylib-android/smtplib.py", "pylib-android/sndhdr.py", "pylib-android/socket.py", "pylib-android/socketserver.py", "pylib-android/sqlite3/__init__.py", - "pylib-android/sqlite3/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-android/sqlite3/__pycache__/dbapi2.cpython-311.opt-1.pyc", - "pylib-android/sqlite3/__pycache__/dump.cpython-311.opt-1.pyc", + "pylib-android/sqlite3/__main__.py", + "pylib-android/sqlite3/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-android/sqlite3/__pycache__/__main__.cpython-312.opt-1.pyc", + "pylib-android/sqlite3/__pycache__/dbapi2.cpython-312.opt-1.pyc", + "pylib-android/sqlite3/__pycache__/dump.cpython-312.opt-1.pyc", "pylib-android/sqlite3/dbapi2.py", "pylib-android/sqlite3/dump.py", "pylib-android/sre_compile.py", @@ -3438,10 +3421,10 @@ "pylib-android/token.py", "pylib-android/tokenize.py", "pylib-android/tomllib/__init__.py", - "pylib-android/tomllib/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-android/tomllib/__pycache__/_parser.cpython-311.opt-1.pyc", - "pylib-android/tomllib/__pycache__/_re.cpython-311.opt-1.pyc", - "pylib-android/tomllib/__pycache__/_types.cpython-311.opt-1.pyc", + "pylib-android/tomllib/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-android/tomllib/__pycache__/_parser.cpython-312.opt-1.pyc", + "pylib-android/tomllib/__pycache__/_re.cpython-312.opt-1.pyc", + "pylib-android/tomllib/__pycache__/_types.cpython-312.opt-1.pyc", "pylib-android/tomllib/_parser.py", "pylib-android/tomllib/_re.py", "pylib-android/tomllib/_types.py", @@ -3452,12 +3435,12 @@ "pylib-android/types.py", "pylib-android/typing.py", "pylib-android/urllib/__init__.py", - "pylib-android/urllib/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-android/urllib/__pycache__/error.cpython-311.opt-1.pyc", - "pylib-android/urllib/__pycache__/parse.cpython-311.opt-1.pyc", - "pylib-android/urllib/__pycache__/request.cpython-311.opt-1.pyc", - "pylib-android/urllib/__pycache__/response.cpython-311.opt-1.pyc", - "pylib-android/urllib/__pycache__/robotparser.cpython-311.opt-1.pyc", + "pylib-android/urllib/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-android/urllib/__pycache__/error.cpython-312.opt-1.pyc", + "pylib-android/urllib/__pycache__/parse.cpython-312.opt-1.pyc", + "pylib-android/urllib/__pycache__/request.cpython-312.opt-1.pyc", + "pylib-android/urllib/__pycache__/response.cpython-312.opt-1.pyc", + "pylib-android/urllib/__pycache__/robotparser.cpython-312.opt-1.pyc", "pylib-android/urllib/error.py", "pylib-android/urllib/parse.py", "pylib-android/urllib/request.py", @@ -3471,17 +3454,17 @@ "pylib-android/webbrowser.py", "pylib-android/xdrlib.py", "pylib-android/xml/__init__.py", - "pylib-android/xml/__pycache__/__init__.cpython-311.opt-1.pyc", + "pylib-android/xml/__pycache__/__init__.cpython-312.opt-1.pyc", "pylib-android/xml/dom/NodeFilter.py", "pylib-android/xml/dom/__init__.py", - "pylib-android/xml/dom/__pycache__/NodeFilter.cpython-311.opt-1.pyc", - "pylib-android/xml/dom/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-android/xml/dom/__pycache__/domreg.cpython-311.opt-1.pyc", - "pylib-android/xml/dom/__pycache__/expatbuilder.cpython-311.opt-1.pyc", - "pylib-android/xml/dom/__pycache__/minicompat.cpython-311.opt-1.pyc", - "pylib-android/xml/dom/__pycache__/minidom.cpython-311.opt-1.pyc", - "pylib-android/xml/dom/__pycache__/pulldom.cpython-311.opt-1.pyc", - "pylib-android/xml/dom/__pycache__/xmlbuilder.cpython-311.opt-1.pyc", + "pylib-android/xml/dom/__pycache__/NodeFilter.cpython-312.opt-1.pyc", + "pylib-android/xml/dom/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-android/xml/dom/__pycache__/domreg.cpython-312.opt-1.pyc", + "pylib-android/xml/dom/__pycache__/expatbuilder.cpython-312.opt-1.pyc", + "pylib-android/xml/dom/__pycache__/minicompat.cpython-312.opt-1.pyc", + "pylib-android/xml/dom/__pycache__/minidom.cpython-312.opt-1.pyc", + "pylib-android/xml/dom/__pycache__/pulldom.cpython-312.opt-1.pyc", + "pylib-android/xml/dom/__pycache__/xmlbuilder.cpython-312.opt-1.pyc", "pylib-android/xml/dom/domreg.py", "pylib-android/xml/dom/expatbuilder.py", "pylib-android/xml/dom/minicompat.py", @@ -3492,237 +3475,227 @@ "pylib-android/xml/etree/ElementPath.py", "pylib-android/xml/etree/ElementTree.py", "pylib-android/xml/etree/__init__.py", - "pylib-android/xml/etree/__pycache__/ElementInclude.cpython-311.opt-1.pyc", - "pylib-android/xml/etree/__pycache__/ElementPath.cpython-311.opt-1.pyc", - "pylib-android/xml/etree/__pycache__/ElementTree.cpython-311.opt-1.pyc", - "pylib-android/xml/etree/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-android/xml/etree/__pycache__/cElementTree.cpython-311.opt-1.pyc", + "pylib-android/xml/etree/__pycache__/ElementInclude.cpython-312.opt-1.pyc", + "pylib-android/xml/etree/__pycache__/ElementPath.cpython-312.opt-1.pyc", + "pylib-android/xml/etree/__pycache__/ElementTree.cpython-312.opt-1.pyc", + "pylib-android/xml/etree/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-android/xml/etree/__pycache__/cElementTree.cpython-312.opt-1.pyc", "pylib-android/xml/etree/cElementTree.py", "pylib-android/xml/parsers/__init__.py", - "pylib-android/xml/parsers/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-android/xml/parsers/__pycache__/expat.cpython-311.opt-1.pyc", + "pylib-android/xml/parsers/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-android/xml/parsers/__pycache__/expat.cpython-312.opt-1.pyc", "pylib-android/xml/parsers/expat.py", "pylib-android/xml/sax/__init__.py", - "pylib-android/xml/sax/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-android/xml/sax/__pycache__/_exceptions.cpython-311.opt-1.pyc", - "pylib-android/xml/sax/__pycache__/expatreader.cpython-311.opt-1.pyc", - "pylib-android/xml/sax/__pycache__/handler.cpython-311.opt-1.pyc", - "pylib-android/xml/sax/__pycache__/saxutils.cpython-311.opt-1.pyc", - "pylib-android/xml/sax/__pycache__/xmlreader.cpython-311.opt-1.pyc", + "pylib-android/xml/sax/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-android/xml/sax/__pycache__/_exceptions.cpython-312.opt-1.pyc", + "pylib-android/xml/sax/__pycache__/expatreader.cpython-312.opt-1.pyc", + "pylib-android/xml/sax/__pycache__/handler.cpython-312.opt-1.pyc", + "pylib-android/xml/sax/__pycache__/saxutils.cpython-312.opt-1.pyc", + "pylib-android/xml/sax/__pycache__/xmlreader.cpython-312.opt-1.pyc", "pylib-android/xml/sax/_exceptions.py", "pylib-android/xml/sax/expatreader.py", "pylib-android/xml/sax/handler.py", "pylib-android/xml/sax/saxutils.py", "pylib-android/xml/sax/xmlreader.py", "pylib-android/xmlrpc/__init__.py", - "pylib-android/xmlrpc/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-android/xmlrpc/__pycache__/client.cpython-311.opt-1.pyc", - "pylib-android/xmlrpc/__pycache__/server.cpython-311.opt-1.pyc", + "pylib-android/xmlrpc/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-android/xmlrpc/__pycache__/client.cpython-312.opt-1.pyc", + "pylib-android/xmlrpc/__pycache__/server.cpython-312.opt-1.pyc", "pylib-android/xmlrpc/client.py", "pylib-android/xmlrpc/server.py", "pylib-android/zipapp.py", - "pylib-android/zipfile.py", + "pylib-android/zipfile/__init__.py", + "pylib-android/zipfile/__main__.py", + "pylib-android/zipfile/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-android/zipfile/__pycache__/__main__.cpython-312.opt-1.pyc", + "pylib-android/zipfile/_path/__init__.py", + "pylib-android/zipfile/_path/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-android/zipfile/_path/__pycache__/glob.cpython-312.opt-1.pyc", + "pylib-android/zipfile/_path/glob.py", "pylib-android/zipimport.py", "pylib-android/zoneinfo/__init__.py", - "pylib-android/zoneinfo/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-android/zoneinfo/__pycache__/_common.cpython-311.opt-1.pyc", - "pylib-android/zoneinfo/__pycache__/_tzpath.cpython-311.opt-1.pyc", - "pylib-android/zoneinfo/__pycache__/_zoneinfo.cpython-311.opt-1.pyc", + "pylib-android/zoneinfo/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-android/zoneinfo/__pycache__/_common.cpython-312.opt-1.pyc", + "pylib-android/zoneinfo/__pycache__/_tzpath.cpython-312.opt-1.pyc", + "pylib-android/zoneinfo/__pycache__/_zoneinfo.cpython-312.opt-1.pyc", "pylib-android/zoneinfo/_common.py", "pylib-android/zoneinfo/_tzpath.py", "pylib-android/zoneinfo/_zoneinfo.py", "pylib-apple/__future__.py", "pylib-apple/__hello__.py", - "pylib-apple/__pycache__/__future__.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/__hello__.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_aix_support.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_bootsubprocess.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_collections_abc.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_compat_pickle.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_compression.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_ios_support.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_markupbase.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_osx_support.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_py_abc.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_pydecimal.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_pyio.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_sitebuiltins.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_strptime.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_sysconfigdata__darwin_darwin.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_sysconfigdata__ios_iphoneos.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_sysconfigdata__ios_iphoneos_arm64.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_sysconfigdata__ios_iphonesimulator.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_sysconfigdata__ios_iphonesimulator_arm64.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_sysconfigdata__ios_iphonesimulator_x86_64.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_sysconfigdata__tvos_appletvos.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_sysconfigdata__tvos_appletvos_arm64.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_sysconfigdata__tvos_appletvsimulator.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_sysconfigdata__tvos_appletvsimulator_arm64.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_sysconfigdata__tvos_appletvsimulator_x86_64.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_sysconfigdata_d_darwin_darwin.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_sysconfigdata_d_ios_iphoneos.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_sysconfigdata_d_ios_iphoneos_arm64.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_sysconfigdata_d_ios_iphonesimulator.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_sysconfigdata_d_ios_iphonesimulator_arm64.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_sysconfigdata_d_ios_iphonesimulator_x86_64.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_sysconfigdata_d_tvos_appletvos.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_sysconfigdata_d_tvos_appletvos_arm64.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_sysconfigdata_d_tvos_appletvsimulator.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_sysconfigdata_d_tvos_appletvsimulator_arm64.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_sysconfigdata_d_tvos_appletvsimulator_x86_64.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_threading_local.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/_weakrefset.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/abc.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/aifc.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/antigravity.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/argparse.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/ast.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/asynchat.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/asyncore.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/base64.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/bdb.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/bisect.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/bz2.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/cProfile.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/calendar.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/cgi.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/cgitb.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/chunk.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/cmd.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/code.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/codecs.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/codeop.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/colorsys.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/compileall.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/configparser.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/contextlib.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/contextvars.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/copy.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/copyreg.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/crypt.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/csv.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/dataclasses.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/datetime.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/decimal.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/difflib.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/dis.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/doctest.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/enum.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/filecmp.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/fileinput.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/fnmatch.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/fractions.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/ftplib.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/functools.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/genericpath.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/getopt.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/getpass.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/gettext.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/glob.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/graphlib.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/gzip.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/hashlib.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/heapq.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/hmac.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/imghdr.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/imp.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/inspect.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/io.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/ipaddress.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/keyword.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/linecache.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/locale.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/lzma.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/mailbox.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/mailcap.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/mimetypes.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/modulefinder.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/netrc.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/nntplib.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/ntpath.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/nturl2path.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/numbers.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/opcode.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/operator.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/optparse.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/os.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/pathlib.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/pdb.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/pickle.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/pickletools.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/pipes.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/pkgutil.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/platform.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/plistlib.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/poplib.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/posixpath.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/pprint.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/profile.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/pstats.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/pty.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/py_compile.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/pyclbr.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/pydoc.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/queue.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/quopri.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/random.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/reprlib.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/rlcompleter.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/runpy.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/sched.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/secrets.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/selectors.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/shelve.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/shlex.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/shutil.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/signal.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/site.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/smtpd.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/smtplib.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/sndhdr.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/socket.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/socketserver.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/sre_compile.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/sre_constants.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/sre_parse.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/ssl.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/stat.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/statistics.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/string.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/stringprep.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/struct.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/subprocess.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/sunau.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/symtable.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/sysconfig.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/tabnanny.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/tarfile.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/telnetlib.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/tempfile.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/textwrap.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/this.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/threading.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/timeit.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/token.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/tokenize.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/trace.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/traceback.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/tracemalloc.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/tty.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/types.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/typing.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/uu.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/uuid.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/warnings.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/wave.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/weakref.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/webbrowser.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/xdrlib.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/zipapp.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/zipfile.cpython-311.opt-1.pyc", - "pylib-apple/__pycache__/zipimport.cpython-311.opt-1.pyc", + "pylib-apple/__pycache__/__future__.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/__hello__.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/_aix_support.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/_collections_abc.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/_compat_pickle.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/_compression.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/_ios_support.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/_markupbase.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/_osx_support.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/_py_abc.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/_pydatetime.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/_pydecimal.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/_pyio.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/_pylong.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/_sitebuiltins.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/_strptime.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/_sysconfigdata__darwin_darwin.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/_sysconfigdata__ios_iphoneos-arm64.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/_sysconfigdata__ios_iphonesimulator-arm64.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/_sysconfigdata__tvos_appletvos-arm64.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/_sysconfigdata__tvos_appletvsimulator-arm64.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/_sysconfigdata_d_darwin_darwin.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/_sysconfigdata_d_ios_iphoneos-arm64.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/_sysconfigdata_d_ios_iphonesimulator-arm64.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/_sysconfigdata_d_tvos_appletvos-arm64.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/_sysconfigdata_d_tvos_appletvsimulator-arm64.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/_threading_local.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/_weakrefset.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/abc.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/aifc.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/antigravity.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/argparse.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/ast.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/base64.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/bdb.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/bisect.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/bz2.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/cProfile.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/calendar.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/cgi.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/cgitb.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/chunk.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/cmd.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/code.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/codecs.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/codeop.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/colorsys.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/compileall.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/configparser.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/contextlib.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/contextvars.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/copy.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/copyreg.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/crypt.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/csv.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/dataclasses.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/datetime.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/decimal.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/difflib.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/dis.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/doctest.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/enum.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/filecmp.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/fileinput.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/fnmatch.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/fractions.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/ftplib.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/functools.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/genericpath.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/getopt.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/getpass.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/gettext.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/glob.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/graphlib.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/gzip.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/hashlib.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/heapq.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/hmac.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/imghdr.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/inspect.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/io.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/ipaddress.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/keyword.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/linecache.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/locale.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/lzma.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/mailbox.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/mailcap.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/mimetypes.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/modulefinder.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/netrc.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/nntplib.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/ntpath.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/nturl2path.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/numbers.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/opcode.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/operator.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/optparse.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/os.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/pathlib.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/pdb.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/pickle.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/pickletools.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/pipes.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/pkgutil.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/platform.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/plistlib.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/poplib.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/posixpath.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/pprint.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/profile.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/pstats.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/pty.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/py_compile.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/pyclbr.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/pydoc.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/queue.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/quopri.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/random.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/reprlib.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/rlcompleter.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/runpy.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/sched.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/secrets.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/selectors.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/shelve.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/shlex.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/shutil.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/signal.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/site.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/smtplib.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/sndhdr.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/socket.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/socketserver.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/sre_compile.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/sre_constants.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/sre_parse.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/ssl.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/stat.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/statistics.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/string.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/stringprep.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/struct.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/subprocess.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/sunau.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/symtable.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/sysconfig.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/tabnanny.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/tarfile.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/telnetlib.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/tempfile.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/textwrap.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/this.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/threading.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/timeit.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/token.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/tokenize.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/trace.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/traceback.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/tracemalloc.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/tty.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/types.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/typing.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/uu.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/uuid.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/warnings.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/wave.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/weakref.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/webbrowser.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/xdrlib.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/zipapp.cpython-312.opt-1.pyc", + "pylib-apple/__pycache__/zipimport.cpython-312.opt-1.pyc", "pylib-apple/_aix_support.py", - "pylib-apple/_bootsubprocess.py", "pylib-apple/_collections_abc.py", "pylib-apple/_compat_pickle.py", "pylib-apple/_compression.py", @@ -3730,32 +3703,22 @@ "pylib-apple/_markupbase.py", "pylib-apple/_osx_support.py", "pylib-apple/_py_abc.py", + "pylib-apple/_pydatetime.py", "pylib-apple/_pydecimal.py", "pylib-apple/_pyio.py", + "pylib-apple/_pylong.py", "pylib-apple/_sitebuiltins.py", "pylib-apple/_strptime.py", "pylib-apple/_sysconfigdata__darwin_darwin.py", - "pylib-apple/_sysconfigdata__ios_iphoneos.py", - "pylib-apple/_sysconfigdata__ios_iphoneos_arm64.py", - "pylib-apple/_sysconfigdata__ios_iphonesimulator.py", - "pylib-apple/_sysconfigdata__ios_iphonesimulator_arm64.py", - "pylib-apple/_sysconfigdata__ios_iphonesimulator_x86_64.py", - "pylib-apple/_sysconfigdata__tvos_appletvos.py", - "pylib-apple/_sysconfigdata__tvos_appletvos_arm64.py", - "pylib-apple/_sysconfigdata__tvos_appletvsimulator.py", - "pylib-apple/_sysconfigdata__tvos_appletvsimulator_arm64.py", - "pylib-apple/_sysconfigdata__tvos_appletvsimulator_x86_64.py", + "pylib-apple/_sysconfigdata__ios_iphoneos-arm64.py", + "pylib-apple/_sysconfigdata__ios_iphonesimulator-arm64.py", + "pylib-apple/_sysconfigdata__tvos_appletvos-arm64.py", + "pylib-apple/_sysconfigdata__tvos_appletvsimulator-arm64.py", "pylib-apple/_sysconfigdata_d_darwin_darwin.py", - "pylib-apple/_sysconfigdata_d_ios_iphoneos.py", - "pylib-apple/_sysconfigdata_d_ios_iphoneos_arm64.py", - "pylib-apple/_sysconfigdata_d_ios_iphonesimulator.py", - "pylib-apple/_sysconfigdata_d_ios_iphonesimulator_arm64.py", - "pylib-apple/_sysconfigdata_d_ios_iphonesimulator_x86_64.py", - "pylib-apple/_sysconfigdata_d_tvos_appletvos.py", - "pylib-apple/_sysconfigdata_d_tvos_appletvos_arm64.py", - "pylib-apple/_sysconfigdata_d_tvos_appletvsimulator.py", - "pylib-apple/_sysconfigdata_d_tvos_appletvsimulator_arm64.py", - "pylib-apple/_sysconfigdata_d_tvos_appletvsimulator_x86_64.py", + "pylib-apple/_sysconfigdata_d_ios_iphoneos-arm64.py", + "pylib-apple/_sysconfigdata_d_ios_iphonesimulator-arm64.py", + "pylib-apple/_sysconfigdata_d_tvos_appletvos-arm64.py", + "pylib-apple/_sysconfigdata_d_tvos_appletvsimulator-arm64.py", "pylib-apple/_threading_local.py", "pylib-apple/_weakrefset.py", "pylib-apple/abc.py", @@ -3763,42 +3726,41 @@ "pylib-apple/antigravity.py", "pylib-apple/argparse.py", "pylib-apple/ast.py", - "pylib-apple/asynchat.py", "pylib-apple/asyncio/__init__.py", "pylib-apple/asyncio/__main__.py", - "pylib-apple/asyncio/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-apple/asyncio/__pycache__/__main__.cpython-311.opt-1.pyc", - "pylib-apple/asyncio/__pycache__/base_events.cpython-311.opt-1.pyc", - "pylib-apple/asyncio/__pycache__/base_futures.cpython-311.opt-1.pyc", - "pylib-apple/asyncio/__pycache__/base_subprocess.cpython-311.opt-1.pyc", - "pylib-apple/asyncio/__pycache__/base_tasks.cpython-311.opt-1.pyc", - "pylib-apple/asyncio/__pycache__/constants.cpython-311.opt-1.pyc", - "pylib-apple/asyncio/__pycache__/coroutines.cpython-311.opt-1.pyc", - "pylib-apple/asyncio/__pycache__/events.cpython-311.opt-1.pyc", - "pylib-apple/asyncio/__pycache__/exceptions.cpython-311.opt-1.pyc", - "pylib-apple/asyncio/__pycache__/format_helpers.cpython-311.opt-1.pyc", - "pylib-apple/asyncio/__pycache__/futures.cpython-311.opt-1.pyc", - "pylib-apple/asyncio/__pycache__/locks.cpython-311.opt-1.pyc", - "pylib-apple/asyncio/__pycache__/log.cpython-311.opt-1.pyc", - "pylib-apple/asyncio/__pycache__/mixins.cpython-311.opt-1.pyc", - "pylib-apple/asyncio/__pycache__/proactor_events.cpython-311.opt-1.pyc", - "pylib-apple/asyncio/__pycache__/protocols.cpython-311.opt-1.pyc", - "pylib-apple/asyncio/__pycache__/queues.cpython-311.opt-1.pyc", - "pylib-apple/asyncio/__pycache__/runners.cpython-311.opt-1.pyc", - "pylib-apple/asyncio/__pycache__/selector_events.cpython-311.opt-1.pyc", - "pylib-apple/asyncio/__pycache__/sslproto.cpython-311.opt-1.pyc", - "pylib-apple/asyncio/__pycache__/staggered.cpython-311.opt-1.pyc", - "pylib-apple/asyncio/__pycache__/streams.cpython-311.opt-1.pyc", - "pylib-apple/asyncio/__pycache__/subprocess.cpython-311.opt-1.pyc", - "pylib-apple/asyncio/__pycache__/taskgroups.cpython-311.opt-1.pyc", - "pylib-apple/asyncio/__pycache__/tasks.cpython-311.opt-1.pyc", - "pylib-apple/asyncio/__pycache__/threads.cpython-311.opt-1.pyc", - "pylib-apple/asyncio/__pycache__/timeouts.cpython-311.opt-1.pyc", - "pylib-apple/asyncio/__pycache__/transports.cpython-311.opt-1.pyc", - "pylib-apple/asyncio/__pycache__/trsock.cpython-311.opt-1.pyc", - "pylib-apple/asyncio/__pycache__/unix_events.cpython-311.opt-1.pyc", - "pylib-apple/asyncio/__pycache__/windows_events.cpython-311.opt-1.pyc", - "pylib-apple/asyncio/__pycache__/windows_utils.cpython-311.opt-1.pyc", + "pylib-apple/asyncio/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-apple/asyncio/__pycache__/__main__.cpython-312.opt-1.pyc", + "pylib-apple/asyncio/__pycache__/base_events.cpython-312.opt-1.pyc", + "pylib-apple/asyncio/__pycache__/base_futures.cpython-312.opt-1.pyc", + "pylib-apple/asyncio/__pycache__/base_subprocess.cpython-312.opt-1.pyc", + "pylib-apple/asyncio/__pycache__/base_tasks.cpython-312.opt-1.pyc", + "pylib-apple/asyncio/__pycache__/constants.cpython-312.opt-1.pyc", + "pylib-apple/asyncio/__pycache__/coroutines.cpython-312.opt-1.pyc", + "pylib-apple/asyncio/__pycache__/events.cpython-312.opt-1.pyc", + "pylib-apple/asyncio/__pycache__/exceptions.cpython-312.opt-1.pyc", + "pylib-apple/asyncio/__pycache__/format_helpers.cpython-312.opt-1.pyc", + "pylib-apple/asyncio/__pycache__/futures.cpython-312.opt-1.pyc", + "pylib-apple/asyncio/__pycache__/locks.cpython-312.opt-1.pyc", + "pylib-apple/asyncio/__pycache__/log.cpython-312.opt-1.pyc", + "pylib-apple/asyncio/__pycache__/mixins.cpython-312.opt-1.pyc", + "pylib-apple/asyncio/__pycache__/proactor_events.cpython-312.opt-1.pyc", + "pylib-apple/asyncio/__pycache__/protocols.cpython-312.opt-1.pyc", + "pylib-apple/asyncio/__pycache__/queues.cpython-312.opt-1.pyc", + "pylib-apple/asyncio/__pycache__/runners.cpython-312.opt-1.pyc", + "pylib-apple/asyncio/__pycache__/selector_events.cpython-312.opt-1.pyc", + "pylib-apple/asyncio/__pycache__/sslproto.cpython-312.opt-1.pyc", + "pylib-apple/asyncio/__pycache__/staggered.cpython-312.opt-1.pyc", + "pylib-apple/asyncio/__pycache__/streams.cpython-312.opt-1.pyc", + "pylib-apple/asyncio/__pycache__/subprocess.cpython-312.opt-1.pyc", + "pylib-apple/asyncio/__pycache__/taskgroups.cpython-312.opt-1.pyc", + "pylib-apple/asyncio/__pycache__/tasks.cpython-312.opt-1.pyc", + "pylib-apple/asyncio/__pycache__/threads.cpython-312.opt-1.pyc", + "pylib-apple/asyncio/__pycache__/timeouts.cpython-312.opt-1.pyc", + "pylib-apple/asyncio/__pycache__/transports.cpython-312.opt-1.pyc", + "pylib-apple/asyncio/__pycache__/trsock.cpython-312.opt-1.pyc", + "pylib-apple/asyncio/__pycache__/unix_events.cpython-312.opt-1.pyc", + "pylib-apple/asyncio/__pycache__/windows_events.cpython-312.opt-1.pyc", + "pylib-apple/asyncio/__pycache__/windows_utils.cpython-312.opt-1.pyc", "pylib-apple/asyncio/base_events.py", "pylib-apple/asyncio/base_futures.py", "pylib-apple/asyncio/base_subprocess.py", @@ -3830,7 +3792,6 @@ "pylib-apple/asyncio/unix_events.py", "pylib-apple/asyncio/windows_events.py", "pylib-apple/asyncio/windows_utils.py", - "pylib-apple/asyncore.py", "pylib-apple/base64.py", "pylib-apple/bdb.py", "pylib-apple/bisect.py", @@ -3845,18 +3806,18 @@ "pylib-apple/codecs.py", "pylib-apple/codeop.py", "pylib-apple/collections/__init__.py", - "pylib-apple/collections/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-apple/collections/__pycache__/abc.cpython-311.opt-1.pyc", + "pylib-apple/collections/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-apple/collections/__pycache__/abc.cpython-312.opt-1.pyc", "pylib-apple/collections/abc.py", "pylib-apple/colorsys.py", "pylib-apple/compileall.py", "pylib-apple/concurrent/__init__.py", - "pylib-apple/concurrent/__pycache__/__init__.cpython-311.opt-1.pyc", + "pylib-apple/concurrent/__pycache__/__init__.cpython-312.opt-1.pyc", "pylib-apple/concurrent/futures/__init__.py", - "pylib-apple/concurrent/futures/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-apple/concurrent/futures/__pycache__/_base.cpython-311.opt-1.pyc", - "pylib-apple/concurrent/futures/__pycache__/process.cpython-311.opt-1.pyc", - "pylib-apple/concurrent/futures/__pycache__/thread.cpython-311.opt-1.pyc", + "pylib-apple/concurrent/futures/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-apple/concurrent/futures/__pycache__/_base.cpython-312.opt-1.pyc", + "pylib-apple/concurrent/futures/__pycache__/process.cpython-312.opt-1.pyc", + "pylib-apple/concurrent/futures/__pycache__/thread.cpython-312.opt-1.pyc", "pylib-apple/concurrent/futures/_base.py", "pylib-apple/concurrent/futures/process.py", "pylib-apple/concurrent/futures/thread.py", @@ -3868,29 +3829,29 @@ "pylib-apple/crypt.py", "pylib-apple/csv.py", "pylib-apple/ctypes/__init__.py", - "pylib-apple/ctypes/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-apple/ctypes/__pycache__/_aix.cpython-311.opt-1.pyc", - "pylib-apple/ctypes/__pycache__/_endian.cpython-311.opt-1.pyc", - "pylib-apple/ctypes/__pycache__/util.cpython-311.opt-1.pyc", - "pylib-apple/ctypes/__pycache__/wintypes.cpython-311.opt-1.pyc", + "pylib-apple/ctypes/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-apple/ctypes/__pycache__/_aix.cpython-312.opt-1.pyc", + "pylib-apple/ctypes/__pycache__/_endian.cpython-312.opt-1.pyc", + "pylib-apple/ctypes/__pycache__/util.cpython-312.opt-1.pyc", + "pylib-apple/ctypes/__pycache__/wintypes.cpython-312.opt-1.pyc", "pylib-apple/ctypes/_aix.py", "pylib-apple/ctypes/_endian.py", "pylib-apple/ctypes/macholib/__init__.py", - "pylib-apple/ctypes/macholib/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-apple/ctypes/macholib/__pycache__/dyld.cpython-311.opt-1.pyc", - "pylib-apple/ctypes/macholib/__pycache__/dylib.cpython-311.opt-1.pyc", - "pylib-apple/ctypes/macholib/__pycache__/framework.cpython-311.opt-1.pyc", + "pylib-apple/ctypes/macholib/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-apple/ctypes/macholib/__pycache__/dyld.cpython-312.opt-1.pyc", + "pylib-apple/ctypes/macholib/__pycache__/dylib.cpython-312.opt-1.pyc", + "pylib-apple/ctypes/macholib/__pycache__/framework.cpython-312.opt-1.pyc", "pylib-apple/ctypes/macholib/dyld.py", "pylib-apple/ctypes/macholib/dylib.py", "pylib-apple/ctypes/macholib/framework.py", "pylib-apple/ctypes/util.py", "pylib-apple/ctypes/wintypes.py", "pylib-apple/curses/__init__.py", - "pylib-apple/curses/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-apple/curses/__pycache__/ascii.cpython-311.opt-1.pyc", - "pylib-apple/curses/__pycache__/has_key.cpython-311.opt-1.pyc", - "pylib-apple/curses/__pycache__/panel.cpython-311.opt-1.pyc", - "pylib-apple/curses/__pycache__/textpad.cpython-311.opt-1.pyc", + "pylib-apple/curses/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-apple/curses/__pycache__/ascii.cpython-312.opt-1.pyc", + "pylib-apple/curses/__pycache__/has_key.cpython-312.opt-1.pyc", + "pylib-apple/curses/__pycache__/panel.cpython-312.opt-1.pyc", + "pylib-apple/curses/__pycache__/textpad.cpython-312.opt-1.pyc", "pylib-apple/curses/ascii.py", "pylib-apple/curses/has_key.py", "pylib-apple/curses/panel.py", @@ -3902,26 +3863,26 @@ "pylib-apple/dis.py", "pylib-apple/doctest.py", "pylib-apple/email/__init__.py", - "pylib-apple/email/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-apple/email/__pycache__/_encoded_words.cpython-311.opt-1.pyc", - "pylib-apple/email/__pycache__/_header_value_parser.cpython-311.opt-1.pyc", - "pylib-apple/email/__pycache__/_parseaddr.cpython-311.opt-1.pyc", - "pylib-apple/email/__pycache__/_policybase.cpython-311.opt-1.pyc", - "pylib-apple/email/__pycache__/base64mime.cpython-311.opt-1.pyc", - "pylib-apple/email/__pycache__/charset.cpython-311.opt-1.pyc", - "pylib-apple/email/__pycache__/contentmanager.cpython-311.opt-1.pyc", - "pylib-apple/email/__pycache__/encoders.cpython-311.opt-1.pyc", - "pylib-apple/email/__pycache__/errors.cpython-311.opt-1.pyc", - "pylib-apple/email/__pycache__/feedparser.cpython-311.opt-1.pyc", - "pylib-apple/email/__pycache__/generator.cpython-311.opt-1.pyc", - "pylib-apple/email/__pycache__/header.cpython-311.opt-1.pyc", - "pylib-apple/email/__pycache__/headerregistry.cpython-311.opt-1.pyc", - "pylib-apple/email/__pycache__/iterators.cpython-311.opt-1.pyc", - "pylib-apple/email/__pycache__/message.cpython-311.opt-1.pyc", - "pylib-apple/email/__pycache__/parser.cpython-311.opt-1.pyc", - "pylib-apple/email/__pycache__/policy.cpython-311.opt-1.pyc", - "pylib-apple/email/__pycache__/quoprimime.cpython-311.opt-1.pyc", - "pylib-apple/email/__pycache__/utils.cpython-311.opt-1.pyc", + "pylib-apple/email/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-apple/email/__pycache__/_encoded_words.cpython-312.opt-1.pyc", + "pylib-apple/email/__pycache__/_header_value_parser.cpython-312.opt-1.pyc", + "pylib-apple/email/__pycache__/_parseaddr.cpython-312.opt-1.pyc", + "pylib-apple/email/__pycache__/_policybase.cpython-312.opt-1.pyc", + "pylib-apple/email/__pycache__/base64mime.cpython-312.opt-1.pyc", + "pylib-apple/email/__pycache__/charset.cpython-312.opt-1.pyc", + "pylib-apple/email/__pycache__/contentmanager.cpython-312.opt-1.pyc", + "pylib-apple/email/__pycache__/encoders.cpython-312.opt-1.pyc", + "pylib-apple/email/__pycache__/errors.cpython-312.opt-1.pyc", + "pylib-apple/email/__pycache__/feedparser.cpython-312.opt-1.pyc", + "pylib-apple/email/__pycache__/generator.cpython-312.opt-1.pyc", + "pylib-apple/email/__pycache__/header.cpython-312.opt-1.pyc", + "pylib-apple/email/__pycache__/headerregistry.cpython-312.opt-1.pyc", + "pylib-apple/email/__pycache__/iterators.cpython-312.opt-1.pyc", + "pylib-apple/email/__pycache__/message.cpython-312.opt-1.pyc", + "pylib-apple/email/__pycache__/parser.cpython-312.opt-1.pyc", + "pylib-apple/email/__pycache__/policy.cpython-312.opt-1.pyc", + "pylib-apple/email/__pycache__/quoprimime.cpython-312.opt-1.pyc", + "pylib-apple/email/__pycache__/utils.cpython-312.opt-1.pyc", "pylib-apple/email/_encoded_words.py", "pylib-apple/email/_header_value_parser.py", "pylib-apple/email/_parseaddr.py", @@ -3938,15 +3899,15 @@ "pylib-apple/email/iterators.py", "pylib-apple/email/message.py", "pylib-apple/email/mime/__init__.py", - "pylib-apple/email/mime/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-apple/email/mime/__pycache__/application.cpython-311.opt-1.pyc", - "pylib-apple/email/mime/__pycache__/audio.cpython-311.opt-1.pyc", - "pylib-apple/email/mime/__pycache__/base.cpython-311.opt-1.pyc", - "pylib-apple/email/mime/__pycache__/image.cpython-311.opt-1.pyc", - "pylib-apple/email/mime/__pycache__/message.cpython-311.opt-1.pyc", - "pylib-apple/email/mime/__pycache__/multipart.cpython-311.opt-1.pyc", - "pylib-apple/email/mime/__pycache__/nonmultipart.cpython-311.opt-1.pyc", - "pylib-apple/email/mime/__pycache__/text.cpython-311.opt-1.pyc", + "pylib-apple/email/mime/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-apple/email/mime/__pycache__/application.cpython-312.opt-1.pyc", + "pylib-apple/email/mime/__pycache__/audio.cpython-312.opt-1.pyc", + "pylib-apple/email/mime/__pycache__/base.cpython-312.opt-1.pyc", + "pylib-apple/email/mime/__pycache__/image.cpython-312.opt-1.pyc", + "pylib-apple/email/mime/__pycache__/message.cpython-312.opt-1.pyc", + "pylib-apple/email/mime/__pycache__/multipart.cpython-312.opt-1.pyc", + "pylib-apple/email/mime/__pycache__/nonmultipart.cpython-312.opt-1.pyc", + "pylib-apple/email/mime/__pycache__/text.cpython-312.opt-1.pyc", "pylib-apple/email/mime/application.py", "pylib-apple/email/mime/audio.py", "pylib-apple/email/mime/base.py", @@ -3960,128 +3921,128 @@ "pylib-apple/email/quoprimime.py", "pylib-apple/email/utils.py", "pylib-apple/encodings/__init__.py", - "pylib-apple/encodings/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/aliases.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/ascii.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/base64_codec.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/big5.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/big5hkscs.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/bz2_codec.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/charmap.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp037.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp1006.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp1026.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp1125.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp1140.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp1250.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp1251.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp1252.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp1253.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp1254.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp1255.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp1256.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp1257.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp1258.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp273.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp424.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp437.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp500.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp720.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp737.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp775.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp850.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp852.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp855.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp856.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp857.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp858.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp860.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp861.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp862.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp863.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp864.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp865.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp866.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp869.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp874.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp875.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp932.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp949.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/cp950.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/euc_jis_2004.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/euc_jisx0213.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/euc_jp.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/euc_kr.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/gb18030.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/gb2312.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/gbk.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/hex_codec.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/hp_roman8.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/hz.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/idna.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/iso2022_jp.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/iso2022_jp_1.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/iso2022_jp_2.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/iso2022_jp_2004.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/iso2022_jp_3.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/iso2022_jp_ext.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/iso2022_kr.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/iso8859_1.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/iso8859_10.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/iso8859_11.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/iso8859_13.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/iso8859_14.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/iso8859_15.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/iso8859_16.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/iso8859_2.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/iso8859_3.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/iso8859_4.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/iso8859_5.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/iso8859_6.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/iso8859_7.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/iso8859_8.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/iso8859_9.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/johab.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/koi8_r.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/koi8_t.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/koi8_u.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/kz1048.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/latin_1.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/mac_arabic.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/mac_croatian.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/mac_cyrillic.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/mac_farsi.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/mac_greek.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/mac_iceland.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/mac_latin2.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/mac_roman.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/mac_romanian.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/mac_turkish.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/mbcs.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/oem.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/palmos.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/ptcp154.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/punycode.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/quopri_codec.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/raw_unicode_escape.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/rot_13.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/shift_jis.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/shift_jis_2004.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/shift_jisx0213.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/tis_620.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/undefined.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/unicode_escape.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/utf_16.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/utf_16_be.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/utf_16_le.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/utf_32.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/utf_32_be.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/utf_32_le.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/utf_7.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/utf_8.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/utf_8_sig.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/uu_codec.cpython-311.opt-1.pyc", - "pylib-apple/encodings/__pycache__/zlib_codec.cpython-311.opt-1.pyc", + "pylib-apple/encodings/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/aliases.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/ascii.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/base64_codec.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/big5.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/big5hkscs.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/bz2_codec.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/charmap.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp037.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp1006.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp1026.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp1125.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp1140.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp1250.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp1251.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp1252.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp1253.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp1254.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp1255.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp1256.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp1257.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp1258.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp273.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp424.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp437.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp500.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp720.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp737.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp775.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp850.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp852.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp855.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp856.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp857.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp858.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp860.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp861.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp862.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp863.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp864.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp865.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp866.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp869.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp874.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp875.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp932.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp949.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/cp950.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/euc_jis_2004.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/euc_jisx0213.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/euc_jp.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/euc_kr.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/gb18030.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/gb2312.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/gbk.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/hex_codec.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/hp_roman8.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/hz.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/idna.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/iso2022_jp.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/iso2022_jp_1.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/iso2022_jp_2.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/iso2022_jp_2004.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/iso2022_jp_3.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/iso2022_jp_ext.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/iso2022_kr.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/iso8859_1.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/iso8859_10.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/iso8859_11.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/iso8859_13.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/iso8859_14.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/iso8859_15.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/iso8859_16.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/iso8859_2.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/iso8859_3.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/iso8859_4.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/iso8859_5.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/iso8859_6.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/iso8859_7.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/iso8859_8.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/iso8859_9.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/johab.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/koi8_r.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/koi8_t.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/koi8_u.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/kz1048.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/latin_1.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/mac_arabic.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/mac_croatian.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/mac_cyrillic.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/mac_farsi.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/mac_greek.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/mac_iceland.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/mac_latin2.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/mac_roman.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/mac_romanian.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/mac_turkish.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/mbcs.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/oem.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/palmos.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/ptcp154.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/punycode.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/quopri_codec.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/raw_unicode_escape.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/rot_13.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/shift_jis.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/shift_jis_2004.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/shift_jisx0213.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/tis_620.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/undefined.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/unicode_escape.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/utf_16.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/utf_16_be.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/utf_16_le.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/utf_32.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/utf_32_be.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/utf_32_le.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/utf_7.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/utf_8.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/utf_8_sig.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/uu_codec.cpython-312.opt-1.pyc", + "pylib-apple/encodings/__pycache__/zlib_codec.cpython-312.opt-1.pyc", "pylib-apple/encodings/aliases.py", "pylib-apple/encodings/ascii.py", "pylib-apple/encodings/base64_codec.py", @@ -4221,46 +4182,45 @@ "pylib-apple/heapq.py", "pylib-apple/hmac.py", "pylib-apple/html/__init__.py", - "pylib-apple/html/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-apple/html/__pycache__/entities.cpython-311.opt-1.pyc", - "pylib-apple/html/__pycache__/parser.cpython-311.opt-1.pyc", + "pylib-apple/html/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-apple/html/__pycache__/entities.cpython-312.opt-1.pyc", + "pylib-apple/html/__pycache__/parser.cpython-312.opt-1.pyc", "pylib-apple/html/entities.py", "pylib-apple/html/parser.py", "pylib-apple/http/__init__.py", - "pylib-apple/http/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-apple/http/__pycache__/client.cpython-311.opt-1.pyc", - "pylib-apple/http/__pycache__/cookiejar.cpython-311.opt-1.pyc", - "pylib-apple/http/__pycache__/cookies.cpython-311.opt-1.pyc", - "pylib-apple/http/__pycache__/server.cpython-311.opt-1.pyc", + "pylib-apple/http/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-apple/http/__pycache__/client.cpython-312.opt-1.pyc", + "pylib-apple/http/__pycache__/cookiejar.cpython-312.opt-1.pyc", + "pylib-apple/http/__pycache__/cookies.cpython-312.opt-1.pyc", + "pylib-apple/http/__pycache__/server.cpython-312.opt-1.pyc", "pylib-apple/http/client.py", "pylib-apple/http/cookiejar.py", "pylib-apple/http/cookies.py", "pylib-apple/http/server.py", "pylib-apple/imghdr.py", - "pylib-apple/imp.py", "pylib-apple/importlib/__init__.py", - "pylib-apple/importlib/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-apple/importlib/__pycache__/_abc.cpython-311.opt-1.pyc", - "pylib-apple/importlib/__pycache__/_bootstrap.cpython-311.opt-1.pyc", - "pylib-apple/importlib/__pycache__/_bootstrap_external.cpython-311.opt-1.pyc", - "pylib-apple/importlib/__pycache__/abc.cpython-311.opt-1.pyc", - "pylib-apple/importlib/__pycache__/machinery.cpython-311.opt-1.pyc", - "pylib-apple/importlib/__pycache__/readers.cpython-311.opt-1.pyc", - "pylib-apple/importlib/__pycache__/simple.cpython-311.opt-1.pyc", - "pylib-apple/importlib/__pycache__/util.cpython-311.opt-1.pyc", + "pylib-apple/importlib/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-apple/importlib/__pycache__/_abc.cpython-312.opt-1.pyc", + "pylib-apple/importlib/__pycache__/_bootstrap.cpython-312.opt-1.pyc", + "pylib-apple/importlib/__pycache__/_bootstrap_external.cpython-312.opt-1.pyc", + "pylib-apple/importlib/__pycache__/abc.cpython-312.opt-1.pyc", + "pylib-apple/importlib/__pycache__/machinery.cpython-312.opt-1.pyc", + "pylib-apple/importlib/__pycache__/readers.cpython-312.opt-1.pyc", + "pylib-apple/importlib/__pycache__/simple.cpython-312.opt-1.pyc", + "pylib-apple/importlib/__pycache__/util.cpython-312.opt-1.pyc", "pylib-apple/importlib/_abc.py", "pylib-apple/importlib/_bootstrap.py", "pylib-apple/importlib/_bootstrap_external.py", "pylib-apple/importlib/abc.py", "pylib-apple/importlib/machinery.py", "pylib-apple/importlib/metadata/__init__.py", - "pylib-apple/importlib/metadata/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-apple/importlib/metadata/__pycache__/_adapters.cpython-311.opt-1.pyc", - "pylib-apple/importlib/metadata/__pycache__/_collections.cpython-311.opt-1.pyc", - "pylib-apple/importlib/metadata/__pycache__/_functools.cpython-311.opt-1.pyc", - "pylib-apple/importlib/metadata/__pycache__/_itertools.cpython-311.opt-1.pyc", - "pylib-apple/importlib/metadata/__pycache__/_meta.cpython-311.opt-1.pyc", - "pylib-apple/importlib/metadata/__pycache__/_text.cpython-311.opt-1.pyc", + "pylib-apple/importlib/metadata/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-apple/importlib/metadata/__pycache__/_adapters.cpython-312.opt-1.pyc", + "pylib-apple/importlib/metadata/__pycache__/_collections.cpython-312.opt-1.pyc", + "pylib-apple/importlib/metadata/__pycache__/_functools.cpython-312.opt-1.pyc", + "pylib-apple/importlib/metadata/__pycache__/_itertools.cpython-312.opt-1.pyc", + "pylib-apple/importlib/metadata/__pycache__/_meta.cpython-312.opt-1.pyc", + "pylib-apple/importlib/metadata/__pycache__/_text.cpython-312.opt-1.pyc", "pylib-apple/importlib/metadata/_adapters.py", "pylib-apple/importlib/metadata/_collections.py", "pylib-apple/importlib/metadata/_functools.py", @@ -4269,14 +4229,14 @@ "pylib-apple/importlib/metadata/_text.py", "pylib-apple/importlib/readers.py", "pylib-apple/importlib/resources/__init__.py", - "pylib-apple/importlib/resources/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-apple/importlib/resources/__pycache__/_adapters.cpython-311.opt-1.pyc", - "pylib-apple/importlib/resources/__pycache__/_common.cpython-311.opt-1.pyc", - "pylib-apple/importlib/resources/__pycache__/_itertools.cpython-311.opt-1.pyc", - "pylib-apple/importlib/resources/__pycache__/_legacy.cpython-311.opt-1.pyc", - "pylib-apple/importlib/resources/__pycache__/abc.cpython-311.opt-1.pyc", - "pylib-apple/importlib/resources/__pycache__/readers.cpython-311.opt-1.pyc", - "pylib-apple/importlib/resources/__pycache__/simple.cpython-311.opt-1.pyc", + "pylib-apple/importlib/resources/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-apple/importlib/resources/__pycache__/_adapters.cpython-312.opt-1.pyc", + "pylib-apple/importlib/resources/__pycache__/_common.cpython-312.opt-1.pyc", + "pylib-apple/importlib/resources/__pycache__/_itertools.cpython-312.opt-1.pyc", + "pylib-apple/importlib/resources/__pycache__/_legacy.cpython-312.opt-1.pyc", + "pylib-apple/importlib/resources/__pycache__/abc.cpython-312.opt-1.pyc", + "pylib-apple/importlib/resources/__pycache__/readers.cpython-312.opt-1.pyc", + "pylib-apple/importlib/resources/__pycache__/simple.cpython-312.opt-1.pyc", "pylib-apple/importlib/resources/_adapters.py", "pylib-apple/importlib/resources/_common.py", "pylib-apple/importlib/resources/_itertools.py", @@ -4290,11 +4250,11 @@ "pylib-apple/io.py", "pylib-apple/ipaddress.py", "pylib-apple/json/__init__.py", - "pylib-apple/json/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-apple/json/__pycache__/decoder.cpython-311.opt-1.pyc", - "pylib-apple/json/__pycache__/encoder.cpython-311.opt-1.pyc", - "pylib-apple/json/__pycache__/scanner.cpython-311.opt-1.pyc", - "pylib-apple/json/__pycache__/tool.cpython-311.opt-1.pyc", + "pylib-apple/json/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-apple/json/__pycache__/decoder.cpython-312.opt-1.pyc", + "pylib-apple/json/__pycache__/encoder.cpython-312.opt-1.pyc", + "pylib-apple/json/__pycache__/scanner.cpython-312.opt-1.pyc", + "pylib-apple/json/__pycache__/tool.cpython-312.opt-1.pyc", "pylib-apple/json/decoder.py", "pylib-apple/json/encoder.py", "pylib-apple/json/scanner.py", @@ -4303,9 +4263,9 @@ "pylib-apple/linecache.py", "pylib-apple/locale.py", "pylib-apple/logging/__init__.py", - "pylib-apple/logging/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-apple/logging/__pycache__/config.cpython-311.opt-1.pyc", - "pylib-apple/logging/__pycache__/handlers.cpython-311.opt-1.pyc", + "pylib-apple/logging/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-apple/logging/__pycache__/config.cpython-312.opt-1.pyc", + "pylib-apple/logging/__pycache__/handlers.cpython-312.opt-1.pyc", "pylib-apple/logging/config.py", "pylib-apple/logging/handlers.py", "pylib-apple/lzma.py", @@ -4343,11 +4303,11 @@ "pylib-apple/quopri.py", "pylib-apple/random.py", "pylib-apple/re/__init__.py", - "pylib-apple/re/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-apple/re/__pycache__/_casefix.cpython-311.opt-1.pyc", - "pylib-apple/re/__pycache__/_compiler.cpython-311.opt-1.pyc", - "pylib-apple/re/__pycache__/_constants.cpython-311.opt-1.pyc", - "pylib-apple/re/__pycache__/_parser.cpython-311.opt-1.pyc", + "pylib-apple/re/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-apple/re/__pycache__/_casefix.cpython-312.opt-1.pyc", + "pylib-apple/re/__pycache__/_compiler.cpython-312.opt-1.pyc", + "pylib-apple/re/__pycache__/_constants.cpython-312.opt-1.pyc", + "pylib-apple/re/__pycache__/_parser.cpython-312.opt-1.pyc", "pylib-apple/re/_casefix.py", "pylib-apple/re/_compiler.py", "pylib-apple/re/_constants.py", @@ -4363,15 +4323,16 @@ "pylib-apple/shutil.py", "pylib-apple/signal.py", "pylib-apple/site.py", - "pylib-apple/smtpd.py", "pylib-apple/smtplib.py", "pylib-apple/sndhdr.py", "pylib-apple/socket.py", "pylib-apple/socketserver.py", "pylib-apple/sqlite3/__init__.py", - "pylib-apple/sqlite3/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-apple/sqlite3/__pycache__/dbapi2.cpython-311.opt-1.pyc", - "pylib-apple/sqlite3/__pycache__/dump.cpython-311.opt-1.pyc", + "pylib-apple/sqlite3/__main__.py", + "pylib-apple/sqlite3/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-apple/sqlite3/__pycache__/__main__.cpython-312.opt-1.pyc", + "pylib-apple/sqlite3/__pycache__/dbapi2.cpython-312.opt-1.pyc", + "pylib-apple/sqlite3/__pycache__/dump.cpython-312.opt-1.pyc", "pylib-apple/sqlite3/dbapi2.py", "pylib-apple/sqlite3/dump.py", "pylib-apple/sre_compile.py", @@ -4398,10 +4359,10 @@ "pylib-apple/token.py", "pylib-apple/tokenize.py", "pylib-apple/tomllib/__init__.py", - "pylib-apple/tomllib/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-apple/tomllib/__pycache__/_parser.cpython-311.opt-1.pyc", - "pylib-apple/tomllib/__pycache__/_re.cpython-311.opt-1.pyc", - "pylib-apple/tomllib/__pycache__/_types.cpython-311.opt-1.pyc", + "pylib-apple/tomllib/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-apple/tomllib/__pycache__/_parser.cpython-312.opt-1.pyc", + "pylib-apple/tomllib/__pycache__/_re.cpython-312.opt-1.pyc", + "pylib-apple/tomllib/__pycache__/_types.cpython-312.opt-1.pyc", "pylib-apple/tomllib/_parser.py", "pylib-apple/tomllib/_re.py", "pylib-apple/tomllib/_types.py", @@ -4412,12 +4373,12 @@ "pylib-apple/types.py", "pylib-apple/typing.py", "pylib-apple/urllib/__init__.py", - "pylib-apple/urllib/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-apple/urllib/__pycache__/error.cpython-311.opt-1.pyc", - "pylib-apple/urllib/__pycache__/parse.cpython-311.opt-1.pyc", - "pylib-apple/urllib/__pycache__/request.cpython-311.opt-1.pyc", - "pylib-apple/urllib/__pycache__/response.cpython-311.opt-1.pyc", - "pylib-apple/urllib/__pycache__/robotparser.cpython-311.opt-1.pyc", + "pylib-apple/urllib/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-apple/urllib/__pycache__/error.cpython-312.opt-1.pyc", + "pylib-apple/urllib/__pycache__/parse.cpython-312.opt-1.pyc", + "pylib-apple/urllib/__pycache__/request.cpython-312.opt-1.pyc", + "pylib-apple/urllib/__pycache__/response.cpython-312.opt-1.pyc", + "pylib-apple/urllib/__pycache__/robotparser.cpython-312.opt-1.pyc", "pylib-apple/urllib/error.py", "pylib-apple/urllib/parse.py", "pylib-apple/urllib/request.py", @@ -4431,17 +4392,17 @@ "pylib-apple/webbrowser.py", "pylib-apple/xdrlib.py", "pylib-apple/xml/__init__.py", - "pylib-apple/xml/__pycache__/__init__.cpython-311.opt-1.pyc", + "pylib-apple/xml/__pycache__/__init__.cpython-312.opt-1.pyc", "pylib-apple/xml/dom/NodeFilter.py", "pylib-apple/xml/dom/__init__.py", - "pylib-apple/xml/dom/__pycache__/NodeFilter.cpython-311.opt-1.pyc", - "pylib-apple/xml/dom/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-apple/xml/dom/__pycache__/domreg.cpython-311.opt-1.pyc", - "pylib-apple/xml/dom/__pycache__/expatbuilder.cpython-311.opt-1.pyc", - "pylib-apple/xml/dom/__pycache__/minicompat.cpython-311.opt-1.pyc", - "pylib-apple/xml/dom/__pycache__/minidom.cpython-311.opt-1.pyc", - "pylib-apple/xml/dom/__pycache__/pulldom.cpython-311.opt-1.pyc", - "pylib-apple/xml/dom/__pycache__/xmlbuilder.cpython-311.opt-1.pyc", + "pylib-apple/xml/dom/__pycache__/NodeFilter.cpython-312.opt-1.pyc", + "pylib-apple/xml/dom/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-apple/xml/dom/__pycache__/domreg.cpython-312.opt-1.pyc", + "pylib-apple/xml/dom/__pycache__/expatbuilder.cpython-312.opt-1.pyc", + "pylib-apple/xml/dom/__pycache__/minicompat.cpython-312.opt-1.pyc", + "pylib-apple/xml/dom/__pycache__/minidom.cpython-312.opt-1.pyc", + "pylib-apple/xml/dom/__pycache__/pulldom.cpython-312.opt-1.pyc", + "pylib-apple/xml/dom/__pycache__/xmlbuilder.cpython-312.opt-1.pyc", "pylib-apple/xml/dom/domreg.py", "pylib-apple/xml/dom/expatbuilder.py", "pylib-apple/xml/dom/minicompat.py", @@ -4452,46 +4413,53 @@ "pylib-apple/xml/etree/ElementPath.py", "pylib-apple/xml/etree/ElementTree.py", "pylib-apple/xml/etree/__init__.py", - "pylib-apple/xml/etree/__pycache__/ElementInclude.cpython-311.opt-1.pyc", - "pylib-apple/xml/etree/__pycache__/ElementPath.cpython-311.opt-1.pyc", - "pylib-apple/xml/etree/__pycache__/ElementTree.cpython-311.opt-1.pyc", - "pylib-apple/xml/etree/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-apple/xml/etree/__pycache__/cElementTree.cpython-311.opt-1.pyc", + "pylib-apple/xml/etree/__pycache__/ElementInclude.cpython-312.opt-1.pyc", + "pylib-apple/xml/etree/__pycache__/ElementPath.cpython-312.opt-1.pyc", + "pylib-apple/xml/etree/__pycache__/ElementTree.cpython-312.opt-1.pyc", + "pylib-apple/xml/etree/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-apple/xml/etree/__pycache__/cElementTree.cpython-312.opt-1.pyc", "pylib-apple/xml/etree/cElementTree.py", "pylib-apple/xml/parsers/__init__.py", - "pylib-apple/xml/parsers/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-apple/xml/parsers/__pycache__/expat.cpython-311.opt-1.pyc", + "pylib-apple/xml/parsers/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-apple/xml/parsers/__pycache__/expat.cpython-312.opt-1.pyc", "pylib-apple/xml/parsers/expat.py", "pylib-apple/xml/sax/__init__.py", - "pylib-apple/xml/sax/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-apple/xml/sax/__pycache__/_exceptions.cpython-311.opt-1.pyc", - "pylib-apple/xml/sax/__pycache__/expatreader.cpython-311.opt-1.pyc", - "pylib-apple/xml/sax/__pycache__/handler.cpython-311.opt-1.pyc", - "pylib-apple/xml/sax/__pycache__/saxutils.cpython-311.opt-1.pyc", - "pylib-apple/xml/sax/__pycache__/xmlreader.cpython-311.opt-1.pyc", + "pylib-apple/xml/sax/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-apple/xml/sax/__pycache__/_exceptions.cpython-312.opt-1.pyc", + "pylib-apple/xml/sax/__pycache__/expatreader.cpython-312.opt-1.pyc", + "pylib-apple/xml/sax/__pycache__/handler.cpython-312.opt-1.pyc", + "pylib-apple/xml/sax/__pycache__/saxutils.cpython-312.opt-1.pyc", + "pylib-apple/xml/sax/__pycache__/xmlreader.cpython-312.opt-1.pyc", "pylib-apple/xml/sax/_exceptions.py", "pylib-apple/xml/sax/expatreader.py", "pylib-apple/xml/sax/handler.py", "pylib-apple/xml/sax/saxutils.py", "pylib-apple/xml/sax/xmlreader.py", "pylib-apple/xmlrpc/__init__.py", - "pylib-apple/xmlrpc/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-apple/xmlrpc/__pycache__/client.cpython-311.opt-1.pyc", - "pylib-apple/xmlrpc/__pycache__/server.cpython-311.opt-1.pyc", + "pylib-apple/xmlrpc/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-apple/xmlrpc/__pycache__/client.cpython-312.opt-1.pyc", + "pylib-apple/xmlrpc/__pycache__/server.cpython-312.opt-1.pyc", "pylib-apple/xmlrpc/client.py", "pylib-apple/xmlrpc/server.py", "pylib-apple/zipapp.py", - "pylib-apple/zipfile.py", + "pylib-apple/zipfile/__init__.py", + "pylib-apple/zipfile/__main__.py", + "pylib-apple/zipfile/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-apple/zipfile/__pycache__/__main__.cpython-312.opt-1.pyc", + "pylib-apple/zipfile/_path/__init__.py", + "pylib-apple/zipfile/_path/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-apple/zipfile/_path/__pycache__/glob.cpython-312.opt-1.pyc", + "pylib-apple/zipfile/_path/glob.py", "pylib-apple/zipimport.py", "pylib-apple/zoneinfo/__init__.py", - "pylib-apple/zoneinfo/__pycache__/__init__.cpython-311.opt-1.pyc", - "pylib-apple/zoneinfo/__pycache__/_common.cpython-311.opt-1.pyc", - "pylib-apple/zoneinfo/__pycache__/_tzpath.cpython-311.opt-1.pyc", - "pylib-apple/zoneinfo/__pycache__/_zoneinfo.cpython-311.opt-1.pyc", + "pylib-apple/zoneinfo/__pycache__/__init__.cpython-312.opt-1.pyc", + "pylib-apple/zoneinfo/__pycache__/_common.cpython-312.opt-1.pyc", + "pylib-apple/zoneinfo/__pycache__/_tzpath.cpython-312.opt-1.pyc", + "pylib-apple/zoneinfo/__pycache__/_zoneinfo.cpython-312.opt-1.pyc", "pylib-apple/zoneinfo/_common.py", "pylib-apple/zoneinfo/_tzpath.py", "pylib-apple/zoneinfo/_zoneinfo.py", - "sphinx/static/__pycache__/conf.cpython-311.opt-1.pyc", + "sphinx/static/__pycache__/conf.cpython-312.opt-1.pyc", "sphinx/static/conf.py", "windows/Win32/DLLs/_asyncio.pyd", "windows/Win32/DLLs/_asyncio_d.pyd", @@ -4527,6 +4495,8 @@ "windows/Win32/DLLs/_testbuffer_d.pyd", "windows/Win32/DLLs/_testcapi.pyd", "windows/Win32/DLLs/_testcapi_d.pyd", + "windows/Win32/DLLs/_testclinic.pyd", + "windows/Win32/DLLs/_testclinic_d.pyd", "windows/Win32/DLLs/_testconsole.pyd", "windows/Win32/DLLs/_testconsole_d.pyd", "windows/Win32/DLLs/_testimportmultiple.pyd", @@ -4535,20 +4505,23 @@ "windows/Win32/DLLs/_testinternalcapi_d.pyd", "windows/Win32/DLLs/_testmultiphase.pyd", "windows/Win32/DLLs/_testmultiphase_d.pyd", + "windows/Win32/DLLs/_testsinglephase.pyd", + "windows/Win32/DLLs/_testsinglephase_d.pyd", "windows/Win32/DLLs/_tkinter.pyd", "windows/Win32/DLLs/_tkinter_d.lib", "windows/Win32/DLLs/_tkinter_d.pyd", "windows/Win32/DLLs/_uuid.pyd", "windows/Win32/DLLs/_uuid_d.pyd", + "windows/Win32/DLLs/_wmi.pyd", + "windows/Win32/DLLs/_wmi_d.pyd", "windows/Win32/DLLs/_zoneinfo.pyd", "windows/Win32/DLLs/_zoneinfo_d.pyd", - "windows/Win32/DLLs/libcrypto-1_1.dll", + "windows/Win32/DLLs/libcrypto-3.dll", "windows/Win32/DLLs/libffi-8.dll", - "windows/Win32/DLLs/libssl-1_1.dll", + "windows/Win32/DLLs/libssl-3.dll", "windows/Win32/DLLs/pyexpat.pyd", "windows/Win32/DLLs/pyexpat_d.pyd", "windows/Win32/DLLs/python_lib.cat", - "windows/Win32/DLLs/python_tools.cat", "windows/Win32/DLLs/select.pyd", "windows/Win32/DLLs/select_d.pyd", "windows/Win32/DLLs/sqlite3.dll", @@ -4559,183 +4532,181 @@ "windows/Win32/DLLs/unicodedata_d.pyd", "windows/Win32/DLLs/winsound.pyd", "windows/Win32/DLLs/winsound_d.pyd", + "windows/Win32/DLLs/zlib1.dll", "windows/Win32/Lib/__future__.py", "windows/Win32/Lib/__hello__.py", - "windows/Win32/Lib/__pycache__/__future__.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/__hello__.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/_aix_support.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/_bootsubprocess.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/_collections_abc.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/_compat_pickle.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/_compression.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/_markupbase.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/_osx_support.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/_py_abc.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/_pydecimal.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/_pyio.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/_sitebuiltins.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/_strptime.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/_threading_local.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/_weakrefset.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/abc.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/aifc.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/antigravity.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/argparse.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/ast.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/asynchat.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/asyncore.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/base64.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/bdb.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/bisect.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/bz2.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/cProfile.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/calendar.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/cgi.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/cgitb.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/chunk.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/cmd.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/code.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/codecs.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/codeop.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/colorsys.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/compileall.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/configparser.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/contextlib.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/contextvars.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/copy.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/copyreg.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/crypt.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/csv.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/dataclasses.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/datetime.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/decimal.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/difflib.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/dis.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/doctest.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/enum.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/filecmp.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/fileinput.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/fnmatch.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/fractions.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/ftplib.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/functools.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/genericpath.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/getopt.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/getpass.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/gettext.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/glob.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/graphlib.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/gzip.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/hashlib.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/heapq.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/hmac.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/imghdr.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/imp.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/inspect.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/io.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/ipaddress.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/keyword.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/linecache.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/locale.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/lzma.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/mailbox.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/mailcap.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/mimetypes.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/modulefinder.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/netrc.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/nntplib.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/ntpath.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/nturl2path.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/numbers.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/opcode.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/operator.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/optparse.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/os.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/pathlib.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/pdb.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/pickle.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/pickletools.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/pipes.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/pkgutil.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/platform.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/plistlib.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/poplib.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/posixpath.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/pprint.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/profile.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/pstats.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/pty.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/py_compile.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/pyclbr.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/pydoc.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/queue.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/quopri.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/random.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/reprlib.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/rlcompleter.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/runpy.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/sched.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/secrets.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/selectors.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/shelve.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/shlex.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/shutil.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/signal.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/site.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/smtpd.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/smtplib.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/sndhdr.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/socket.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/socketserver.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/sre_compile.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/sre_constants.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/sre_parse.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/ssl.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/stat.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/statistics.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/string.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/stringprep.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/struct.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/subprocess.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/sunau.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/symtable.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/sysconfig.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/tabnanny.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/tarfile.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/telnetlib.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/tempfile.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/textwrap.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/this.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/threading.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/timeit.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/token.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/tokenize.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/trace.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/traceback.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/tracemalloc.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/tty.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/types.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/typing.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/uu.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/uuid.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/warnings.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/wave.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/weakref.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/webbrowser.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/xdrlib.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/zipapp.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/zipfile.cpython-311.opt-1.pyc", - "windows/Win32/Lib/__pycache__/zipimport.cpython-311.opt-1.pyc", + "windows/Win32/Lib/__pycache__/__future__.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/__hello__.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/_aix_support.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/_collections_abc.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/_compat_pickle.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/_compression.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/_markupbase.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/_osx_support.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/_py_abc.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/_pydatetime.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/_pydecimal.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/_pyio.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/_pylong.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/_sitebuiltins.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/_strptime.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/_threading_local.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/_weakrefset.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/abc.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/aifc.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/antigravity.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/argparse.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/ast.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/base64.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/bdb.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/bisect.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/bz2.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/cProfile.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/calendar.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/cgi.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/cgitb.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/chunk.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/cmd.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/code.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/codecs.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/codeop.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/colorsys.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/compileall.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/configparser.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/contextlib.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/contextvars.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/copy.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/copyreg.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/crypt.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/csv.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/dataclasses.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/datetime.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/decimal.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/difflib.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/dis.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/doctest.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/enum.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/filecmp.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/fileinput.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/fnmatch.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/fractions.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/ftplib.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/functools.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/genericpath.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/getopt.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/getpass.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/gettext.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/glob.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/graphlib.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/gzip.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/hashlib.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/heapq.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/hmac.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/imghdr.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/inspect.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/io.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/ipaddress.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/keyword.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/linecache.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/locale.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/lzma.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/mailbox.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/mailcap.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/mimetypes.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/modulefinder.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/netrc.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/nntplib.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/ntpath.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/nturl2path.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/numbers.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/opcode.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/operator.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/optparse.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/os.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/pathlib.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/pdb.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/pickle.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/pickletools.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/pipes.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/pkgutil.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/platform.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/plistlib.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/poplib.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/posixpath.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/pprint.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/profile.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/pstats.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/pty.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/py_compile.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/pyclbr.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/pydoc.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/queue.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/quopri.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/random.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/reprlib.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/rlcompleter.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/runpy.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/sched.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/secrets.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/selectors.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/shelve.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/shlex.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/shutil.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/signal.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/site.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/smtplib.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/sndhdr.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/socket.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/socketserver.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/sre_compile.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/sre_constants.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/sre_parse.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/ssl.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/stat.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/statistics.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/string.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/stringprep.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/struct.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/subprocess.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/sunau.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/symtable.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/sysconfig.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/tabnanny.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/tarfile.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/telnetlib.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/tempfile.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/textwrap.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/this.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/threading.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/timeit.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/token.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/tokenize.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/trace.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/traceback.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/tracemalloc.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/tty.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/types.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/typing.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/uu.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/uuid.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/warnings.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/wave.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/weakref.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/webbrowser.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/xdrlib.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/zipapp.cpython-312.opt-1.pyc", + "windows/Win32/Lib/__pycache__/zipimport.cpython-312.opt-1.pyc", "windows/Win32/Lib/_aix_support.py", - "windows/Win32/Lib/_bootsubprocess.py", "windows/Win32/Lib/_collections_abc.py", "windows/Win32/Lib/_compat_pickle.py", "windows/Win32/Lib/_compression.py", "windows/Win32/Lib/_markupbase.py", "windows/Win32/Lib/_osx_support.py", "windows/Win32/Lib/_py_abc.py", + "windows/Win32/Lib/_pydatetime.py", "windows/Win32/Lib/_pydecimal.py", "windows/Win32/Lib/_pyio.py", + "windows/Win32/Lib/_pylong.py", "windows/Win32/Lib/_sitebuiltins.py", "windows/Win32/Lib/_strptime.py", "windows/Win32/Lib/_threading_local.py", @@ -4745,42 +4716,41 @@ "windows/Win32/Lib/antigravity.py", "windows/Win32/Lib/argparse.py", "windows/Win32/Lib/ast.py", - "windows/Win32/Lib/asynchat.py", "windows/Win32/Lib/asyncio/__init__.py", "windows/Win32/Lib/asyncio/__main__.py", - "windows/Win32/Lib/asyncio/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/Win32/Lib/asyncio/__pycache__/__main__.cpython-311.opt-1.pyc", - "windows/Win32/Lib/asyncio/__pycache__/base_events.cpython-311.opt-1.pyc", - "windows/Win32/Lib/asyncio/__pycache__/base_futures.cpython-311.opt-1.pyc", - "windows/Win32/Lib/asyncio/__pycache__/base_subprocess.cpython-311.opt-1.pyc", - "windows/Win32/Lib/asyncio/__pycache__/base_tasks.cpython-311.opt-1.pyc", - "windows/Win32/Lib/asyncio/__pycache__/constants.cpython-311.opt-1.pyc", - "windows/Win32/Lib/asyncio/__pycache__/coroutines.cpython-311.opt-1.pyc", - "windows/Win32/Lib/asyncio/__pycache__/events.cpython-311.opt-1.pyc", - "windows/Win32/Lib/asyncio/__pycache__/exceptions.cpython-311.opt-1.pyc", - "windows/Win32/Lib/asyncio/__pycache__/format_helpers.cpython-311.opt-1.pyc", - "windows/Win32/Lib/asyncio/__pycache__/futures.cpython-311.opt-1.pyc", - "windows/Win32/Lib/asyncio/__pycache__/locks.cpython-311.opt-1.pyc", - "windows/Win32/Lib/asyncio/__pycache__/log.cpython-311.opt-1.pyc", - "windows/Win32/Lib/asyncio/__pycache__/mixins.cpython-311.opt-1.pyc", - "windows/Win32/Lib/asyncio/__pycache__/proactor_events.cpython-311.opt-1.pyc", - "windows/Win32/Lib/asyncio/__pycache__/protocols.cpython-311.opt-1.pyc", - "windows/Win32/Lib/asyncio/__pycache__/queues.cpython-311.opt-1.pyc", - "windows/Win32/Lib/asyncio/__pycache__/runners.cpython-311.opt-1.pyc", - "windows/Win32/Lib/asyncio/__pycache__/selector_events.cpython-311.opt-1.pyc", - "windows/Win32/Lib/asyncio/__pycache__/sslproto.cpython-311.opt-1.pyc", - "windows/Win32/Lib/asyncio/__pycache__/staggered.cpython-311.opt-1.pyc", - "windows/Win32/Lib/asyncio/__pycache__/streams.cpython-311.opt-1.pyc", - "windows/Win32/Lib/asyncio/__pycache__/subprocess.cpython-311.opt-1.pyc", - "windows/Win32/Lib/asyncio/__pycache__/taskgroups.cpython-311.opt-1.pyc", - "windows/Win32/Lib/asyncio/__pycache__/tasks.cpython-311.opt-1.pyc", - "windows/Win32/Lib/asyncio/__pycache__/threads.cpython-311.opt-1.pyc", - "windows/Win32/Lib/asyncio/__pycache__/timeouts.cpython-311.opt-1.pyc", - "windows/Win32/Lib/asyncio/__pycache__/transports.cpython-311.opt-1.pyc", - "windows/Win32/Lib/asyncio/__pycache__/trsock.cpython-311.opt-1.pyc", - "windows/Win32/Lib/asyncio/__pycache__/unix_events.cpython-311.opt-1.pyc", - "windows/Win32/Lib/asyncio/__pycache__/windows_events.cpython-311.opt-1.pyc", - "windows/Win32/Lib/asyncio/__pycache__/windows_utils.cpython-311.opt-1.pyc", + "windows/Win32/Lib/asyncio/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/Win32/Lib/asyncio/__pycache__/__main__.cpython-312.opt-1.pyc", + "windows/Win32/Lib/asyncio/__pycache__/base_events.cpython-312.opt-1.pyc", + "windows/Win32/Lib/asyncio/__pycache__/base_futures.cpython-312.opt-1.pyc", + "windows/Win32/Lib/asyncio/__pycache__/base_subprocess.cpython-312.opt-1.pyc", + "windows/Win32/Lib/asyncio/__pycache__/base_tasks.cpython-312.opt-1.pyc", + "windows/Win32/Lib/asyncio/__pycache__/constants.cpython-312.opt-1.pyc", + "windows/Win32/Lib/asyncio/__pycache__/coroutines.cpython-312.opt-1.pyc", + "windows/Win32/Lib/asyncio/__pycache__/events.cpython-312.opt-1.pyc", + "windows/Win32/Lib/asyncio/__pycache__/exceptions.cpython-312.opt-1.pyc", + "windows/Win32/Lib/asyncio/__pycache__/format_helpers.cpython-312.opt-1.pyc", + "windows/Win32/Lib/asyncio/__pycache__/futures.cpython-312.opt-1.pyc", + "windows/Win32/Lib/asyncio/__pycache__/locks.cpython-312.opt-1.pyc", + "windows/Win32/Lib/asyncio/__pycache__/log.cpython-312.opt-1.pyc", + "windows/Win32/Lib/asyncio/__pycache__/mixins.cpython-312.opt-1.pyc", + "windows/Win32/Lib/asyncio/__pycache__/proactor_events.cpython-312.opt-1.pyc", + "windows/Win32/Lib/asyncio/__pycache__/protocols.cpython-312.opt-1.pyc", + "windows/Win32/Lib/asyncio/__pycache__/queues.cpython-312.opt-1.pyc", + "windows/Win32/Lib/asyncio/__pycache__/runners.cpython-312.opt-1.pyc", + "windows/Win32/Lib/asyncio/__pycache__/selector_events.cpython-312.opt-1.pyc", + "windows/Win32/Lib/asyncio/__pycache__/sslproto.cpython-312.opt-1.pyc", + "windows/Win32/Lib/asyncio/__pycache__/staggered.cpython-312.opt-1.pyc", + "windows/Win32/Lib/asyncio/__pycache__/streams.cpython-312.opt-1.pyc", + "windows/Win32/Lib/asyncio/__pycache__/subprocess.cpython-312.opt-1.pyc", + "windows/Win32/Lib/asyncio/__pycache__/taskgroups.cpython-312.opt-1.pyc", + "windows/Win32/Lib/asyncio/__pycache__/tasks.cpython-312.opt-1.pyc", + "windows/Win32/Lib/asyncio/__pycache__/threads.cpython-312.opt-1.pyc", + "windows/Win32/Lib/asyncio/__pycache__/timeouts.cpython-312.opt-1.pyc", + "windows/Win32/Lib/asyncio/__pycache__/transports.cpython-312.opt-1.pyc", + "windows/Win32/Lib/asyncio/__pycache__/trsock.cpython-312.opt-1.pyc", + "windows/Win32/Lib/asyncio/__pycache__/unix_events.cpython-312.opt-1.pyc", + "windows/Win32/Lib/asyncio/__pycache__/windows_events.cpython-312.opt-1.pyc", + "windows/Win32/Lib/asyncio/__pycache__/windows_utils.cpython-312.opt-1.pyc", "windows/Win32/Lib/asyncio/base_events.py", "windows/Win32/Lib/asyncio/base_futures.py", "windows/Win32/Lib/asyncio/base_subprocess.py", @@ -4812,7 +4782,6 @@ "windows/Win32/Lib/asyncio/unix_events.py", "windows/Win32/Lib/asyncio/windows_events.py", "windows/Win32/Lib/asyncio/windows_utils.py", - "windows/Win32/Lib/asyncore.py", "windows/Win32/Lib/base64.py", "windows/Win32/Lib/bdb.py", "windows/Win32/Lib/bisect.py", @@ -4827,18 +4796,18 @@ "windows/Win32/Lib/codecs.py", "windows/Win32/Lib/codeop.py", "windows/Win32/Lib/collections/__init__.py", - "windows/Win32/Lib/collections/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/Win32/Lib/collections/__pycache__/abc.cpython-311.opt-1.pyc", + "windows/Win32/Lib/collections/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/Win32/Lib/collections/__pycache__/abc.cpython-312.opt-1.pyc", "windows/Win32/Lib/collections/abc.py", "windows/Win32/Lib/colorsys.py", "windows/Win32/Lib/compileall.py", "windows/Win32/Lib/concurrent/__init__.py", - "windows/Win32/Lib/concurrent/__pycache__/__init__.cpython-311.opt-1.pyc", + "windows/Win32/Lib/concurrent/__pycache__/__init__.cpython-312.opt-1.pyc", "windows/Win32/Lib/concurrent/futures/__init__.py", - "windows/Win32/Lib/concurrent/futures/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/Win32/Lib/concurrent/futures/__pycache__/_base.cpython-311.opt-1.pyc", - "windows/Win32/Lib/concurrent/futures/__pycache__/process.cpython-311.opt-1.pyc", - "windows/Win32/Lib/concurrent/futures/__pycache__/thread.cpython-311.opt-1.pyc", + "windows/Win32/Lib/concurrent/futures/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/Win32/Lib/concurrent/futures/__pycache__/_base.cpython-312.opt-1.pyc", + "windows/Win32/Lib/concurrent/futures/__pycache__/process.cpython-312.opt-1.pyc", + "windows/Win32/Lib/concurrent/futures/__pycache__/thread.cpython-312.opt-1.pyc", "windows/Win32/Lib/concurrent/futures/_base.py", "windows/Win32/Lib/concurrent/futures/process.py", "windows/Win32/Lib/concurrent/futures/thread.py", @@ -4850,29 +4819,29 @@ "windows/Win32/Lib/crypt.py", "windows/Win32/Lib/csv.py", "windows/Win32/Lib/ctypes/__init__.py", - "windows/Win32/Lib/ctypes/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/Win32/Lib/ctypes/__pycache__/_aix.cpython-311.opt-1.pyc", - "windows/Win32/Lib/ctypes/__pycache__/_endian.cpython-311.opt-1.pyc", - "windows/Win32/Lib/ctypes/__pycache__/util.cpython-311.opt-1.pyc", - "windows/Win32/Lib/ctypes/__pycache__/wintypes.cpython-311.opt-1.pyc", + "windows/Win32/Lib/ctypes/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/Win32/Lib/ctypes/__pycache__/_aix.cpython-312.opt-1.pyc", + "windows/Win32/Lib/ctypes/__pycache__/_endian.cpython-312.opt-1.pyc", + "windows/Win32/Lib/ctypes/__pycache__/util.cpython-312.opt-1.pyc", + "windows/Win32/Lib/ctypes/__pycache__/wintypes.cpython-312.opt-1.pyc", "windows/Win32/Lib/ctypes/_aix.py", "windows/Win32/Lib/ctypes/_endian.py", "windows/Win32/Lib/ctypes/macholib/__init__.py", - "windows/Win32/Lib/ctypes/macholib/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/Win32/Lib/ctypes/macholib/__pycache__/dyld.cpython-311.opt-1.pyc", - "windows/Win32/Lib/ctypes/macholib/__pycache__/dylib.cpython-311.opt-1.pyc", - "windows/Win32/Lib/ctypes/macholib/__pycache__/framework.cpython-311.opt-1.pyc", + "windows/Win32/Lib/ctypes/macholib/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/Win32/Lib/ctypes/macholib/__pycache__/dyld.cpython-312.opt-1.pyc", + "windows/Win32/Lib/ctypes/macholib/__pycache__/dylib.cpython-312.opt-1.pyc", + "windows/Win32/Lib/ctypes/macholib/__pycache__/framework.cpython-312.opt-1.pyc", "windows/Win32/Lib/ctypes/macholib/dyld.py", "windows/Win32/Lib/ctypes/macholib/dylib.py", "windows/Win32/Lib/ctypes/macholib/framework.py", "windows/Win32/Lib/ctypes/util.py", "windows/Win32/Lib/ctypes/wintypes.py", "windows/Win32/Lib/curses/__init__.py", - "windows/Win32/Lib/curses/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/Win32/Lib/curses/__pycache__/ascii.cpython-311.opt-1.pyc", - "windows/Win32/Lib/curses/__pycache__/has_key.cpython-311.opt-1.pyc", - "windows/Win32/Lib/curses/__pycache__/panel.cpython-311.opt-1.pyc", - "windows/Win32/Lib/curses/__pycache__/textpad.cpython-311.opt-1.pyc", + "windows/Win32/Lib/curses/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/Win32/Lib/curses/__pycache__/ascii.cpython-312.opt-1.pyc", + "windows/Win32/Lib/curses/__pycache__/has_key.cpython-312.opt-1.pyc", + "windows/Win32/Lib/curses/__pycache__/panel.cpython-312.opt-1.pyc", + "windows/Win32/Lib/curses/__pycache__/textpad.cpython-312.opt-1.pyc", "windows/Win32/Lib/curses/ascii.py", "windows/Win32/Lib/curses/has_key.py", "windows/Win32/Lib/curses/panel.py", @@ -4884,26 +4853,26 @@ "windows/Win32/Lib/dis.py", "windows/Win32/Lib/doctest.py", "windows/Win32/Lib/email/__init__.py", - "windows/Win32/Lib/email/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/Win32/Lib/email/__pycache__/_encoded_words.cpython-311.opt-1.pyc", - "windows/Win32/Lib/email/__pycache__/_header_value_parser.cpython-311.opt-1.pyc", - "windows/Win32/Lib/email/__pycache__/_parseaddr.cpython-311.opt-1.pyc", - "windows/Win32/Lib/email/__pycache__/_policybase.cpython-311.opt-1.pyc", - "windows/Win32/Lib/email/__pycache__/base64mime.cpython-311.opt-1.pyc", - "windows/Win32/Lib/email/__pycache__/charset.cpython-311.opt-1.pyc", - "windows/Win32/Lib/email/__pycache__/contentmanager.cpython-311.opt-1.pyc", - "windows/Win32/Lib/email/__pycache__/encoders.cpython-311.opt-1.pyc", - "windows/Win32/Lib/email/__pycache__/errors.cpython-311.opt-1.pyc", - "windows/Win32/Lib/email/__pycache__/feedparser.cpython-311.opt-1.pyc", - "windows/Win32/Lib/email/__pycache__/generator.cpython-311.opt-1.pyc", - "windows/Win32/Lib/email/__pycache__/header.cpython-311.opt-1.pyc", - "windows/Win32/Lib/email/__pycache__/headerregistry.cpython-311.opt-1.pyc", - "windows/Win32/Lib/email/__pycache__/iterators.cpython-311.opt-1.pyc", - "windows/Win32/Lib/email/__pycache__/message.cpython-311.opt-1.pyc", - "windows/Win32/Lib/email/__pycache__/parser.cpython-311.opt-1.pyc", - "windows/Win32/Lib/email/__pycache__/policy.cpython-311.opt-1.pyc", - "windows/Win32/Lib/email/__pycache__/quoprimime.cpython-311.opt-1.pyc", - "windows/Win32/Lib/email/__pycache__/utils.cpython-311.opt-1.pyc", + "windows/Win32/Lib/email/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/Win32/Lib/email/__pycache__/_encoded_words.cpython-312.opt-1.pyc", + "windows/Win32/Lib/email/__pycache__/_header_value_parser.cpython-312.opt-1.pyc", + "windows/Win32/Lib/email/__pycache__/_parseaddr.cpython-312.opt-1.pyc", + "windows/Win32/Lib/email/__pycache__/_policybase.cpython-312.opt-1.pyc", + "windows/Win32/Lib/email/__pycache__/base64mime.cpython-312.opt-1.pyc", + "windows/Win32/Lib/email/__pycache__/charset.cpython-312.opt-1.pyc", + "windows/Win32/Lib/email/__pycache__/contentmanager.cpython-312.opt-1.pyc", + "windows/Win32/Lib/email/__pycache__/encoders.cpython-312.opt-1.pyc", + "windows/Win32/Lib/email/__pycache__/errors.cpython-312.opt-1.pyc", + "windows/Win32/Lib/email/__pycache__/feedparser.cpython-312.opt-1.pyc", + "windows/Win32/Lib/email/__pycache__/generator.cpython-312.opt-1.pyc", + "windows/Win32/Lib/email/__pycache__/header.cpython-312.opt-1.pyc", + "windows/Win32/Lib/email/__pycache__/headerregistry.cpython-312.opt-1.pyc", + "windows/Win32/Lib/email/__pycache__/iterators.cpython-312.opt-1.pyc", + "windows/Win32/Lib/email/__pycache__/message.cpython-312.opt-1.pyc", + "windows/Win32/Lib/email/__pycache__/parser.cpython-312.opt-1.pyc", + "windows/Win32/Lib/email/__pycache__/policy.cpython-312.opt-1.pyc", + "windows/Win32/Lib/email/__pycache__/quoprimime.cpython-312.opt-1.pyc", + "windows/Win32/Lib/email/__pycache__/utils.cpython-312.opt-1.pyc", "windows/Win32/Lib/email/_encoded_words.py", "windows/Win32/Lib/email/_header_value_parser.py", "windows/Win32/Lib/email/_parseaddr.py", @@ -4921,15 +4890,15 @@ "windows/Win32/Lib/email/iterators.py", "windows/Win32/Lib/email/message.py", "windows/Win32/Lib/email/mime/__init__.py", - "windows/Win32/Lib/email/mime/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/Win32/Lib/email/mime/__pycache__/application.cpython-311.opt-1.pyc", - "windows/Win32/Lib/email/mime/__pycache__/audio.cpython-311.opt-1.pyc", - "windows/Win32/Lib/email/mime/__pycache__/base.cpython-311.opt-1.pyc", - "windows/Win32/Lib/email/mime/__pycache__/image.cpython-311.opt-1.pyc", - "windows/Win32/Lib/email/mime/__pycache__/message.cpython-311.opt-1.pyc", - "windows/Win32/Lib/email/mime/__pycache__/multipart.cpython-311.opt-1.pyc", - "windows/Win32/Lib/email/mime/__pycache__/nonmultipart.cpython-311.opt-1.pyc", - "windows/Win32/Lib/email/mime/__pycache__/text.cpython-311.opt-1.pyc", + "windows/Win32/Lib/email/mime/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/Win32/Lib/email/mime/__pycache__/application.cpython-312.opt-1.pyc", + "windows/Win32/Lib/email/mime/__pycache__/audio.cpython-312.opt-1.pyc", + "windows/Win32/Lib/email/mime/__pycache__/base.cpython-312.opt-1.pyc", + "windows/Win32/Lib/email/mime/__pycache__/image.cpython-312.opt-1.pyc", + "windows/Win32/Lib/email/mime/__pycache__/message.cpython-312.opt-1.pyc", + "windows/Win32/Lib/email/mime/__pycache__/multipart.cpython-312.opt-1.pyc", + "windows/Win32/Lib/email/mime/__pycache__/nonmultipart.cpython-312.opt-1.pyc", + "windows/Win32/Lib/email/mime/__pycache__/text.cpython-312.opt-1.pyc", "windows/Win32/Lib/email/mime/application.py", "windows/Win32/Lib/email/mime/audio.py", "windows/Win32/Lib/email/mime/base.py", @@ -4943,128 +4912,128 @@ "windows/Win32/Lib/email/quoprimime.py", "windows/Win32/Lib/email/utils.py", "windows/Win32/Lib/encodings/__init__.py", - "windows/Win32/Lib/encodings/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/aliases.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/ascii.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/base64_codec.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/big5.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/big5hkscs.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/bz2_codec.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/charmap.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp037.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp1006.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp1026.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp1125.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp1140.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp1250.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp1251.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp1252.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp1253.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp1254.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp1255.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp1256.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp1257.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp1258.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp273.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp424.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp437.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp500.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp720.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp737.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp775.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp850.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp852.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp855.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp856.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp857.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp858.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp860.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp861.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp862.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp863.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp864.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp865.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp866.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp869.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp874.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp875.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp932.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp949.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/cp950.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/euc_jis_2004.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/euc_jisx0213.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/euc_jp.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/euc_kr.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/gb18030.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/gb2312.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/gbk.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/hex_codec.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/hp_roman8.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/hz.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/idna.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/iso2022_jp.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/iso2022_jp_1.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/iso2022_jp_2.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/iso2022_jp_2004.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/iso2022_jp_3.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/iso2022_jp_ext.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/iso2022_kr.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/iso8859_1.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/iso8859_10.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/iso8859_11.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/iso8859_13.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/iso8859_14.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/iso8859_15.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/iso8859_16.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/iso8859_2.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/iso8859_3.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/iso8859_4.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/iso8859_5.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/iso8859_6.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/iso8859_7.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/iso8859_8.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/iso8859_9.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/johab.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/koi8_r.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/koi8_t.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/koi8_u.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/kz1048.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/latin_1.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/mac_arabic.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/mac_croatian.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/mac_cyrillic.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/mac_farsi.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/mac_greek.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/mac_iceland.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/mac_latin2.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/mac_roman.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/mac_romanian.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/mac_turkish.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/mbcs.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/oem.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/palmos.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/ptcp154.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/punycode.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/quopri_codec.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/raw_unicode_escape.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/rot_13.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/shift_jis.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/shift_jis_2004.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/shift_jisx0213.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/tis_620.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/undefined.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/unicode_escape.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/utf_16.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/utf_16_be.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/utf_16_le.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/utf_32.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/utf_32_be.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/utf_32_le.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/utf_7.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/utf_8.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/utf_8_sig.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/uu_codec.cpython-311.opt-1.pyc", - "windows/Win32/Lib/encodings/__pycache__/zlib_codec.cpython-311.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/aliases.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/ascii.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/base64_codec.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/big5.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/big5hkscs.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/bz2_codec.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/charmap.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp037.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp1006.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp1026.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp1125.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp1140.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp1250.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp1251.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp1252.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp1253.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp1254.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp1255.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp1256.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp1257.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp1258.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp273.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp424.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp437.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp500.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp720.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp737.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp775.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp850.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp852.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp855.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp856.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp857.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp858.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp860.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp861.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp862.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp863.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp864.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp865.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp866.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp869.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp874.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp875.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp932.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp949.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/cp950.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/euc_jis_2004.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/euc_jisx0213.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/euc_jp.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/euc_kr.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/gb18030.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/gb2312.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/gbk.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/hex_codec.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/hp_roman8.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/hz.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/idna.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/iso2022_jp.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/iso2022_jp_1.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/iso2022_jp_2.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/iso2022_jp_2004.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/iso2022_jp_3.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/iso2022_jp_ext.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/iso2022_kr.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/iso8859_1.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/iso8859_10.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/iso8859_11.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/iso8859_13.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/iso8859_14.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/iso8859_15.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/iso8859_16.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/iso8859_2.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/iso8859_3.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/iso8859_4.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/iso8859_5.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/iso8859_6.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/iso8859_7.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/iso8859_8.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/iso8859_9.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/johab.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/koi8_r.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/koi8_t.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/koi8_u.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/kz1048.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/latin_1.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/mac_arabic.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/mac_croatian.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/mac_cyrillic.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/mac_farsi.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/mac_greek.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/mac_iceland.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/mac_latin2.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/mac_roman.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/mac_romanian.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/mac_turkish.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/mbcs.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/oem.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/palmos.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/ptcp154.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/punycode.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/quopri_codec.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/raw_unicode_escape.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/rot_13.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/shift_jis.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/shift_jis_2004.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/shift_jisx0213.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/tis_620.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/undefined.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/unicode_escape.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/utf_16.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/utf_16_be.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/utf_16_le.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/utf_32.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/utf_32_be.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/utf_32_le.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/utf_7.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/utf_8.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/utf_8_sig.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/uu_codec.cpython-312.opt-1.pyc", + "windows/Win32/Lib/encodings/__pycache__/zlib_codec.cpython-312.opt-1.pyc", "windows/Win32/Lib/encodings/aliases.py", "windows/Win32/Lib/encodings/ascii.py", "windows/Win32/Lib/encodings/base64_codec.py", @@ -5204,46 +5173,45 @@ "windows/Win32/Lib/heapq.py", "windows/Win32/Lib/hmac.py", "windows/Win32/Lib/html/__init__.py", - "windows/Win32/Lib/html/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/Win32/Lib/html/__pycache__/entities.cpython-311.opt-1.pyc", - "windows/Win32/Lib/html/__pycache__/parser.cpython-311.opt-1.pyc", + "windows/Win32/Lib/html/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/Win32/Lib/html/__pycache__/entities.cpython-312.opt-1.pyc", + "windows/Win32/Lib/html/__pycache__/parser.cpython-312.opt-1.pyc", "windows/Win32/Lib/html/entities.py", "windows/Win32/Lib/html/parser.py", "windows/Win32/Lib/http/__init__.py", - "windows/Win32/Lib/http/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/Win32/Lib/http/__pycache__/client.cpython-311.opt-1.pyc", - "windows/Win32/Lib/http/__pycache__/cookiejar.cpython-311.opt-1.pyc", - "windows/Win32/Lib/http/__pycache__/cookies.cpython-311.opt-1.pyc", - "windows/Win32/Lib/http/__pycache__/server.cpython-311.opt-1.pyc", + "windows/Win32/Lib/http/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/Win32/Lib/http/__pycache__/client.cpython-312.opt-1.pyc", + "windows/Win32/Lib/http/__pycache__/cookiejar.cpython-312.opt-1.pyc", + "windows/Win32/Lib/http/__pycache__/cookies.cpython-312.opt-1.pyc", + "windows/Win32/Lib/http/__pycache__/server.cpython-312.opt-1.pyc", "windows/Win32/Lib/http/client.py", "windows/Win32/Lib/http/cookiejar.py", "windows/Win32/Lib/http/cookies.py", "windows/Win32/Lib/http/server.py", "windows/Win32/Lib/imghdr.py", - "windows/Win32/Lib/imp.py", "windows/Win32/Lib/importlib/__init__.py", - "windows/Win32/Lib/importlib/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/Win32/Lib/importlib/__pycache__/_abc.cpython-311.opt-1.pyc", - "windows/Win32/Lib/importlib/__pycache__/_bootstrap.cpython-311.opt-1.pyc", - "windows/Win32/Lib/importlib/__pycache__/_bootstrap_external.cpython-311.opt-1.pyc", - "windows/Win32/Lib/importlib/__pycache__/abc.cpython-311.opt-1.pyc", - "windows/Win32/Lib/importlib/__pycache__/machinery.cpython-311.opt-1.pyc", - "windows/Win32/Lib/importlib/__pycache__/readers.cpython-311.opt-1.pyc", - "windows/Win32/Lib/importlib/__pycache__/simple.cpython-311.opt-1.pyc", - "windows/Win32/Lib/importlib/__pycache__/util.cpython-311.opt-1.pyc", + "windows/Win32/Lib/importlib/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/Win32/Lib/importlib/__pycache__/_abc.cpython-312.opt-1.pyc", + "windows/Win32/Lib/importlib/__pycache__/_bootstrap.cpython-312.opt-1.pyc", + "windows/Win32/Lib/importlib/__pycache__/_bootstrap_external.cpython-312.opt-1.pyc", + "windows/Win32/Lib/importlib/__pycache__/abc.cpython-312.opt-1.pyc", + "windows/Win32/Lib/importlib/__pycache__/machinery.cpython-312.opt-1.pyc", + "windows/Win32/Lib/importlib/__pycache__/readers.cpython-312.opt-1.pyc", + "windows/Win32/Lib/importlib/__pycache__/simple.cpython-312.opt-1.pyc", + "windows/Win32/Lib/importlib/__pycache__/util.cpython-312.opt-1.pyc", "windows/Win32/Lib/importlib/_abc.py", "windows/Win32/Lib/importlib/_bootstrap.py", "windows/Win32/Lib/importlib/_bootstrap_external.py", "windows/Win32/Lib/importlib/abc.py", "windows/Win32/Lib/importlib/machinery.py", "windows/Win32/Lib/importlib/metadata/__init__.py", - "windows/Win32/Lib/importlib/metadata/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/Win32/Lib/importlib/metadata/__pycache__/_adapters.cpython-311.opt-1.pyc", - "windows/Win32/Lib/importlib/metadata/__pycache__/_collections.cpython-311.opt-1.pyc", - "windows/Win32/Lib/importlib/metadata/__pycache__/_functools.cpython-311.opt-1.pyc", - "windows/Win32/Lib/importlib/metadata/__pycache__/_itertools.cpython-311.opt-1.pyc", - "windows/Win32/Lib/importlib/metadata/__pycache__/_meta.cpython-311.opt-1.pyc", - "windows/Win32/Lib/importlib/metadata/__pycache__/_text.cpython-311.opt-1.pyc", + "windows/Win32/Lib/importlib/metadata/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/Win32/Lib/importlib/metadata/__pycache__/_adapters.cpython-312.opt-1.pyc", + "windows/Win32/Lib/importlib/metadata/__pycache__/_collections.cpython-312.opt-1.pyc", + "windows/Win32/Lib/importlib/metadata/__pycache__/_functools.cpython-312.opt-1.pyc", + "windows/Win32/Lib/importlib/metadata/__pycache__/_itertools.cpython-312.opt-1.pyc", + "windows/Win32/Lib/importlib/metadata/__pycache__/_meta.cpython-312.opt-1.pyc", + "windows/Win32/Lib/importlib/metadata/__pycache__/_text.cpython-312.opt-1.pyc", "windows/Win32/Lib/importlib/metadata/_adapters.py", "windows/Win32/Lib/importlib/metadata/_collections.py", "windows/Win32/Lib/importlib/metadata/_functools.py", @@ -5252,14 +5220,14 @@ "windows/Win32/Lib/importlib/metadata/_text.py", "windows/Win32/Lib/importlib/readers.py", "windows/Win32/Lib/importlib/resources/__init__.py", - "windows/Win32/Lib/importlib/resources/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/Win32/Lib/importlib/resources/__pycache__/_adapters.cpython-311.opt-1.pyc", - "windows/Win32/Lib/importlib/resources/__pycache__/_common.cpython-311.opt-1.pyc", - "windows/Win32/Lib/importlib/resources/__pycache__/_itertools.cpython-311.opt-1.pyc", - "windows/Win32/Lib/importlib/resources/__pycache__/_legacy.cpython-311.opt-1.pyc", - "windows/Win32/Lib/importlib/resources/__pycache__/abc.cpython-311.opt-1.pyc", - "windows/Win32/Lib/importlib/resources/__pycache__/readers.cpython-311.opt-1.pyc", - "windows/Win32/Lib/importlib/resources/__pycache__/simple.cpython-311.opt-1.pyc", + "windows/Win32/Lib/importlib/resources/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/Win32/Lib/importlib/resources/__pycache__/_adapters.cpython-312.opt-1.pyc", + "windows/Win32/Lib/importlib/resources/__pycache__/_common.cpython-312.opt-1.pyc", + "windows/Win32/Lib/importlib/resources/__pycache__/_itertools.cpython-312.opt-1.pyc", + "windows/Win32/Lib/importlib/resources/__pycache__/_legacy.cpython-312.opt-1.pyc", + "windows/Win32/Lib/importlib/resources/__pycache__/abc.cpython-312.opt-1.pyc", + "windows/Win32/Lib/importlib/resources/__pycache__/readers.cpython-312.opt-1.pyc", + "windows/Win32/Lib/importlib/resources/__pycache__/simple.cpython-312.opt-1.pyc", "windows/Win32/Lib/importlib/resources/_adapters.py", "windows/Win32/Lib/importlib/resources/_common.py", "windows/Win32/Lib/importlib/resources/_itertools.py", @@ -5273,11 +5241,11 @@ "windows/Win32/Lib/io.py", "windows/Win32/Lib/ipaddress.py", "windows/Win32/Lib/json/__init__.py", - "windows/Win32/Lib/json/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/Win32/Lib/json/__pycache__/decoder.cpython-311.opt-1.pyc", - "windows/Win32/Lib/json/__pycache__/encoder.cpython-311.opt-1.pyc", - "windows/Win32/Lib/json/__pycache__/scanner.cpython-311.opt-1.pyc", - "windows/Win32/Lib/json/__pycache__/tool.cpython-311.opt-1.pyc", + "windows/Win32/Lib/json/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/Win32/Lib/json/__pycache__/decoder.cpython-312.opt-1.pyc", + "windows/Win32/Lib/json/__pycache__/encoder.cpython-312.opt-1.pyc", + "windows/Win32/Lib/json/__pycache__/scanner.cpython-312.opt-1.pyc", + "windows/Win32/Lib/json/__pycache__/tool.cpython-312.opt-1.pyc", "windows/Win32/Lib/json/decoder.py", "windows/Win32/Lib/json/encoder.py", "windows/Win32/Lib/json/scanner.py", @@ -5286,9 +5254,9 @@ "windows/Win32/Lib/linecache.py", "windows/Win32/Lib/locale.py", "windows/Win32/Lib/logging/__init__.py", - "windows/Win32/Lib/logging/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/Win32/Lib/logging/__pycache__/config.cpython-311.opt-1.pyc", - "windows/Win32/Lib/logging/__pycache__/handlers.cpython-311.opt-1.pyc", + "windows/Win32/Lib/logging/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/Win32/Lib/logging/__pycache__/config.cpython-312.opt-1.pyc", + "windows/Win32/Lib/logging/__pycache__/handlers.cpython-312.opt-1.pyc", "windows/Win32/Lib/logging/config.py", "windows/Win32/Lib/logging/handlers.py", "windows/Win32/Lib/lzma.py", @@ -5326,11 +5294,11 @@ "windows/Win32/Lib/quopri.py", "windows/Win32/Lib/random.py", "windows/Win32/Lib/re/__init__.py", - "windows/Win32/Lib/re/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/Win32/Lib/re/__pycache__/_casefix.cpython-311.opt-1.pyc", - "windows/Win32/Lib/re/__pycache__/_compiler.cpython-311.opt-1.pyc", - "windows/Win32/Lib/re/__pycache__/_constants.cpython-311.opt-1.pyc", - "windows/Win32/Lib/re/__pycache__/_parser.cpython-311.opt-1.pyc", + "windows/Win32/Lib/re/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/Win32/Lib/re/__pycache__/_casefix.cpython-312.opt-1.pyc", + "windows/Win32/Lib/re/__pycache__/_compiler.cpython-312.opt-1.pyc", + "windows/Win32/Lib/re/__pycache__/_constants.cpython-312.opt-1.pyc", + "windows/Win32/Lib/re/__pycache__/_parser.cpython-312.opt-1.pyc", "windows/Win32/Lib/re/_casefix.py", "windows/Win32/Lib/re/_compiler.py", "windows/Win32/Lib/re/_constants.py", @@ -5346,15 +5314,16 @@ "windows/Win32/Lib/shutil.py", "windows/Win32/Lib/signal.py", "windows/Win32/Lib/site.py", - "windows/Win32/Lib/smtpd.py", "windows/Win32/Lib/smtplib.py", "windows/Win32/Lib/sndhdr.py", "windows/Win32/Lib/socket.py", "windows/Win32/Lib/socketserver.py", "windows/Win32/Lib/sqlite3/__init__.py", - "windows/Win32/Lib/sqlite3/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/Win32/Lib/sqlite3/__pycache__/dbapi2.cpython-311.opt-1.pyc", - "windows/Win32/Lib/sqlite3/__pycache__/dump.cpython-311.opt-1.pyc", + "windows/Win32/Lib/sqlite3/__main__.py", + "windows/Win32/Lib/sqlite3/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/Win32/Lib/sqlite3/__pycache__/__main__.cpython-312.opt-1.pyc", + "windows/Win32/Lib/sqlite3/__pycache__/dbapi2.cpython-312.opt-1.pyc", + "windows/Win32/Lib/sqlite3/__pycache__/dump.cpython-312.opt-1.pyc", "windows/Win32/Lib/sqlite3/dbapi2.py", "windows/Win32/Lib/sqlite3/dump.py", "windows/Win32/Lib/sre_compile.py", @@ -5381,10 +5350,10 @@ "windows/Win32/Lib/token.py", "windows/Win32/Lib/tokenize.py", "windows/Win32/Lib/tomllib/__init__.py", - "windows/Win32/Lib/tomllib/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/Win32/Lib/tomllib/__pycache__/_parser.cpython-311.opt-1.pyc", - "windows/Win32/Lib/tomllib/__pycache__/_re.cpython-311.opt-1.pyc", - "windows/Win32/Lib/tomllib/__pycache__/_types.cpython-311.opt-1.pyc", + "windows/Win32/Lib/tomllib/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/Win32/Lib/tomllib/__pycache__/_parser.cpython-312.opt-1.pyc", + "windows/Win32/Lib/tomllib/__pycache__/_re.cpython-312.opt-1.pyc", + "windows/Win32/Lib/tomllib/__pycache__/_types.cpython-312.opt-1.pyc", "windows/Win32/Lib/tomllib/_parser.py", "windows/Win32/Lib/tomllib/_re.py", "windows/Win32/Lib/tomllib/_types.py", @@ -5395,12 +5364,12 @@ "windows/Win32/Lib/types.py", "windows/Win32/Lib/typing.py", "windows/Win32/Lib/urllib/__init__.py", - "windows/Win32/Lib/urllib/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/Win32/Lib/urllib/__pycache__/error.cpython-311.opt-1.pyc", - "windows/Win32/Lib/urllib/__pycache__/parse.cpython-311.opt-1.pyc", - "windows/Win32/Lib/urllib/__pycache__/request.cpython-311.opt-1.pyc", - "windows/Win32/Lib/urllib/__pycache__/response.cpython-311.opt-1.pyc", - "windows/Win32/Lib/urllib/__pycache__/robotparser.cpython-311.opt-1.pyc", + "windows/Win32/Lib/urllib/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/Win32/Lib/urllib/__pycache__/error.cpython-312.opt-1.pyc", + "windows/Win32/Lib/urllib/__pycache__/parse.cpython-312.opt-1.pyc", + "windows/Win32/Lib/urllib/__pycache__/request.cpython-312.opt-1.pyc", + "windows/Win32/Lib/urllib/__pycache__/response.cpython-312.opt-1.pyc", + "windows/Win32/Lib/urllib/__pycache__/robotparser.cpython-312.opt-1.pyc", "windows/Win32/Lib/urllib/error.py", "windows/Win32/Lib/urllib/parse.py", "windows/Win32/Lib/urllib/request.py", @@ -5414,17 +5383,17 @@ "windows/Win32/Lib/webbrowser.py", "windows/Win32/Lib/xdrlib.py", "windows/Win32/Lib/xml/__init__.py", - "windows/Win32/Lib/xml/__pycache__/__init__.cpython-311.opt-1.pyc", + "windows/Win32/Lib/xml/__pycache__/__init__.cpython-312.opt-1.pyc", "windows/Win32/Lib/xml/dom/NodeFilter.py", "windows/Win32/Lib/xml/dom/__init__.py", - "windows/Win32/Lib/xml/dom/__pycache__/NodeFilter.cpython-311.opt-1.pyc", - "windows/Win32/Lib/xml/dom/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/Win32/Lib/xml/dom/__pycache__/domreg.cpython-311.opt-1.pyc", - "windows/Win32/Lib/xml/dom/__pycache__/expatbuilder.cpython-311.opt-1.pyc", - "windows/Win32/Lib/xml/dom/__pycache__/minicompat.cpython-311.opt-1.pyc", - "windows/Win32/Lib/xml/dom/__pycache__/minidom.cpython-311.opt-1.pyc", - "windows/Win32/Lib/xml/dom/__pycache__/pulldom.cpython-311.opt-1.pyc", - "windows/Win32/Lib/xml/dom/__pycache__/xmlbuilder.cpython-311.opt-1.pyc", + "windows/Win32/Lib/xml/dom/__pycache__/NodeFilter.cpython-312.opt-1.pyc", + "windows/Win32/Lib/xml/dom/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/Win32/Lib/xml/dom/__pycache__/domreg.cpython-312.opt-1.pyc", + "windows/Win32/Lib/xml/dom/__pycache__/expatbuilder.cpython-312.opt-1.pyc", + "windows/Win32/Lib/xml/dom/__pycache__/minicompat.cpython-312.opt-1.pyc", + "windows/Win32/Lib/xml/dom/__pycache__/minidom.cpython-312.opt-1.pyc", + "windows/Win32/Lib/xml/dom/__pycache__/pulldom.cpython-312.opt-1.pyc", + "windows/Win32/Lib/xml/dom/__pycache__/xmlbuilder.cpython-312.opt-1.pyc", "windows/Win32/Lib/xml/dom/domreg.py", "windows/Win32/Lib/xml/dom/expatbuilder.py", "windows/Win32/Lib/xml/dom/minicompat.py", @@ -5435,42 +5404,49 @@ "windows/Win32/Lib/xml/etree/ElementPath.py", "windows/Win32/Lib/xml/etree/ElementTree.py", "windows/Win32/Lib/xml/etree/__init__.py", - "windows/Win32/Lib/xml/etree/__pycache__/ElementInclude.cpython-311.opt-1.pyc", - "windows/Win32/Lib/xml/etree/__pycache__/ElementPath.cpython-311.opt-1.pyc", - "windows/Win32/Lib/xml/etree/__pycache__/ElementTree.cpython-311.opt-1.pyc", - "windows/Win32/Lib/xml/etree/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/Win32/Lib/xml/etree/__pycache__/cElementTree.cpython-311.opt-1.pyc", + "windows/Win32/Lib/xml/etree/__pycache__/ElementInclude.cpython-312.opt-1.pyc", + "windows/Win32/Lib/xml/etree/__pycache__/ElementPath.cpython-312.opt-1.pyc", + "windows/Win32/Lib/xml/etree/__pycache__/ElementTree.cpython-312.opt-1.pyc", + "windows/Win32/Lib/xml/etree/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/Win32/Lib/xml/etree/__pycache__/cElementTree.cpython-312.opt-1.pyc", "windows/Win32/Lib/xml/etree/cElementTree.py", "windows/Win32/Lib/xml/parsers/__init__.py", - "windows/Win32/Lib/xml/parsers/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/Win32/Lib/xml/parsers/__pycache__/expat.cpython-311.opt-1.pyc", + "windows/Win32/Lib/xml/parsers/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/Win32/Lib/xml/parsers/__pycache__/expat.cpython-312.opt-1.pyc", "windows/Win32/Lib/xml/parsers/expat.py", "windows/Win32/Lib/xml/sax/__init__.py", - "windows/Win32/Lib/xml/sax/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/Win32/Lib/xml/sax/__pycache__/_exceptions.cpython-311.opt-1.pyc", - "windows/Win32/Lib/xml/sax/__pycache__/expatreader.cpython-311.opt-1.pyc", - "windows/Win32/Lib/xml/sax/__pycache__/handler.cpython-311.opt-1.pyc", - "windows/Win32/Lib/xml/sax/__pycache__/saxutils.cpython-311.opt-1.pyc", - "windows/Win32/Lib/xml/sax/__pycache__/xmlreader.cpython-311.opt-1.pyc", + "windows/Win32/Lib/xml/sax/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/Win32/Lib/xml/sax/__pycache__/_exceptions.cpython-312.opt-1.pyc", + "windows/Win32/Lib/xml/sax/__pycache__/expatreader.cpython-312.opt-1.pyc", + "windows/Win32/Lib/xml/sax/__pycache__/handler.cpython-312.opt-1.pyc", + "windows/Win32/Lib/xml/sax/__pycache__/saxutils.cpython-312.opt-1.pyc", + "windows/Win32/Lib/xml/sax/__pycache__/xmlreader.cpython-312.opt-1.pyc", "windows/Win32/Lib/xml/sax/_exceptions.py", "windows/Win32/Lib/xml/sax/expatreader.py", "windows/Win32/Lib/xml/sax/handler.py", "windows/Win32/Lib/xml/sax/saxutils.py", "windows/Win32/Lib/xml/sax/xmlreader.py", "windows/Win32/Lib/xmlrpc/__init__.py", - "windows/Win32/Lib/xmlrpc/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/Win32/Lib/xmlrpc/__pycache__/client.cpython-311.opt-1.pyc", - "windows/Win32/Lib/xmlrpc/__pycache__/server.cpython-311.opt-1.pyc", + "windows/Win32/Lib/xmlrpc/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/Win32/Lib/xmlrpc/__pycache__/client.cpython-312.opt-1.pyc", + "windows/Win32/Lib/xmlrpc/__pycache__/server.cpython-312.opt-1.pyc", "windows/Win32/Lib/xmlrpc/client.py", "windows/Win32/Lib/xmlrpc/server.py", "windows/Win32/Lib/zipapp.py", - "windows/Win32/Lib/zipfile.py", + "windows/Win32/Lib/zipfile/__init__.py", + "windows/Win32/Lib/zipfile/__main__.py", + "windows/Win32/Lib/zipfile/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/Win32/Lib/zipfile/__pycache__/__main__.cpython-312.opt-1.pyc", + "windows/Win32/Lib/zipfile/_path/__init__.py", + "windows/Win32/Lib/zipfile/_path/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/Win32/Lib/zipfile/_path/__pycache__/glob.cpython-312.opt-1.pyc", + "windows/Win32/Lib/zipfile/_path/glob.py", "windows/Win32/Lib/zipimport.py", "windows/Win32/Lib/zoneinfo/__init__.py", - "windows/Win32/Lib/zoneinfo/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/Win32/Lib/zoneinfo/__pycache__/_common.cpython-311.opt-1.pyc", - "windows/Win32/Lib/zoneinfo/__pycache__/_tzpath.cpython-311.opt-1.pyc", - "windows/Win32/Lib/zoneinfo/__pycache__/_zoneinfo.cpython-311.opt-1.pyc", + "windows/Win32/Lib/zoneinfo/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/Win32/Lib/zoneinfo/__pycache__/_common.cpython-312.opt-1.pyc", + "windows/Win32/Lib/zoneinfo/__pycache__/_tzpath.cpython-312.opt-1.pyc", + "windows/Win32/Lib/zoneinfo/__pycache__/_zoneinfo.cpython-312.opt-1.pyc", "windows/Win32/Lib/zoneinfo/_common.py", "windows/Win32/Lib/zoneinfo/_tzpath.py", "windows/Win32/Lib/zoneinfo/_zoneinfo.py", @@ -5481,8 +5457,8 @@ "windows/Win32/msvcp140d.dll", "windows/Win32/ogg.dll", "windows/Win32/python.exe", - "windows/Win32/python311.dll", - "windows/Win32/python311_d.dll", + "windows/Win32/python312.dll", + "windows/Win32/python312_d.dll", "windows/Win32/python_d.exe", "windows/Win32/pythonw.exe", "windows/Win32/pythonw_d.exe", @@ -5523,6 +5499,8 @@ "windows/x64/DLLs/_testbuffer_d.pyd", "windows/x64/DLLs/_testcapi.pyd", "windows/x64/DLLs/_testcapi_d.pyd", + "windows/x64/DLLs/_testclinic.pyd", + "windows/x64/DLLs/_testclinic_d.pyd", "windows/x64/DLLs/_testconsole.pyd", "windows/x64/DLLs/_testconsole_d.pyd", "windows/x64/DLLs/_testimportmultiple.pyd", @@ -5531,20 +5509,23 @@ "windows/x64/DLLs/_testinternalcapi_d.pyd", "windows/x64/DLLs/_testmultiphase.pyd", "windows/x64/DLLs/_testmultiphase_d.pyd", + "windows/x64/DLLs/_testsinglephase.pyd", + "windows/x64/DLLs/_testsinglephase_d.pyd", "windows/x64/DLLs/_tkinter.pyd", "windows/x64/DLLs/_tkinter_d.lib", "windows/x64/DLLs/_tkinter_d.pyd", "windows/x64/DLLs/_uuid.pyd", "windows/x64/DLLs/_uuid_d.pyd", + "windows/x64/DLLs/_wmi.pyd", + "windows/x64/DLLs/_wmi_d.pyd", "windows/x64/DLLs/_zoneinfo.pyd", "windows/x64/DLLs/_zoneinfo_d.pyd", - "windows/x64/DLLs/libcrypto-1_1.dll", + "windows/x64/DLLs/libcrypto-3.dll", "windows/x64/DLLs/libffi-8.dll", - "windows/x64/DLLs/libssl-1_1.dll", + "windows/x64/DLLs/libssl-3.dll", "windows/x64/DLLs/pyexpat.pyd", "windows/x64/DLLs/pyexpat_d.pyd", "windows/x64/DLLs/python_lib.cat", - "windows/x64/DLLs/python_tools.cat", "windows/x64/DLLs/select.pyd", "windows/x64/DLLs/select_d.pyd", "windows/x64/DLLs/sqlite3.dll", @@ -5555,183 +5536,181 @@ "windows/x64/DLLs/unicodedata_d.pyd", "windows/x64/DLLs/winsound.pyd", "windows/x64/DLLs/winsound_d.pyd", + "windows/x64/DLLs/zlib1.dll", "windows/x64/Lib/__future__.py", "windows/x64/Lib/__hello__.py", - "windows/x64/Lib/__pycache__/__future__.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/__hello__.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/_aix_support.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/_bootsubprocess.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/_collections_abc.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/_compat_pickle.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/_compression.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/_markupbase.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/_osx_support.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/_py_abc.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/_pydecimal.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/_pyio.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/_sitebuiltins.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/_strptime.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/_threading_local.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/_weakrefset.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/abc.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/aifc.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/antigravity.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/argparse.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/ast.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/asynchat.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/asyncore.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/base64.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/bdb.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/bisect.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/bz2.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/cProfile.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/calendar.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/cgi.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/cgitb.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/chunk.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/cmd.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/code.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/codecs.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/codeop.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/colorsys.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/compileall.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/configparser.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/contextlib.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/contextvars.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/copy.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/copyreg.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/crypt.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/csv.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/dataclasses.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/datetime.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/decimal.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/difflib.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/dis.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/doctest.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/enum.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/filecmp.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/fileinput.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/fnmatch.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/fractions.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/ftplib.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/functools.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/genericpath.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/getopt.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/getpass.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/gettext.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/glob.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/graphlib.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/gzip.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/hashlib.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/heapq.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/hmac.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/imghdr.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/imp.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/inspect.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/io.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/ipaddress.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/keyword.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/linecache.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/locale.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/lzma.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/mailbox.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/mailcap.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/mimetypes.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/modulefinder.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/netrc.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/nntplib.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/ntpath.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/nturl2path.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/numbers.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/opcode.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/operator.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/optparse.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/os.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/pathlib.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/pdb.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/pickle.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/pickletools.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/pipes.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/pkgutil.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/platform.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/plistlib.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/poplib.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/posixpath.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/pprint.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/profile.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/pstats.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/pty.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/py_compile.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/pyclbr.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/pydoc.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/queue.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/quopri.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/random.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/reprlib.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/rlcompleter.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/runpy.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/sched.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/secrets.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/selectors.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/shelve.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/shlex.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/shutil.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/signal.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/site.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/smtpd.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/smtplib.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/sndhdr.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/socket.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/socketserver.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/sre_compile.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/sre_constants.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/sre_parse.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/ssl.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/stat.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/statistics.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/string.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/stringprep.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/struct.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/subprocess.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/sunau.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/symtable.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/sysconfig.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/tabnanny.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/tarfile.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/telnetlib.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/tempfile.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/textwrap.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/this.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/threading.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/timeit.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/token.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/tokenize.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/trace.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/traceback.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/tracemalloc.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/tty.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/types.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/typing.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/uu.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/uuid.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/warnings.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/wave.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/weakref.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/webbrowser.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/xdrlib.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/zipapp.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/zipfile.cpython-311.opt-1.pyc", - "windows/x64/Lib/__pycache__/zipimport.cpython-311.opt-1.pyc", + "windows/x64/Lib/__pycache__/__future__.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/__hello__.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/_aix_support.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/_collections_abc.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/_compat_pickle.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/_compression.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/_markupbase.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/_osx_support.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/_py_abc.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/_pydatetime.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/_pydecimal.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/_pyio.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/_pylong.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/_sitebuiltins.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/_strptime.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/_threading_local.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/_weakrefset.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/abc.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/aifc.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/antigravity.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/argparse.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/ast.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/base64.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/bdb.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/bisect.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/bz2.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/cProfile.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/calendar.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/cgi.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/cgitb.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/chunk.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/cmd.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/code.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/codecs.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/codeop.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/colorsys.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/compileall.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/configparser.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/contextlib.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/contextvars.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/copy.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/copyreg.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/crypt.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/csv.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/dataclasses.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/datetime.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/decimal.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/difflib.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/dis.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/doctest.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/enum.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/filecmp.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/fileinput.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/fnmatch.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/fractions.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/ftplib.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/functools.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/genericpath.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/getopt.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/getpass.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/gettext.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/glob.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/graphlib.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/gzip.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/hashlib.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/heapq.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/hmac.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/imghdr.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/inspect.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/io.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/ipaddress.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/keyword.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/linecache.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/locale.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/lzma.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/mailbox.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/mailcap.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/mimetypes.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/modulefinder.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/netrc.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/nntplib.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/ntpath.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/nturl2path.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/numbers.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/opcode.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/operator.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/optparse.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/os.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/pathlib.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/pdb.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/pickle.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/pickletools.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/pipes.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/pkgutil.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/platform.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/plistlib.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/poplib.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/posixpath.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/pprint.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/profile.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/pstats.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/pty.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/py_compile.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/pyclbr.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/pydoc.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/queue.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/quopri.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/random.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/reprlib.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/rlcompleter.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/runpy.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/sched.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/secrets.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/selectors.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/shelve.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/shlex.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/shutil.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/signal.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/site.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/smtplib.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/sndhdr.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/socket.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/socketserver.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/sre_compile.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/sre_constants.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/sre_parse.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/ssl.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/stat.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/statistics.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/string.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/stringprep.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/struct.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/subprocess.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/sunau.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/symtable.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/sysconfig.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/tabnanny.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/tarfile.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/telnetlib.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/tempfile.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/textwrap.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/this.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/threading.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/timeit.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/token.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/tokenize.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/trace.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/traceback.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/tracemalloc.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/tty.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/types.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/typing.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/uu.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/uuid.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/warnings.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/wave.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/weakref.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/webbrowser.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/xdrlib.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/zipapp.cpython-312.opt-1.pyc", + "windows/x64/Lib/__pycache__/zipimport.cpython-312.opt-1.pyc", "windows/x64/Lib/_aix_support.py", - "windows/x64/Lib/_bootsubprocess.py", "windows/x64/Lib/_collections_abc.py", "windows/x64/Lib/_compat_pickle.py", "windows/x64/Lib/_compression.py", "windows/x64/Lib/_markupbase.py", "windows/x64/Lib/_osx_support.py", "windows/x64/Lib/_py_abc.py", + "windows/x64/Lib/_pydatetime.py", "windows/x64/Lib/_pydecimal.py", "windows/x64/Lib/_pyio.py", + "windows/x64/Lib/_pylong.py", "windows/x64/Lib/_sitebuiltins.py", "windows/x64/Lib/_strptime.py", "windows/x64/Lib/_threading_local.py", @@ -5741,42 +5720,41 @@ "windows/x64/Lib/antigravity.py", "windows/x64/Lib/argparse.py", "windows/x64/Lib/ast.py", - "windows/x64/Lib/asynchat.py", "windows/x64/Lib/asyncio/__init__.py", "windows/x64/Lib/asyncio/__main__.py", - "windows/x64/Lib/asyncio/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/x64/Lib/asyncio/__pycache__/__main__.cpython-311.opt-1.pyc", - "windows/x64/Lib/asyncio/__pycache__/base_events.cpython-311.opt-1.pyc", - "windows/x64/Lib/asyncio/__pycache__/base_futures.cpython-311.opt-1.pyc", - "windows/x64/Lib/asyncio/__pycache__/base_subprocess.cpython-311.opt-1.pyc", - "windows/x64/Lib/asyncio/__pycache__/base_tasks.cpython-311.opt-1.pyc", - "windows/x64/Lib/asyncio/__pycache__/constants.cpython-311.opt-1.pyc", - "windows/x64/Lib/asyncio/__pycache__/coroutines.cpython-311.opt-1.pyc", - "windows/x64/Lib/asyncio/__pycache__/events.cpython-311.opt-1.pyc", - "windows/x64/Lib/asyncio/__pycache__/exceptions.cpython-311.opt-1.pyc", - "windows/x64/Lib/asyncio/__pycache__/format_helpers.cpython-311.opt-1.pyc", - "windows/x64/Lib/asyncio/__pycache__/futures.cpython-311.opt-1.pyc", - "windows/x64/Lib/asyncio/__pycache__/locks.cpython-311.opt-1.pyc", - "windows/x64/Lib/asyncio/__pycache__/log.cpython-311.opt-1.pyc", - "windows/x64/Lib/asyncio/__pycache__/mixins.cpython-311.opt-1.pyc", - "windows/x64/Lib/asyncio/__pycache__/proactor_events.cpython-311.opt-1.pyc", - "windows/x64/Lib/asyncio/__pycache__/protocols.cpython-311.opt-1.pyc", - "windows/x64/Lib/asyncio/__pycache__/queues.cpython-311.opt-1.pyc", - "windows/x64/Lib/asyncio/__pycache__/runners.cpython-311.opt-1.pyc", - "windows/x64/Lib/asyncio/__pycache__/selector_events.cpython-311.opt-1.pyc", - "windows/x64/Lib/asyncio/__pycache__/sslproto.cpython-311.opt-1.pyc", - "windows/x64/Lib/asyncio/__pycache__/staggered.cpython-311.opt-1.pyc", - "windows/x64/Lib/asyncio/__pycache__/streams.cpython-311.opt-1.pyc", - "windows/x64/Lib/asyncio/__pycache__/subprocess.cpython-311.opt-1.pyc", - "windows/x64/Lib/asyncio/__pycache__/taskgroups.cpython-311.opt-1.pyc", - "windows/x64/Lib/asyncio/__pycache__/tasks.cpython-311.opt-1.pyc", - "windows/x64/Lib/asyncio/__pycache__/threads.cpython-311.opt-1.pyc", - "windows/x64/Lib/asyncio/__pycache__/timeouts.cpython-311.opt-1.pyc", - "windows/x64/Lib/asyncio/__pycache__/transports.cpython-311.opt-1.pyc", - "windows/x64/Lib/asyncio/__pycache__/trsock.cpython-311.opt-1.pyc", - "windows/x64/Lib/asyncio/__pycache__/unix_events.cpython-311.opt-1.pyc", - "windows/x64/Lib/asyncio/__pycache__/windows_events.cpython-311.opt-1.pyc", - "windows/x64/Lib/asyncio/__pycache__/windows_utils.cpython-311.opt-1.pyc", + "windows/x64/Lib/asyncio/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/x64/Lib/asyncio/__pycache__/__main__.cpython-312.opt-1.pyc", + "windows/x64/Lib/asyncio/__pycache__/base_events.cpython-312.opt-1.pyc", + "windows/x64/Lib/asyncio/__pycache__/base_futures.cpython-312.opt-1.pyc", + "windows/x64/Lib/asyncio/__pycache__/base_subprocess.cpython-312.opt-1.pyc", + "windows/x64/Lib/asyncio/__pycache__/base_tasks.cpython-312.opt-1.pyc", + "windows/x64/Lib/asyncio/__pycache__/constants.cpython-312.opt-1.pyc", + "windows/x64/Lib/asyncio/__pycache__/coroutines.cpython-312.opt-1.pyc", + "windows/x64/Lib/asyncio/__pycache__/events.cpython-312.opt-1.pyc", + "windows/x64/Lib/asyncio/__pycache__/exceptions.cpython-312.opt-1.pyc", + "windows/x64/Lib/asyncio/__pycache__/format_helpers.cpython-312.opt-1.pyc", + "windows/x64/Lib/asyncio/__pycache__/futures.cpython-312.opt-1.pyc", + "windows/x64/Lib/asyncio/__pycache__/locks.cpython-312.opt-1.pyc", + "windows/x64/Lib/asyncio/__pycache__/log.cpython-312.opt-1.pyc", + "windows/x64/Lib/asyncio/__pycache__/mixins.cpython-312.opt-1.pyc", + "windows/x64/Lib/asyncio/__pycache__/proactor_events.cpython-312.opt-1.pyc", + "windows/x64/Lib/asyncio/__pycache__/protocols.cpython-312.opt-1.pyc", + "windows/x64/Lib/asyncio/__pycache__/queues.cpython-312.opt-1.pyc", + "windows/x64/Lib/asyncio/__pycache__/runners.cpython-312.opt-1.pyc", + "windows/x64/Lib/asyncio/__pycache__/selector_events.cpython-312.opt-1.pyc", + "windows/x64/Lib/asyncio/__pycache__/sslproto.cpython-312.opt-1.pyc", + "windows/x64/Lib/asyncio/__pycache__/staggered.cpython-312.opt-1.pyc", + "windows/x64/Lib/asyncio/__pycache__/streams.cpython-312.opt-1.pyc", + "windows/x64/Lib/asyncio/__pycache__/subprocess.cpython-312.opt-1.pyc", + "windows/x64/Lib/asyncio/__pycache__/taskgroups.cpython-312.opt-1.pyc", + "windows/x64/Lib/asyncio/__pycache__/tasks.cpython-312.opt-1.pyc", + "windows/x64/Lib/asyncio/__pycache__/threads.cpython-312.opt-1.pyc", + "windows/x64/Lib/asyncio/__pycache__/timeouts.cpython-312.opt-1.pyc", + "windows/x64/Lib/asyncio/__pycache__/transports.cpython-312.opt-1.pyc", + "windows/x64/Lib/asyncio/__pycache__/trsock.cpython-312.opt-1.pyc", + "windows/x64/Lib/asyncio/__pycache__/unix_events.cpython-312.opt-1.pyc", + "windows/x64/Lib/asyncio/__pycache__/windows_events.cpython-312.opt-1.pyc", + "windows/x64/Lib/asyncio/__pycache__/windows_utils.cpython-312.opt-1.pyc", "windows/x64/Lib/asyncio/base_events.py", "windows/x64/Lib/asyncio/base_futures.py", "windows/x64/Lib/asyncio/base_subprocess.py", @@ -5808,7 +5786,6 @@ "windows/x64/Lib/asyncio/unix_events.py", "windows/x64/Lib/asyncio/windows_events.py", "windows/x64/Lib/asyncio/windows_utils.py", - "windows/x64/Lib/asyncore.py", "windows/x64/Lib/base64.py", "windows/x64/Lib/bdb.py", "windows/x64/Lib/bisect.py", @@ -5823,18 +5800,18 @@ "windows/x64/Lib/codecs.py", "windows/x64/Lib/codeop.py", "windows/x64/Lib/collections/__init__.py", - "windows/x64/Lib/collections/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/x64/Lib/collections/__pycache__/abc.cpython-311.opt-1.pyc", + "windows/x64/Lib/collections/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/x64/Lib/collections/__pycache__/abc.cpython-312.opt-1.pyc", "windows/x64/Lib/collections/abc.py", "windows/x64/Lib/colorsys.py", "windows/x64/Lib/compileall.py", "windows/x64/Lib/concurrent/__init__.py", - "windows/x64/Lib/concurrent/__pycache__/__init__.cpython-311.opt-1.pyc", + "windows/x64/Lib/concurrent/__pycache__/__init__.cpython-312.opt-1.pyc", "windows/x64/Lib/concurrent/futures/__init__.py", - "windows/x64/Lib/concurrent/futures/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/x64/Lib/concurrent/futures/__pycache__/_base.cpython-311.opt-1.pyc", - "windows/x64/Lib/concurrent/futures/__pycache__/process.cpython-311.opt-1.pyc", - "windows/x64/Lib/concurrent/futures/__pycache__/thread.cpython-311.opt-1.pyc", + "windows/x64/Lib/concurrent/futures/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/x64/Lib/concurrent/futures/__pycache__/_base.cpython-312.opt-1.pyc", + "windows/x64/Lib/concurrent/futures/__pycache__/process.cpython-312.opt-1.pyc", + "windows/x64/Lib/concurrent/futures/__pycache__/thread.cpython-312.opt-1.pyc", "windows/x64/Lib/concurrent/futures/_base.py", "windows/x64/Lib/concurrent/futures/process.py", "windows/x64/Lib/concurrent/futures/thread.py", @@ -5846,29 +5823,29 @@ "windows/x64/Lib/crypt.py", "windows/x64/Lib/csv.py", "windows/x64/Lib/ctypes/__init__.py", - "windows/x64/Lib/ctypes/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/x64/Lib/ctypes/__pycache__/_aix.cpython-311.opt-1.pyc", - "windows/x64/Lib/ctypes/__pycache__/_endian.cpython-311.opt-1.pyc", - "windows/x64/Lib/ctypes/__pycache__/util.cpython-311.opt-1.pyc", - "windows/x64/Lib/ctypes/__pycache__/wintypes.cpython-311.opt-1.pyc", + "windows/x64/Lib/ctypes/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/x64/Lib/ctypes/__pycache__/_aix.cpython-312.opt-1.pyc", + "windows/x64/Lib/ctypes/__pycache__/_endian.cpython-312.opt-1.pyc", + "windows/x64/Lib/ctypes/__pycache__/util.cpython-312.opt-1.pyc", + "windows/x64/Lib/ctypes/__pycache__/wintypes.cpython-312.opt-1.pyc", "windows/x64/Lib/ctypes/_aix.py", "windows/x64/Lib/ctypes/_endian.py", "windows/x64/Lib/ctypes/macholib/__init__.py", - "windows/x64/Lib/ctypes/macholib/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/x64/Lib/ctypes/macholib/__pycache__/dyld.cpython-311.opt-1.pyc", - "windows/x64/Lib/ctypes/macholib/__pycache__/dylib.cpython-311.opt-1.pyc", - "windows/x64/Lib/ctypes/macholib/__pycache__/framework.cpython-311.opt-1.pyc", + "windows/x64/Lib/ctypes/macholib/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/x64/Lib/ctypes/macholib/__pycache__/dyld.cpython-312.opt-1.pyc", + "windows/x64/Lib/ctypes/macholib/__pycache__/dylib.cpython-312.opt-1.pyc", + "windows/x64/Lib/ctypes/macholib/__pycache__/framework.cpython-312.opt-1.pyc", "windows/x64/Lib/ctypes/macholib/dyld.py", "windows/x64/Lib/ctypes/macholib/dylib.py", "windows/x64/Lib/ctypes/macholib/framework.py", "windows/x64/Lib/ctypes/util.py", "windows/x64/Lib/ctypes/wintypes.py", "windows/x64/Lib/curses/__init__.py", - "windows/x64/Lib/curses/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/x64/Lib/curses/__pycache__/ascii.cpython-311.opt-1.pyc", - "windows/x64/Lib/curses/__pycache__/has_key.cpython-311.opt-1.pyc", - "windows/x64/Lib/curses/__pycache__/panel.cpython-311.opt-1.pyc", - "windows/x64/Lib/curses/__pycache__/textpad.cpython-311.opt-1.pyc", + "windows/x64/Lib/curses/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/x64/Lib/curses/__pycache__/ascii.cpython-312.opt-1.pyc", + "windows/x64/Lib/curses/__pycache__/has_key.cpython-312.opt-1.pyc", + "windows/x64/Lib/curses/__pycache__/panel.cpython-312.opt-1.pyc", + "windows/x64/Lib/curses/__pycache__/textpad.cpython-312.opt-1.pyc", "windows/x64/Lib/curses/ascii.py", "windows/x64/Lib/curses/has_key.py", "windows/x64/Lib/curses/panel.py", @@ -5880,26 +5857,26 @@ "windows/x64/Lib/dis.py", "windows/x64/Lib/doctest.py", "windows/x64/Lib/email/__init__.py", - "windows/x64/Lib/email/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/x64/Lib/email/__pycache__/_encoded_words.cpython-311.opt-1.pyc", - "windows/x64/Lib/email/__pycache__/_header_value_parser.cpython-311.opt-1.pyc", - "windows/x64/Lib/email/__pycache__/_parseaddr.cpython-311.opt-1.pyc", - "windows/x64/Lib/email/__pycache__/_policybase.cpython-311.opt-1.pyc", - "windows/x64/Lib/email/__pycache__/base64mime.cpython-311.opt-1.pyc", - "windows/x64/Lib/email/__pycache__/charset.cpython-311.opt-1.pyc", - "windows/x64/Lib/email/__pycache__/contentmanager.cpython-311.opt-1.pyc", - "windows/x64/Lib/email/__pycache__/encoders.cpython-311.opt-1.pyc", - "windows/x64/Lib/email/__pycache__/errors.cpython-311.opt-1.pyc", - "windows/x64/Lib/email/__pycache__/feedparser.cpython-311.opt-1.pyc", - "windows/x64/Lib/email/__pycache__/generator.cpython-311.opt-1.pyc", - "windows/x64/Lib/email/__pycache__/header.cpython-311.opt-1.pyc", - "windows/x64/Lib/email/__pycache__/headerregistry.cpython-311.opt-1.pyc", - "windows/x64/Lib/email/__pycache__/iterators.cpython-311.opt-1.pyc", - "windows/x64/Lib/email/__pycache__/message.cpython-311.opt-1.pyc", - "windows/x64/Lib/email/__pycache__/parser.cpython-311.opt-1.pyc", - "windows/x64/Lib/email/__pycache__/policy.cpython-311.opt-1.pyc", - "windows/x64/Lib/email/__pycache__/quoprimime.cpython-311.opt-1.pyc", - "windows/x64/Lib/email/__pycache__/utils.cpython-311.opt-1.pyc", + "windows/x64/Lib/email/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/x64/Lib/email/__pycache__/_encoded_words.cpython-312.opt-1.pyc", + "windows/x64/Lib/email/__pycache__/_header_value_parser.cpython-312.opt-1.pyc", + "windows/x64/Lib/email/__pycache__/_parseaddr.cpython-312.opt-1.pyc", + "windows/x64/Lib/email/__pycache__/_policybase.cpython-312.opt-1.pyc", + "windows/x64/Lib/email/__pycache__/base64mime.cpython-312.opt-1.pyc", + "windows/x64/Lib/email/__pycache__/charset.cpython-312.opt-1.pyc", + "windows/x64/Lib/email/__pycache__/contentmanager.cpython-312.opt-1.pyc", + "windows/x64/Lib/email/__pycache__/encoders.cpython-312.opt-1.pyc", + "windows/x64/Lib/email/__pycache__/errors.cpython-312.opt-1.pyc", + "windows/x64/Lib/email/__pycache__/feedparser.cpython-312.opt-1.pyc", + "windows/x64/Lib/email/__pycache__/generator.cpython-312.opt-1.pyc", + "windows/x64/Lib/email/__pycache__/header.cpython-312.opt-1.pyc", + "windows/x64/Lib/email/__pycache__/headerregistry.cpython-312.opt-1.pyc", + "windows/x64/Lib/email/__pycache__/iterators.cpython-312.opt-1.pyc", + "windows/x64/Lib/email/__pycache__/message.cpython-312.opt-1.pyc", + "windows/x64/Lib/email/__pycache__/parser.cpython-312.opt-1.pyc", + "windows/x64/Lib/email/__pycache__/policy.cpython-312.opt-1.pyc", + "windows/x64/Lib/email/__pycache__/quoprimime.cpython-312.opt-1.pyc", + "windows/x64/Lib/email/__pycache__/utils.cpython-312.opt-1.pyc", "windows/x64/Lib/email/_encoded_words.py", "windows/x64/Lib/email/_header_value_parser.py", "windows/x64/Lib/email/_parseaddr.py", @@ -5917,15 +5894,15 @@ "windows/x64/Lib/email/iterators.py", "windows/x64/Lib/email/message.py", "windows/x64/Lib/email/mime/__init__.py", - "windows/x64/Lib/email/mime/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/x64/Lib/email/mime/__pycache__/application.cpython-311.opt-1.pyc", - "windows/x64/Lib/email/mime/__pycache__/audio.cpython-311.opt-1.pyc", - "windows/x64/Lib/email/mime/__pycache__/base.cpython-311.opt-1.pyc", - "windows/x64/Lib/email/mime/__pycache__/image.cpython-311.opt-1.pyc", - "windows/x64/Lib/email/mime/__pycache__/message.cpython-311.opt-1.pyc", - "windows/x64/Lib/email/mime/__pycache__/multipart.cpython-311.opt-1.pyc", - "windows/x64/Lib/email/mime/__pycache__/nonmultipart.cpython-311.opt-1.pyc", - "windows/x64/Lib/email/mime/__pycache__/text.cpython-311.opt-1.pyc", + "windows/x64/Lib/email/mime/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/x64/Lib/email/mime/__pycache__/application.cpython-312.opt-1.pyc", + "windows/x64/Lib/email/mime/__pycache__/audio.cpython-312.opt-1.pyc", + "windows/x64/Lib/email/mime/__pycache__/base.cpython-312.opt-1.pyc", + "windows/x64/Lib/email/mime/__pycache__/image.cpython-312.opt-1.pyc", + "windows/x64/Lib/email/mime/__pycache__/message.cpython-312.opt-1.pyc", + "windows/x64/Lib/email/mime/__pycache__/multipart.cpython-312.opt-1.pyc", + "windows/x64/Lib/email/mime/__pycache__/nonmultipart.cpython-312.opt-1.pyc", + "windows/x64/Lib/email/mime/__pycache__/text.cpython-312.opt-1.pyc", "windows/x64/Lib/email/mime/application.py", "windows/x64/Lib/email/mime/audio.py", "windows/x64/Lib/email/mime/base.py", @@ -5939,128 +5916,128 @@ "windows/x64/Lib/email/quoprimime.py", "windows/x64/Lib/email/utils.py", "windows/x64/Lib/encodings/__init__.py", - "windows/x64/Lib/encodings/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/aliases.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/ascii.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/base64_codec.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/big5.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/big5hkscs.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/bz2_codec.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/charmap.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp037.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp1006.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp1026.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp1125.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp1140.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp1250.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp1251.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp1252.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp1253.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp1254.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp1255.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp1256.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp1257.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp1258.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp273.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp424.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp437.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp500.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp720.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp737.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp775.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp850.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp852.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp855.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp856.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp857.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp858.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp860.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp861.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp862.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp863.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp864.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp865.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp866.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp869.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp874.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp875.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp932.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp949.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/cp950.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/euc_jis_2004.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/euc_jisx0213.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/euc_jp.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/euc_kr.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/gb18030.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/gb2312.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/gbk.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/hex_codec.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/hp_roman8.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/hz.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/idna.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/iso2022_jp.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/iso2022_jp_1.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/iso2022_jp_2.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/iso2022_jp_2004.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/iso2022_jp_3.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/iso2022_jp_ext.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/iso2022_kr.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/iso8859_1.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/iso8859_10.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/iso8859_11.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/iso8859_13.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/iso8859_14.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/iso8859_15.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/iso8859_16.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/iso8859_2.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/iso8859_3.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/iso8859_4.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/iso8859_5.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/iso8859_6.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/iso8859_7.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/iso8859_8.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/iso8859_9.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/johab.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/koi8_r.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/koi8_t.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/koi8_u.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/kz1048.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/latin_1.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/mac_arabic.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/mac_croatian.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/mac_cyrillic.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/mac_farsi.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/mac_greek.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/mac_iceland.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/mac_latin2.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/mac_roman.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/mac_romanian.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/mac_turkish.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/mbcs.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/oem.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/palmos.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/ptcp154.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/punycode.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/quopri_codec.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/raw_unicode_escape.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/rot_13.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/shift_jis.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/shift_jis_2004.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/shift_jisx0213.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/tis_620.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/undefined.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/unicode_escape.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/utf_16.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/utf_16_be.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/utf_16_le.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/utf_32.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/utf_32_be.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/utf_32_le.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/utf_7.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/utf_8.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/utf_8_sig.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/uu_codec.cpython-311.opt-1.pyc", - "windows/x64/Lib/encodings/__pycache__/zlib_codec.cpython-311.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/aliases.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/ascii.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/base64_codec.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/big5.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/big5hkscs.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/bz2_codec.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/charmap.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp037.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp1006.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp1026.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp1125.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp1140.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp1250.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp1251.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp1252.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp1253.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp1254.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp1255.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp1256.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp1257.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp1258.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp273.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp424.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp437.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp500.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp720.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp737.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp775.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp850.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp852.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp855.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp856.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp857.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp858.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp860.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp861.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp862.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp863.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp864.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp865.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp866.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp869.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp874.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp875.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp932.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp949.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/cp950.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/euc_jis_2004.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/euc_jisx0213.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/euc_jp.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/euc_kr.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/gb18030.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/gb2312.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/gbk.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/hex_codec.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/hp_roman8.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/hz.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/idna.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/iso2022_jp.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/iso2022_jp_1.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/iso2022_jp_2.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/iso2022_jp_2004.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/iso2022_jp_3.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/iso2022_jp_ext.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/iso2022_kr.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/iso8859_1.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/iso8859_10.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/iso8859_11.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/iso8859_13.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/iso8859_14.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/iso8859_15.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/iso8859_16.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/iso8859_2.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/iso8859_3.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/iso8859_4.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/iso8859_5.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/iso8859_6.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/iso8859_7.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/iso8859_8.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/iso8859_9.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/johab.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/koi8_r.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/koi8_t.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/koi8_u.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/kz1048.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/latin_1.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/mac_arabic.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/mac_croatian.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/mac_cyrillic.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/mac_farsi.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/mac_greek.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/mac_iceland.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/mac_latin2.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/mac_roman.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/mac_romanian.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/mac_turkish.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/mbcs.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/oem.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/palmos.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/ptcp154.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/punycode.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/quopri_codec.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/raw_unicode_escape.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/rot_13.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/shift_jis.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/shift_jis_2004.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/shift_jisx0213.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/tis_620.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/undefined.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/unicode_escape.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/utf_16.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/utf_16_be.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/utf_16_le.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/utf_32.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/utf_32_be.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/utf_32_le.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/utf_7.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/utf_8.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/utf_8_sig.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/uu_codec.cpython-312.opt-1.pyc", + "windows/x64/Lib/encodings/__pycache__/zlib_codec.cpython-312.opt-1.pyc", "windows/x64/Lib/encodings/aliases.py", "windows/x64/Lib/encodings/ascii.py", "windows/x64/Lib/encodings/base64_codec.py", @@ -6200,46 +6177,45 @@ "windows/x64/Lib/heapq.py", "windows/x64/Lib/hmac.py", "windows/x64/Lib/html/__init__.py", - "windows/x64/Lib/html/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/x64/Lib/html/__pycache__/entities.cpython-311.opt-1.pyc", - "windows/x64/Lib/html/__pycache__/parser.cpython-311.opt-1.pyc", + "windows/x64/Lib/html/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/x64/Lib/html/__pycache__/entities.cpython-312.opt-1.pyc", + "windows/x64/Lib/html/__pycache__/parser.cpython-312.opt-1.pyc", "windows/x64/Lib/html/entities.py", "windows/x64/Lib/html/parser.py", "windows/x64/Lib/http/__init__.py", - "windows/x64/Lib/http/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/x64/Lib/http/__pycache__/client.cpython-311.opt-1.pyc", - "windows/x64/Lib/http/__pycache__/cookiejar.cpython-311.opt-1.pyc", - "windows/x64/Lib/http/__pycache__/cookies.cpython-311.opt-1.pyc", - "windows/x64/Lib/http/__pycache__/server.cpython-311.opt-1.pyc", + "windows/x64/Lib/http/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/x64/Lib/http/__pycache__/client.cpython-312.opt-1.pyc", + "windows/x64/Lib/http/__pycache__/cookiejar.cpython-312.opt-1.pyc", + "windows/x64/Lib/http/__pycache__/cookies.cpython-312.opt-1.pyc", + "windows/x64/Lib/http/__pycache__/server.cpython-312.opt-1.pyc", "windows/x64/Lib/http/client.py", "windows/x64/Lib/http/cookiejar.py", "windows/x64/Lib/http/cookies.py", "windows/x64/Lib/http/server.py", "windows/x64/Lib/imghdr.py", - "windows/x64/Lib/imp.py", "windows/x64/Lib/importlib/__init__.py", - "windows/x64/Lib/importlib/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/x64/Lib/importlib/__pycache__/_abc.cpython-311.opt-1.pyc", - "windows/x64/Lib/importlib/__pycache__/_bootstrap.cpython-311.opt-1.pyc", - "windows/x64/Lib/importlib/__pycache__/_bootstrap_external.cpython-311.opt-1.pyc", - "windows/x64/Lib/importlib/__pycache__/abc.cpython-311.opt-1.pyc", - "windows/x64/Lib/importlib/__pycache__/machinery.cpython-311.opt-1.pyc", - "windows/x64/Lib/importlib/__pycache__/readers.cpython-311.opt-1.pyc", - "windows/x64/Lib/importlib/__pycache__/simple.cpython-311.opt-1.pyc", - "windows/x64/Lib/importlib/__pycache__/util.cpython-311.opt-1.pyc", + "windows/x64/Lib/importlib/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/x64/Lib/importlib/__pycache__/_abc.cpython-312.opt-1.pyc", + "windows/x64/Lib/importlib/__pycache__/_bootstrap.cpython-312.opt-1.pyc", + "windows/x64/Lib/importlib/__pycache__/_bootstrap_external.cpython-312.opt-1.pyc", + "windows/x64/Lib/importlib/__pycache__/abc.cpython-312.opt-1.pyc", + "windows/x64/Lib/importlib/__pycache__/machinery.cpython-312.opt-1.pyc", + "windows/x64/Lib/importlib/__pycache__/readers.cpython-312.opt-1.pyc", + "windows/x64/Lib/importlib/__pycache__/simple.cpython-312.opt-1.pyc", + "windows/x64/Lib/importlib/__pycache__/util.cpython-312.opt-1.pyc", "windows/x64/Lib/importlib/_abc.py", "windows/x64/Lib/importlib/_bootstrap.py", "windows/x64/Lib/importlib/_bootstrap_external.py", "windows/x64/Lib/importlib/abc.py", "windows/x64/Lib/importlib/machinery.py", "windows/x64/Lib/importlib/metadata/__init__.py", - "windows/x64/Lib/importlib/metadata/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/x64/Lib/importlib/metadata/__pycache__/_adapters.cpython-311.opt-1.pyc", - "windows/x64/Lib/importlib/metadata/__pycache__/_collections.cpython-311.opt-1.pyc", - "windows/x64/Lib/importlib/metadata/__pycache__/_functools.cpython-311.opt-1.pyc", - "windows/x64/Lib/importlib/metadata/__pycache__/_itertools.cpython-311.opt-1.pyc", - "windows/x64/Lib/importlib/metadata/__pycache__/_meta.cpython-311.opt-1.pyc", - "windows/x64/Lib/importlib/metadata/__pycache__/_text.cpython-311.opt-1.pyc", + "windows/x64/Lib/importlib/metadata/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/x64/Lib/importlib/metadata/__pycache__/_adapters.cpython-312.opt-1.pyc", + "windows/x64/Lib/importlib/metadata/__pycache__/_collections.cpython-312.opt-1.pyc", + "windows/x64/Lib/importlib/metadata/__pycache__/_functools.cpython-312.opt-1.pyc", + "windows/x64/Lib/importlib/metadata/__pycache__/_itertools.cpython-312.opt-1.pyc", + "windows/x64/Lib/importlib/metadata/__pycache__/_meta.cpython-312.opt-1.pyc", + "windows/x64/Lib/importlib/metadata/__pycache__/_text.cpython-312.opt-1.pyc", "windows/x64/Lib/importlib/metadata/_adapters.py", "windows/x64/Lib/importlib/metadata/_collections.py", "windows/x64/Lib/importlib/metadata/_functools.py", @@ -6248,14 +6224,14 @@ "windows/x64/Lib/importlib/metadata/_text.py", "windows/x64/Lib/importlib/readers.py", "windows/x64/Lib/importlib/resources/__init__.py", - "windows/x64/Lib/importlib/resources/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/x64/Lib/importlib/resources/__pycache__/_adapters.cpython-311.opt-1.pyc", - "windows/x64/Lib/importlib/resources/__pycache__/_common.cpython-311.opt-1.pyc", - "windows/x64/Lib/importlib/resources/__pycache__/_itertools.cpython-311.opt-1.pyc", - "windows/x64/Lib/importlib/resources/__pycache__/_legacy.cpython-311.opt-1.pyc", - "windows/x64/Lib/importlib/resources/__pycache__/abc.cpython-311.opt-1.pyc", - "windows/x64/Lib/importlib/resources/__pycache__/readers.cpython-311.opt-1.pyc", - "windows/x64/Lib/importlib/resources/__pycache__/simple.cpython-311.opt-1.pyc", + "windows/x64/Lib/importlib/resources/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/x64/Lib/importlib/resources/__pycache__/_adapters.cpython-312.opt-1.pyc", + "windows/x64/Lib/importlib/resources/__pycache__/_common.cpython-312.opt-1.pyc", + "windows/x64/Lib/importlib/resources/__pycache__/_itertools.cpython-312.opt-1.pyc", + "windows/x64/Lib/importlib/resources/__pycache__/_legacy.cpython-312.opt-1.pyc", + "windows/x64/Lib/importlib/resources/__pycache__/abc.cpython-312.opt-1.pyc", + "windows/x64/Lib/importlib/resources/__pycache__/readers.cpython-312.opt-1.pyc", + "windows/x64/Lib/importlib/resources/__pycache__/simple.cpython-312.opt-1.pyc", "windows/x64/Lib/importlib/resources/_adapters.py", "windows/x64/Lib/importlib/resources/_common.py", "windows/x64/Lib/importlib/resources/_itertools.py", @@ -6269,11 +6245,11 @@ "windows/x64/Lib/io.py", "windows/x64/Lib/ipaddress.py", "windows/x64/Lib/json/__init__.py", - "windows/x64/Lib/json/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/x64/Lib/json/__pycache__/decoder.cpython-311.opt-1.pyc", - "windows/x64/Lib/json/__pycache__/encoder.cpython-311.opt-1.pyc", - "windows/x64/Lib/json/__pycache__/scanner.cpython-311.opt-1.pyc", - "windows/x64/Lib/json/__pycache__/tool.cpython-311.opt-1.pyc", + "windows/x64/Lib/json/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/x64/Lib/json/__pycache__/decoder.cpython-312.opt-1.pyc", + "windows/x64/Lib/json/__pycache__/encoder.cpython-312.opt-1.pyc", + "windows/x64/Lib/json/__pycache__/scanner.cpython-312.opt-1.pyc", + "windows/x64/Lib/json/__pycache__/tool.cpython-312.opt-1.pyc", "windows/x64/Lib/json/decoder.py", "windows/x64/Lib/json/encoder.py", "windows/x64/Lib/json/scanner.py", @@ -6282,9 +6258,9 @@ "windows/x64/Lib/linecache.py", "windows/x64/Lib/locale.py", "windows/x64/Lib/logging/__init__.py", - "windows/x64/Lib/logging/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/x64/Lib/logging/__pycache__/config.cpython-311.opt-1.pyc", - "windows/x64/Lib/logging/__pycache__/handlers.cpython-311.opt-1.pyc", + "windows/x64/Lib/logging/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/x64/Lib/logging/__pycache__/config.cpython-312.opt-1.pyc", + "windows/x64/Lib/logging/__pycache__/handlers.cpython-312.opt-1.pyc", "windows/x64/Lib/logging/config.py", "windows/x64/Lib/logging/handlers.py", "windows/x64/Lib/lzma.py", @@ -6322,11 +6298,11 @@ "windows/x64/Lib/quopri.py", "windows/x64/Lib/random.py", "windows/x64/Lib/re/__init__.py", - "windows/x64/Lib/re/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/x64/Lib/re/__pycache__/_casefix.cpython-311.opt-1.pyc", - "windows/x64/Lib/re/__pycache__/_compiler.cpython-311.opt-1.pyc", - "windows/x64/Lib/re/__pycache__/_constants.cpython-311.opt-1.pyc", - "windows/x64/Lib/re/__pycache__/_parser.cpython-311.opt-1.pyc", + "windows/x64/Lib/re/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/x64/Lib/re/__pycache__/_casefix.cpython-312.opt-1.pyc", + "windows/x64/Lib/re/__pycache__/_compiler.cpython-312.opt-1.pyc", + "windows/x64/Lib/re/__pycache__/_constants.cpython-312.opt-1.pyc", + "windows/x64/Lib/re/__pycache__/_parser.cpython-312.opt-1.pyc", "windows/x64/Lib/re/_casefix.py", "windows/x64/Lib/re/_compiler.py", "windows/x64/Lib/re/_constants.py", @@ -6342,15 +6318,16 @@ "windows/x64/Lib/shutil.py", "windows/x64/Lib/signal.py", "windows/x64/Lib/site.py", - "windows/x64/Lib/smtpd.py", "windows/x64/Lib/smtplib.py", "windows/x64/Lib/sndhdr.py", "windows/x64/Lib/socket.py", "windows/x64/Lib/socketserver.py", "windows/x64/Lib/sqlite3/__init__.py", - "windows/x64/Lib/sqlite3/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/x64/Lib/sqlite3/__pycache__/dbapi2.cpython-311.opt-1.pyc", - "windows/x64/Lib/sqlite3/__pycache__/dump.cpython-311.opt-1.pyc", + "windows/x64/Lib/sqlite3/__main__.py", + "windows/x64/Lib/sqlite3/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/x64/Lib/sqlite3/__pycache__/__main__.cpython-312.opt-1.pyc", + "windows/x64/Lib/sqlite3/__pycache__/dbapi2.cpython-312.opt-1.pyc", + "windows/x64/Lib/sqlite3/__pycache__/dump.cpython-312.opt-1.pyc", "windows/x64/Lib/sqlite3/dbapi2.py", "windows/x64/Lib/sqlite3/dump.py", "windows/x64/Lib/sre_compile.py", @@ -6377,10 +6354,10 @@ "windows/x64/Lib/token.py", "windows/x64/Lib/tokenize.py", "windows/x64/Lib/tomllib/__init__.py", - "windows/x64/Lib/tomllib/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/x64/Lib/tomllib/__pycache__/_parser.cpython-311.opt-1.pyc", - "windows/x64/Lib/tomllib/__pycache__/_re.cpython-311.opt-1.pyc", - "windows/x64/Lib/tomllib/__pycache__/_types.cpython-311.opt-1.pyc", + "windows/x64/Lib/tomllib/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/x64/Lib/tomllib/__pycache__/_parser.cpython-312.opt-1.pyc", + "windows/x64/Lib/tomllib/__pycache__/_re.cpython-312.opt-1.pyc", + "windows/x64/Lib/tomllib/__pycache__/_types.cpython-312.opt-1.pyc", "windows/x64/Lib/tomllib/_parser.py", "windows/x64/Lib/tomllib/_re.py", "windows/x64/Lib/tomllib/_types.py", @@ -6391,12 +6368,12 @@ "windows/x64/Lib/types.py", "windows/x64/Lib/typing.py", "windows/x64/Lib/urllib/__init__.py", - "windows/x64/Lib/urllib/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/x64/Lib/urllib/__pycache__/error.cpython-311.opt-1.pyc", - "windows/x64/Lib/urllib/__pycache__/parse.cpython-311.opt-1.pyc", - "windows/x64/Lib/urllib/__pycache__/request.cpython-311.opt-1.pyc", - "windows/x64/Lib/urllib/__pycache__/response.cpython-311.opt-1.pyc", - "windows/x64/Lib/urllib/__pycache__/robotparser.cpython-311.opt-1.pyc", + "windows/x64/Lib/urllib/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/x64/Lib/urllib/__pycache__/error.cpython-312.opt-1.pyc", + "windows/x64/Lib/urllib/__pycache__/parse.cpython-312.opt-1.pyc", + "windows/x64/Lib/urllib/__pycache__/request.cpython-312.opt-1.pyc", + "windows/x64/Lib/urllib/__pycache__/response.cpython-312.opt-1.pyc", + "windows/x64/Lib/urllib/__pycache__/robotparser.cpython-312.opt-1.pyc", "windows/x64/Lib/urllib/error.py", "windows/x64/Lib/urllib/parse.py", "windows/x64/Lib/urllib/request.py", @@ -6410,17 +6387,17 @@ "windows/x64/Lib/webbrowser.py", "windows/x64/Lib/xdrlib.py", "windows/x64/Lib/xml/__init__.py", - "windows/x64/Lib/xml/__pycache__/__init__.cpython-311.opt-1.pyc", + "windows/x64/Lib/xml/__pycache__/__init__.cpython-312.opt-1.pyc", "windows/x64/Lib/xml/dom/NodeFilter.py", "windows/x64/Lib/xml/dom/__init__.py", - "windows/x64/Lib/xml/dom/__pycache__/NodeFilter.cpython-311.opt-1.pyc", - "windows/x64/Lib/xml/dom/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/x64/Lib/xml/dom/__pycache__/domreg.cpython-311.opt-1.pyc", - "windows/x64/Lib/xml/dom/__pycache__/expatbuilder.cpython-311.opt-1.pyc", - "windows/x64/Lib/xml/dom/__pycache__/minicompat.cpython-311.opt-1.pyc", - "windows/x64/Lib/xml/dom/__pycache__/minidom.cpython-311.opt-1.pyc", - "windows/x64/Lib/xml/dom/__pycache__/pulldom.cpython-311.opt-1.pyc", - "windows/x64/Lib/xml/dom/__pycache__/xmlbuilder.cpython-311.opt-1.pyc", + "windows/x64/Lib/xml/dom/__pycache__/NodeFilter.cpython-312.opt-1.pyc", + "windows/x64/Lib/xml/dom/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/x64/Lib/xml/dom/__pycache__/domreg.cpython-312.opt-1.pyc", + "windows/x64/Lib/xml/dom/__pycache__/expatbuilder.cpython-312.opt-1.pyc", + "windows/x64/Lib/xml/dom/__pycache__/minicompat.cpython-312.opt-1.pyc", + "windows/x64/Lib/xml/dom/__pycache__/minidom.cpython-312.opt-1.pyc", + "windows/x64/Lib/xml/dom/__pycache__/pulldom.cpython-312.opt-1.pyc", + "windows/x64/Lib/xml/dom/__pycache__/xmlbuilder.cpython-312.opt-1.pyc", "windows/x64/Lib/xml/dom/domreg.py", "windows/x64/Lib/xml/dom/expatbuilder.py", "windows/x64/Lib/xml/dom/minicompat.py", @@ -6431,42 +6408,49 @@ "windows/x64/Lib/xml/etree/ElementPath.py", "windows/x64/Lib/xml/etree/ElementTree.py", "windows/x64/Lib/xml/etree/__init__.py", - "windows/x64/Lib/xml/etree/__pycache__/ElementInclude.cpython-311.opt-1.pyc", - "windows/x64/Lib/xml/etree/__pycache__/ElementPath.cpython-311.opt-1.pyc", - "windows/x64/Lib/xml/etree/__pycache__/ElementTree.cpython-311.opt-1.pyc", - "windows/x64/Lib/xml/etree/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/x64/Lib/xml/etree/__pycache__/cElementTree.cpython-311.opt-1.pyc", + "windows/x64/Lib/xml/etree/__pycache__/ElementInclude.cpython-312.opt-1.pyc", + "windows/x64/Lib/xml/etree/__pycache__/ElementPath.cpython-312.opt-1.pyc", + "windows/x64/Lib/xml/etree/__pycache__/ElementTree.cpython-312.opt-1.pyc", + "windows/x64/Lib/xml/etree/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/x64/Lib/xml/etree/__pycache__/cElementTree.cpython-312.opt-1.pyc", "windows/x64/Lib/xml/etree/cElementTree.py", "windows/x64/Lib/xml/parsers/__init__.py", - "windows/x64/Lib/xml/parsers/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/x64/Lib/xml/parsers/__pycache__/expat.cpython-311.opt-1.pyc", + "windows/x64/Lib/xml/parsers/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/x64/Lib/xml/parsers/__pycache__/expat.cpython-312.opt-1.pyc", "windows/x64/Lib/xml/parsers/expat.py", "windows/x64/Lib/xml/sax/__init__.py", - "windows/x64/Lib/xml/sax/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/x64/Lib/xml/sax/__pycache__/_exceptions.cpython-311.opt-1.pyc", - "windows/x64/Lib/xml/sax/__pycache__/expatreader.cpython-311.opt-1.pyc", - "windows/x64/Lib/xml/sax/__pycache__/handler.cpython-311.opt-1.pyc", - "windows/x64/Lib/xml/sax/__pycache__/saxutils.cpython-311.opt-1.pyc", - "windows/x64/Lib/xml/sax/__pycache__/xmlreader.cpython-311.opt-1.pyc", + "windows/x64/Lib/xml/sax/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/x64/Lib/xml/sax/__pycache__/_exceptions.cpython-312.opt-1.pyc", + "windows/x64/Lib/xml/sax/__pycache__/expatreader.cpython-312.opt-1.pyc", + "windows/x64/Lib/xml/sax/__pycache__/handler.cpython-312.opt-1.pyc", + "windows/x64/Lib/xml/sax/__pycache__/saxutils.cpython-312.opt-1.pyc", + "windows/x64/Lib/xml/sax/__pycache__/xmlreader.cpython-312.opt-1.pyc", "windows/x64/Lib/xml/sax/_exceptions.py", "windows/x64/Lib/xml/sax/expatreader.py", "windows/x64/Lib/xml/sax/handler.py", "windows/x64/Lib/xml/sax/saxutils.py", "windows/x64/Lib/xml/sax/xmlreader.py", "windows/x64/Lib/xmlrpc/__init__.py", - "windows/x64/Lib/xmlrpc/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/x64/Lib/xmlrpc/__pycache__/client.cpython-311.opt-1.pyc", - "windows/x64/Lib/xmlrpc/__pycache__/server.cpython-311.opt-1.pyc", + "windows/x64/Lib/xmlrpc/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/x64/Lib/xmlrpc/__pycache__/client.cpython-312.opt-1.pyc", + "windows/x64/Lib/xmlrpc/__pycache__/server.cpython-312.opt-1.pyc", "windows/x64/Lib/xmlrpc/client.py", "windows/x64/Lib/xmlrpc/server.py", "windows/x64/Lib/zipapp.py", - "windows/x64/Lib/zipfile.py", + "windows/x64/Lib/zipfile/__init__.py", + "windows/x64/Lib/zipfile/__main__.py", + "windows/x64/Lib/zipfile/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/x64/Lib/zipfile/__pycache__/__main__.cpython-312.opt-1.pyc", + "windows/x64/Lib/zipfile/_path/__init__.py", + "windows/x64/Lib/zipfile/_path/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/x64/Lib/zipfile/_path/__pycache__/glob.cpython-312.opt-1.pyc", + "windows/x64/Lib/zipfile/_path/glob.py", "windows/x64/Lib/zipimport.py", "windows/x64/Lib/zoneinfo/__init__.py", - "windows/x64/Lib/zoneinfo/__pycache__/__init__.cpython-311.opt-1.pyc", - "windows/x64/Lib/zoneinfo/__pycache__/_common.cpython-311.opt-1.pyc", - "windows/x64/Lib/zoneinfo/__pycache__/_tzpath.cpython-311.opt-1.pyc", - "windows/x64/Lib/zoneinfo/__pycache__/_zoneinfo.cpython-311.opt-1.pyc", + "windows/x64/Lib/zoneinfo/__pycache__/__init__.cpython-312.opt-1.pyc", + "windows/x64/Lib/zoneinfo/__pycache__/_common.cpython-312.opt-1.pyc", + "windows/x64/Lib/zoneinfo/__pycache__/_tzpath.cpython-312.opt-1.pyc", + "windows/x64/Lib/zoneinfo/__pycache__/_zoneinfo.cpython-312.opt-1.pyc", "windows/x64/Lib/zoneinfo/_common.py", "windows/x64/Lib/zoneinfo/_tzpath.py", "windows/x64/Lib/zoneinfo/_zoneinfo.py", @@ -6477,8 +6461,8 @@ "windows/x64/msvcp140d.dll", "windows/x64/ogg.dll", "windows/x64/python.exe", - "windows/x64/python311.dll", - "windows/x64/python311_d.dll", + "windows/x64/python312.dll", + "windows/x64/python312_d.dll", "windows/x64/python_d.exe", "windows/x64/pythonw.exe", "windows/x64/pythonw_d.exe", diff --git a/src/assets/.asset_manifest_public.json b/src/assets/.asset_manifest_public.json index 575edf24..21c9dde4 100644 --- a/src/assets/.asset_manifest_public.json +++ b/src/assets/.asset_manifest_public.json @@ -1,35 +1,35 @@ [ - "ba_data/python/__pycache__/baenv.cpython-311.opt-1.pyc", + "ba_data/python/__pycache__/baenv.cpython-312.opt-1.pyc", "ba_data/python/babase/__init__.py", - "ba_data/python/babase/__pycache__/__init__.cpython-311.opt-1.pyc", - "ba_data/python/babase/__pycache__/_accountv2.cpython-311.opt-1.pyc", - "ba_data/python/babase/__pycache__/_app.cpython-311.opt-1.pyc", - "ba_data/python/babase/__pycache__/_appcomponent.cpython-311.opt-1.pyc", - "ba_data/python/babase/__pycache__/_appconfig.cpython-311.opt-1.pyc", - "ba_data/python/babase/__pycache__/_appintent.cpython-311.opt-1.pyc", - "ba_data/python/babase/__pycache__/_appmode.cpython-311.opt-1.pyc", - "ba_data/python/babase/__pycache__/_appmodeselector.cpython-311.opt-1.pyc", - "ba_data/python/babase/__pycache__/_appsubsystem.cpython-311.opt-1.pyc", - "ba_data/python/babase/__pycache__/_apputils.cpython-311.opt-1.pyc", - "ba_data/python/babase/__pycache__/_assetmanager.cpython-311.opt-1.pyc", - "ba_data/python/babase/__pycache__/_asyncio.cpython-311.opt-1.pyc", - "ba_data/python/babase/__pycache__/_devconsole.cpython-311.opt-1.pyc", - "ba_data/python/babase/__pycache__/_emptyappmode.cpython-311.opt-1.pyc", - "ba_data/python/babase/__pycache__/_env.cpython-311.opt-1.pyc", - "ba_data/python/babase/__pycache__/_error.cpython-311.opt-1.pyc", - "ba_data/python/babase/__pycache__/_general.cpython-311.opt-1.pyc", - "ba_data/python/babase/__pycache__/_hooks.cpython-311.opt-1.pyc", - "ba_data/python/babase/__pycache__/_language.cpython-311.opt-1.pyc", - "ba_data/python/babase/__pycache__/_login.cpython-311.opt-1.pyc", - "ba_data/python/babase/__pycache__/_math.cpython-311.opt-1.pyc", - "ba_data/python/babase/__pycache__/_meta.cpython-311.opt-1.pyc", - "ba_data/python/babase/__pycache__/_net.cpython-311.opt-1.pyc", - "ba_data/python/babase/__pycache__/_plugin.cpython-311.opt-1.pyc", - "ba_data/python/babase/__pycache__/_stringedit.cpython-311.opt-1.pyc", - "ba_data/python/babase/__pycache__/_text.cpython-311.opt-1.pyc", - "ba_data/python/babase/__pycache__/_ui.cpython-311.opt-1.pyc", - "ba_data/python/babase/__pycache__/_workspace.cpython-311.opt-1.pyc", - "ba_data/python/babase/__pycache__/modutils.cpython-311.opt-1.pyc", + "ba_data/python/babase/__pycache__/__init__.cpython-312.opt-1.pyc", + "ba_data/python/babase/__pycache__/_accountv2.cpython-312.opt-1.pyc", + "ba_data/python/babase/__pycache__/_app.cpython-312.opt-1.pyc", + "ba_data/python/babase/__pycache__/_appcomponent.cpython-312.opt-1.pyc", + "ba_data/python/babase/__pycache__/_appconfig.cpython-312.opt-1.pyc", + "ba_data/python/babase/__pycache__/_appintent.cpython-312.opt-1.pyc", + "ba_data/python/babase/__pycache__/_appmode.cpython-312.opt-1.pyc", + "ba_data/python/babase/__pycache__/_appmodeselector.cpython-312.opt-1.pyc", + "ba_data/python/babase/__pycache__/_appsubsystem.cpython-312.opt-1.pyc", + "ba_data/python/babase/__pycache__/_apputils.cpython-312.opt-1.pyc", + "ba_data/python/babase/__pycache__/_assetmanager.cpython-312.opt-1.pyc", + "ba_data/python/babase/__pycache__/_asyncio.cpython-312.opt-1.pyc", + "ba_data/python/babase/__pycache__/_devconsole.cpython-312.opt-1.pyc", + "ba_data/python/babase/__pycache__/_emptyappmode.cpython-312.opt-1.pyc", + "ba_data/python/babase/__pycache__/_env.cpython-312.opt-1.pyc", + "ba_data/python/babase/__pycache__/_error.cpython-312.opt-1.pyc", + "ba_data/python/babase/__pycache__/_general.cpython-312.opt-1.pyc", + "ba_data/python/babase/__pycache__/_hooks.cpython-312.opt-1.pyc", + "ba_data/python/babase/__pycache__/_language.cpython-312.opt-1.pyc", + "ba_data/python/babase/__pycache__/_login.cpython-312.opt-1.pyc", + "ba_data/python/babase/__pycache__/_math.cpython-312.opt-1.pyc", + "ba_data/python/babase/__pycache__/_meta.cpython-312.opt-1.pyc", + "ba_data/python/babase/__pycache__/_net.cpython-312.opt-1.pyc", + "ba_data/python/babase/__pycache__/_plugin.cpython-312.opt-1.pyc", + "ba_data/python/babase/__pycache__/_stringedit.cpython-312.opt-1.pyc", + "ba_data/python/babase/__pycache__/_text.cpython-312.opt-1.pyc", + "ba_data/python/babase/__pycache__/_ui.cpython-312.opt-1.pyc", + "ba_data/python/babase/__pycache__/_workspace.cpython-312.opt-1.pyc", + "ba_data/python/babase/__pycache__/modutils.cpython-312.opt-1.pyc", "ba_data/python/babase/_accountv2.py", "ba_data/python/babase/_app.py", "ba_data/python/babase/_appcomponent.py", @@ -52,8 +52,8 @@ "ba_data/python/babase/_math.py", "ba_data/python/babase/_meta.py", "ba_data/python/babase/_mgen/__init__.py", - "ba_data/python/babase/_mgen/__pycache__/__init__.cpython-311.opt-1.pyc", - "ba_data/python/babase/_mgen/__pycache__/enums.cpython-311.opt-1.pyc", + "ba_data/python/babase/_mgen/__pycache__/__init__.cpython-312.opt-1.pyc", + "ba_data/python/babase/_mgen/__pycache__/enums.cpython-312.opt-1.pyc", "ba_data/python/babase/_mgen/enums.py", "ba_data/python/babase/_net.py", "ba_data/python/babase/_plugin.py", @@ -63,23 +63,23 @@ "ba_data/python/babase/_workspace.py", "ba_data/python/babase/modutils.py", "ba_data/python/baclassic/__init__.py", - "ba_data/python/baclassic/__pycache__/__init__.cpython-311.opt-1.pyc", - "ba_data/python/baclassic/__pycache__/_accountv1.cpython-311.opt-1.pyc", - "ba_data/python/baclassic/__pycache__/_achievement.cpython-311.opt-1.pyc", - "ba_data/python/baclassic/__pycache__/_ads.cpython-311.opt-1.pyc", - "ba_data/python/baclassic/__pycache__/_analytics.cpython-311.opt-1.pyc", - "ba_data/python/baclassic/__pycache__/_appdelegate.cpython-311.opt-1.pyc", - "ba_data/python/baclassic/__pycache__/_benchmark.cpython-311.opt-1.pyc", - "ba_data/python/baclassic/__pycache__/_input.cpython-311.opt-1.pyc", - "ba_data/python/baclassic/__pycache__/_music.cpython-311.opt-1.pyc", - "ba_data/python/baclassic/__pycache__/_net.cpython-311.opt-1.pyc", - "ba_data/python/baclassic/__pycache__/_servermode.cpython-311.opt-1.pyc", - "ba_data/python/baclassic/__pycache__/_store.cpython-311.opt-1.pyc", - "ba_data/python/baclassic/__pycache__/_subsystem.cpython-311.opt-1.pyc", - "ba_data/python/baclassic/__pycache__/_tips.cpython-311.opt-1.pyc", - "ba_data/python/baclassic/__pycache__/_tournament.cpython-311.opt-1.pyc", - "ba_data/python/baclassic/__pycache__/macmusicapp.cpython-311.opt-1.pyc", - "ba_data/python/baclassic/__pycache__/osmusic.cpython-311.opt-1.pyc", + "ba_data/python/baclassic/__pycache__/__init__.cpython-312.opt-1.pyc", + "ba_data/python/baclassic/__pycache__/_accountv1.cpython-312.opt-1.pyc", + "ba_data/python/baclassic/__pycache__/_achievement.cpython-312.opt-1.pyc", + "ba_data/python/baclassic/__pycache__/_ads.cpython-312.opt-1.pyc", + "ba_data/python/baclassic/__pycache__/_analytics.cpython-312.opt-1.pyc", + "ba_data/python/baclassic/__pycache__/_appdelegate.cpython-312.opt-1.pyc", + "ba_data/python/baclassic/__pycache__/_benchmark.cpython-312.opt-1.pyc", + "ba_data/python/baclassic/__pycache__/_input.cpython-312.opt-1.pyc", + "ba_data/python/baclassic/__pycache__/_music.cpython-312.opt-1.pyc", + "ba_data/python/baclassic/__pycache__/_net.cpython-312.opt-1.pyc", + "ba_data/python/baclassic/__pycache__/_servermode.cpython-312.opt-1.pyc", + "ba_data/python/baclassic/__pycache__/_store.cpython-312.opt-1.pyc", + "ba_data/python/baclassic/__pycache__/_subsystem.cpython-312.opt-1.pyc", + "ba_data/python/baclassic/__pycache__/_tips.cpython-312.opt-1.pyc", + "ba_data/python/baclassic/__pycache__/_tournament.cpython-312.opt-1.pyc", + "ba_data/python/baclassic/__pycache__/macmusicapp.cpython-312.opt-1.pyc", + "ba_data/python/baclassic/__pycache__/osmusic.cpython-312.opt-1.pyc", "ba_data/python/baclassic/_accountv1.py", "ba_data/python/baclassic/_achievement.py", "ba_data/python/baclassic/_ads.py", @@ -97,16 +97,16 @@ "ba_data/python/baclassic/macmusicapp.py", "ba_data/python/baclassic/osmusic.py", "ba_data/python/bacommon/__init__.py", - "ba_data/python/bacommon/__pycache__/__init__.cpython-311.opt-1.pyc", - "ba_data/python/bacommon/__pycache__/app.cpython-311.opt-1.pyc", - "ba_data/python/bacommon/__pycache__/assets.cpython-311.opt-1.pyc", - "ba_data/python/bacommon/__pycache__/bacloud.cpython-311.opt-1.pyc", - "ba_data/python/bacommon/__pycache__/build.cpython-311.opt-1.pyc", - "ba_data/python/bacommon/__pycache__/cloud.cpython-311.opt-1.pyc", - "ba_data/python/bacommon/__pycache__/login.cpython-311.opt-1.pyc", - "ba_data/python/bacommon/__pycache__/net.cpython-311.opt-1.pyc", - "ba_data/python/bacommon/__pycache__/servermanager.cpython-311.opt-1.pyc", - "ba_data/python/bacommon/__pycache__/transfer.cpython-311.opt-1.pyc", + "ba_data/python/bacommon/__pycache__/__init__.cpython-312.opt-1.pyc", + "ba_data/python/bacommon/__pycache__/app.cpython-312.opt-1.pyc", + "ba_data/python/bacommon/__pycache__/assets.cpython-312.opt-1.pyc", + "ba_data/python/bacommon/__pycache__/bacloud.cpython-312.opt-1.pyc", + "ba_data/python/bacommon/__pycache__/build.cpython-312.opt-1.pyc", + "ba_data/python/bacommon/__pycache__/cloud.cpython-312.opt-1.pyc", + "ba_data/python/bacommon/__pycache__/login.cpython-312.opt-1.pyc", + "ba_data/python/bacommon/__pycache__/net.cpython-312.opt-1.pyc", + "ba_data/python/bacommon/__pycache__/servermanager.cpython-312.opt-1.pyc", + "ba_data/python/bacommon/__pycache__/transfer.cpython-312.opt-1.pyc", "ba_data/python/bacommon/app.py", "ba_data/python/bacommon/assets.py", "ba_data/python/bacommon/bacloud.py", @@ -118,50 +118,50 @@ "ba_data/python/bacommon/transfer.py", "ba_data/python/baenv.py", "ba_data/python/baplus/__init__.py", - "ba_data/python/baplus/__pycache__/__init__.cpython-311.opt-1.pyc", - "ba_data/python/baplus/__pycache__/_cloud.cpython-311.opt-1.pyc", - "ba_data/python/baplus/__pycache__/_hooks.cpython-311.opt-1.pyc", - "ba_data/python/baplus/__pycache__/_subsystem.cpython-311.opt-1.pyc", + "ba_data/python/baplus/__pycache__/__init__.cpython-312.opt-1.pyc", + "ba_data/python/baplus/__pycache__/_cloud.cpython-312.opt-1.pyc", + "ba_data/python/baplus/__pycache__/_hooks.cpython-312.opt-1.pyc", + "ba_data/python/baplus/__pycache__/_subsystem.cpython-312.opt-1.pyc", "ba_data/python/baplus/_cloud.py", "ba_data/python/baplus/_hooks.py", "ba_data/python/baplus/_subsystem.py", "ba_data/python/bascenev1/__init__.py", - "ba_data/python/bascenev1/__pycache__/__init__.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1/__pycache__/_activity.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1/__pycache__/_activitytypes.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1/__pycache__/_actor.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1/__pycache__/_appmode.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1/__pycache__/_campaign.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1/__pycache__/_collision.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1/__pycache__/_coopgame.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1/__pycache__/_coopsession.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1/__pycache__/_debug.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1/__pycache__/_dependency.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1/__pycache__/_dualteamsession.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1/__pycache__/_featureset.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1/__pycache__/_freeforallsession.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1/__pycache__/_gameactivity.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1/__pycache__/_gameresults.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1/__pycache__/_gameutils.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1/__pycache__/_hooks.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1/__pycache__/_level.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1/__pycache__/_lobby.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1/__pycache__/_map.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1/__pycache__/_messages.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1/__pycache__/_multiteamsession.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1/__pycache__/_music.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1/__pycache__/_net.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1/__pycache__/_nodeactor.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1/__pycache__/_player.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1/__pycache__/_playlist.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1/__pycache__/_powerup.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1/__pycache__/_profile.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1/__pycache__/_score.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1/__pycache__/_session.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1/__pycache__/_settings.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1/__pycache__/_stats.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1/__pycache__/_team.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1/__pycache__/_teamgame.cpython-311.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/__init__.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/_activity.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/_activitytypes.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/_actor.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/_appmode.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/_campaign.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/_collision.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/_coopgame.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/_coopsession.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/_debug.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/_dependency.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/_dualteamsession.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/_featureset.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/_freeforallsession.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/_gameactivity.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/_gameresults.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/_gameutils.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/_hooks.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/_level.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/_lobby.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/_map.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/_messages.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/_multiteamsession.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/_music.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/_net.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/_nodeactor.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/_player.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/_playlist.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/_powerup.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/_profile.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/_score.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/_session.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/_settings.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/_stats.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/_team.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1/__pycache__/_teamgame.cpython-312.opt-1.pyc", "ba_data/python/bascenev1/_activity.py", "ba_data/python/bascenev1/_activitytypes.py", "ba_data/python/bascenev1/_actor.py", @@ -198,21 +198,21 @@ "ba_data/python/bascenev1/_team.py", "ba_data/python/bascenev1/_teamgame.py", "ba_data/python/bascenev1lib/__init__.py", - "ba_data/python/bascenev1lib/__pycache__/__init__.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/__pycache__/gameutils.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/__pycache__/mainmenu.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/__pycache__/maps.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/__pycache__/tutorial.cpython-311.opt-1.pyc", + "ba_data/python/bascenev1lib/__pycache__/__init__.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/__pycache__/gameutils.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/__pycache__/mainmenu.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/__pycache__/maps.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/__pycache__/tutorial.cpython-312.opt-1.pyc", "ba_data/python/bascenev1lib/activity/__init__.py", - "ba_data/python/bascenev1lib/activity/__pycache__/__init__.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/activity/__pycache__/coopjoin.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/activity/__pycache__/coopscore.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/activity/__pycache__/drawscore.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/activity/__pycache__/dualteamscore.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/activity/__pycache__/freeforallvictory.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/activity/__pycache__/multiteamjoin.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/activity/__pycache__/multiteamscore.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/activity/__pycache__/multiteamvictory.cpython-311.opt-1.pyc", + "ba_data/python/bascenev1lib/activity/__pycache__/__init__.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/activity/__pycache__/coopjoin.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/activity/__pycache__/coopscore.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/activity/__pycache__/drawscore.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/activity/__pycache__/dualteamscore.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/activity/__pycache__/freeforallvictory.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/activity/__pycache__/multiteamjoin.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/activity/__pycache__/multiteamscore.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/activity/__pycache__/multiteamvictory.cpython-312.opt-1.pyc", "ba_data/python/bascenev1lib/activity/coopjoin.py", "ba_data/python/bascenev1lib/activity/coopscore.py", "ba_data/python/bascenev1lib/activity/drawscore.py", @@ -222,27 +222,27 @@ "ba_data/python/bascenev1lib/activity/multiteamscore.py", "ba_data/python/bascenev1lib/activity/multiteamvictory.py", "ba_data/python/bascenev1lib/actor/__init__.py", - "ba_data/python/bascenev1lib/actor/__pycache__/__init__.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/actor/__pycache__/background.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/actor/__pycache__/bomb.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/actor/__pycache__/controlsguide.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/actor/__pycache__/flag.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/actor/__pycache__/image.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/actor/__pycache__/onscreencountdown.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/actor/__pycache__/onscreentimer.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/actor/__pycache__/playerspaz.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/actor/__pycache__/popuptext.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/actor/__pycache__/powerupbox.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/actor/__pycache__/respawnicon.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/actor/__pycache__/scoreboard.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/actor/__pycache__/spawner.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/actor/__pycache__/spaz.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/actor/__pycache__/spazappearance.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/actor/__pycache__/spazbot.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/actor/__pycache__/spazfactory.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/actor/__pycache__/text.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/actor/__pycache__/tipstext.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/actor/__pycache__/zoomtext.cpython-311.opt-1.pyc", + "ba_data/python/bascenev1lib/actor/__pycache__/__init__.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/actor/__pycache__/background.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/actor/__pycache__/bomb.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/actor/__pycache__/controlsguide.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/actor/__pycache__/flag.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/actor/__pycache__/image.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/actor/__pycache__/onscreencountdown.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/actor/__pycache__/onscreentimer.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/actor/__pycache__/playerspaz.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/actor/__pycache__/popuptext.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/actor/__pycache__/powerupbox.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/actor/__pycache__/respawnicon.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/actor/__pycache__/scoreboard.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/actor/__pycache__/spawner.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/actor/__pycache__/spaz.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/actor/__pycache__/spazappearance.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/actor/__pycache__/spazbot.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/actor/__pycache__/spazfactory.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/actor/__pycache__/text.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/actor/__pycache__/tipstext.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/actor/__pycache__/zoomtext.cpython-312.opt-1.pyc", "ba_data/python/bascenev1lib/actor/background.py", "ba_data/python/bascenev1lib/actor/bomb.py", "ba_data/python/bascenev1lib/actor/controlsguide.py", @@ -264,25 +264,25 @@ "ba_data/python/bascenev1lib/actor/tipstext.py", "ba_data/python/bascenev1lib/actor/zoomtext.py", "ba_data/python/bascenev1lib/game/__init__.py", - "ba_data/python/bascenev1lib/game/__pycache__/__init__.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/game/__pycache__/assault.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/game/__pycache__/capturetheflag.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/game/__pycache__/chosenone.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/game/__pycache__/conquest.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/game/__pycache__/deathmatch.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/game/__pycache__/easteregghunt.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/game/__pycache__/elimination.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/game/__pycache__/football.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/game/__pycache__/hockey.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/game/__pycache__/keepaway.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/game/__pycache__/kingofthehill.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/game/__pycache__/meteorshower.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/game/__pycache__/ninjafight.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/game/__pycache__/onslaught.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/game/__pycache__/race.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/game/__pycache__/runaround.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/game/__pycache__/targetpractice.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/game/__pycache__/thelaststand.cpython-311.opt-1.pyc", + "ba_data/python/bascenev1lib/game/__pycache__/__init__.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/game/__pycache__/assault.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/game/__pycache__/capturetheflag.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/game/__pycache__/chosenone.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/game/__pycache__/conquest.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/game/__pycache__/deathmatch.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/game/__pycache__/easteregghunt.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/game/__pycache__/elimination.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/game/__pycache__/football.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/game/__pycache__/hockey.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/game/__pycache__/keepaway.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/game/__pycache__/kingofthehill.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/game/__pycache__/meteorshower.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/game/__pycache__/ninjafight.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/game/__pycache__/onslaught.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/game/__pycache__/race.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/game/__pycache__/runaround.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/game/__pycache__/targetpractice.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/game/__pycache__/thelaststand.cpython-312.opt-1.pyc", "ba_data/python/bascenev1lib/game/assault.py", "ba_data/python/bascenev1lib/game/capturetheflag.py", "ba_data/python/bascenev1lib/game/chosenone.py", @@ -304,24 +304,24 @@ "ba_data/python/bascenev1lib/gameutils.py", "ba_data/python/bascenev1lib/mainmenu.py", "ba_data/python/bascenev1lib/mapdata/__init__.py", - "ba_data/python/bascenev1lib/mapdata/__pycache__/__init__.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/mapdata/__pycache__/big_g.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/mapdata/__pycache__/bridgit.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/mapdata/__pycache__/courtyard.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/mapdata/__pycache__/crag_castle.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/mapdata/__pycache__/doom_shroom.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/mapdata/__pycache__/football_stadium.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/mapdata/__pycache__/happy_thoughts.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/mapdata/__pycache__/hockey_stadium.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/mapdata/__pycache__/lake_frigid.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/mapdata/__pycache__/monkey_face.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/mapdata/__pycache__/rampage.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/mapdata/__pycache__/roundabout.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/mapdata/__pycache__/step_right_up.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/mapdata/__pycache__/the_pad.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/mapdata/__pycache__/tip_top.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/mapdata/__pycache__/tower_d.cpython-311.opt-1.pyc", - "ba_data/python/bascenev1lib/mapdata/__pycache__/zig_zag.cpython-311.opt-1.pyc", + "ba_data/python/bascenev1lib/mapdata/__pycache__/__init__.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/mapdata/__pycache__/big_g.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/mapdata/__pycache__/bridgit.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/mapdata/__pycache__/courtyard.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/mapdata/__pycache__/crag_castle.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/mapdata/__pycache__/doom_shroom.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/mapdata/__pycache__/football_stadium.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/mapdata/__pycache__/happy_thoughts.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/mapdata/__pycache__/hockey_stadium.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/mapdata/__pycache__/lake_frigid.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/mapdata/__pycache__/monkey_face.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/mapdata/__pycache__/rampage.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/mapdata/__pycache__/roundabout.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/mapdata/__pycache__/step_right_up.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/mapdata/__pycache__/the_pad.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/mapdata/__pycache__/tip_top.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/mapdata/__pycache__/tower_d.cpython-312.opt-1.pyc", + "ba_data/python/bascenev1lib/mapdata/__pycache__/zig_zag.cpython-312.opt-1.pyc", "ba_data/python/bascenev1lib/mapdata/big_g.py", "ba_data/python/bascenev1lib/mapdata/bridgit.py", "ba_data/python/bascenev1lib/mapdata/courtyard.py", @@ -341,74 +341,74 @@ "ba_data/python/bascenev1lib/mapdata/zig_zag.py", "ba_data/python/bascenev1lib/maps.py", "ba_data/python/bascenev1lib/session/__init__.py", - "ba_data/python/bascenev1lib/session/__pycache__/__init__.cpython-311.opt-1.pyc", + "ba_data/python/bascenev1lib/session/__pycache__/__init__.cpython-312.opt-1.pyc", "ba_data/python/bascenev1lib/tutorial.py", "ba_data/python/batemplatefs/__init__.py", - "ba_data/python/batemplatefs/__pycache__/__init__.cpython-311.opt-1.pyc", - "ba_data/python/batemplatefs/__pycache__/_hooks.cpython-311.opt-1.pyc", - "ba_data/python/batemplatefs/__pycache__/_subsystem.cpython-311.opt-1.pyc", + "ba_data/python/batemplatefs/__pycache__/__init__.cpython-312.opt-1.pyc", + "ba_data/python/batemplatefs/__pycache__/_hooks.cpython-312.opt-1.pyc", + "ba_data/python/batemplatefs/__pycache__/_subsystem.cpython-312.opt-1.pyc", "ba_data/python/batemplatefs/_hooks.py", "ba_data/python/batemplatefs/_subsystem.py", "ba_data/python/bauiv1/__init__.py", - "ba_data/python/bauiv1/__pycache__/__init__.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1/__pycache__/_hooks.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1/__pycache__/_keyboard.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1/__pycache__/_subsystem.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1/__pycache__/_uitypes.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1/__pycache__/onscreenkeyboard.cpython-311.opt-1.pyc", + "ba_data/python/bauiv1/__pycache__/__init__.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1/__pycache__/_hooks.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1/__pycache__/_keyboard.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1/__pycache__/_subsystem.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1/__pycache__/_uitypes.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1/__pycache__/onscreenkeyboard.cpython-312.opt-1.pyc", "ba_data/python/bauiv1/_hooks.py", "ba_data/python/bauiv1/_keyboard.py", "ba_data/python/bauiv1/_subsystem.py", "ba_data/python/bauiv1/_uitypes.py", "ba_data/python/bauiv1/onscreenkeyboard.py", "ba_data/python/bauiv1lib/__init__.py", - "ba_data/python/bauiv1lib/__pycache__/__init__.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/achievements.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/appinvite.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/characterpicker.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/colorpicker.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/config.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/confirm.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/continues.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/creditslist.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/debug.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/discord.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/feedback.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/fileselector.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/getcurrency.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/getremote.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/helpui.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/iconpicker.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/kiosk.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/mainmenu.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/party.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/partyqueue.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/play.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/playoptions.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/popup.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/promocode.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/purchase.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/qrcode.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/radiogroup.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/report.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/resourcetypeinfo.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/serverdialog.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/specialoffer.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/tabs.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/teamnamescolors.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/tournamententry.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/tournamentscores.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/trophies.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/url.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/v2upgrade.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/watch.cpython-311.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/__init__.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/achievements.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/appinvite.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/characterpicker.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/colorpicker.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/config.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/confirm.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/continues.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/creditslist.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/debug.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/discord.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/feedback.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/fileselector.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/getcurrency.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/getremote.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/helpui.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/iconpicker.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/kiosk.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/mainmenu.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/party.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/partyqueue.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/play.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/playoptions.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/popup.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/promocode.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/purchase.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/qrcode.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/radiogroup.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/report.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/resourcetypeinfo.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/serverdialog.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/specialoffer.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/tabs.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/teamnamescolors.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/tournamententry.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/tournamentscores.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/trophies.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/url.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/v2upgrade.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/__pycache__/watch.cpython-312.opt-1.pyc", "ba_data/python/bauiv1lib/account/__init__.py", - "ba_data/python/bauiv1lib/account/__pycache__/__init__.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/account/__pycache__/link.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/account/__pycache__/settings.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/account/__pycache__/unlink.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/account/__pycache__/v2proxy.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/account/__pycache__/viewer.cpython-311.opt-1.pyc", + "ba_data/python/bauiv1lib/account/__pycache__/__init__.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/account/__pycache__/link.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/account/__pycache__/settings.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/account/__pycache__/unlink.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/account/__pycache__/v2proxy.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/account/__pycache__/viewer.cpython-312.opt-1.pyc", "ba_data/python/bauiv1lib/account/link.py", "ba_data/python/bauiv1lib/account/settings.py", "ba_data/python/bauiv1lib/account/unlink.py", @@ -422,11 +422,11 @@ "ba_data/python/bauiv1lib/confirm.py", "ba_data/python/bauiv1lib/continues.py", "ba_data/python/bauiv1lib/coop/__init__.py", - "ba_data/python/bauiv1lib/coop/__pycache__/__init__.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/coop/__pycache__/browser.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/coop/__pycache__/gamebutton.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/coop/__pycache__/level.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/coop/__pycache__/tournamentbutton.cpython-311.opt-1.pyc", + "ba_data/python/bauiv1lib/coop/__pycache__/__init__.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/coop/__pycache__/browser.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/coop/__pycache__/gamebutton.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/coop/__pycache__/level.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/coop/__pycache__/tournamentbutton.cpython-312.opt-1.pyc", "ba_data/python/bauiv1lib/coop/browser.py", "ba_data/python/bauiv1lib/coop/gamebutton.py", "ba_data/python/bauiv1lib/coop/level.py", @@ -437,12 +437,12 @@ "ba_data/python/bauiv1lib/feedback.py", "ba_data/python/bauiv1lib/fileselector.py", "ba_data/python/bauiv1lib/gather/__init__.py", - "ba_data/python/bauiv1lib/gather/__pycache__/__init__.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/gather/__pycache__/abouttab.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/gather/__pycache__/manualtab.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/gather/__pycache__/nearbytab.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/gather/__pycache__/privatetab.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/gather/__pycache__/publictab.cpython-311.opt-1.pyc", + "ba_data/python/bauiv1lib/gather/__pycache__/__init__.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/gather/__pycache__/abouttab.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/gather/__pycache__/manualtab.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/gather/__pycache__/nearbytab.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/gather/__pycache__/privatetab.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/gather/__pycache__/publictab.cpython-312.opt-1.pyc", "ba_data/python/bauiv1lib/gather/abouttab.py", "ba_data/python/bauiv1lib/gather/manualtab.py", "ba_data/python/bauiv1lib/gather/nearbytab.py", @@ -453,14 +453,14 @@ "ba_data/python/bauiv1lib/helpui.py", "ba_data/python/bauiv1lib/iconpicker.py", "ba_data/python/bauiv1lib/keyboard/__init__.py", - "ba_data/python/bauiv1lib/keyboard/__pycache__/__init__.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/keyboard/__pycache__/englishkeyboard.cpython-311.opt-1.pyc", + "ba_data/python/bauiv1lib/keyboard/__pycache__/__init__.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/keyboard/__pycache__/englishkeyboard.cpython-312.opt-1.pyc", "ba_data/python/bauiv1lib/keyboard/englishkeyboard.py", "ba_data/python/bauiv1lib/kiosk.py", "ba_data/python/bauiv1lib/league/__init__.py", - "ba_data/python/bauiv1lib/league/__pycache__/__init__.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/league/__pycache__/rankbutton.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/league/__pycache__/rankwindow.cpython-311.opt-1.pyc", + "ba_data/python/bauiv1lib/league/__pycache__/__init__.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/league/__pycache__/rankbutton.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/league/__pycache__/rankwindow.cpython-312.opt-1.pyc", "ba_data/python/bauiv1lib/league/rankbutton.py", "ba_data/python/bauiv1lib/league/rankwindow.py", "ba_data/python/bauiv1lib/mainmenu.py", @@ -468,15 +468,15 @@ "ba_data/python/bauiv1lib/partyqueue.py", "ba_data/python/bauiv1lib/play.py", "ba_data/python/bauiv1lib/playlist/__init__.py", - "ba_data/python/bauiv1lib/playlist/__pycache__/__init__.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/playlist/__pycache__/addgame.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/playlist/__pycache__/browser.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/playlist/__pycache__/customizebrowser.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/playlist/__pycache__/edit.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/playlist/__pycache__/editcontroller.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/playlist/__pycache__/editgame.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/playlist/__pycache__/mapselect.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/playlist/__pycache__/share.cpython-311.opt-1.pyc", + "ba_data/python/bauiv1lib/playlist/__pycache__/__init__.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/playlist/__pycache__/addgame.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/playlist/__pycache__/browser.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/playlist/__pycache__/customizebrowser.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/playlist/__pycache__/edit.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/playlist/__pycache__/editcontroller.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/playlist/__pycache__/editgame.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/playlist/__pycache__/mapselect.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/playlist/__pycache__/share.cpython-312.opt-1.pyc", "ba_data/python/bauiv1lib/playlist/addgame.py", "ba_data/python/bauiv1lib/playlist/browser.py", "ba_data/python/bauiv1lib/playlist/customizebrowser.py", @@ -488,10 +488,10 @@ "ba_data/python/bauiv1lib/playoptions.py", "ba_data/python/bauiv1lib/popup.py", "ba_data/python/bauiv1lib/profile/__init__.py", - "ba_data/python/bauiv1lib/profile/__pycache__/__init__.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/profile/__pycache__/browser.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/profile/__pycache__/edit.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/profile/__pycache__/upgrade.cpython-311.opt-1.pyc", + "ba_data/python/bauiv1lib/profile/__pycache__/__init__.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/profile/__pycache__/browser.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/profile/__pycache__/edit.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/profile/__pycache__/upgrade.cpython-312.opt-1.pyc", "ba_data/python/bauiv1lib/profile/browser.py", "ba_data/python/bauiv1lib/profile/edit.py", "ba_data/python/bauiv1lib/profile/upgrade.py", @@ -503,24 +503,24 @@ "ba_data/python/bauiv1lib/resourcetypeinfo.py", "ba_data/python/bauiv1lib/serverdialog.py", "ba_data/python/bauiv1lib/settings/__init__.py", - "ba_data/python/bauiv1lib/settings/__pycache__/__init__.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/settings/__pycache__/advanced.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/settings/__pycache__/allsettings.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/settings/__pycache__/audio.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/settings/__pycache__/controls.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/settings/__pycache__/gamepad.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/settings/__pycache__/gamepadadvanced.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/settings/__pycache__/gamepadselect.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/settings/__pycache__/graphics.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/settings/__pycache__/keyboard.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/settings/__pycache__/moddingtools.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/settings/__pycache__/nettesting.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/settings/__pycache__/plugins.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/settings/__pycache__/pluginsettings.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/settings/__pycache__/remoteapp.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/settings/__pycache__/testing.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/settings/__pycache__/touchscreen.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/settings/__pycache__/vrtesting.cpython-311.opt-1.pyc", + "ba_data/python/bauiv1lib/settings/__pycache__/__init__.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/settings/__pycache__/advanced.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/settings/__pycache__/allsettings.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/settings/__pycache__/audio.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/settings/__pycache__/controls.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/settings/__pycache__/gamepad.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/settings/__pycache__/gamepadadvanced.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/settings/__pycache__/gamepadselect.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/settings/__pycache__/graphics.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/settings/__pycache__/keyboard.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/settings/__pycache__/moddingtools.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/settings/__pycache__/nettesting.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/settings/__pycache__/plugins.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/settings/__pycache__/pluginsettings.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/settings/__pycache__/remoteapp.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/settings/__pycache__/testing.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/settings/__pycache__/touchscreen.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/settings/__pycache__/vrtesting.cpython-312.opt-1.pyc", "ba_data/python/bauiv1lib/settings/advanced.py", "ba_data/python/bauiv1lib/settings/allsettings.py", "ba_data/python/bauiv1lib/settings/audio.py", @@ -539,21 +539,21 @@ "ba_data/python/bauiv1lib/settings/touchscreen.py", "ba_data/python/bauiv1lib/settings/vrtesting.py", "ba_data/python/bauiv1lib/soundtrack/__init__.py", - "ba_data/python/bauiv1lib/soundtrack/__pycache__/__init__.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/soundtrack/__pycache__/browser.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/soundtrack/__pycache__/edit.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/soundtrack/__pycache__/entrytypeselect.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/soundtrack/__pycache__/macmusicapp.cpython-311.opt-1.pyc", + "ba_data/python/bauiv1lib/soundtrack/__pycache__/__init__.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/soundtrack/__pycache__/browser.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/soundtrack/__pycache__/edit.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/soundtrack/__pycache__/entrytypeselect.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/soundtrack/__pycache__/macmusicapp.cpython-312.opt-1.pyc", "ba_data/python/bauiv1lib/soundtrack/browser.py", "ba_data/python/bauiv1lib/soundtrack/edit.py", "ba_data/python/bauiv1lib/soundtrack/entrytypeselect.py", "ba_data/python/bauiv1lib/soundtrack/macmusicapp.py", "ba_data/python/bauiv1lib/specialoffer.py", "ba_data/python/bauiv1lib/store/__init__.py", - "ba_data/python/bauiv1lib/store/__pycache__/__init__.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/store/__pycache__/browser.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/store/__pycache__/button.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/store/__pycache__/item.cpython-311.opt-1.pyc", + "ba_data/python/bauiv1lib/store/__pycache__/__init__.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/store/__pycache__/browser.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/store/__pycache__/button.cpython-312.opt-1.pyc", + "ba_data/python/bauiv1lib/store/__pycache__/item.cpython-312.opt-1.pyc", "ba_data/python/bauiv1lib/store/browser.py", "ba_data/python/bauiv1lib/store/button.py", "ba_data/python/bauiv1lib/store/item.py", @@ -566,26 +566,26 @@ "ba_data/python/bauiv1lib/v2upgrade.py", "ba_data/python/bauiv1lib/watch.py", "ba_data/python/efro/__init__.py", - "ba_data/python/efro/__pycache__/__init__.cpython-311.opt-1.pyc", - "ba_data/python/efro/__pycache__/call.cpython-311.opt-1.pyc", - "ba_data/python/efro/__pycache__/cloudshell.cpython-311.opt-1.pyc", - "ba_data/python/efro/__pycache__/debug.cpython-311.opt-1.pyc", - "ba_data/python/efro/__pycache__/error.cpython-311.opt-1.pyc", - "ba_data/python/efro/__pycache__/log.cpython-311.opt-1.pyc", - "ba_data/python/efro/__pycache__/rpc.cpython-311.opt-1.pyc", - "ba_data/python/efro/__pycache__/terminal.cpython-311.opt-1.pyc", - "ba_data/python/efro/__pycache__/util.cpython-311.opt-1.pyc", + "ba_data/python/efro/__pycache__/__init__.cpython-312.opt-1.pyc", + "ba_data/python/efro/__pycache__/call.cpython-312.opt-1.pyc", + "ba_data/python/efro/__pycache__/cloudshell.cpython-312.opt-1.pyc", + "ba_data/python/efro/__pycache__/debug.cpython-312.opt-1.pyc", + "ba_data/python/efro/__pycache__/error.cpython-312.opt-1.pyc", + "ba_data/python/efro/__pycache__/log.cpython-312.opt-1.pyc", + "ba_data/python/efro/__pycache__/rpc.cpython-312.opt-1.pyc", + "ba_data/python/efro/__pycache__/terminal.cpython-312.opt-1.pyc", + "ba_data/python/efro/__pycache__/util.cpython-312.opt-1.pyc", "ba_data/python/efro/call.py", "ba_data/python/efro/cloudshell.py", "ba_data/python/efro/dataclassio/__init__.py", - "ba_data/python/efro/dataclassio/__pycache__/__init__.cpython-311.opt-1.pyc", - "ba_data/python/efro/dataclassio/__pycache__/_api.cpython-311.opt-1.pyc", - "ba_data/python/efro/dataclassio/__pycache__/_base.cpython-311.opt-1.pyc", - "ba_data/python/efro/dataclassio/__pycache__/_inputter.cpython-311.opt-1.pyc", - "ba_data/python/efro/dataclassio/__pycache__/_outputter.cpython-311.opt-1.pyc", - "ba_data/python/efro/dataclassio/__pycache__/_pathcapture.cpython-311.opt-1.pyc", - "ba_data/python/efro/dataclassio/__pycache__/_prep.cpython-311.opt-1.pyc", - "ba_data/python/efro/dataclassio/__pycache__/extras.cpython-311.opt-1.pyc", + "ba_data/python/efro/dataclassio/__pycache__/__init__.cpython-312.opt-1.pyc", + "ba_data/python/efro/dataclassio/__pycache__/_api.cpython-312.opt-1.pyc", + "ba_data/python/efro/dataclassio/__pycache__/_base.cpython-312.opt-1.pyc", + "ba_data/python/efro/dataclassio/__pycache__/_inputter.cpython-312.opt-1.pyc", + "ba_data/python/efro/dataclassio/__pycache__/_outputter.cpython-312.opt-1.pyc", + "ba_data/python/efro/dataclassio/__pycache__/_pathcapture.cpython-312.opt-1.pyc", + "ba_data/python/efro/dataclassio/__pycache__/_prep.cpython-312.opt-1.pyc", + "ba_data/python/efro/dataclassio/__pycache__/extras.cpython-312.opt-1.pyc", "ba_data/python/efro/dataclassio/_api.py", "ba_data/python/efro/dataclassio/_base.py", "ba_data/python/efro/dataclassio/_inputter.py", @@ -597,12 +597,12 @@ "ba_data/python/efro/error.py", "ba_data/python/efro/log.py", "ba_data/python/efro/message/__init__.py", - "ba_data/python/efro/message/__pycache__/__init__.cpython-311.opt-1.pyc", - "ba_data/python/efro/message/__pycache__/_message.cpython-311.opt-1.pyc", - "ba_data/python/efro/message/__pycache__/_module.cpython-311.opt-1.pyc", - "ba_data/python/efro/message/__pycache__/_protocol.cpython-311.opt-1.pyc", - "ba_data/python/efro/message/__pycache__/_receiver.cpython-311.opt-1.pyc", - "ba_data/python/efro/message/__pycache__/_sender.cpython-311.opt-1.pyc", + "ba_data/python/efro/message/__pycache__/__init__.cpython-312.opt-1.pyc", + "ba_data/python/efro/message/__pycache__/_message.cpython-312.opt-1.pyc", + "ba_data/python/efro/message/__pycache__/_module.cpython-312.opt-1.pyc", + "ba_data/python/efro/message/__pycache__/_protocol.cpython-312.opt-1.pyc", + "ba_data/python/efro/message/__pycache__/_receiver.cpython-312.opt-1.pyc", + "ba_data/python/efro/message/__pycache__/_sender.cpython-312.opt-1.pyc", "ba_data/python/efro/message/_message.py", "ba_data/python/efro/message/_module.py", "ba_data/python/efro/message/_protocol.py", @@ -611,6 +611,6 @@ "ba_data/python/efro/rpc.py", "ba_data/python/efro/terminal.py", "ba_data/python/efro/util.py", - "server_package/__pycache__/ballisticakit_server.cpython-311.opt-1.pyc", + "server_package/__pycache__/ballisticakit_server.cpython-312.opt-1.pyc", "server_package/ballisticakit_server.py" ] \ No newline at end of file diff --git a/src/assets/Makefile b/src/assets/Makefile index 16eef89b..6e5dfba5 100644 --- a/src/assets/Makefile +++ b/src/assets/Makefile @@ -151,7 +151,7 @@ ASSET_TARGETS_WIN_X64 += $(EXTRAS_TARGETS_WIN_X64) # Note: Code below needs updating when Python version changes (currently 3.11) define make-opt-pyc-target -$1: $$(subst /__pycache__,,$$(subst .cpython-311.opt-1.pyc,.py,$1)) +$1: $$(subst /__pycache__,,$$(subst .cpython-312.opt-1.pyc,.py,$1)) @$$(PCOMMANDBATCH) compile_python_file $$^ endef @@ -435,280 +435,280 @@ SCRIPT_TARGETS_PY_PUBLIC = \ $(BUILD_DIR)/server_package/ballisticakit_server.py SCRIPT_TARGETS_PYC_PUBLIC = \ - $(BUILD_DIR)/ba_data/python/babase/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/babase/__pycache__/_accountv2.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/babase/__pycache__/_app.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/babase/__pycache__/_appcomponent.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/babase/__pycache__/_appconfig.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/babase/__pycache__/_appintent.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/babase/__pycache__/_appmode.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/babase/__pycache__/_appmodeselector.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/babase/__pycache__/_appsubsystem.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/babase/__pycache__/_apputils.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/babase/__pycache__/_assetmanager.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/babase/__pycache__/_asyncio.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/babase/__pycache__/_devconsole.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/babase/__pycache__/_emptyappmode.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/babase/__pycache__/_env.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/babase/__pycache__/_error.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/babase/__pycache__/_general.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/babase/__pycache__/_hooks.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/babase/__pycache__/_language.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/babase/__pycache__/_login.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/babase/__pycache__/_math.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/babase/__pycache__/_meta.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/babase/_mgen/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/babase/_mgen/__pycache__/enums.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/babase/__pycache__/_net.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/babase/__pycache__/_plugin.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/babase/__pycache__/_stringedit.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/babase/__pycache__/_text.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/babase/__pycache__/_ui.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/babase/__pycache__/_workspace.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/babase/__pycache__/modutils.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/baclassic/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_accountv1.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_achievement.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_ads.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_analytics.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_appdelegate.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_benchmark.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_input.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_music.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_net.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_servermode.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_store.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_subsystem.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_tips.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_tournament.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/baclassic/__pycache__/macmusicapp.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/baclassic/__pycache__/osmusic.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/__pycache__/baenv.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/baplus/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/baplus/__pycache__/_cloud.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/baplus/__pycache__/_hooks.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/baplus/__pycache__/_subsystem.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_activity.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_activitytypes.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_actor.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_appmode.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_campaign.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_collision.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_coopgame.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_coopsession.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_debug.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_dependency.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_dualteamsession.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_featureset.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_freeforallsession.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_gameactivity.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_gameresults.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_gameutils.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_hooks.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_level.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_lobby.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_map.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_messages.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_multiteamsession.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_music.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_net.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_nodeactor.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_player.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_playlist.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_powerup.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_profile.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_score.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_session.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_settings.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_stats.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_team.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_teamgame.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/activity/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/activity/__pycache__/coopjoin.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/activity/__pycache__/coopscore.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/activity/__pycache__/drawscore.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/activity/__pycache__/dualteamscore.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/activity/__pycache__/freeforallvictory.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/activity/__pycache__/multiteamjoin.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/activity/__pycache__/multiteamscore.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/activity/__pycache__/multiteamvictory.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/background.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/bomb.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/controlsguide.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/flag.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/image.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/onscreencountdown.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/onscreentimer.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/playerspaz.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/popuptext.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/powerupbox.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/respawnicon.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/scoreboard.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/spawner.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/spaz.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/spazappearance.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/spazbot.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/spazfactory.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/text.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/tipstext.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/zoomtext.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/assault.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/capturetheflag.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/chosenone.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/conquest.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/deathmatch.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/easteregghunt.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/elimination.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/football.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/hockey.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/keepaway.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/kingofthehill.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/meteorshower.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/ninjafight.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/onslaught.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/race.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/runaround.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/targetpractice.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/thelaststand.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/__pycache__/gameutils.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/__pycache__/mainmenu.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/big_g.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/bridgit.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/courtyard.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/crag_castle.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/doom_shroom.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/football_stadium.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/happy_thoughts.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/hockey_stadium.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/lake_frigid.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/monkey_face.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/rampage.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/roundabout.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/step_right_up.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/the_pad.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/tip_top.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/tower_d.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/zig_zag.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/__pycache__/maps.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/session/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bascenev1lib/__pycache__/tutorial.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/batemplatefs/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/batemplatefs/__pycache__/_hooks.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/batemplatefs/__pycache__/_subsystem.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1/__pycache__/_hooks.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1/__pycache__/_keyboard.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1/__pycache__/_subsystem.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1/__pycache__/_uitypes.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1/__pycache__/onscreenkeyboard.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/account/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/account/__pycache__/link.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/account/__pycache__/settings.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/account/__pycache__/unlink.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/account/__pycache__/v2proxy.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/account/__pycache__/viewer.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/achievements.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/appinvite.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/characterpicker.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/colorpicker.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/config.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/confirm.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/continues.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/coop/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/coop/__pycache__/browser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/coop/__pycache__/gamebutton.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/coop/__pycache__/level.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/coop/__pycache__/tournamentbutton.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/creditslist.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/debug.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/discord.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/feedback.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/fileselector.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/gather/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/gather/__pycache__/abouttab.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/gather/__pycache__/manualtab.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/gather/__pycache__/nearbytab.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/gather/__pycache__/privatetab.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/gather/__pycache__/publictab.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/getcurrency.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/getremote.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/helpui.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/iconpicker.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/keyboard/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/keyboard/__pycache__/englishkeyboard.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/kiosk.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/league/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/league/__pycache__/rankbutton.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/league/__pycache__/rankwindow.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/mainmenu.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/party.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/partyqueue.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/play.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/playlist/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/playlist/__pycache__/addgame.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/playlist/__pycache__/browser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/playlist/__pycache__/customizebrowser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/playlist/__pycache__/edit.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/playlist/__pycache__/editcontroller.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/playlist/__pycache__/editgame.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/playlist/__pycache__/mapselect.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/playlist/__pycache__/share.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/playoptions.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/popup.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/profile/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/profile/__pycache__/browser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/profile/__pycache__/edit.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/profile/__pycache__/upgrade.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/promocode.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/purchase.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/qrcode.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/radiogroup.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/report.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/resourcetypeinfo.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/serverdialog.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/advanced.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/allsettings.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/audio.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/controls.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/gamepad.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/gamepadadvanced.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/gamepadselect.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/graphics.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/keyboard.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/moddingtools.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/nettesting.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/plugins.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/pluginsettings.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/remoteapp.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/testing.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/touchscreen.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/vrtesting.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/soundtrack/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/soundtrack/__pycache__/browser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/soundtrack/__pycache__/edit.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/soundtrack/__pycache__/entrytypeselect.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/soundtrack/__pycache__/macmusicapp.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/specialoffer.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/store/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/store/__pycache__/browser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/store/__pycache__/button.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/store/__pycache__/item.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/tabs.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/teamnamescolors.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/tournamententry.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/tournamentscores.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/trophies.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/url.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/v2upgrade.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/watch.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/server_package/__pycache__/ballisticakit_server.cpython-311.opt-1.pyc + $(BUILD_DIR)/ba_data/python/babase/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/babase/__pycache__/_accountv2.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/babase/__pycache__/_app.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/babase/__pycache__/_appcomponent.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/babase/__pycache__/_appconfig.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/babase/__pycache__/_appintent.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/babase/__pycache__/_appmode.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/babase/__pycache__/_appmodeselector.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/babase/__pycache__/_appsubsystem.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/babase/__pycache__/_apputils.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/babase/__pycache__/_assetmanager.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/babase/__pycache__/_asyncio.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/babase/__pycache__/_devconsole.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/babase/__pycache__/_emptyappmode.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/babase/__pycache__/_env.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/babase/__pycache__/_error.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/babase/__pycache__/_general.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/babase/__pycache__/_hooks.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/babase/__pycache__/_language.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/babase/__pycache__/_login.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/babase/__pycache__/_math.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/babase/__pycache__/_meta.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/babase/_mgen/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/babase/_mgen/__pycache__/enums.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/babase/__pycache__/_net.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/babase/__pycache__/_plugin.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/babase/__pycache__/_stringedit.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/babase/__pycache__/_text.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/babase/__pycache__/_ui.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/babase/__pycache__/_workspace.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/babase/__pycache__/modutils.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/baclassic/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_accountv1.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_achievement.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_ads.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_analytics.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_appdelegate.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_benchmark.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_input.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_music.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_net.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_servermode.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_store.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_subsystem.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_tips.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_tournament.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/baclassic/__pycache__/macmusicapp.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/baclassic/__pycache__/osmusic.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/__pycache__/baenv.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/baplus/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/baplus/__pycache__/_cloud.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/baplus/__pycache__/_hooks.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/baplus/__pycache__/_subsystem.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_activity.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_activitytypes.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_actor.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_appmode.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_campaign.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_collision.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_coopgame.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_coopsession.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_debug.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_dependency.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_dualteamsession.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_featureset.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_freeforallsession.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_gameactivity.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_gameresults.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_gameutils.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_hooks.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_level.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_lobby.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_map.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_messages.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_multiteamsession.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_music.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_net.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_nodeactor.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_player.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_playlist.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_powerup.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_profile.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_score.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_session.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_settings.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_stats.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_team.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1/__pycache__/_teamgame.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/activity/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/activity/__pycache__/coopjoin.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/activity/__pycache__/coopscore.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/activity/__pycache__/drawscore.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/activity/__pycache__/dualteamscore.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/activity/__pycache__/freeforallvictory.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/activity/__pycache__/multiteamjoin.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/activity/__pycache__/multiteamscore.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/activity/__pycache__/multiteamvictory.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/background.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/bomb.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/controlsguide.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/flag.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/image.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/onscreencountdown.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/onscreentimer.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/playerspaz.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/popuptext.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/powerupbox.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/respawnicon.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/scoreboard.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/spawner.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/spaz.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/spazappearance.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/spazbot.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/spazfactory.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/text.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/tipstext.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/actor/__pycache__/zoomtext.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/assault.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/capturetheflag.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/chosenone.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/conquest.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/deathmatch.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/easteregghunt.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/elimination.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/football.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/hockey.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/keepaway.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/kingofthehill.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/meteorshower.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/ninjafight.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/onslaught.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/race.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/runaround.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/targetpractice.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/game/__pycache__/thelaststand.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/__pycache__/gameutils.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/__pycache__/mainmenu.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/big_g.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/bridgit.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/courtyard.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/crag_castle.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/doom_shroom.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/football_stadium.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/happy_thoughts.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/hockey_stadium.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/lake_frigid.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/monkey_face.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/rampage.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/roundabout.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/step_right_up.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/the_pad.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/tip_top.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/tower_d.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/mapdata/__pycache__/zig_zag.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/__pycache__/maps.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/session/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bascenev1lib/__pycache__/tutorial.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/batemplatefs/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/batemplatefs/__pycache__/_hooks.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/batemplatefs/__pycache__/_subsystem.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1/__pycache__/_hooks.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1/__pycache__/_keyboard.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1/__pycache__/_subsystem.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1/__pycache__/_uitypes.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1/__pycache__/onscreenkeyboard.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/account/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/account/__pycache__/link.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/account/__pycache__/settings.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/account/__pycache__/unlink.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/account/__pycache__/v2proxy.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/account/__pycache__/viewer.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/achievements.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/appinvite.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/characterpicker.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/colorpicker.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/config.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/confirm.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/continues.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/coop/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/coop/__pycache__/browser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/coop/__pycache__/gamebutton.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/coop/__pycache__/level.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/coop/__pycache__/tournamentbutton.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/creditslist.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/debug.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/discord.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/feedback.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/fileselector.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/gather/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/gather/__pycache__/abouttab.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/gather/__pycache__/manualtab.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/gather/__pycache__/nearbytab.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/gather/__pycache__/privatetab.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/gather/__pycache__/publictab.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/getcurrency.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/getremote.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/helpui.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/iconpicker.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/keyboard/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/keyboard/__pycache__/englishkeyboard.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/kiosk.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/league/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/league/__pycache__/rankbutton.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/league/__pycache__/rankwindow.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/mainmenu.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/party.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/partyqueue.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/play.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/playlist/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/playlist/__pycache__/addgame.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/playlist/__pycache__/browser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/playlist/__pycache__/customizebrowser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/playlist/__pycache__/edit.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/playlist/__pycache__/editcontroller.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/playlist/__pycache__/editgame.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/playlist/__pycache__/mapselect.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/playlist/__pycache__/share.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/playoptions.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/popup.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/profile/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/profile/__pycache__/browser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/profile/__pycache__/edit.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/profile/__pycache__/upgrade.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/promocode.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/purchase.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/qrcode.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/radiogroup.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/report.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/resourcetypeinfo.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/serverdialog.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/advanced.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/allsettings.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/audio.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/controls.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/gamepad.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/gamepadadvanced.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/gamepadselect.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/graphics.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/keyboard.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/moddingtools.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/nettesting.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/plugins.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/pluginsettings.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/remoteapp.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/testing.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/touchscreen.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/settings/__pycache__/vrtesting.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/soundtrack/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/soundtrack/__pycache__/browser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/soundtrack/__pycache__/edit.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/soundtrack/__pycache__/entrytypeselect.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/soundtrack/__pycache__/macmusicapp.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/specialoffer.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/store/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/store/__pycache__/browser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/store/__pycache__/button.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/store/__pycache__/item.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/tabs.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/teamnamescolors.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/tournamententry.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/tournamentscores.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/trophies.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/url.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/v2upgrade.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bauiv1lib/__pycache__/watch.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/server_package/__pycache__/ballisticakit_server.cpython-312.opt-1.pyc # Rule to copy src asset scripts to dst. # (and make non-writable so I'm less likely to accidentally edit them there) @@ -756,39 +756,39 @@ SCRIPT_TARGETS_PY_PUBLIC_TOOLS = \ $(BUILD_DIR)/ba_data/python/efro/util.py SCRIPT_TARGETS_PYC_PUBLIC_TOOLS = \ - $(BUILD_DIR)/ba_data/python/bacommon/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bacommon/__pycache__/app.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bacommon/__pycache__/assets.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bacommon/__pycache__/bacloud.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bacommon/__pycache__/build.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bacommon/__pycache__/cloud.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bacommon/__pycache__/login.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bacommon/__pycache__/net.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bacommon/__pycache__/servermanager.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/bacommon/__pycache__/transfer.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/efro/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/efro/__pycache__/call.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/efro/__pycache__/cloudshell.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/efro/dataclassio/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/efro/dataclassio/__pycache__/_api.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/efro/dataclassio/__pycache__/_base.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/efro/dataclassio/__pycache__/_inputter.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/efro/dataclassio/__pycache__/_outputter.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/efro/dataclassio/__pycache__/_pathcapture.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/efro/dataclassio/__pycache__/_prep.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/efro/dataclassio/__pycache__/extras.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/efro/__pycache__/debug.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/efro/__pycache__/error.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/efro/__pycache__/log.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/efro/message/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/efro/message/__pycache__/_message.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/efro/message/__pycache__/_module.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/efro/message/__pycache__/_protocol.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/efro/message/__pycache__/_receiver.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/efro/message/__pycache__/_sender.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/efro/__pycache__/rpc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/efro/__pycache__/terminal.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python/efro/__pycache__/util.cpython-311.opt-1.pyc + $(BUILD_DIR)/ba_data/python/bacommon/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bacommon/__pycache__/app.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bacommon/__pycache__/assets.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bacommon/__pycache__/bacloud.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bacommon/__pycache__/build.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bacommon/__pycache__/cloud.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bacommon/__pycache__/login.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bacommon/__pycache__/net.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bacommon/__pycache__/servermanager.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/bacommon/__pycache__/transfer.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/efro/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/efro/__pycache__/call.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/efro/__pycache__/cloudshell.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/efro/dataclassio/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/efro/dataclassio/__pycache__/_api.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/efro/dataclassio/__pycache__/_base.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/efro/dataclassio/__pycache__/_inputter.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/efro/dataclassio/__pycache__/_outputter.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/efro/dataclassio/__pycache__/_pathcapture.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/efro/dataclassio/__pycache__/_prep.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/efro/dataclassio/__pycache__/extras.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/efro/__pycache__/debug.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/efro/__pycache__/error.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/efro/__pycache__/log.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/efro/message/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/efro/message/__pycache__/_message.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/efro/message/__pycache__/_module.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/efro/message/__pycache__/_protocol.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/efro/message/__pycache__/_receiver.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/efro/message/__pycache__/_sender.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/efro/__pycache__/rpc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/efro/__pycache__/terminal.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python/efro/__pycache__/util.cpython-312.opt-1.pyc # Rule to copy src asset scripts to dst. # (and make non-writable so I'm less likely to accidentally edit them there) @@ -808,7 +808,6 @@ SCRIPT_TARGETS_PY_PRIVATE_APPLE = \ $(BUILD_DIR)/pylib-apple/__future__.py \ $(BUILD_DIR)/pylib-apple/__hello__.py \ $(BUILD_DIR)/pylib-apple/_aix_support.py \ - $(BUILD_DIR)/pylib-apple/_bootsubprocess.py \ $(BUILD_DIR)/pylib-apple/_collections_abc.py \ $(BUILD_DIR)/pylib-apple/_compat_pickle.py \ $(BUILD_DIR)/pylib-apple/_compression.py \ @@ -816,32 +815,22 @@ SCRIPT_TARGETS_PY_PRIVATE_APPLE = \ $(BUILD_DIR)/pylib-apple/_markupbase.py \ $(BUILD_DIR)/pylib-apple/_osx_support.py \ $(BUILD_DIR)/pylib-apple/_py_abc.py \ + $(BUILD_DIR)/pylib-apple/_pydatetime.py \ $(BUILD_DIR)/pylib-apple/_pydecimal.py \ $(BUILD_DIR)/pylib-apple/_pyio.py \ + $(BUILD_DIR)/pylib-apple/_pylong.py \ $(BUILD_DIR)/pylib-apple/_sitebuiltins.py \ $(BUILD_DIR)/pylib-apple/_strptime.py \ $(BUILD_DIR)/pylib-apple/_sysconfigdata__darwin_darwin.py \ - $(BUILD_DIR)/pylib-apple/_sysconfigdata__ios_iphoneos.py \ - $(BUILD_DIR)/pylib-apple/_sysconfigdata__ios_iphoneos_arm64.py \ - $(BUILD_DIR)/pylib-apple/_sysconfigdata__ios_iphonesimulator.py \ - $(BUILD_DIR)/pylib-apple/_sysconfigdata__ios_iphonesimulator_arm64.py \ - $(BUILD_DIR)/pylib-apple/_sysconfigdata__ios_iphonesimulator_x86_64.py \ - $(BUILD_DIR)/pylib-apple/_sysconfigdata__tvos_appletvos.py \ - $(BUILD_DIR)/pylib-apple/_sysconfigdata__tvos_appletvos_arm64.py \ - $(BUILD_DIR)/pylib-apple/_sysconfigdata__tvos_appletvsimulator.py \ - $(BUILD_DIR)/pylib-apple/_sysconfigdata__tvos_appletvsimulator_arm64.py \ - $(BUILD_DIR)/pylib-apple/_sysconfigdata__tvos_appletvsimulator_x86_64.py \ + $(BUILD_DIR)/pylib-apple/_sysconfigdata__ios_iphoneos-arm64.py \ + $(BUILD_DIR)/pylib-apple/_sysconfigdata__ios_iphonesimulator-arm64.py \ + $(BUILD_DIR)/pylib-apple/_sysconfigdata__tvos_appletvos-arm64.py \ + $(BUILD_DIR)/pylib-apple/_sysconfigdata__tvos_appletvsimulator-arm64.py \ $(BUILD_DIR)/pylib-apple/_sysconfigdata_d_darwin_darwin.py \ - $(BUILD_DIR)/pylib-apple/_sysconfigdata_d_ios_iphoneos.py \ - $(BUILD_DIR)/pylib-apple/_sysconfigdata_d_ios_iphoneos_arm64.py \ - $(BUILD_DIR)/pylib-apple/_sysconfigdata_d_ios_iphonesimulator.py \ - $(BUILD_DIR)/pylib-apple/_sysconfigdata_d_ios_iphonesimulator_arm64.py \ - $(BUILD_DIR)/pylib-apple/_sysconfigdata_d_ios_iphonesimulator_x86_64.py \ - $(BUILD_DIR)/pylib-apple/_sysconfigdata_d_tvos_appletvos.py \ - $(BUILD_DIR)/pylib-apple/_sysconfigdata_d_tvos_appletvos_arm64.py \ - $(BUILD_DIR)/pylib-apple/_sysconfigdata_d_tvos_appletvsimulator.py \ - $(BUILD_DIR)/pylib-apple/_sysconfigdata_d_tvos_appletvsimulator_arm64.py \ - $(BUILD_DIR)/pylib-apple/_sysconfigdata_d_tvos_appletvsimulator_x86_64.py \ + $(BUILD_DIR)/pylib-apple/_sysconfigdata_d_ios_iphoneos-arm64.py \ + $(BUILD_DIR)/pylib-apple/_sysconfigdata_d_ios_iphonesimulator-arm64.py \ + $(BUILD_DIR)/pylib-apple/_sysconfigdata_d_tvos_appletvos-arm64.py \ + $(BUILD_DIR)/pylib-apple/_sysconfigdata_d_tvos_appletvsimulator-arm64.py \ $(BUILD_DIR)/pylib-apple/_threading_local.py \ $(BUILD_DIR)/pylib-apple/_weakrefset.py \ $(BUILD_DIR)/pylib-apple/abc.py \ @@ -849,7 +838,6 @@ SCRIPT_TARGETS_PY_PRIVATE_APPLE = \ $(BUILD_DIR)/pylib-apple/antigravity.py \ $(BUILD_DIR)/pylib-apple/argparse.py \ $(BUILD_DIR)/pylib-apple/ast.py \ - $(BUILD_DIR)/pylib-apple/asynchat.py \ $(BUILD_DIR)/pylib-apple/asyncio/__init__.py \ $(BUILD_DIR)/pylib-apple/asyncio/__main__.py \ $(BUILD_DIR)/pylib-apple/asyncio/base_events.py \ @@ -883,7 +871,6 @@ SCRIPT_TARGETS_PY_PRIVATE_APPLE = \ $(BUILD_DIR)/pylib-apple/asyncio/unix_events.py \ $(BUILD_DIR)/pylib-apple/asyncio/windows_events.py \ $(BUILD_DIR)/pylib-apple/asyncio/windows_utils.py \ - $(BUILD_DIR)/pylib-apple/asyncore.py \ $(BUILD_DIR)/pylib-apple/base64.py \ $(BUILD_DIR)/pylib-apple/bdb.py \ $(BUILD_DIR)/pylib-apple/bisect.py \ @@ -1110,7 +1097,6 @@ SCRIPT_TARGETS_PY_PRIVATE_APPLE = \ $(BUILD_DIR)/pylib-apple/http/cookies.py \ $(BUILD_DIR)/pylib-apple/http/server.py \ $(BUILD_DIR)/pylib-apple/imghdr.py \ - $(BUILD_DIR)/pylib-apple/imp.py \ $(BUILD_DIR)/pylib-apple/importlib/__init__.py \ $(BUILD_DIR)/pylib-apple/importlib/_abc.py \ $(BUILD_DIR)/pylib-apple/importlib/_bootstrap.py \ @@ -1199,12 +1185,12 @@ SCRIPT_TARGETS_PY_PRIVATE_APPLE = \ $(BUILD_DIR)/pylib-apple/shutil.py \ $(BUILD_DIR)/pylib-apple/signal.py \ $(BUILD_DIR)/pylib-apple/site.py \ - $(BUILD_DIR)/pylib-apple/smtpd.py \ $(BUILD_DIR)/pylib-apple/smtplib.py \ $(BUILD_DIR)/pylib-apple/sndhdr.py \ $(BUILD_DIR)/pylib-apple/socket.py \ $(BUILD_DIR)/pylib-apple/socketserver.py \ $(BUILD_DIR)/pylib-apple/sqlite3/__init__.py \ + $(BUILD_DIR)/pylib-apple/sqlite3/__main__.py \ $(BUILD_DIR)/pylib-apple/sqlite3/dbapi2.py \ $(BUILD_DIR)/pylib-apple/sqlite3/dump.py \ $(BUILD_DIR)/pylib-apple/sre_compile.py \ @@ -1279,7 +1265,10 @@ SCRIPT_TARGETS_PY_PRIVATE_APPLE = \ $(BUILD_DIR)/pylib-apple/xmlrpc/client.py \ $(BUILD_DIR)/pylib-apple/xmlrpc/server.py \ $(BUILD_DIR)/pylib-apple/zipapp.py \ - $(BUILD_DIR)/pylib-apple/zipfile.py \ + $(BUILD_DIR)/pylib-apple/zipfile/__init__.py \ + $(BUILD_DIR)/pylib-apple/zipfile/__main__.py \ + $(BUILD_DIR)/pylib-apple/zipfile/_path/__init__.py \ + $(BUILD_DIR)/pylib-apple/zipfile/_path/glob.py \ $(BUILD_DIR)/pylib-apple/zipimport.py \ $(BUILD_DIR)/pylib-apple/zoneinfo/__init__.py \ $(BUILD_DIR)/pylib-apple/zoneinfo/_common.py \ @@ -1287,486 +1276,475 @@ SCRIPT_TARGETS_PY_PRIVATE_APPLE = \ $(BUILD_DIR)/pylib-apple/zoneinfo/_zoneinfo.py SCRIPT_TARGETS_PYC_PRIVATE_APPLE = \ - $(BUILD_DIR)/pylib-apple/__pycache__/__future__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/__hello__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_aix_support.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_bootsubprocess.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_collections_abc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_compat_pickle.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_compression.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_ios_support.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_markupbase.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_osx_support.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_py_abc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_pydecimal.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_pyio.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_sitebuiltins.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_strptime.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_sysconfigdata__darwin_darwin.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_sysconfigdata__ios_iphoneos.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_sysconfigdata__ios_iphoneos_arm64.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_sysconfigdata__ios_iphonesimulator.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_sysconfigdata__ios_iphonesimulator_arm64.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_sysconfigdata__ios_iphonesimulator_x86_64.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_sysconfigdata__tvos_appletvos.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_sysconfigdata__tvos_appletvos_arm64.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_sysconfigdata__tvos_appletvsimulator.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_sysconfigdata__tvos_appletvsimulator_arm64.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_sysconfigdata__tvos_appletvsimulator_x86_64.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_sysconfigdata_d_darwin_darwin.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_sysconfigdata_d_ios_iphoneos.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_sysconfigdata_d_ios_iphoneos_arm64.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_sysconfigdata_d_ios_iphonesimulator.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_sysconfigdata_d_ios_iphonesimulator_arm64.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_sysconfigdata_d_ios_iphonesimulator_x86_64.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_sysconfigdata_d_tvos_appletvos.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_sysconfigdata_d_tvos_appletvos_arm64.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_sysconfigdata_d_tvos_appletvsimulator.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_sysconfigdata_d_tvos_appletvsimulator_arm64.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_sysconfigdata_d_tvos_appletvsimulator_x86_64.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_threading_local.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/_weakrefset.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/abc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/aifc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/antigravity.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/argparse.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/ast.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/asynchat.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/__main__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/base_events.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/base_futures.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/base_subprocess.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/base_tasks.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/constants.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/coroutines.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/events.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/exceptions.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/format_helpers.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/futures.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/locks.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/log.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/mixins.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/proactor_events.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/protocols.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/queues.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/runners.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/selector_events.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/sslproto.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/staggered.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/streams.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/subprocess.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/taskgroups.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/tasks.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/threads.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/timeouts.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/transports.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/trsock.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/unix_events.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/windows_events.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/windows_utils.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/asyncore.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/base64.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/bdb.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/bisect.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/bz2.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/cProfile.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/calendar.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/cgi.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/cgitb.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/chunk.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/cmd.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/code.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/codecs.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/codeop.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/collections/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/collections/__pycache__/abc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/colorsys.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/compileall.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/concurrent/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/concurrent/futures/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/concurrent/futures/__pycache__/_base.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/concurrent/futures/__pycache__/process.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/concurrent/futures/__pycache__/thread.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/configparser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/contextlib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/contextvars.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/copy.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/copyreg.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/crypt.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/csv.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/ctypes/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/ctypes/__pycache__/_aix.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/ctypes/__pycache__/_endian.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/ctypes/macholib/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/ctypes/macholib/__pycache__/dyld.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/ctypes/macholib/__pycache__/dylib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/ctypes/macholib/__pycache__/framework.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/ctypes/__pycache__/util.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/ctypes/__pycache__/wintypes.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/curses/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/curses/__pycache__/ascii.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/curses/__pycache__/has_key.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/curses/__pycache__/panel.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/curses/__pycache__/textpad.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/dataclasses.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/datetime.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/decimal.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/difflib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/dis.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/doctest.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/email/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/email/__pycache__/_encoded_words.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/email/__pycache__/_header_value_parser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/email/__pycache__/_parseaddr.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/email/__pycache__/_policybase.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/email/__pycache__/base64mime.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/email/__pycache__/charset.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/email/__pycache__/contentmanager.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/email/__pycache__/encoders.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/email/__pycache__/errors.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/email/__pycache__/feedparser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/email/__pycache__/generator.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/email/__pycache__/header.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/email/__pycache__/headerregistry.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/email/__pycache__/iterators.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/email/__pycache__/message.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/email/mime/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/email/mime/__pycache__/application.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/email/mime/__pycache__/audio.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/email/mime/__pycache__/base.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/email/mime/__pycache__/image.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/email/mime/__pycache__/message.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/email/mime/__pycache__/multipart.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/email/mime/__pycache__/nonmultipart.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/email/mime/__pycache__/text.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/email/__pycache__/parser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/email/__pycache__/policy.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/email/__pycache__/quoprimime.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/email/__pycache__/utils.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/aliases.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/ascii.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/base64_codec.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/big5.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/big5hkscs.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/bz2_codec.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/charmap.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp037.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp1006.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp1026.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp1125.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp1140.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp1250.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp1251.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp1252.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp1253.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp1254.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp1255.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp1256.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp1257.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp1258.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp273.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp424.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp437.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp500.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp720.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp737.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp775.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp850.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp852.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp855.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp856.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp857.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp858.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp860.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp861.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp862.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp863.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp864.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp865.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp866.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp869.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp874.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp875.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp932.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp949.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp950.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/euc_jis_2004.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/euc_jisx0213.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/euc_jp.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/euc_kr.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/gb18030.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/gb2312.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/gbk.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/hex_codec.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/hp_roman8.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/hz.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/idna.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso2022_jp.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso2022_jp_1.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso2022_jp_2.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso2022_jp_2004.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso2022_jp_3.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso2022_jp_ext.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso2022_kr.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso8859_1.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso8859_10.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso8859_11.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso8859_13.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso8859_14.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso8859_15.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso8859_16.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso8859_2.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso8859_3.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso8859_4.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso8859_5.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso8859_6.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso8859_7.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso8859_8.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso8859_9.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/johab.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/koi8_r.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/koi8_t.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/koi8_u.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/kz1048.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/latin_1.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/mac_arabic.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/mac_croatian.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/mac_cyrillic.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/mac_farsi.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/mac_greek.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/mac_iceland.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/mac_latin2.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/mac_roman.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/mac_romanian.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/mac_turkish.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/mbcs.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/oem.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/palmos.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/ptcp154.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/punycode.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/quopri_codec.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/raw_unicode_escape.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/rot_13.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/shift_jis.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/shift_jis_2004.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/shift_jisx0213.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/tis_620.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/undefined.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/unicode_escape.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/utf_16.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/utf_16_be.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/utf_16_le.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/utf_32.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/utf_32_be.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/utf_32_le.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/utf_7.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/utf_8.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/utf_8_sig.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/uu_codec.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/encodings/__pycache__/zlib_codec.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/enum.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/filecmp.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/fileinput.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/fnmatch.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/fractions.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/ftplib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/functools.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/genericpath.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/getopt.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/getpass.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/gettext.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/glob.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/graphlib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/gzip.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/hashlib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/heapq.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/hmac.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/html/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/html/__pycache__/entities.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/html/__pycache__/parser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/http/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/http/__pycache__/client.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/http/__pycache__/cookiejar.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/http/__pycache__/cookies.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/http/__pycache__/server.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/imghdr.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/imp.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/importlib/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/importlib/__pycache__/_abc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/importlib/__pycache__/_bootstrap.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/importlib/__pycache__/_bootstrap_external.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/importlib/__pycache__/abc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/importlib/__pycache__/machinery.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/importlib/metadata/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/importlib/metadata/__pycache__/_adapters.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/importlib/metadata/__pycache__/_collections.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/importlib/metadata/__pycache__/_functools.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/importlib/metadata/__pycache__/_itertools.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/importlib/metadata/__pycache__/_meta.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/importlib/metadata/__pycache__/_text.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/importlib/__pycache__/readers.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/importlib/resources/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/importlib/resources/__pycache__/_adapters.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/importlib/resources/__pycache__/_common.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/importlib/resources/__pycache__/_itertools.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/importlib/resources/__pycache__/_legacy.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/importlib/resources/__pycache__/abc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/importlib/resources/__pycache__/readers.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/importlib/resources/__pycache__/simple.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/importlib/__pycache__/simple.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/importlib/__pycache__/util.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/inspect.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/io.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/ipaddress.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/json/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/json/__pycache__/decoder.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/json/__pycache__/encoder.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/json/__pycache__/scanner.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/json/__pycache__/tool.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/keyword.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/linecache.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/locale.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/logging/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/logging/__pycache__/config.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/logging/__pycache__/handlers.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/lzma.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/mailbox.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/mailcap.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/mimetypes.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/modulefinder.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/netrc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/nntplib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/ntpath.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/nturl2path.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/numbers.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/opcode.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/operator.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/optparse.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/os.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/pathlib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/pdb.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/pickle.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/pickletools.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/pipes.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/pkgutil.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/platform.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/plistlib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/poplib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/posixpath.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/pprint.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/profile.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/pstats.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/pty.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/py_compile.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/pyclbr.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/pydoc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/queue.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/quopri.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/random.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/re/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/re/__pycache__/_casefix.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/re/__pycache__/_compiler.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/re/__pycache__/_constants.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/re/__pycache__/_parser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/reprlib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/rlcompleter.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/runpy.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/sched.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/secrets.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/selectors.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/shelve.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/shlex.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/shutil.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/signal.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/site.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/smtpd.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/smtplib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/sndhdr.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/socket.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/socketserver.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/sqlite3/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/sqlite3/__pycache__/dbapi2.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/sqlite3/__pycache__/dump.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/sre_compile.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/sre_constants.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/sre_parse.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/ssl.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/stat.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/statistics.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/string.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/stringprep.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/struct.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/subprocess.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/sunau.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/symtable.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/sysconfig.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/tabnanny.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/tarfile.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/telnetlib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/tempfile.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/textwrap.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/this.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/threading.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/timeit.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/token.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/tokenize.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/tomllib/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/tomllib/__pycache__/_parser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/tomllib/__pycache__/_re.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/tomllib/__pycache__/_types.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/trace.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/traceback.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/tracemalloc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/tty.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/types.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/typing.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/urllib/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/urllib/__pycache__/error.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/urllib/__pycache__/parse.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/urllib/__pycache__/request.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/urllib/__pycache__/response.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/urllib/__pycache__/robotparser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/uu.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/uuid.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/warnings.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/wave.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/weakref.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/webbrowser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/xdrlib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/xml/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/xml/dom/__pycache__/NodeFilter.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/xml/dom/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/xml/dom/__pycache__/domreg.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/xml/dom/__pycache__/expatbuilder.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/xml/dom/__pycache__/minicompat.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/xml/dom/__pycache__/minidom.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/xml/dom/__pycache__/pulldom.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/xml/dom/__pycache__/xmlbuilder.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/xml/etree/__pycache__/ElementInclude.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/xml/etree/__pycache__/ElementPath.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/xml/etree/__pycache__/ElementTree.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/xml/etree/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/xml/etree/__pycache__/cElementTree.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/xml/parsers/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/xml/parsers/__pycache__/expat.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/xml/sax/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/xml/sax/__pycache__/_exceptions.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/xml/sax/__pycache__/expatreader.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/xml/sax/__pycache__/handler.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/xml/sax/__pycache__/saxutils.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/xml/sax/__pycache__/xmlreader.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/xmlrpc/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/xmlrpc/__pycache__/client.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/xmlrpc/__pycache__/server.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/zipapp.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/zipfile.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/__pycache__/zipimport.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/zoneinfo/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/zoneinfo/__pycache__/_common.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/zoneinfo/__pycache__/_tzpath.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-apple/zoneinfo/__pycache__/_zoneinfo.cpython-311.opt-1.pyc + $(BUILD_DIR)/pylib-apple/__pycache__/__future__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/__hello__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/_aix_support.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/_collections_abc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/_compat_pickle.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/_compression.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/_ios_support.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/_markupbase.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/_osx_support.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/_py_abc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/_pydatetime.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/_pydecimal.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/_pyio.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/_pylong.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/_sitebuiltins.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/_strptime.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/_sysconfigdata__darwin_darwin.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/_sysconfigdata__ios_iphoneos-arm64.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/_sysconfigdata__ios_iphonesimulator-arm64.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/_sysconfigdata__tvos_appletvos-arm64.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/_sysconfigdata__tvos_appletvsimulator-arm64.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/_sysconfigdata_d_darwin_darwin.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/_sysconfigdata_d_ios_iphoneos-arm64.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/_sysconfigdata_d_ios_iphonesimulator-arm64.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/_sysconfigdata_d_tvos_appletvos-arm64.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/_sysconfigdata_d_tvos_appletvsimulator-arm64.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/_threading_local.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/_weakrefset.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/abc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/aifc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/antigravity.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/argparse.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/ast.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/__main__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/base_events.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/base_futures.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/base_subprocess.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/base_tasks.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/constants.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/coroutines.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/events.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/exceptions.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/format_helpers.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/futures.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/locks.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/log.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/mixins.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/proactor_events.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/protocols.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/queues.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/runners.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/selector_events.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/sslproto.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/staggered.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/streams.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/subprocess.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/taskgroups.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/tasks.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/threads.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/timeouts.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/transports.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/trsock.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/unix_events.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/windows_events.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/asyncio/__pycache__/windows_utils.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/base64.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/bdb.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/bisect.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/bz2.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/cProfile.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/calendar.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/cgi.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/cgitb.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/chunk.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/cmd.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/code.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/codecs.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/codeop.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/collections/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/collections/__pycache__/abc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/colorsys.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/compileall.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/concurrent/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/concurrent/futures/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/concurrent/futures/__pycache__/_base.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/concurrent/futures/__pycache__/process.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/concurrent/futures/__pycache__/thread.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/configparser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/contextlib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/contextvars.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/copy.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/copyreg.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/crypt.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/csv.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/ctypes/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/ctypes/__pycache__/_aix.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/ctypes/__pycache__/_endian.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/ctypes/macholib/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/ctypes/macholib/__pycache__/dyld.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/ctypes/macholib/__pycache__/dylib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/ctypes/macholib/__pycache__/framework.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/ctypes/__pycache__/util.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/ctypes/__pycache__/wintypes.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/curses/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/curses/__pycache__/ascii.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/curses/__pycache__/has_key.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/curses/__pycache__/panel.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/curses/__pycache__/textpad.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/dataclasses.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/datetime.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/decimal.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/difflib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/dis.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/doctest.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/email/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/email/__pycache__/_encoded_words.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/email/__pycache__/_header_value_parser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/email/__pycache__/_parseaddr.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/email/__pycache__/_policybase.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/email/__pycache__/base64mime.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/email/__pycache__/charset.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/email/__pycache__/contentmanager.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/email/__pycache__/encoders.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/email/__pycache__/errors.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/email/__pycache__/feedparser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/email/__pycache__/generator.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/email/__pycache__/header.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/email/__pycache__/headerregistry.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/email/__pycache__/iterators.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/email/__pycache__/message.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/email/mime/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/email/mime/__pycache__/application.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/email/mime/__pycache__/audio.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/email/mime/__pycache__/base.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/email/mime/__pycache__/image.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/email/mime/__pycache__/message.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/email/mime/__pycache__/multipart.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/email/mime/__pycache__/nonmultipart.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/email/mime/__pycache__/text.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/email/__pycache__/parser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/email/__pycache__/policy.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/email/__pycache__/quoprimime.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/email/__pycache__/utils.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/aliases.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/ascii.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/base64_codec.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/big5.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/big5hkscs.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/bz2_codec.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/charmap.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp037.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp1006.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp1026.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp1125.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp1140.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp1250.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp1251.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp1252.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp1253.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp1254.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp1255.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp1256.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp1257.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp1258.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp273.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp424.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp437.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp500.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp720.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp737.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp775.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp850.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp852.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp855.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp856.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp857.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp858.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp860.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp861.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp862.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp863.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp864.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp865.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp866.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp869.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp874.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp875.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp932.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp949.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/cp950.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/euc_jis_2004.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/euc_jisx0213.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/euc_jp.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/euc_kr.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/gb18030.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/gb2312.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/gbk.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/hex_codec.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/hp_roman8.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/hz.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/idna.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso2022_jp.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso2022_jp_1.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso2022_jp_2.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso2022_jp_2004.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso2022_jp_3.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso2022_jp_ext.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso2022_kr.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso8859_1.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso8859_10.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso8859_11.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso8859_13.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso8859_14.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso8859_15.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso8859_16.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso8859_2.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso8859_3.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso8859_4.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso8859_5.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso8859_6.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso8859_7.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso8859_8.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/iso8859_9.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/johab.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/koi8_r.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/koi8_t.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/koi8_u.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/kz1048.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/latin_1.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/mac_arabic.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/mac_croatian.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/mac_cyrillic.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/mac_farsi.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/mac_greek.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/mac_iceland.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/mac_latin2.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/mac_roman.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/mac_romanian.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/mac_turkish.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/mbcs.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/oem.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/palmos.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/ptcp154.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/punycode.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/quopri_codec.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/raw_unicode_escape.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/rot_13.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/shift_jis.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/shift_jis_2004.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/shift_jisx0213.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/tis_620.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/undefined.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/unicode_escape.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/utf_16.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/utf_16_be.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/utf_16_le.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/utf_32.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/utf_32_be.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/utf_32_le.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/utf_7.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/utf_8.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/utf_8_sig.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/uu_codec.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/encodings/__pycache__/zlib_codec.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/enum.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/filecmp.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/fileinput.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/fnmatch.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/fractions.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/ftplib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/functools.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/genericpath.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/getopt.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/getpass.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/gettext.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/glob.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/graphlib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/gzip.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/hashlib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/heapq.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/hmac.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/html/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/html/__pycache__/entities.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/html/__pycache__/parser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/http/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/http/__pycache__/client.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/http/__pycache__/cookiejar.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/http/__pycache__/cookies.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/http/__pycache__/server.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/imghdr.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/importlib/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/importlib/__pycache__/_abc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/importlib/__pycache__/_bootstrap.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/importlib/__pycache__/_bootstrap_external.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/importlib/__pycache__/abc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/importlib/__pycache__/machinery.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/importlib/metadata/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/importlib/metadata/__pycache__/_adapters.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/importlib/metadata/__pycache__/_collections.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/importlib/metadata/__pycache__/_functools.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/importlib/metadata/__pycache__/_itertools.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/importlib/metadata/__pycache__/_meta.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/importlib/metadata/__pycache__/_text.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/importlib/__pycache__/readers.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/importlib/resources/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/importlib/resources/__pycache__/_adapters.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/importlib/resources/__pycache__/_common.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/importlib/resources/__pycache__/_itertools.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/importlib/resources/__pycache__/_legacy.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/importlib/resources/__pycache__/abc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/importlib/resources/__pycache__/readers.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/importlib/resources/__pycache__/simple.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/importlib/__pycache__/simple.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/importlib/__pycache__/util.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/inspect.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/io.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/ipaddress.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/json/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/json/__pycache__/decoder.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/json/__pycache__/encoder.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/json/__pycache__/scanner.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/json/__pycache__/tool.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/keyword.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/linecache.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/locale.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/logging/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/logging/__pycache__/config.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/logging/__pycache__/handlers.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/lzma.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/mailbox.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/mailcap.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/mimetypes.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/modulefinder.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/netrc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/nntplib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/ntpath.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/nturl2path.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/numbers.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/opcode.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/operator.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/optparse.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/os.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/pathlib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/pdb.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/pickle.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/pickletools.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/pipes.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/pkgutil.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/platform.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/plistlib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/poplib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/posixpath.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/pprint.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/profile.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/pstats.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/pty.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/py_compile.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/pyclbr.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/pydoc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/queue.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/quopri.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/random.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/re/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/re/__pycache__/_casefix.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/re/__pycache__/_compiler.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/re/__pycache__/_constants.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/re/__pycache__/_parser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/reprlib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/rlcompleter.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/runpy.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/sched.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/secrets.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/selectors.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/shelve.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/shlex.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/shutil.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/signal.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/site.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/smtplib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/sndhdr.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/socket.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/socketserver.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/sqlite3/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/sqlite3/__pycache__/__main__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/sqlite3/__pycache__/dbapi2.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/sqlite3/__pycache__/dump.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/sre_compile.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/sre_constants.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/sre_parse.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/ssl.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/stat.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/statistics.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/string.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/stringprep.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/struct.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/subprocess.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/sunau.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/symtable.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/sysconfig.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/tabnanny.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/tarfile.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/telnetlib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/tempfile.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/textwrap.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/this.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/threading.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/timeit.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/token.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/tokenize.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/tomllib/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/tomllib/__pycache__/_parser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/tomllib/__pycache__/_re.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/tomllib/__pycache__/_types.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/trace.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/traceback.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/tracemalloc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/tty.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/types.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/typing.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/urllib/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/urllib/__pycache__/error.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/urllib/__pycache__/parse.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/urllib/__pycache__/request.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/urllib/__pycache__/response.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/urllib/__pycache__/robotparser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/uu.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/uuid.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/warnings.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/wave.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/weakref.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/webbrowser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/xdrlib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/xml/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/xml/dom/__pycache__/NodeFilter.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/xml/dom/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/xml/dom/__pycache__/domreg.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/xml/dom/__pycache__/expatbuilder.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/xml/dom/__pycache__/minicompat.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/xml/dom/__pycache__/minidom.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/xml/dom/__pycache__/pulldom.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/xml/dom/__pycache__/xmlbuilder.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/xml/etree/__pycache__/ElementInclude.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/xml/etree/__pycache__/ElementPath.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/xml/etree/__pycache__/ElementTree.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/xml/etree/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/xml/etree/__pycache__/cElementTree.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/xml/parsers/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/xml/parsers/__pycache__/expat.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/xml/sax/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/xml/sax/__pycache__/_exceptions.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/xml/sax/__pycache__/expatreader.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/xml/sax/__pycache__/handler.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/xml/sax/__pycache__/saxutils.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/xml/sax/__pycache__/xmlreader.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/xmlrpc/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/xmlrpc/__pycache__/client.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/xmlrpc/__pycache__/server.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/zipapp.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/zipfile/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/zipfile/__pycache__/__main__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/zipfile/_path/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/zipfile/_path/__pycache__/glob.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/__pycache__/zipimport.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/zoneinfo/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/zoneinfo/__pycache__/_common.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/zoneinfo/__pycache__/_tzpath.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-apple/zoneinfo/__pycache__/_zoneinfo.cpython-312.opt-1.pyc # Rule to copy src asset scripts to dst. # (and make non-writable so I'm less likely to accidentally edit them there) @@ -1782,25 +1760,20 @@ SCRIPT_TARGETS_PY_PRIVATE_ANDROID = \ $(BUILD_DIR)/pylib-android/__future__.py \ $(BUILD_DIR)/pylib-android/__hello__.py \ $(BUILD_DIR)/pylib-android/_aix_support.py \ - $(BUILD_DIR)/pylib-android/_bootsubprocess.py \ $(BUILD_DIR)/pylib-android/_collections_abc.py \ $(BUILD_DIR)/pylib-android/_compat_pickle.py \ $(BUILD_DIR)/pylib-android/_compression.py \ $(BUILD_DIR)/pylib-android/_markupbase.py \ $(BUILD_DIR)/pylib-android/_osx_support.py \ $(BUILD_DIR)/pylib-android/_py_abc.py \ + $(BUILD_DIR)/pylib-android/_pydatetime.py \ $(BUILD_DIR)/pylib-android/_pydecimal.py \ $(BUILD_DIR)/pylib-android/_pyio.py \ + $(BUILD_DIR)/pylib-android/_pylong.py \ $(BUILD_DIR)/pylib-android/_sitebuiltins.py \ $(BUILD_DIR)/pylib-android/_strptime.py \ - $(BUILD_DIR)/pylib-android/_sysconfigdata__linux_aarch64-linux-android.py \ - $(BUILD_DIR)/pylib-android/_sysconfigdata__linux_arm-linux-androideabi.py \ - $(BUILD_DIR)/pylib-android/_sysconfigdata__linux_i686-linux-android.py \ - $(BUILD_DIR)/pylib-android/_sysconfigdata__linux_x86_64-linux-android.py \ - $(BUILD_DIR)/pylib-android/_sysconfigdata_d_linux_aarch64-linux-android.py \ - $(BUILD_DIR)/pylib-android/_sysconfigdata_d_linux_arm-linux-androideabi.py \ - $(BUILD_DIR)/pylib-android/_sysconfigdata_d_linux_i686-linux-android.py \ - $(BUILD_DIR)/pylib-android/_sysconfigdata_d_linux_x86_64-linux-android.py \ + $(BUILD_DIR)/pylib-android/_sysconfigdata__linux_.py \ + $(BUILD_DIR)/pylib-android/_sysconfigdata_d_linux_.py \ $(BUILD_DIR)/pylib-android/_threading_local.py \ $(BUILD_DIR)/pylib-android/_weakrefset.py \ $(BUILD_DIR)/pylib-android/abc.py \ @@ -1808,7 +1781,6 @@ SCRIPT_TARGETS_PY_PRIVATE_ANDROID = \ $(BUILD_DIR)/pylib-android/antigravity.py \ $(BUILD_DIR)/pylib-android/argparse.py \ $(BUILD_DIR)/pylib-android/ast.py \ - $(BUILD_DIR)/pylib-android/asynchat.py \ $(BUILD_DIR)/pylib-android/asyncio/__init__.py \ $(BUILD_DIR)/pylib-android/asyncio/__main__.py \ $(BUILD_DIR)/pylib-android/asyncio/base_events.py \ @@ -1842,7 +1814,6 @@ SCRIPT_TARGETS_PY_PRIVATE_ANDROID = \ $(BUILD_DIR)/pylib-android/asyncio/unix_events.py \ $(BUILD_DIR)/pylib-android/asyncio/windows_events.py \ $(BUILD_DIR)/pylib-android/asyncio/windows_utils.py \ - $(BUILD_DIR)/pylib-android/asyncore.py \ $(BUILD_DIR)/pylib-android/base64.py \ $(BUILD_DIR)/pylib-android/bdb.py \ $(BUILD_DIR)/pylib-android/bisect.py \ @@ -2069,7 +2040,6 @@ SCRIPT_TARGETS_PY_PRIVATE_ANDROID = \ $(BUILD_DIR)/pylib-android/http/cookies.py \ $(BUILD_DIR)/pylib-android/http/server.py \ $(BUILD_DIR)/pylib-android/imghdr.py \ - $(BUILD_DIR)/pylib-android/imp.py \ $(BUILD_DIR)/pylib-android/importlib/__init__.py \ $(BUILD_DIR)/pylib-android/importlib/_abc.py \ $(BUILD_DIR)/pylib-android/importlib/_bootstrap.py \ @@ -2158,12 +2128,12 @@ SCRIPT_TARGETS_PY_PRIVATE_ANDROID = \ $(BUILD_DIR)/pylib-android/shutil.py \ $(BUILD_DIR)/pylib-android/signal.py \ $(BUILD_DIR)/pylib-android/site.py \ - $(BUILD_DIR)/pylib-android/smtpd.py \ $(BUILD_DIR)/pylib-android/smtplib.py \ $(BUILD_DIR)/pylib-android/sndhdr.py \ $(BUILD_DIR)/pylib-android/socket.py \ $(BUILD_DIR)/pylib-android/socketserver.py \ $(BUILD_DIR)/pylib-android/sqlite3/__init__.py \ + $(BUILD_DIR)/pylib-android/sqlite3/__main__.py \ $(BUILD_DIR)/pylib-android/sqlite3/dbapi2.py \ $(BUILD_DIR)/pylib-android/sqlite3/dump.py \ $(BUILD_DIR)/pylib-android/sre_compile.py \ @@ -2238,7 +2208,10 @@ SCRIPT_TARGETS_PY_PRIVATE_ANDROID = \ $(BUILD_DIR)/pylib-android/xmlrpc/client.py \ $(BUILD_DIR)/pylib-android/xmlrpc/server.py \ $(BUILD_DIR)/pylib-android/zipapp.py \ - $(BUILD_DIR)/pylib-android/zipfile.py \ + $(BUILD_DIR)/pylib-android/zipfile/__init__.py \ + $(BUILD_DIR)/pylib-android/zipfile/__main__.py \ + $(BUILD_DIR)/pylib-android/zipfile/_path/__init__.py \ + $(BUILD_DIR)/pylib-android/zipfile/_path/glob.py \ $(BUILD_DIR)/pylib-android/zipimport.py \ $(BUILD_DIR)/pylib-android/zoneinfo/__init__.py \ $(BUILD_DIR)/pylib-android/zoneinfo/_common.py \ @@ -2246,471 +2219,466 @@ SCRIPT_TARGETS_PY_PRIVATE_ANDROID = \ $(BUILD_DIR)/pylib-android/zoneinfo/_zoneinfo.py SCRIPT_TARGETS_PYC_PRIVATE_ANDROID = \ - $(BUILD_DIR)/pylib-android/__pycache__/__future__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/__hello__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/_aix_support.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/_bootsubprocess.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/_collections_abc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/_compat_pickle.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/_compression.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/_markupbase.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/_osx_support.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/_py_abc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/_pydecimal.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/_pyio.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/_sitebuiltins.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/_strptime.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/_sysconfigdata__linux_aarch64-linux-android.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/_sysconfigdata__linux_arm-linux-androideabi.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/_sysconfigdata__linux_i686-linux-android.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/_sysconfigdata__linux_x86_64-linux-android.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/_sysconfigdata_d_linux_aarch64-linux-android.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/_sysconfigdata_d_linux_arm-linux-androideabi.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/_sysconfigdata_d_linux_i686-linux-android.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/_sysconfigdata_d_linux_x86_64-linux-android.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/_threading_local.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/_weakrefset.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/abc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/aifc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/antigravity.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/argparse.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/ast.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/asynchat.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/asyncio/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/asyncio/__pycache__/__main__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/asyncio/__pycache__/base_events.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/asyncio/__pycache__/base_futures.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/asyncio/__pycache__/base_subprocess.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/asyncio/__pycache__/base_tasks.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/asyncio/__pycache__/constants.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/asyncio/__pycache__/coroutines.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/asyncio/__pycache__/events.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/asyncio/__pycache__/exceptions.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/asyncio/__pycache__/format_helpers.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/asyncio/__pycache__/futures.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/asyncio/__pycache__/locks.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/asyncio/__pycache__/log.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/asyncio/__pycache__/mixins.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/asyncio/__pycache__/proactor_events.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/asyncio/__pycache__/protocols.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/asyncio/__pycache__/queues.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/asyncio/__pycache__/runners.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/asyncio/__pycache__/selector_events.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/asyncio/__pycache__/sslproto.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/asyncio/__pycache__/staggered.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/asyncio/__pycache__/streams.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/asyncio/__pycache__/subprocess.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/asyncio/__pycache__/taskgroups.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/asyncio/__pycache__/tasks.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/asyncio/__pycache__/threads.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/asyncio/__pycache__/timeouts.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/asyncio/__pycache__/transports.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/asyncio/__pycache__/trsock.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/asyncio/__pycache__/unix_events.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/asyncio/__pycache__/windows_events.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/asyncio/__pycache__/windows_utils.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/asyncore.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/base64.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/bdb.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/bisect.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/bz2.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/cProfile.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/calendar.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/cgi.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/cgitb.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/chunk.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/cmd.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/code.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/codecs.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/codeop.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/collections/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/collections/__pycache__/abc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/colorsys.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/compileall.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/concurrent/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/concurrent/futures/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/concurrent/futures/__pycache__/_base.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/concurrent/futures/__pycache__/process.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/concurrent/futures/__pycache__/thread.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/configparser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/contextlib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/contextvars.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/copy.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/copyreg.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/crypt.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/csv.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/ctypes/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/ctypes/__pycache__/_aix.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/ctypes/__pycache__/_endian.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/ctypes/macholib/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/ctypes/macholib/__pycache__/dyld.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/ctypes/macholib/__pycache__/dylib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/ctypes/macholib/__pycache__/framework.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/ctypes/__pycache__/util.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/ctypes/__pycache__/wintypes.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/curses/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/curses/__pycache__/ascii.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/curses/__pycache__/has_key.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/curses/__pycache__/panel.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/curses/__pycache__/textpad.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/dataclasses.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/datetime.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/decimal.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/difflib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/dis.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/doctest.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/email/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/email/__pycache__/_encoded_words.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/email/__pycache__/_header_value_parser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/email/__pycache__/_parseaddr.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/email/__pycache__/_policybase.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/email/__pycache__/base64mime.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/email/__pycache__/charset.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/email/__pycache__/contentmanager.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/email/__pycache__/encoders.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/email/__pycache__/errors.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/email/__pycache__/feedparser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/email/__pycache__/generator.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/email/__pycache__/header.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/email/__pycache__/headerregistry.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/email/__pycache__/iterators.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/email/__pycache__/message.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/email/mime/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/email/mime/__pycache__/application.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/email/mime/__pycache__/audio.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/email/mime/__pycache__/base.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/email/mime/__pycache__/image.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/email/mime/__pycache__/message.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/email/mime/__pycache__/multipart.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/email/mime/__pycache__/nonmultipart.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/email/mime/__pycache__/text.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/email/__pycache__/parser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/email/__pycache__/policy.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/email/__pycache__/quoprimime.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/email/__pycache__/utils.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/aliases.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/ascii.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/base64_codec.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/big5.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/big5hkscs.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/bz2_codec.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/charmap.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp037.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp1006.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp1026.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp1125.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp1140.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp1250.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp1251.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp1252.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp1253.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp1254.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp1255.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp1256.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp1257.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp1258.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp273.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp424.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp437.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp500.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp720.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp737.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp775.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp850.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp852.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp855.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp856.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp857.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp858.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp860.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp861.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp862.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp863.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp864.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp865.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp866.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp869.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp874.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp875.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp932.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp949.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp950.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/euc_jis_2004.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/euc_jisx0213.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/euc_jp.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/euc_kr.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/gb18030.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/gb2312.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/gbk.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/hex_codec.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/hp_roman8.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/hz.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/idna.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso2022_jp.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso2022_jp_1.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso2022_jp_2.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso2022_jp_2004.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso2022_jp_3.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso2022_jp_ext.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso2022_kr.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso8859_1.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso8859_10.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso8859_11.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso8859_13.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso8859_14.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso8859_15.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso8859_16.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso8859_2.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso8859_3.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso8859_4.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso8859_5.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso8859_6.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso8859_7.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso8859_8.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso8859_9.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/johab.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/koi8_r.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/koi8_t.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/koi8_u.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/kz1048.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/latin_1.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/mac_arabic.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/mac_croatian.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/mac_cyrillic.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/mac_farsi.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/mac_greek.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/mac_iceland.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/mac_latin2.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/mac_roman.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/mac_romanian.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/mac_turkish.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/mbcs.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/oem.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/palmos.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/ptcp154.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/punycode.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/quopri_codec.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/raw_unicode_escape.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/rot_13.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/shift_jis.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/shift_jis_2004.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/shift_jisx0213.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/tis_620.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/undefined.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/unicode_escape.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/utf_16.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/utf_16_be.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/utf_16_le.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/utf_32.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/utf_32_be.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/utf_32_le.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/utf_7.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/utf_8.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/utf_8_sig.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/uu_codec.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/encodings/__pycache__/zlib_codec.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/enum.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/filecmp.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/fileinput.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/fnmatch.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/fractions.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/ftplib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/functools.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/genericpath.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/getopt.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/getpass.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/gettext.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/glob.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/graphlib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/gzip.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/hashlib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/heapq.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/hmac.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/html/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/html/__pycache__/entities.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/html/__pycache__/parser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/http/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/http/__pycache__/client.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/http/__pycache__/cookiejar.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/http/__pycache__/cookies.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/http/__pycache__/server.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/imghdr.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/imp.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/importlib/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/importlib/__pycache__/_abc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/importlib/__pycache__/_bootstrap.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/importlib/__pycache__/_bootstrap_external.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/importlib/__pycache__/abc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/importlib/__pycache__/machinery.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/importlib/metadata/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/importlib/metadata/__pycache__/_adapters.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/importlib/metadata/__pycache__/_collections.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/importlib/metadata/__pycache__/_functools.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/importlib/metadata/__pycache__/_itertools.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/importlib/metadata/__pycache__/_meta.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/importlib/metadata/__pycache__/_text.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/importlib/__pycache__/readers.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/importlib/resources/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/importlib/resources/__pycache__/_adapters.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/importlib/resources/__pycache__/_common.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/importlib/resources/__pycache__/_itertools.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/importlib/resources/__pycache__/_legacy.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/importlib/resources/__pycache__/abc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/importlib/resources/__pycache__/readers.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/importlib/resources/__pycache__/simple.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/importlib/__pycache__/simple.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/importlib/__pycache__/util.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/inspect.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/io.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/ipaddress.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/json/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/json/__pycache__/decoder.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/json/__pycache__/encoder.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/json/__pycache__/scanner.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/json/__pycache__/tool.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/keyword.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/linecache.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/locale.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/logging/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/logging/__pycache__/config.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/logging/__pycache__/handlers.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/lzma.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/mailbox.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/mailcap.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/mimetypes.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/modulefinder.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/netrc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/nntplib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/ntpath.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/nturl2path.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/numbers.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/opcode.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/operator.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/optparse.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/os.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/pathlib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/pdb.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/pickle.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/pickletools.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/pipes.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/pkgutil.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/platform.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/plistlib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/poplib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/posixpath.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/pprint.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/profile.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/pstats.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/pty.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/py_compile.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/pyclbr.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/pydoc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/queue.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/quopri.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/random.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/re/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/re/__pycache__/_casefix.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/re/__pycache__/_compiler.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/re/__pycache__/_constants.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/re/__pycache__/_parser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/reprlib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/rlcompleter.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/runpy.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/sched.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/secrets.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/selectors.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/shelve.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/shlex.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/shutil.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/signal.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/site.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/smtpd.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/smtplib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/sndhdr.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/socket.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/socketserver.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/sqlite3/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/sqlite3/__pycache__/dbapi2.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/sqlite3/__pycache__/dump.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/sre_compile.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/sre_constants.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/sre_parse.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/ssl.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/stat.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/statistics.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/string.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/stringprep.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/struct.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/subprocess.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/sunau.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/symtable.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/sysconfig.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/tabnanny.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/tarfile.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/telnetlib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/tempfile.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/textwrap.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/this.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/threading.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/timeit.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/token.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/tokenize.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/tomllib/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/tomllib/__pycache__/_parser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/tomllib/__pycache__/_re.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/tomllib/__pycache__/_types.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/trace.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/traceback.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/tracemalloc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/tty.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/types.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/typing.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/urllib/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/urllib/__pycache__/error.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/urllib/__pycache__/parse.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/urllib/__pycache__/request.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/urllib/__pycache__/response.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/urllib/__pycache__/robotparser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/uu.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/uuid.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/warnings.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/wave.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/weakref.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/webbrowser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/xdrlib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/xml/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/xml/dom/__pycache__/NodeFilter.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/xml/dom/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/xml/dom/__pycache__/domreg.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/xml/dom/__pycache__/expatbuilder.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/xml/dom/__pycache__/minicompat.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/xml/dom/__pycache__/minidom.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/xml/dom/__pycache__/pulldom.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/xml/dom/__pycache__/xmlbuilder.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/xml/etree/__pycache__/ElementInclude.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/xml/etree/__pycache__/ElementPath.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/xml/etree/__pycache__/ElementTree.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/xml/etree/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/xml/etree/__pycache__/cElementTree.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/xml/parsers/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/xml/parsers/__pycache__/expat.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/xml/sax/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/xml/sax/__pycache__/_exceptions.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/xml/sax/__pycache__/expatreader.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/xml/sax/__pycache__/handler.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/xml/sax/__pycache__/saxutils.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/xml/sax/__pycache__/xmlreader.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/xmlrpc/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/xmlrpc/__pycache__/client.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/xmlrpc/__pycache__/server.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/zipapp.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/zipfile.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/__pycache__/zipimport.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/zoneinfo/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/zoneinfo/__pycache__/_common.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/zoneinfo/__pycache__/_tzpath.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/pylib-android/zoneinfo/__pycache__/_zoneinfo.cpython-311.opt-1.pyc + $(BUILD_DIR)/pylib-android/__pycache__/__future__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/__hello__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/_aix_support.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/_collections_abc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/_compat_pickle.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/_compression.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/_markupbase.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/_osx_support.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/_py_abc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/_pydatetime.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/_pydecimal.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/_pyio.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/_pylong.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/_sitebuiltins.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/_strptime.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/_sysconfigdata__linux_.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/_sysconfigdata_d_linux_.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/_threading_local.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/_weakrefset.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/abc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/aifc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/antigravity.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/argparse.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/ast.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/asyncio/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/asyncio/__pycache__/__main__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/asyncio/__pycache__/base_events.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/asyncio/__pycache__/base_futures.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/asyncio/__pycache__/base_subprocess.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/asyncio/__pycache__/base_tasks.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/asyncio/__pycache__/constants.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/asyncio/__pycache__/coroutines.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/asyncio/__pycache__/events.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/asyncio/__pycache__/exceptions.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/asyncio/__pycache__/format_helpers.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/asyncio/__pycache__/futures.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/asyncio/__pycache__/locks.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/asyncio/__pycache__/log.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/asyncio/__pycache__/mixins.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/asyncio/__pycache__/proactor_events.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/asyncio/__pycache__/protocols.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/asyncio/__pycache__/queues.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/asyncio/__pycache__/runners.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/asyncio/__pycache__/selector_events.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/asyncio/__pycache__/sslproto.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/asyncio/__pycache__/staggered.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/asyncio/__pycache__/streams.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/asyncio/__pycache__/subprocess.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/asyncio/__pycache__/taskgroups.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/asyncio/__pycache__/tasks.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/asyncio/__pycache__/threads.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/asyncio/__pycache__/timeouts.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/asyncio/__pycache__/transports.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/asyncio/__pycache__/trsock.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/asyncio/__pycache__/unix_events.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/asyncio/__pycache__/windows_events.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/asyncio/__pycache__/windows_utils.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/base64.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/bdb.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/bisect.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/bz2.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/cProfile.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/calendar.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/cgi.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/cgitb.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/chunk.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/cmd.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/code.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/codecs.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/codeop.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/collections/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/collections/__pycache__/abc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/colorsys.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/compileall.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/concurrent/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/concurrent/futures/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/concurrent/futures/__pycache__/_base.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/concurrent/futures/__pycache__/process.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/concurrent/futures/__pycache__/thread.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/configparser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/contextlib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/contextvars.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/copy.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/copyreg.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/crypt.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/csv.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/ctypes/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/ctypes/__pycache__/_aix.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/ctypes/__pycache__/_endian.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/ctypes/macholib/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/ctypes/macholib/__pycache__/dyld.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/ctypes/macholib/__pycache__/dylib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/ctypes/macholib/__pycache__/framework.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/ctypes/__pycache__/util.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/ctypes/__pycache__/wintypes.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/curses/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/curses/__pycache__/ascii.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/curses/__pycache__/has_key.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/curses/__pycache__/panel.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/curses/__pycache__/textpad.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/dataclasses.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/datetime.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/decimal.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/difflib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/dis.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/doctest.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/email/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/email/__pycache__/_encoded_words.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/email/__pycache__/_header_value_parser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/email/__pycache__/_parseaddr.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/email/__pycache__/_policybase.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/email/__pycache__/base64mime.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/email/__pycache__/charset.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/email/__pycache__/contentmanager.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/email/__pycache__/encoders.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/email/__pycache__/errors.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/email/__pycache__/feedparser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/email/__pycache__/generator.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/email/__pycache__/header.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/email/__pycache__/headerregistry.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/email/__pycache__/iterators.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/email/__pycache__/message.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/email/mime/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/email/mime/__pycache__/application.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/email/mime/__pycache__/audio.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/email/mime/__pycache__/base.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/email/mime/__pycache__/image.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/email/mime/__pycache__/message.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/email/mime/__pycache__/multipart.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/email/mime/__pycache__/nonmultipart.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/email/mime/__pycache__/text.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/email/__pycache__/parser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/email/__pycache__/policy.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/email/__pycache__/quoprimime.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/email/__pycache__/utils.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/aliases.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/ascii.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/base64_codec.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/big5.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/big5hkscs.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/bz2_codec.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/charmap.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp037.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp1006.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp1026.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp1125.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp1140.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp1250.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp1251.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp1252.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp1253.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp1254.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp1255.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp1256.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp1257.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp1258.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp273.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp424.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp437.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp500.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp720.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp737.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp775.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp850.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp852.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp855.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp856.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp857.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp858.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp860.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp861.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp862.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp863.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp864.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp865.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp866.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp869.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp874.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp875.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp932.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp949.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/cp950.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/euc_jis_2004.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/euc_jisx0213.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/euc_jp.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/euc_kr.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/gb18030.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/gb2312.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/gbk.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/hex_codec.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/hp_roman8.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/hz.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/idna.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso2022_jp.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso2022_jp_1.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso2022_jp_2.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso2022_jp_2004.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso2022_jp_3.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso2022_jp_ext.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso2022_kr.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso8859_1.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso8859_10.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso8859_11.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso8859_13.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso8859_14.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso8859_15.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso8859_16.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso8859_2.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso8859_3.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso8859_4.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso8859_5.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso8859_6.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso8859_7.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso8859_8.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/iso8859_9.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/johab.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/koi8_r.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/koi8_t.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/koi8_u.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/kz1048.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/latin_1.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/mac_arabic.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/mac_croatian.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/mac_cyrillic.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/mac_farsi.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/mac_greek.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/mac_iceland.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/mac_latin2.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/mac_roman.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/mac_romanian.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/mac_turkish.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/mbcs.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/oem.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/palmos.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/ptcp154.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/punycode.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/quopri_codec.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/raw_unicode_escape.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/rot_13.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/shift_jis.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/shift_jis_2004.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/shift_jisx0213.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/tis_620.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/undefined.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/unicode_escape.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/utf_16.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/utf_16_be.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/utf_16_le.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/utf_32.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/utf_32_be.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/utf_32_le.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/utf_7.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/utf_8.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/utf_8_sig.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/uu_codec.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/encodings/__pycache__/zlib_codec.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/enum.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/filecmp.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/fileinput.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/fnmatch.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/fractions.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/ftplib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/functools.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/genericpath.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/getopt.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/getpass.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/gettext.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/glob.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/graphlib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/gzip.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/hashlib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/heapq.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/hmac.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/html/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/html/__pycache__/entities.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/html/__pycache__/parser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/http/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/http/__pycache__/client.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/http/__pycache__/cookiejar.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/http/__pycache__/cookies.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/http/__pycache__/server.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/imghdr.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/importlib/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/importlib/__pycache__/_abc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/importlib/__pycache__/_bootstrap.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/importlib/__pycache__/_bootstrap_external.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/importlib/__pycache__/abc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/importlib/__pycache__/machinery.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/importlib/metadata/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/importlib/metadata/__pycache__/_adapters.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/importlib/metadata/__pycache__/_collections.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/importlib/metadata/__pycache__/_functools.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/importlib/metadata/__pycache__/_itertools.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/importlib/metadata/__pycache__/_meta.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/importlib/metadata/__pycache__/_text.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/importlib/__pycache__/readers.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/importlib/resources/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/importlib/resources/__pycache__/_adapters.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/importlib/resources/__pycache__/_common.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/importlib/resources/__pycache__/_itertools.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/importlib/resources/__pycache__/_legacy.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/importlib/resources/__pycache__/abc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/importlib/resources/__pycache__/readers.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/importlib/resources/__pycache__/simple.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/importlib/__pycache__/simple.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/importlib/__pycache__/util.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/inspect.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/io.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/ipaddress.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/json/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/json/__pycache__/decoder.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/json/__pycache__/encoder.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/json/__pycache__/scanner.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/json/__pycache__/tool.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/keyword.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/linecache.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/locale.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/logging/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/logging/__pycache__/config.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/logging/__pycache__/handlers.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/lzma.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/mailbox.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/mailcap.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/mimetypes.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/modulefinder.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/netrc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/nntplib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/ntpath.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/nturl2path.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/numbers.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/opcode.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/operator.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/optparse.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/os.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/pathlib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/pdb.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/pickle.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/pickletools.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/pipes.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/pkgutil.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/platform.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/plistlib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/poplib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/posixpath.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/pprint.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/profile.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/pstats.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/pty.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/py_compile.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/pyclbr.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/pydoc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/queue.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/quopri.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/random.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/re/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/re/__pycache__/_casefix.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/re/__pycache__/_compiler.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/re/__pycache__/_constants.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/re/__pycache__/_parser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/reprlib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/rlcompleter.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/runpy.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/sched.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/secrets.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/selectors.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/shelve.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/shlex.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/shutil.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/signal.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/site.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/smtplib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/sndhdr.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/socket.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/socketserver.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/sqlite3/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/sqlite3/__pycache__/__main__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/sqlite3/__pycache__/dbapi2.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/sqlite3/__pycache__/dump.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/sre_compile.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/sre_constants.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/sre_parse.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/ssl.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/stat.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/statistics.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/string.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/stringprep.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/struct.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/subprocess.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/sunau.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/symtable.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/sysconfig.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/tabnanny.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/tarfile.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/telnetlib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/tempfile.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/textwrap.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/this.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/threading.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/timeit.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/token.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/tokenize.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/tomllib/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/tomllib/__pycache__/_parser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/tomllib/__pycache__/_re.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/tomllib/__pycache__/_types.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/trace.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/traceback.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/tracemalloc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/tty.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/types.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/typing.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/urllib/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/urllib/__pycache__/error.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/urllib/__pycache__/parse.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/urllib/__pycache__/request.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/urllib/__pycache__/response.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/urllib/__pycache__/robotparser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/uu.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/uuid.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/warnings.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/wave.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/weakref.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/webbrowser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/xdrlib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/xml/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/xml/dom/__pycache__/NodeFilter.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/xml/dom/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/xml/dom/__pycache__/domreg.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/xml/dom/__pycache__/expatbuilder.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/xml/dom/__pycache__/minicompat.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/xml/dom/__pycache__/minidom.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/xml/dom/__pycache__/pulldom.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/xml/dom/__pycache__/xmlbuilder.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/xml/etree/__pycache__/ElementInclude.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/xml/etree/__pycache__/ElementPath.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/xml/etree/__pycache__/ElementTree.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/xml/etree/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/xml/etree/__pycache__/cElementTree.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/xml/parsers/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/xml/parsers/__pycache__/expat.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/xml/sax/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/xml/sax/__pycache__/_exceptions.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/xml/sax/__pycache__/expatreader.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/xml/sax/__pycache__/handler.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/xml/sax/__pycache__/saxutils.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/xml/sax/__pycache__/xmlreader.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/xmlrpc/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/xmlrpc/__pycache__/client.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/xmlrpc/__pycache__/server.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/zipapp.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/zipfile/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/zipfile/__pycache__/__main__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/zipfile/_path/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/zipfile/_path/__pycache__/glob.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/__pycache__/zipimport.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/zoneinfo/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/zoneinfo/__pycache__/_common.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/zoneinfo/__pycache__/_tzpath.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/pylib-android/zoneinfo/__pycache__/_zoneinfo.cpython-312.opt-1.pyc # Rule to copy src asset scripts to dst. # (and make non-writable so I'm less likely to accidentally edit them there) @@ -2748,29 +2716,29 @@ SCRIPT_TARGETS_PY_PRIVATE_COMMON = \ $(BUILD_DIR)/sphinx/static/conf.py SCRIPT_TARGETS_PYC_PRIVATE_COMMON = \ - $(BUILD_DIR)/ba_data/python-site-packages/_yaml/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python-site-packages/certifi/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python-site-packages/certifi/__pycache__/__main__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python-site-packages/certifi/__pycache__/core.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python-site-packages/__pycache__/typing_extensions.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python-site-packages/yaml/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python-site-packages/yaml/__pycache__/composer.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python-site-packages/yaml/__pycache__/constructor.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python-site-packages/yaml/__pycache__/cyaml.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python-site-packages/yaml/__pycache__/dumper.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python-site-packages/yaml/__pycache__/emitter.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python-site-packages/yaml/__pycache__/error.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python-site-packages/yaml/__pycache__/events.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python-site-packages/yaml/__pycache__/loader.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python-site-packages/yaml/__pycache__/nodes.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python-site-packages/yaml/__pycache__/parser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python-site-packages/yaml/__pycache__/reader.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python-site-packages/yaml/__pycache__/representer.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python-site-packages/yaml/__pycache__/resolver.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python-site-packages/yaml/__pycache__/scanner.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python-site-packages/yaml/__pycache__/serializer.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/ba_data/python-site-packages/yaml/__pycache__/tokens.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/sphinx/static/__pycache__/conf.cpython-311.opt-1.pyc + $(BUILD_DIR)/ba_data/python-site-packages/_yaml/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python-site-packages/certifi/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python-site-packages/certifi/__pycache__/__main__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python-site-packages/certifi/__pycache__/core.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python-site-packages/__pycache__/typing_extensions.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python-site-packages/yaml/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python-site-packages/yaml/__pycache__/composer.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python-site-packages/yaml/__pycache__/constructor.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python-site-packages/yaml/__pycache__/cyaml.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python-site-packages/yaml/__pycache__/dumper.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python-site-packages/yaml/__pycache__/emitter.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python-site-packages/yaml/__pycache__/error.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python-site-packages/yaml/__pycache__/events.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python-site-packages/yaml/__pycache__/loader.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python-site-packages/yaml/__pycache__/nodes.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python-site-packages/yaml/__pycache__/parser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python-site-packages/yaml/__pycache__/reader.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python-site-packages/yaml/__pycache__/representer.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python-site-packages/yaml/__pycache__/resolver.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python-site-packages/yaml/__pycache__/scanner.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python-site-packages/yaml/__pycache__/serializer.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/ba_data/python-site-packages/yaml/__pycache__/tokens.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/sphinx/static/__pycache__/conf.cpython-312.opt-1.pyc # Rule to copy src asset scripts to dst. # (and make non-writable so I'm less likely to accidentally edit them there) @@ -2786,15 +2754,16 @@ SCRIPT_TARGETS_PY_PRIVATE_WIN_WIN32 = \ $(BUILD_DIR)/windows/Win32/Lib/__future__.py \ $(BUILD_DIR)/windows/Win32/Lib/__hello__.py \ $(BUILD_DIR)/windows/Win32/Lib/_aix_support.py \ - $(BUILD_DIR)/windows/Win32/Lib/_bootsubprocess.py \ $(BUILD_DIR)/windows/Win32/Lib/_collections_abc.py \ $(BUILD_DIR)/windows/Win32/Lib/_compat_pickle.py \ $(BUILD_DIR)/windows/Win32/Lib/_compression.py \ $(BUILD_DIR)/windows/Win32/Lib/_markupbase.py \ $(BUILD_DIR)/windows/Win32/Lib/_osx_support.py \ $(BUILD_DIR)/windows/Win32/Lib/_py_abc.py \ + $(BUILD_DIR)/windows/Win32/Lib/_pydatetime.py \ $(BUILD_DIR)/windows/Win32/Lib/_pydecimal.py \ $(BUILD_DIR)/windows/Win32/Lib/_pyio.py \ + $(BUILD_DIR)/windows/Win32/Lib/_pylong.py \ $(BUILD_DIR)/windows/Win32/Lib/_sitebuiltins.py \ $(BUILD_DIR)/windows/Win32/Lib/_strptime.py \ $(BUILD_DIR)/windows/Win32/Lib/_threading_local.py \ @@ -2804,7 +2773,6 @@ SCRIPT_TARGETS_PY_PRIVATE_WIN_WIN32 = \ $(BUILD_DIR)/windows/Win32/Lib/antigravity.py \ $(BUILD_DIR)/windows/Win32/Lib/argparse.py \ $(BUILD_DIR)/windows/Win32/Lib/ast.py \ - $(BUILD_DIR)/windows/Win32/Lib/asynchat.py \ $(BUILD_DIR)/windows/Win32/Lib/asyncio/__init__.py \ $(BUILD_DIR)/windows/Win32/Lib/asyncio/__main__.py \ $(BUILD_DIR)/windows/Win32/Lib/asyncio/base_events.py \ @@ -2838,7 +2806,6 @@ SCRIPT_TARGETS_PY_PRIVATE_WIN_WIN32 = \ $(BUILD_DIR)/windows/Win32/Lib/asyncio/unix_events.py \ $(BUILD_DIR)/windows/Win32/Lib/asyncio/windows_events.py \ $(BUILD_DIR)/windows/Win32/Lib/asyncio/windows_utils.py \ - $(BUILD_DIR)/windows/Win32/Lib/asyncore.py \ $(BUILD_DIR)/windows/Win32/Lib/base64.py \ $(BUILD_DIR)/windows/Win32/Lib/bdb.py \ $(BUILD_DIR)/windows/Win32/Lib/bisect.py \ @@ -3065,7 +3032,6 @@ SCRIPT_TARGETS_PY_PRIVATE_WIN_WIN32 = \ $(BUILD_DIR)/windows/Win32/Lib/http/cookies.py \ $(BUILD_DIR)/windows/Win32/Lib/http/server.py \ $(BUILD_DIR)/windows/Win32/Lib/imghdr.py \ - $(BUILD_DIR)/windows/Win32/Lib/imp.py \ $(BUILD_DIR)/windows/Win32/Lib/importlib/__init__.py \ $(BUILD_DIR)/windows/Win32/Lib/importlib/_abc.py \ $(BUILD_DIR)/windows/Win32/Lib/importlib/_bootstrap.py \ @@ -3154,12 +3120,12 @@ SCRIPT_TARGETS_PY_PRIVATE_WIN_WIN32 = \ $(BUILD_DIR)/windows/Win32/Lib/shutil.py \ $(BUILD_DIR)/windows/Win32/Lib/signal.py \ $(BUILD_DIR)/windows/Win32/Lib/site.py \ - $(BUILD_DIR)/windows/Win32/Lib/smtpd.py \ $(BUILD_DIR)/windows/Win32/Lib/smtplib.py \ $(BUILD_DIR)/windows/Win32/Lib/sndhdr.py \ $(BUILD_DIR)/windows/Win32/Lib/socket.py \ $(BUILD_DIR)/windows/Win32/Lib/socketserver.py \ $(BUILD_DIR)/windows/Win32/Lib/sqlite3/__init__.py \ + $(BUILD_DIR)/windows/Win32/Lib/sqlite3/__main__.py \ $(BUILD_DIR)/windows/Win32/Lib/sqlite3/dbapi2.py \ $(BUILD_DIR)/windows/Win32/Lib/sqlite3/dump.py \ $(BUILD_DIR)/windows/Win32/Lib/sre_compile.py \ @@ -3234,7 +3200,10 @@ SCRIPT_TARGETS_PY_PRIVATE_WIN_WIN32 = \ $(BUILD_DIR)/windows/Win32/Lib/xmlrpc/client.py \ $(BUILD_DIR)/windows/Win32/Lib/xmlrpc/server.py \ $(BUILD_DIR)/windows/Win32/Lib/zipapp.py \ - $(BUILD_DIR)/windows/Win32/Lib/zipfile.py \ + $(BUILD_DIR)/windows/Win32/Lib/zipfile/__init__.py \ + $(BUILD_DIR)/windows/Win32/Lib/zipfile/__main__.py \ + $(BUILD_DIR)/windows/Win32/Lib/zipfile/_path/__init__.py \ + $(BUILD_DIR)/windows/Win32/Lib/zipfile/_path/glob.py \ $(BUILD_DIR)/windows/Win32/Lib/zipimport.py \ $(BUILD_DIR)/windows/Win32/Lib/zoneinfo/__init__.py \ $(BUILD_DIR)/windows/Win32/Lib/zoneinfo/_common.py \ @@ -3242,463 +3211,464 @@ SCRIPT_TARGETS_PY_PRIVATE_WIN_WIN32 = \ $(BUILD_DIR)/windows/Win32/Lib/zoneinfo/_zoneinfo.py SCRIPT_TARGETS_PYC_PRIVATE_WIN_WIN32 = \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/__future__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/__hello__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/_aix_support.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/_bootsubprocess.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/_collections_abc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/_compat_pickle.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/_compression.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/_markupbase.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/_osx_support.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/_py_abc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/_pydecimal.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/_pyio.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/_sitebuiltins.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/_strptime.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/_threading_local.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/_weakrefset.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/abc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/aifc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/antigravity.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/argparse.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/ast.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/asynchat.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/__main__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/base_events.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/base_futures.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/base_subprocess.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/base_tasks.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/constants.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/coroutines.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/events.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/exceptions.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/format_helpers.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/futures.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/locks.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/log.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/mixins.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/proactor_events.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/protocols.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/queues.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/runners.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/selector_events.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/sslproto.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/staggered.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/streams.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/subprocess.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/taskgroups.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/tasks.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/threads.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/timeouts.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/transports.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/trsock.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/unix_events.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/windows_events.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/windows_utils.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/asyncore.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/base64.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/bdb.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/bisect.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/bz2.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/cProfile.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/calendar.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/cgi.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/cgitb.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/chunk.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/cmd.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/code.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/codecs.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/codeop.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/collections/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/collections/__pycache__/abc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/colorsys.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/compileall.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/concurrent/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/concurrent/futures/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/concurrent/futures/__pycache__/_base.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/concurrent/futures/__pycache__/process.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/concurrent/futures/__pycache__/thread.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/configparser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/contextlib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/contextvars.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/copy.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/copyreg.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/crypt.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/csv.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/ctypes/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/ctypes/__pycache__/_aix.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/ctypes/__pycache__/_endian.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/ctypes/macholib/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/ctypes/macholib/__pycache__/dyld.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/ctypes/macholib/__pycache__/dylib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/ctypes/macholib/__pycache__/framework.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/ctypes/__pycache__/util.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/ctypes/__pycache__/wintypes.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/curses/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/curses/__pycache__/ascii.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/curses/__pycache__/has_key.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/curses/__pycache__/panel.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/curses/__pycache__/textpad.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/dataclasses.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/datetime.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/decimal.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/difflib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/dis.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/doctest.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/_encoded_words.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/_header_value_parser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/_parseaddr.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/_policybase.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/base64mime.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/charset.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/contentmanager.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/encoders.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/errors.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/feedparser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/generator.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/header.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/headerregistry.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/iterators.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/message.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/email/mime/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/email/mime/__pycache__/application.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/email/mime/__pycache__/audio.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/email/mime/__pycache__/base.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/email/mime/__pycache__/image.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/email/mime/__pycache__/message.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/email/mime/__pycache__/multipart.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/email/mime/__pycache__/nonmultipart.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/email/mime/__pycache__/text.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/parser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/policy.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/quoprimime.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/utils.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/aliases.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/ascii.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/base64_codec.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/big5.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/big5hkscs.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/bz2_codec.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/charmap.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp037.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp1006.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp1026.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp1125.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp1140.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp1250.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp1251.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp1252.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp1253.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp1254.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp1255.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp1256.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp1257.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp1258.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp273.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp424.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp437.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp500.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp720.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp737.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp775.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp850.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp852.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp855.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp856.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp857.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp858.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp860.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp861.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp862.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp863.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp864.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp865.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp866.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp869.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp874.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp875.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp932.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp949.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp950.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/euc_jis_2004.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/euc_jisx0213.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/euc_jp.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/euc_kr.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/gb18030.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/gb2312.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/gbk.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/hex_codec.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/hp_roman8.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/hz.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/idna.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso2022_jp.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso2022_jp_1.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso2022_jp_2.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso2022_jp_2004.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso2022_jp_3.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso2022_jp_ext.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso2022_kr.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso8859_1.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso8859_10.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso8859_11.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso8859_13.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso8859_14.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso8859_15.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso8859_16.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso8859_2.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso8859_3.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso8859_4.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso8859_5.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso8859_6.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso8859_7.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso8859_8.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso8859_9.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/johab.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/koi8_r.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/koi8_t.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/koi8_u.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/kz1048.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/latin_1.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/mac_arabic.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/mac_croatian.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/mac_cyrillic.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/mac_farsi.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/mac_greek.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/mac_iceland.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/mac_latin2.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/mac_roman.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/mac_romanian.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/mac_turkish.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/mbcs.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/oem.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/palmos.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/ptcp154.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/punycode.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/quopri_codec.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/raw_unicode_escape.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/rot_13.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/shift_jis.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/shift_jis_2004.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/shift_jisx0213.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/tis_620.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/undefined.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/unicode_escape.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/utf_16.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/utf_16_be.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/utf_16_le.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/utf_32.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/utf_32_be.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/utf_32_le.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/utf_7.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/utf_8.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/utf_8_sig.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/uu_codec.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/zlib_codec.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/enum.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/filecmp.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/fileinput.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/fnmatch.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/fractions.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/ftplib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/functools.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/genericpath.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/getopt.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/getpass.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/gettext.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/glob.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/graphlib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/gzip.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/hashlib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/heapq.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/hmac.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/html/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/html/__pycache__/entities.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/html/__pycache__/parser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/http/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/http/__pycache__/client.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/http/__pycache__/cookiejar.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/http/__pycache__/cookies.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/http/__pycache__/server.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/imghdr.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/imp.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/importlib/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/importlib/__pycache__/_abc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/importlib/__pycache__/_bootstrap.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/importlib/__pycache__/_bootstrap_external.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/importlib/__pycache__/abc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/importlib/__pycache__/machinery.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/importlib/metadata/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/importlib/metadata/__pycache__/_adapters.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/importlib/metadata/__pycache__/_collections.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/importlib/metadata/__pycache__/_functools.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/importlib/metadata/__pycache__/_itertools.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/importlib/metadata/__pycache__/_meta.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/importlib/metadata/__pycache__/_text.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/importlib/__pycache__/readers.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/importlib/resources/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/importlib/resources/__pycache__/_adapters.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/importlib/resources/__pycache__/_common.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/importlib/resources/__pycache__/_itertools.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/importlib/resources/__pycache__/_legacy.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/importlib/resources/__pycache__/abc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/importlib/resources/__pycache__/readers.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/importlib/resources/__pycache__/simple.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/importlib/__pycache__/simple.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/importlib/__pycache__/util.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/inspect.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/io.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/ipaddress.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/json/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/json/__pycache__/decoder.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/json/__pycache__/encoder.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/json/__pycache__/scanner.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/json/__pycache__/tool.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/keyword.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/linecache.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/locale.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/logging/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/logging/__pycache__/config.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/logging/__pycache__/handlers.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/lzma.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/mailbox.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/mailcap.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/mimetypes.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/modulefinder.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/netrc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/nntplib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/ntpath.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/nturl2path.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/numbers.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/opcode.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/operator.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/optparse.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/os.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/pathlib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/pdb.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/pickle.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/pickletools.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/pipes.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/pkgutil.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/platform.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/plistlib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/poplib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/posixpath.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/pprint.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/profile.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/pstats.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/pty.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/py_compile.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/pyclbr.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/pydoc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/queue.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/quopri.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/random.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/re/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/re/__pycache__/_casefix.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/re/__pycache__/_compiler.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/re/__pycache__/_constants.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/re/__pycache__/_parser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/reprlib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/rlcompleter.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/runpy.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/sched.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/secrets.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/selectors.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/shelve.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/shlex.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/shutil.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/signal.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/site.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/smtpd.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/smtplib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/sndhdr.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/socket.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/socketserver.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/sqlite3/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/sqlite3/__pycache__/dbapi2.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/sqlite3/__pycache__/dump.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/sre_compile.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/sre_constants.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/sre_parse.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/ssl.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/stat.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/statistics.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/string.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/stringprep.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/struct.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/subprocess.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/sunau.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/symtable.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/sysconfig.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/tabnanny.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/tarfile.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/telnetlib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/tempfile.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/textwrap.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/this.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/threading.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/timeit.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/token.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/tokenize.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/tomllib/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/tomllib/__pycache__/_parser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/tomllib/__pycache__/_re.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/tomllib/__pycache__/_types.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/trace.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/traceback.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/tracemalloc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/tty.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/types.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/typing.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/urllib/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/urllib/__pycache__/error.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/urllib/__pycache__/parse.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/urllib/__pycache__/request.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/urllib/__pycache__/response.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/urllib/__pycache__/robotparser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/uu.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/uuid.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/warnings.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/wave.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/weakref.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/webbrowser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/xdrlib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/xml/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/xml/dom/__pycache__/NodeFilter.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/xml/dom/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/xml/dom/__pycache__/domreg.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/xml/dom/__pycache__/expatbuilder.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/xml/dom/__pycache__/minicompat.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/xml/dom/__pycache__/minidom.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/xml/dom/__pycache__/pulldom.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/xml/dom/__pycache__/xmlbuilder.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/xml/etree/__pycache__/ElementInclude.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/xml/etree/__pycache__/ElementPath.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/xml/etree/__pycache__/ElementTree.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/xml/etree/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/xml/etree/__pycache__/cElementTree.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/xml/parsers/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/xml/parsers/__pycache__/expat.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/xml/sax/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/xml/sax/__pycache__/_exceptions.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/xml/sax/__pycache__/expatreader.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/xml/sax/__pycache__/handler.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/xml/sax/__pycache__/saxutils.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/xml/sax/__pycache__/xmlreader.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/xmlrpc/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/xmlrpc/__pycache__/client.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/xmlrpc/__pycache__/server.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/zipapp.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/zipfile.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/__pycache__/zipimport.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/zoneinfo/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/zoneinfo/__pycache__/_common.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/zoneinfo/__pycache__/_tzpath.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/Win32/Lib/zoneinfo/__pycache__/_zoneinfo.cpython-311.opt-1.pyc + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/__future__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/__hello__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/_aix_support.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/_collections_abc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/_compat_pickle.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/_compression.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/_markupbase.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/_osx_support.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/_py_abc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/_pydatetime.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/_pydecimal.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/_pyio.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/_pylong.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/_sitebuiltins.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/_strptime.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/_threading_local.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/_weakrefset.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/abc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/aifc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/antigravity.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/argparse.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/ast.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/__main__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/base_events.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/base_futures.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/base_subprocess.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/base_tasks.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/constants.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/coroutines.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/events.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/exceptions.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/format_helpers.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/futures.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/locks.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/log.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/mixins.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/proactor_events.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/protocols.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/queues.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/runners.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/selector_events.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/sslproto.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/staggered.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/streams.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/subprocess.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/taskgroups.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/tasks.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/threads.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/timeouts.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/transports.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/trsock.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/unix_events.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/windows_events.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/asyncio/__pycache__/windows_utils.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/base64.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/bdb.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/bisect.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/bz2.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/cProfile.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/calendar.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/cgi.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/cgitb.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/chunk.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/cmd.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/code.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/codecs.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/codeop.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/collections/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/collections/__pycache__/abc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/colorsys.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/compileall.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/concurrent/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/concurrent/futures/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/concurrent/futures/__pycache__/_base.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/concurrent/futures/__pycache__/process.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/concurrent/futures/__pycache__/thread.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/configparser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/contextlib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/contextvars.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/copy.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/copyreg.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/crypt.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/csv.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/ctypes/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/ctypes/__pycache__/_aix.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/ctypes/__pycache__/_endian.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/ctypes/macholib/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/ctypes/macholib/__pycache__/dyld.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/ctypes/macholib/__pycache__/dylib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/ctypes/macholib/__pycache__/framework.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/ctypes/__pycache__/util.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/ctypes/__pycache__/wintypes.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/curses/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/curses/__pycache__/ascii.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/curses/__pycache__/has_key.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/curses/__pycache__/panel.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/curses/__pycache__/textpad.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/dataclasses.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/datetime.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/decimal.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/difflib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/dis.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/doctest.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/_encoded_words.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/_header_value_parser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/_parseaddr.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/_policybase.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/base64mime.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/charset.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/contentmanager.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/encoders.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/errors.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/feedparser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/generator.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/header.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/headerregistry.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/iterators.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/message.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/email/mime/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/email/mime/__pycache__/application.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/email/mime/__pycache__/audio.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/email/mime/__pycache__/base.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/email/mime/__pycache__/image.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/email/mime/__pycache__/message.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/email/mime/__pycache__/multipart.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/email/mime/__pycache__/nonmultipart.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/email/mime/__pycache__/text.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/parser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/policy.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/quoprimime.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/email/__pycache__/utils.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/aliases.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/ascii.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/base64_codec.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/big5.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/big5hkscs.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/bz2_codec.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/charmap.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp037.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp1006.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp1026.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp1125.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp1140.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp1250.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp1251.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp1252.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp1253.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp1254.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp1255.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp1256.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp1257.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp1258.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp273.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp424.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp437.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp500.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp720.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp737.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp775.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp850.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp852.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp855.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp856.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp857.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp858.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp860.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp861.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp862.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp863.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp864.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp865.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp866.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp869.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp874.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp875.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp932.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp949.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/cp950.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/euc_jis_2004.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/euc_jisx0213.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/euc_jp.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/euc_kr.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/gb18030.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/gb2312.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/gbk.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/hex_codec.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/hp_roman8.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/hz.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/idna.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso2022_jp.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso2022_jp_1.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso2022_jp_2.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso2022_jp_2004.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso2022_jp_3.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso2022_jp_ext.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso2022_kr.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso8859_1.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso8859_10.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso8859_11.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso8859_13.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso8859_14.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso8859_15.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso8859_16.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso8859_2.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso8859_3.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso8859_4.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso8859_5.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso8859_6.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso8859_7.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso8859_8.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/iso8859_9.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/johab.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/koi8_r.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/koi8_t.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/koi8_u.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/kz1048.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/latin_1.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/mac_arabic.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/mac_croatian.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/mac_cyrillic.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/mac_farsi.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/mac_greek.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/mac_iceland.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/mac_latin2.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/mac_roman.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/mac_romanian.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/mac_turkish.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/mbcs.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/oem.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/palmos.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/ptcp154.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/punycode.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/quopri_codec.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/raw_unicode_escape.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/rot_13.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/shift_jis.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/shift_jis_2004.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/shift_jisx0213.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/tis_620.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/undefined.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/unicode_escape.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/utf_16.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/utf_16_be.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/utf_16_le.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/utf_32.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/utf_32_be.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/utf_32_le.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/utf_7.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/utf_8.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/utf_8_sig.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/uu_codec.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/encodings/__pycache__/zlib_codec.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/enum.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/filecmp.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/fileinput.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/fnmatch.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/fractions.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/ftplib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/functools.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/genericpath.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/getopt.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/getpass.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/gettext.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/glob.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/graphlib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/gzip.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/hashlib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/heapq.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/hmac.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/html/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/html/__pycache__/entities.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/html/__pycache__/parser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/http/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/http/__pycache__/client.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/http/__pycache__/cookiejar.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/http/__pycache__/cookies.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/http/__pycache__/server.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/imghdr.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/importlib/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/importlib/__pycache__/_abc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/importlib/__pycache__/_bootstrap.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/importlib/__pycache__/_bootstrap_external.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/importlib/__pycache__/abc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/importlib/__pycache__/machinery.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/importlib/metadata/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/importlib/metadata/__pycache__/_adapters.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/importlib/metadata/__pycache__/_collections.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/importlib/metadata/__pycache__/_functools.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/importlib/metadata/__pycache__/_itertools.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/importlib/metadata/__pycache__/_meta.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/importlib/metadata/__pycache__/_text.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/importlib/__pycache__/readers.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/importlib/resources/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/importlib/resources/__pycache__/_adapters.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/importlib/resources/__pycache__/_common.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/importlib/resources/__pycache__/_itertools.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/importlib/resources/__pycache__/_legacy.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/importlib/resources/__pycache__/abc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/importlib/resources/__pycache__/readers.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/importlib/resources/__pycache__/simple.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/importlib/__pycache__/simple.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/importlib/__pycache__/util.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/inspect.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/io.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/ipaddress.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/json/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/json/__pycache__/decoder.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/json/__pycache__/encoder.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/json/__pycache__/scanner.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/json/__pycache__/tool.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/keyword.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/linecache.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/locale.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/logging/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/logging/__pycache__/config.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/logging/__pycache__/handlers.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/lzma.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/mailbox.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/mailcap.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/mimetypes.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/modulefinder.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/netrc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/nntplib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/ntpath.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/nturl2path.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/numbers.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/opcode.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/operator.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/optparse.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/os.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/pathlib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/pdb.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/pickle.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/pickletools.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/pipes.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/pkgutil.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/platform.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/plistlib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/poplib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/posixpath.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/pprint.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/profile.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/pstats.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/pty.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/py_compile.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/pyclbr.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/pydoc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/queue.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/quopri.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/random.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/re/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/re/__pycache__/_casefix.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/re/__pycache__/_compiler.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/re/__pycache__/_constants.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/re/__pycache__/_parser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/reprlib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/rlcompleter.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/runpy.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/sched.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/secrets.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/selectors.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/shelve.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/shlex.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/shutil.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/signal.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/site.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/smtplib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/sndhdr.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/socket.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/socketserver.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/sqlite3/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/sqlite3/__pycache__/__main__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/sqlite3/__pycache__/dbapi2.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/sqlite3/__pycache__/dump.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/sre_compile.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/sre_constants.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/sre_parse.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/ssl.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/stat.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/statistics.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/string.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/stringprep.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/struct.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/subprocess.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/sunau.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/symtable.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/sysconfig.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/tabnanny.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/tarfile.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/telnetlib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/tempfile.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/textwrap.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/this.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/threading.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/timeit.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/token.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/tokenize.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/tomllib/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/tomllib/__pycache__/_parser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/tomllib/__pycache__/_re.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/tomllib/__pycache__/_types.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/trace.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/traceback.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/tracemalloc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/tty.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/types.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/typing.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/urllib/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/urllib/__pycache__/error.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/urllib/__pycache__/parse.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/urllib/__pycache__/request.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/urllib/__pycache__/response.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/urllib/__pycache__/robotparser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/uu.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/uuid.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/warnings.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/wave.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/weakref.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/webbrowser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/xdrlib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/xml/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/xml/dom/__pycache__/NodeFilter.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/xml/dom/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/xml/dom/__pycache__/domreg.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/xml/dom/__pycache__/expatbuilder.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/xml/dom/__pycache__/minicompat.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/xml/dom/__pycache__/minidom.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/xml/dom/__pycache__/pulldom.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/xml/dom/__pycache__/xmlbuilder.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/xml/etree/__pycache__/ElementInclude.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/xml/etree/__pycache__/ElementPath.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/xml/etree/__pycache__/ElementTree.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/xml/etree/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/xml/etree/__pycache__/cElementTree.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/xml/parsers/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/xml/parsers/__pycache__/expat.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/xml/sax/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/xml/sax/__pycache__/_exceptions.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/xml/sax/__pycache__/expatreader.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/xml/sax/__pycache__/handler.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/xml/sax/__pycache__/saxutils.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/xml/sax/__pycache__/xmlreader.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/xmlrpc/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/xmlrpc/__pycache__/client.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/xmlrpc/__pycache__/server.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/zipapp.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/zipfile/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/zipfile/__pycache__/__main__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/zipfile/_path/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/zipfile/_path/__pycache__/glob.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/__pycache__/zipimport.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/zoneinfo/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/zoneinfo/__pycache__/_common.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/zoneinfo/__pycache__/_tzpath.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/Win32/Lib/zoneinfo/__pycache__/_zoneinfo.cpython-312.opt-1.pyc # Rule to copy src asset scripts to dst. # (and make non-writable so I'm less likely to accidentally edit them there) @@ -3714,15 +3684,16 @@ SCRIPT_TARGETS_PY_PRIVATE_WIN_X64 = \ $(BUILD_DIR)/windows/x64/Lib/__future__.py \ $(BUILD_DIR)/windows/x64/Lib/__hello__.py \ $(BUILD_DIR)/windows/x64/Lib/_aix_support.py \ - $(BUILD_DIR)/windows/x64/Lib/_bootsubprocess.py \ $(BUILD_DIR)/windows/x64/Lib/_collections_abc.py \ $(BUILD_DIR)/windows/x64/Lib/_compat_pickle.py \ $(BUILD_DIR)/windows/x64/Lib/_compression.py \ $(BUILD_DIR)/windows/x64/Lib/_markupbase.py \ $(BUILD_DIR)/windows/x64/Lib/_osx_support.py \ $(BUILD_DIR)/windows/x64/Lib/_py_abc.py \ + $(BUILD_DIR)/windows/x64/Lib/_pydatetime.py \ $(BUILD_DIR)/windows/x64/Lib/_pydecimal.py \ $(BUILD_DIR)/windows/x64/Lib/_pyio.py \ + $(BUILD_DIR)/windows/x64/Lib/_pylong.py \ $(BUILD_DIR)/windows/x64/Lib/_sitebuiltins.py \ $(BUILD_DIR)/windows/x64/Lib/_strptime.py \ $(BUILD_DIR)/windows/x64/Lib/_threading_local.py \ @@ -3732,7 +3703,6 @@ SCRIPT_TARGETS_PY_PRIVATE_WIN_X64 = \ $(BUILD_DIR)/windows/x64/Lib/antigravity.py \ $(BUILD_DIR)/windows/x64/Lib/argparse.py \ $(BUILD_DIR)/windows/x64/Lib/ast.py \ - $(BUILD_DIR)/windows/x64/Lib/asynchat.py \ $(BUILD_DIR)/windows/x64/Lib/asyncio/__init__.py \ $(BUILD_DIR)/windows/x64/Lib/asyncio/__main__.py \ $(BUILD_DIR)/windows/x64/Lib/asyncio/base_events.py \ @@ -3766,7 +3736,6 @@ SCRIPT_TARGETS_PY_PRIVATE_WIN_X64 = \ $(BUILD_DIR)/windows/x64/Lib/asyncio/unix_events.py \ $(BUILD_DIR)/windows/x64/Lib/asyncio/windows_events.py \ $(BUILD_DIR)/windows/x64/Lib/asyncio/windows_utils.py \ - $(BUILD_DIR)/windows/x64/Lib/asyncore.py \ $(BUILD_DIR)/windows/x64/Lib/base64.py \ $(BUILD_DIR)/windows/x64/Lib/bdb.py \ $(BUILD_DIR)/windows/x64/Lib/bisect.py \ @@ -3993,7 +3962,6 @@ SCRIPT_TARGETS_PY_PRIVATE_WIN_X64 = \ $(BUILD_DIR)/windows/x64/Lib/http/cookies.py \ $(BUILD_DIR)/windows/x64/Lib/http/server.py \ $(BUILD_DIR)/windows/x64/Lib/imghdr.py \ - $(BUILD_DIR)/windows/x64/Lib/imp.py \ $(BUILD_DIR)/windows/x64/Lib/importlib/__init__.py \ $(BUILD_DIR)/windows/x64/Lib/importlib/_abc.py \ $(BUILD_DIR)/windows/x64/Lib/importlib/_bootstrap.py \ @@ -4082,12 +4050,12 @@ SCRIPT_TARGETS_PY_PRIVATE_WIN_X64 = \ $(BUILD_DIR)/windows/x64/Lib/shutil.py \ $(BUILD_DIR)/windows/x64/Lib/signal.py \ $(BUILD_DIR)/windows/x64/Lib/site.py \ - $(BUILD_DIR)/windows/x64/Lib/smtpd.py \ $(BUILD_DIR)/windows/x64/Lib/smtplib.py \ $(BUILD_DIR)/windows/x64/Lib/sndhdr.py \ $(BUILD_DIR)/windows/x64/Lib/socket.py \ $(BUILD_DIR)/windows/x64/Lib/socketserver.py \ $(BUILD_DIR)/windows/x64/Lib/sqlite3/__init__.py \ + $(BUILD_DIR)/windows/x64/Lib/sqlite3/__main__.py \ $(BUILD_DIR)/windows/x64/Lib/sqlite3/dbapi2.py \ $(BUILD_DIR)/windows/x64/Lib/sqlite3/dump.py \ $(BUILD_DIR)/windows/x64/Lib/sre_compile.py \ @@ -4162,7 +4130,10 @@ SCRIPT_TARGETS_PY_PRIVATE_WIN_X64 = \ $(BUILD_DIR)/windows/x64/Lib/xmlrpc/client.py \ $(BUILD_DIR)/windows/x64/Lib/xmlrpc/server.py \ $(BUILD_DIR)/windows/x64/Lib/zipapp.py \ - $(BUILD_DIR)/windows/x64/Lib/zipfile.py \ + $(BUILD_DIR)/windows/x64/Lib/zipfile/__init__.py \ + $(BUILD_DIR)/windows/x64/Lib/zipfile/__main__.py \ + $(BUILD_DIR)/windows/x64/Lib/zipfile/_path/__init__.py \ + $(BUILD_DIR)/windows/x64/Lib/zipfile/_path/glob.py \ $(BUILD_DIR)/windows/x64/Lib/zipimport.py \ $(BUILD_DIR)/windows/x64/Lib/zoneinfo/__init__.py \ $(BUILD_DIR)/windows/x64/Lib/zoneinfo/_common.py \ @@ -4170,463 +4141,464 @@ SCRIPT_TARGETS_PY_PRIVATE_WIN_X64 = \ $(BUILD_DIR)/windows/x64/Lib/zoneinfo/_zoneinfo.py SCRIPT_TARGETS_PYC_PRIVATE_WIN_X64 = \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/__future__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/__hello__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/_aix_support.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/_bootsubprocess.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/_collections_abc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/_compat_pickle.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/_compression.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/_markupbase.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/_osx_support.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/_py_abc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/_pydecimal.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/_pyio.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/_sitebuiltins.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/_strptime.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/_threading_local.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/_weakrefset.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/abc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/aifc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/antigravity.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/argparse.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/ast.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/asynchat.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/__main__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/base_events.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/base_futures.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/base_subprocess.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/base_tasks.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/constants.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/coroutines.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/events.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/exceptions.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/format_helpers.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/futures.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/locks.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/log.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/mixins.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/proactor_events.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/protocols.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/queues.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/runners.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/selector_events.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/sslproto.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/staggered.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/streams.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/subprocess.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/taskgroups.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/tasks.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/threads.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/timeouts.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/transports.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/trsock.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/unix_events.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/windows_events.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/windows_utils.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/asyncore.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/base64.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/bdb.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/bisect.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/bz2.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/cProfile.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/calendar.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/cgi.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/cgitb.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/chunk.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/cmd.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/code.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/codecs.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/codeop.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/collections/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/collections/__pycache__/abc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/colorsys.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/compileall.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/concurrent/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/concurrent/futures/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/concurrent/futures/__pycache__/_base.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/concurrent/futures/__pycache__/process.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/concurrent/futures/__pycache__/thread.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/configparser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/contextlib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/contextvars.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/copy.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/copyreg.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/crypt.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/csv.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/ctypes/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/ctypes/__pycache__/_aix.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/ctypes/__pycache__/_endian.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/ctypes/macholib/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/ctypes/macholib/__pycache__/dyld.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/ctypes/macholib/__pycache__/dylib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/ctypes/macholib/__pycache__/framework.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/ctypes/__pycache__/util.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/ctypes/__pycache__/wintypes.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/curses/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/curses/__pycache__/ascii.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/curses/__pycache__/has_key.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/curses/__pycache__/panel.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/curses/__pycache__/textpad.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/dataclasses.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/datetime.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/decimal.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/difflib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/dis.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/doctest.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/_encoded_words.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/_header_value_parser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/_parseaddr.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/_policybase.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/base64mime.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/charset.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/contentmanager.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/encoders.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/errors.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/feedparser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/generator.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/header.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/headerregistry.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/iterators.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/message.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/email/mime/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/email/mime/__pycache__/application.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/email/mime/__pycache__/audio.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/email/mime/__pycache__/base.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/email/mime/__pycache__/image.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/email/mime/__pycache__/message.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/email/mime/__pycache__/multipart.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/email/mime/__pycache__/nonmultipart.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/email/mime/__pycache__/text.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/parser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/policy.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/quoprimime.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/utils.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/aliases.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/ascii.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/base64_codec.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/big5.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/big5hkscs.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/bz2_codec.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/charmap.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp037.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp1006.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp1026.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp1125.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp1140.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp1250.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp1251.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp1252.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp1253.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp1254.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp1255.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp1256.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp1257.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp1258.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp273.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp424.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp437.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp500.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp720.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp737.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp775.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp850.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp852.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp855.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp856.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp857.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp858.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp860.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp861.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp862.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp863.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp864.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp865.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp866.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp869.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp874.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp875.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp932.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp949.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp950.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/euc_jis_2004.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/euc_jisx0213.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/euc_jp.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/euc_kr.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/gb18030.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/gb2312.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/gbk.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/hex_codec.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/hp_roman8.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/hz.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/idna.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso2022_jp.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso2022_jp_1.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso2022_jp_2.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso2022_jp_2004.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso2022_jp_3.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso2022_jp_ext.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso2022_kr.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso8859_1.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso8859_10.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso8859_11.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso8859_13.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso8859_14.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso8859_15.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso8859_16.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso8859_2.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso8859_3.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso8859_4.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso8859_5.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso8859_6.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso8859_7.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso8859_8.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso8859_9.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/johab.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/koi8_r.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/koi8_t.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/koi8_u.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/kz1048.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/latin_1.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/mac_arabic.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/mac_croatian.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/mac_cyrillic.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/mac_farsi.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/mac_greek.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/mac_iceland.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/mac_latin2.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/mac_roman.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/mac_romanian.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/mac_turkish.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/mbcs.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/oem.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/palmos.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/ptcp154.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/punycode.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/quopri_codec.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/raw_unicode_escape.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/rot_13.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/shift_jis.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/shift_jis_2004.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/shift_jisx0213.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/tis_620.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/undefined.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/unicode_escape.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/utf_16.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/utf_16_be.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/utf_16_le.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/utf_32.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/utf_32_be.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/utf_32_le.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/utf_7.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/utf_8.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/utf_8_sig.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/uu_codec.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/zlib_codec.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/enum.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/filecmp.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/fileinput.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/fnmatch.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/fractions.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/ftplib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/functools.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/genericpath.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/getopt.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/getpass.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/gettext.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/glob.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/graphlib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/gzip.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/hashlib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/heapq.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/hmac.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/html/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/html/__pycache__/entities.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/html/__pycache__/parser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/http/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/http/__pycache__/client.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/http/__pycache__/cookiejar.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/http/__pycache__/cookies.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/http/__pycache__/server.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/imghdr.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/imp.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/importlib/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/importlib/__pycache__/_abc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/importlib/__pycache__/_bootstrap.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/importlib/__pycache__/_bootstrap_external.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/importlib/__pycache__/abc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/importlib/__pycache__/machinery.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/importlib/metadata/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/importlib/metadata/__pycache__/_adapters.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/importlib/metadata/__pycache__/_collections.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/importlib/metadata/__pycache__/_functools.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/importlib/metadata/__pycache__/_itertools.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/importlib/metadata/__pycache__/_meta.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/importlib/metadata/__pycache__/_text.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/importlib/__pycache__/readers.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/importlib/resources/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/importlib/resources/__pycache__/_adapters.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/importlib/resources/__pycache__/_common.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/importlib/resources/__pycache__/_itertools.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/importlib/resources/__pycache__/_legacy.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/importlib/resources/__pycache__/abc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/importlib/resources/__pycache__/readers.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/importlib/resources/__pycache__/simple.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/importlib/__pycache__/simple.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/importlib/__pycache__/util.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/inspect.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/io.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/ipaddress.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/json/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/json/__pycache__/decoder.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/json/__pycache__/encoder.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/json/__pycache__/scanner.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/json/__pycache__/tool.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/keyword.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/linecache.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/locale.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/logging/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/logging/__pycache__/config.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/logging/__pycache__/handlers.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/lzma.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/mailbox.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/mailcap.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/mimetypes.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/modulefinder.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/netrc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/nntplib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/ntpath.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/nturl2path.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/numbers.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/opcode.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/operator.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/optparse.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/os.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/pathlib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/pdb.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/pickle.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/pickletools.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/pipes.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/pkgutil.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/platform.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/plistlib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/poplib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/posixpath.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/pprint.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/profile.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/pstats.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/pty.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/py_compile.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/pyclbr.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/pydoc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/queue.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/quopri.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/random.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/re/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/re/__pycache__/_casefix.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/re/__pycache__/_compiler.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/re/__pycache__/_constants.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/re/__pycache__/_parser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/reprlib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/rlcompleter.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/runpy.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/sched.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/secrets.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/selectors.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/shelve.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/shlex.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/shutil.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/signal.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/site.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/smtpd.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/smtplib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/sndhdr.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/socket.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/socketserver.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/sqlite3/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/sqlite3/__pycache__/dbapi2.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/sqlite3/__pycache__/dump.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/sre_compile.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/sre_constants.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/sre_parse.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/ssl.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/stat.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/statistics.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/string.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/stringprep.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/struct.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/subprocess.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/sunau.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/symtable.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/sysconfig.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/tabnanny.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/tarfile.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/telnetlib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/tempfile.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/textwrap.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/this.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/threading.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/timeit.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/token.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/tokenize.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/tomllib/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/tomllib/__pycache__/_parser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/tomllib/__pycache__/_re.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/tomllib/__pycache__/_types.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/trace.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/traceback.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/tracemalloc.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/tty.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/types.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/typing.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/urllib/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/urllib/__pycache__/error.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/urllib/__pycache__/parse.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/urllib/__pycache__/request.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/urllib/__pycache__/response.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/urllib/__pycache__/robotparser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/uu.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/uuid.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/warnings.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/wave.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/weakref.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/webbrowser.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/xdrlib.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/xml/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/xml/dom/__pycache__/NodeFilter.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/xml/dom/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/xml/dom/__pycache__/domreg.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/xml/dom/__pycache__/expatbuilder.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/xml/dom/__pycache__/minicompat.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/xml/dom/__pycache__/minidom.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/xml/dom/__pycache__/pulldom.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/xml/dom/__pycache__/xmlbuilder.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/xml/etree/__pycache__/ElementInclude.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/xml/etree/__pycache__/ElementPath.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/xml/etree/__pycache__/ElementTree.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/xml/etree/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/xml/etree/__pycache__/cElementTree.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/xml/parsers/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/xml/parsers/__pycache__/expat.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/xml/sax/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/xml/sax/__pycache__/_exceptions.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/xml/sax/__pycache__/expatreader.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/xml/sax/__pycache__/handler.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/xml/sax/__pycache__/saxutils.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/xml/sax/__pycache__/xmlreader.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/xmlrpc/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/xmlrpc/__pycache__/client.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/xmlrpc/__pycache__/server.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/zipapp.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/zipfile.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/__pycache__/zipimport.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/zoneinfo/__pycache__/__init__.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/zoneinfo/__pycache__/_common.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/zoneinfo/__pycache__/_tzpath.cpython-311.opt-1.pyc \ - $(BUILD_DIR)/windows/x64/Lib/zoneinfo/__pycache__/_zoneinfo.cpython-311.opt-1.pyc + $(BUILD_DIR)/windows/x64/Lib/__pycache__/__future__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/__hello__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/_aix_support.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/_collections_abc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/_compat_pickle.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/_compression.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/_markupbase.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/_osx_support.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/_py_abc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/_pydatetime.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/_pydecimal.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/_pyio.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/_pylong.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/_sitebuiltins.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/_strptime.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/_threading_local.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/_weakrefset.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/abc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/aifc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/antigravity.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/argparse.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/ast.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/__main__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/base_events.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/base_futures.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/base_subprocess.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/base_tasks.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/constants.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/coroutines.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/events.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/exceptions.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/format_helpers.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/futures.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/locks.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/log.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/mixins.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/proactor_events.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/protocols.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/queues.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/runners.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/selector_events.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/sslproto.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/staggered.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/streams.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/subprocess.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/taskgroups.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/tasks.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/threads.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/timeouts.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/transports.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/trsock.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/unix_events.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/windows_events.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/asyncio/__pycache__/windows_utils.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/base64.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/bdb.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/bisect.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/bz2.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/cProfile.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/calendar.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/cgi.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/cgitb.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/chunk.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/cmd.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/code.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/codecs.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/codeop.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/collections/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/collections/__pycache__/abc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/colorsys.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/compileall.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/concurrent/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/concurrent/futures/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/concurrent/futures/__pycache__/_base.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/concurrent/futures/__pycache__/process.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/concurrent/futures/__pycache__/thread.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/configparser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/contextlib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/contextvars.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/copy.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/copyreg.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/crypt.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/csv.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/ctypes/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/ctypes/__pycache__/_aix.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/ctypes/__pycache__/_endian.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/ctypes/macholib/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/ctypes/macholib/__pycache__/dyld.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/ctypes/macholib/__pycache__/dylib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/ctypes/macholib/__pycache__/framework.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/ctypes/__pycache__/util.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/ctypes/__pycache__/wintypes.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/curses/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/curses/__pycache__/ascii.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/curses/__pycache__/has_key.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/curses/__pycache__/panel.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/curses/__pycache__/textpad.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/dataclasses.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/datetime.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/decimal.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/difflib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/dis.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/doctest.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/_encoded_words.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/_header_value_parser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/_parseaddr.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/_policybase.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/base64mime.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/charset.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/contentmanager.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/encoders.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/errors.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/feedparser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/generator.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/header.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/headerregistry.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/iterators.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/message.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/email/mime/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/email/mime/__pycache__/application.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/email/mime/__pycache__/audio.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/email/mime/__pycache__/base.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/email/mime/__pycache__/image.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/email/mime/__pycache__/message.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/email/mime/__pycache__/multipart.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/email/mime/__pycache__/nonmultipart.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/email/mime/__pycache__/text.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/parser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/policy.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/quoprimime.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/email/__pycache__/utils.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/aliases.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/ascii.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/base64_codec.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/big5.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/big5hkscs.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/bz2_codec.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/charmap.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp037.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp1006.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp1026.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp1125.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp1140.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp1250.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp1251.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp1252.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp1253.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp1254.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp1255.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp1256.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp1257.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp1258.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp273.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp424.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp437.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp500.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp720.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp737.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp775.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp850.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp852.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp855.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp856.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp857.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp858.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp860.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp861.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp862.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp863.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp864.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp865.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp866.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp869.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp874.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp875.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp932.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp949.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/cp950.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/euc_jis_2004.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/euc_jisx0213.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/euc_jp.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/euc_kr.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/gb18030.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/gb2312.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/gbk.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/hex_codec.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/hp_roman8.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/hz.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/idna.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso2022_jp.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso2022_jp_1.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso2022_jp_2.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso2022_jp_2004.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso2022_jp_3.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso2022_jp_ext.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso2022_kr.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso8859_1.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso8859_10.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso8859_11.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso8859_13.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso8859_14.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso8859_15.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso8859_16.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso8859_2.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso8859_3.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso8859_4.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso8859_5.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso8859_6.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso8859_7.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso8859_8.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/iso8859_9.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/johab.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/koi8_r.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/koi8_t.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/koi8_u.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/kz1048.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/latin_1.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/mac_arabic.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/mac_croatian.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/mac_cyrillic.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/mac_farsi.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/mac_greek.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/mac_iceland.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/mac_latin2.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/mac_roman.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/mac_romanian.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/mac_turkish.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/mbcs.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/oem.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/palmos.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/ptcp154.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/punycode.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/quopri_codec.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/raw_unicode_escape.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/rot_13.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/shift_jis.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/shift_jis_2004.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/shift_jisx0213.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/tis_620.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/undefined.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/unicode_escape.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/utf_16.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/utf_16_be.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/utf_16_le.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/utf_32.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/utf_32_be.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/utf_32_le.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/utf_7.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/utf_8.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/utf_8_sig.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/uu_codec.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/encodings/__pycache__/zlib_codec.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/enum.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/filecmp.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/fileinput.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/fnmatch.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/fractions.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/ftplib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/functools.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/genericpath.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/getopt.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/getpass.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/gettext.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/glob.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/graphlib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/gzip.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/hashlib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/heapq.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/hmac.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/html/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/html/__pycache__/entities.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/html/__pycache__/parser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/http/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/http/__pycache__/client.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/http/__pycache__/cookiejar.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/http/__pycache__/cookies.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/http/__pycache__/server.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/imghdr.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/importlib/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/importlib/__pycache__/_abc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/importlib/__pycache__/_bootstrap.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/importlib/__pycache__/_bootstrap_external.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/importlib/__pycache__/abc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/importlib/__pycache__/machinery.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/importlib/metadata/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/importlib/metadata/__pycache__/_adapters.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/importlib/metadata/__pycache__/_collections.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/importlib/metadata/__pycache__/_functools.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/importlib/metadata/__pycache__/_itertools.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/importlib/metadata/__pycache__/_meta.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/importlib/metadata/__pycache__/_text.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/importlib/__pycache__/readers.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/importlib/resources/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/importlib/resources/__pycache__/_adapters.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/importlib/resources/__pycache__/_common.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/importlib/resources/__pycache__/_itertools.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/importlib/resources/__pycache__/_legacy.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/importlib/resources/__pycache__/abc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/importlib/resources/__pycache__/readers.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/importlib/resources/__pycache__/simple.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/importlib/__pycache__/simple.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/importlib/__pycache__/util.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/inspect.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/io.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/ipaddress.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/json/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/json/__pycache__/decoder.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/json/__pycache__/encoder.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/json/__pycache__/scanner.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/json/__pycache__/tool.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/keyword.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/linecache.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/locale.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/logging/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/logging/__pycache__/config.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/logging/__pycache__/handlers.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/lzma.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/mailbox.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/mailcap.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/mimetypes.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/modulefinder.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/netrc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/nntplib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/ntpath.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/nturl2path.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/numbers.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/opcode.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/operator.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/optparse.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/os.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/pathlib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/pdb.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/pickle.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/pickletools.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/pipes.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/pkgutil.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/platform.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/plistlib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/poplib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/posixpath.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/pprint.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/profile.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/pstats.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/pty.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/py_compile.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/pyclbr.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/pydoc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/queue.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/quopri.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/random.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/re/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/re/__pycache__/_casefix.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/re/__pycache__/_compiler.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/re/__pycache__/_constants.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/re/__pycache__/_parser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/reprlib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/rlcompleter.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/runpy.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/sched.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/secrets.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/selectors.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/shelve.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/shlex.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/shutil.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/signal.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/site.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/smtplib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/sndhdr.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/socket.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/socketserver.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/sqlite3/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/sqlite3/__pycache__/__main__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/sqlite3/__pycache__/dbapi2.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/sqlite3/__pycache__/dump.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/sre_compile.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/sre_constants.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/sre_parse.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/ssl.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/stat.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/statistics.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/string.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/stringprep.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/struct.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/subprocess.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/sunau.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/symtable.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/sysconfig.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/tabnanny.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/tarfile.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/telnetlib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/tempfile.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/textwrap.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/this.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/threading.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/timeit.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/token.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/tokenize.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/tomllib/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/tomllib/__pycache__/_parser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/tomllib/__pycache__/_re.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/tomllib/__pycache__/_types.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/trace.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/traceback.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/tracemalloc.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/tty.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/types.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/typing.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/urllib/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/urllib/__pycache__/error.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/urllib/__pycache__/parse.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/urllib/__pycache__/request.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/urllib/__pycache__/response.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/urllib/__pycache__/robotparser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/uu.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/uuid.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/warnings.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/wave.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/weakref.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/webbrowser.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/xdrlib.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/xml/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/xml/dom/__pycache__/NodeFilter.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/xml/dom/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/xml/dom/__pycache__/domreg.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/xml/dom/__pycache__/expatbuilder.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/xml/dom/__pycache__/minicompat.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/xml/dom/__pycache__/minidom.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/xml/dom/__pycache__/pulldom.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/xml/dom/__pycache__/xmlbuilder.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/xml/etree/__pycache__/ElementInclude.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/xml/etree/__pycache__/ElementPath.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/xml/etree/__pycache__/ElementTree.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/xml/etree/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/xml/etree/__pycache__/cElementTree.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/xml/parsers/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/xml/parsers/__pycache__/expat.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/xml/sax/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/xml/sax/__pycache__/_exceptions.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/xml/sax/__pycache__/expatreader.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/xml/sax/__pycache__/handler.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/xml/sax/__pycache__/saxutils.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/xml/sax/__pycache__/xmlreader.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/xmlrpc/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/xmlrpc/__pycache__/client.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/xmlrpc/__pycache__/server.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/zipapp.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/zipfile/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/zipfile/__pycache__/__main__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/zipfile/_path/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/zipfile/_path/__pycache__/glob.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/__pycache__/zipimport.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/zoneinfo/__pycache__/__init__.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/zoneinfo/__pycache__/_common.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/zoneinfo/__pycache__/_tzpath.cpython-312.opt-1.pyc \ + $(BUILD_DIR)/windows/x64/Lib/zoneinfo/__pycache__/_zoneinfo.cpython-312.opt-1.pyc # Rule to copy src asset scripts to dst. # (and make non-writable so I'm less likely to accidentally edit them there) @@ -7251,6 +7223,8 @@ EXTRAS_TARGETS_WIN_WIN32 = \ $(BUILD_DIR)/windows/Win32/DLLs/_testbuffer_d.pyd \ $(BUILD_DIR)/windows/Win32/DLLs/_testcapi.pyd \ $(BUILD_DIR)/windows/Win32/DLLs/_testcapi_d.pyd \ + $(BUILD_DIR)/windows/Win32/DLLs/_testclinic.pyd \ + $(BUILD_DIR)/windows/Win32/DLLs/_testclinic_d.pyd \ $(BUILD_DIR)/windows/Win32/DLLs/_testconsole.pyd \ $(BUILD_DIR)/windows/Win32/DLLs/_testconsole_d.pyd \ $(BUILD_DIR)/windows/Win32/DLLs/_testimportmultiple.pyd \ @@ -7259,20 +7233,23 @@ EXTRAS_TARGETS_WIN_WIN32 = \ $(BUILD_DIR)/windows/Win32/DLLs/_testinternalcapi_d.pyd \ $(BUILD_DIR)/windows/Win32/DLLs/_testmultiphase.pyd \ $(BUILD_DIR)/windows/Win32/DLLs/_testmultiphase_d.pyd \ + $(BUILD_DIR)/windows/Win32/DLLs/_testsinglephase.pyd \ + $(BUILD_DIR)/windows/Win32/DLLs/_testsinglephase_d.pyd \ $(BUILD_DIR)/windows/Win32/DLLs/_tkinter.pyd \ $(BUILD_DIR)/windows/Win32/DLLs/_tkinter_d.lib \ $(BUILD_DIR)/windows/Win32/DLLs/_tkinter_d.pyd \ $(BUILD_DIR)/windows/Win32/DLLs/_uuid.pyd \ $(BUILD_DIR)/windows/Win32/DLLs/_uuid_d.pyd \ + $(BUILD_DIR)/windows/Win32/DLLs/_wmi.pyd \ + $(BUILD_DIR)/windows/Win32/DLLs/_wmi_d.pyd \ $(BUILD_DIR)/windows/Win32/DLLs/_zoneinfo.pyd \ $(BUILD_DIR)/windows/Win32/DLLs/_zoneinfo_d.pyd \ - $(BUILD_DIR)/windows/Win32/DLLs/libcrypto-1_1.dll \ + $(BUILD_DIR)/windows/Win32/DLLs/libcrypto-3.dll \ $(BUILD_DIR)/windows/Win32/DLLs/libffi-8.dll \ - $(BUILD_DIR)/windows/Win32/DLLs/libssl-1_1.dll \ + $(BUILD_DIR)/windows/Win32/DLLs/libssl-3.dll \ $(BUILD_DIR)/windows/Win32/DLLs/pyexpat.pyd \ $(BUILD_DIR)/windows/Win32/DLLs/pyexpat_d.pyd \ $(BUILD_DIR)/windows/Win32/DLLs/python_lib.cat \ - $(BUILD_DIR)/windows/Win32/DLLs/python_tools.cat \ $(BUILD_DIR)/windows/Win32/DLLs/select.pyd \ $(BUILD_DIR)/windows/Win32/DLLs/select_d.pyd \ $(BUILD_DIR)/windows/Win32/DLLs/sqlite3.dll \ @@ -7283,6 +7260,7 @@ EXTRAS_TARGETS_WIN_WIN32 = \ $(BUILD_DIR)/windows/Win32/DLLs/unicodedata_d.pyd \ $(BUILD_DIR)/windows/Win32/DLLs/winsound.pyd \ $(BUILD_DIR)/windows/Win32/DLLs/winsound_d.pyd \ + $(BUILD_DIR)/windows/Win32/DLLs/zlib1.dll \ $(BUILD_DIR)/windows/Win32/Lib/email/architecture.rst \ $(BUILD_DIR)/windows/Win32/OpenAL32.dll \ $(BUILD_DIR)/windows/Win32/SDL2.dll \ @@ -7291,8 +7269,8 @@ EXTRAS_TARGETS_WIN_WIN32 = \ $(BUILD_DIR)/windows/Win32/msvcp140d.dll \ $(BUILD_DIR)/windows/Win32/ogg.dll \ $(BUILD_DIR)/windows/Win32/python.exe \ - $(BUILD_DIR)/windows/Win32/python311.dll \ - $(BUILD_DIR)/windows/Win32/python311_d.dll \ + $(BUILD_DIR)/windows/Win32/python312.dll \ + $(BUILD_DIR)/windows/Win32/python312_d.dll \ $(BUILD_DIR)/windows/Win32/python_d.exe \ $(BUILD_DIR)/windows/Win32/pythonw.exe \ $(BUILD_DIR)/windows/Win32/pythonw_d.exe \ @@ -7340,6 +7318,8 @@ EXTRAS_TARGETS_WIN_X64 = \ $(BUILD_DIR)/windows/x64/DLLs/_testbuffer_d.pyd \ $(BUILD_DIR)/windows/x64/DLLs/_testcapi.pyd \ $(BUILD_DIR)/windows/x64/DLLs/_testcapi_d.pyd \ + $(BUILD_DIR)/windows/x64/DLLs/_testclinic.pyd \ + $(BUILD_DIR)/windows/x64/DLLs/_testclinic_d.pyd \ $(BUILD_DIR)/windows/x64/DLLs/_testconsole.pyd \ $(BUILD_DIR)/windows/x64/DLLs/_testconsole_d.pyd \ $(BUILD_DIR)/windows/x64/DLLs/_testimportmultiple.pyd \ @@ -7348,20 +7328,23 @@ EXTRAS_TARGETS_WIN_X64 = \ $(BUILD_DIR)/windows/x64/DLLs/_testinternalcapi_d.pyd \ $(BUILD_DIR)/windows/x64/DLLs/_testmultiphase.pyd \ $(BUILD_DIR)/windows/x64/DLLs/_testmultiphase_d.pyd \ + $(BUILD_DIR)/windows/x64/DLLs/_testsinglephase.pyd \ + $(BUILD_DIR)/windows/x64/DLLs/_testsinglephase_d.pyd \ $(BUILD_DIR)/windows/x64/DLLs/_tkinter.pyd \ $(BUILD_DIR)/windows/x64/DLLs/_tkinter_d.lib \ $(BUILD_DIR)/windows/x64/DLLs/_tkinter_d.pyd \ $(BUILD_DIR)/windows/x64/DLLs/_uuid.pyd \ $(BUILD_DIR)/windows/x64/DLLs/_uuid_d.pyd \ + $(BUILD_DIR)/windows/x64/DLLs/_wmi.pyd \ + $(BUILD_DIR)/windows/x64/DLLs/_wmi_d.pyd \ $(BUILD_DIR)/windows/x64/DLLs/_zoneinfo.pyd \ $(BUILD_DIR)/windows/x64/DLLs/_zoneinfo_d.pyd \ - $(BUILD_DIR)/windows/x64/DLLs/libcrypto-1_1.dll \ + $(BUILD_DIR)/windows/x64/DLLs/libcrypto-3.dll \ $(BUILD_DIR)/windows/x64/DLLs/libffi-8.dll \ - $(BUILD_DIR)/windows/x64/DLLs/libssl-1_1.dll \ + $(BUILD_DIR)/windows/x64/DLLs/libssl-3.dll \ $(BUILD_DIR)/windows/x64/DLLs/pyexpat.pyd \ $(BUILD_DIR)/windows/x64/DLLs/pyexpat_d.pyd \ $(BUILD_DIR)/windows/x64/DLLs/python_lib.cat \ - $(BUILD_DIR)/windows/x64/DLLs/python_tools.cat \ $(BUILD_DIR)/windows/x64/DLLs/select.pyd \ $(BUILD_DIR)/windows/x64/DLLs/select_d.pyd \ $(BUILD_DIR)/windows/x64/DLLs/sqlite3.dll \ @@ -7372,6 +7355,7 @@ EXTRAS_TARGETS_WIN_X64 = \ $(BUILD_DIR)/windows/x64/DLLs/unicodedata_d.pyd \ $(BUILD_DIR)/windows/x64/DLLs/winsound.pyd \ $(BUILD_DIR)/windows/x64/DLLs/winsound_d.pyd \ + $(BUILD_DIR)/windows/x64/DLLs/zlib1.dll \ $(BUILD_DIR)/windows/x64/Lib/email/architecture.rst \ $(BUILD_DIR)/windows/x64/OpenAL32.dll \ $(BUILD_DIR)/windows/x64/SDL2.dll \ @@ -7380,8 +7364,8 @@ EXTRAS_TARGETS_WIN_X64 = \ $(BUILD_DIR)/windows/x64/msvcp140d.dll \ $(BUILD_DIR)/windows/x64/ogg.dll \ $(BUILD_DIR)/windows/x64/python.exe \ - $(BUILD_DIR)/windows/x64/python311.dll \ - $(BUILD_DIR)/windows/x64/python311_d.dll \ + $(BUILD_DIR)/windows/x64/python312.dll \ + $(BUILD_DIR)/windows/x64/python312_d.dll \ $(BUILD_DIR)/windows/x64/python_d.exe \ $(BUILD_DIR)/windows/x64/pythonw.exe \ $(BUILD_DIR)/windows/x64/pythonw_d.exe \ diff --git a/src/assets/ba_data/python/babase/_app.py b/src/assets/ba_data/python/babase/_app.py index f7fb9071..8841076d 100644 --- a/src/assets/ba_data/python/babase/_app.py +++ b/src/assets/ba_data/python/babase/_app.py @@ -7,11 +7,10 @@ from __future__ import annotations import os import logging from enum import Enum -from typing import TYPE_CHECKING, TypeVar +from typing import TYPE_CHECKING, TypeVar, override from concurrent.futures import ThreadPoolExecutor from functools import cached_property -from typing_extensions import override from efro.call import tpartial import _babase @@ -227,7 +226,9 @@ class App: must go here instead of __init__. """ - # Hack for docs-generation: we can be imported with dummy modules + # Hack for docs-generation: + # + # We can be imported with dummy modules # instead of our actual binary ones, but we don't function. if os.environ.get('BA_RUNNING_WITH_DUMMY_MODULES') == '1': return @@ -272,10 +273,7 @@ class App: return self._asyncio_loop def create_async_task( - self, - coro: Generator[Any, Any, T] | Coroutine[Any, Any, T], - *, - name: str | None = None, + self, coro: Coroutine[Any, Any, T], *, name: str | None = None ) -> None: """Create a fully managed async task. @@ -285,6 +283,7 @@ class App: App.asyncio_loop. """ assert _babase.in_logic_thread() + # Hold a strong reference to the task until it is done. # Otherwise it is possible for it to be garbage collected and # disappear midway if the caller does not hold on to the @@ -293,7 +292,6 @@ class App: task = self.asyncio_loop.create_task(coro, name=name) self._asyncio_tasks.add(task) task.add_done_callback(self._on_task_done) - # return task def _on_task_done(self, task: asyncio.Task) -> None: # Report any errors that occurred. @@ -384,6 +382,7 @@ class App: # reached the 'running' state. This ensures that all subsystems # receive a consistent set of callbacks starting with # on_app_running(). + if self._subsystem_registration_ended: raise RuntimeError( 'Subsystems can no longer be registered at this point.' diff --git a/src/assets/ba_data/python/babase/_apputils.py b/src/assets/ba_data/python/babase/_apputils.py index ce911c90..84a27b70 100644 --- a/src/assets/ba_data/python/babase/_apputils.py +++ b/src/assets/ba_data/python/babase/_apputils.py @@ -8,9 +8,8 @@ import os import logging from threading import Thread from dataclasses import dataclass -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override from efro.call import tpartial from efro.log import LogLevel from efro.dataclassio import ioprepped, dataclass_to_json, dataclass_from_json diff --git a/src/assets/ba_data/python/babase/_devconsole.py b/src/assets/ba_data/python/babase/_devconsole.py index 47580b81..d4e70996 100644 --- a/src/assets/ba_data/python/babase/_devconsole.py +++ b/src/assets/ba_data/python/babase/_devconsole.py @@ -4,12 +4,10 @@ from __future__ import annotations import os -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override from dataclasses import dataclass import logging -from typing_extensions import override - import _babase if TYPE_CHECKING: diff --git a/src/assets/ba_data/python/babase/_emptyappmode.py b/src/assets/ba_data/python/babase/_emptyappmode.py index 3573769a..6745d21c 100644 --- a/src/assets/ba_data/python/babase/_emptyappmode.py +++ b/src/assets/ba_data/python/babase/_emptyappmode.py @@ -3,9 +3,8 @@ """Provides AppMode functionality.""" from __future__ import annotations -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override from bacommon.app import AppExperience import _babase diff --git a/src/assets/ba_data/python/babase/_env.py b/src/assets/ba_data/python/babase/_env.py index 124caa27..5efc2530 100644 --- a/src/assets/ba_data/python/babase/_env.py +++ b/src/assets/ba_data/python/babase/_env.py @@ -7,9 +7,8 @@ import sys import signal import logging import warnings -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override from efro.log import LogLevel if TYPE_CHECKING: diff --git a/src/assets/ba_data/python/babase/_general.py b/src/assets/ba_data/python/babase/_general.py index 2d2738da..d1914d57 100644 --- a/src/assets/ba_data/python/babase/_general.py +++ b/src/assets/ba_data/python/babase/_general.py @@ -8,9 +8,8 @@ import weakref import random import logging import inspect -from typing import TYPE_CHECKING, TypeVar, Protocol, NewType +from typing import TYPE_CHECKING, TypeVar, Protocol, NewType, override -from typing_extensions import override from efro.terminal import Clr import _babase diff --git a/src/assets/ba_data/python/babase/_language.py b/src/assets/ba_data/python/babase/_language.py index 3983a7a7..f36e9ace 100644 --- a/src/assets/ba_data/python/babase/_language.py +++ b/src/assets/ba_data/python/babase/_language.py @@ -6,9 +6,7 @@ from __future__ import annotations import os import json import logging -from typing import TYPE_CHECKING, overload - -from typing_extensions import override +from typing import TYPE_CHECKING, overload, override import _babase from babase._appsubsystem import AppSubsystem diff --git a/src/assets/ba_data/python/babase/_login.py b/src/assets/ba_data/python/babase/_login.py index 67968440..81c07917 100644 --- a/src/assets/ba_data/python/babase/_login.py +++ b/src/assets/ba_data/python/babase/_login.py @@ -7,9 +7,8 @@ from __future__ import annotations import time import logging from dataclasses import dataclass -from typing import TYPE_CHECKING, final +from typing import TYPE_CHECKING, final, override -from typing_extensions import override from bacommon.login import LoginType import _babase diff --git a/src/assets/ba_data/python/babase/_plugin.py b/src/assets/ba_data/python/babase/_plugin.py index d83050b9..2ddab074 100644 --- a/src/assets/ba_data/python/babase/_plugin.py +++ b/src/assets/ba_data/python/babase/_plugin.py @@ -6,9 +6,7 @@ from __future__ import annotations import logging import importlib.util -from typing import TYPE_CHECKING - -from typing_extensions import override +from typing import TYPE_CHECKING, override import _babase from babase._appsubsystem import AppSubsystem diff --git a/src/assets/ba_data/python/babase/_ui.py b/src/assets/ba_data/python/babase/_ui.py index 6457eadf..55c895bd 100644 --- a/src/assets/ba_data/python/babase/_ui.py +++ b/src/assets/ba_data/python/babase/_ui.py @@ -3,9 +3,7 @@ """UI related bits of babase.""" from __future__ import annotations -from typing import TYPE_CHECKING - -from typing_extensions import override +from typing import TYPE_CHECKING, override from babase._stringedit import StringEditAdapter import _babase diff --git a/src/assets/ba_data/python/baclassic/_benchmark.py b/src/assets/ba_data/python/baclassic/_benchmark.py index 23033eef..0c25f593 100644 --- a/src/assets/ba_data/python/baclassic/_benchmark.py +++ b/src/assets/ba_data/python/baclassic/_benchmark.py @@ -5,9 +5,8 @@ from __future__ import annotations import random from dataclasses import dataclass -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import babase import bascenev1 import _baclassic diff --git a/src/assets/ba_data/python/baclassic/_net.py b/src/assets/ba_data/python/baclassic/_net.py index 04d3fb6c..98fbc9a8 100644 --- a/src/assets/ba_data/python/baclassic/_net.py +++ b/src/assets/ba_data/python/baclassic/_net.py @@ -7,9 +7,8 @@ import copy import weakref import threading from enum import Enum -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import babase import bascenev1 diff --git a/src/assets/ba_data/python/baclassic/_subsystem.py b/src/assets/ba_data/python/baclassic/_subsystem.py index 4bdf1406..16611ec9 100644 --- a/src/assets/ba_data/python/baclassic/_subsystem.py +++ b/src/assets/ba_data/python/baclassic/_subsystem.py @@ -3,12 +3,11 @@ """Provides classic app subsystem.""" from __future__ import annotations -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override import random import logging import weakref -from typing_extensions import override from efro.dataclassio import dataclass_from_dict import babase import bauiv1 diff --git a/src/assets/ba_data/python/baclassic/macmusicapp.py b/src/assets/ba_data/python/baclassic/macmusicapp.py index 12fe6846..6b4b9b49 100644 --- a/src/assets/ba_data/python/baclassic/macmusicapp.py +++ b/src/assets/ba_data/python/baclassic/macmusicapp.py @@ -6,9 +6,8 @@ from __future__ import annotations import logging import threading from collections import deque -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import babase from baclassic._music import MusicPlayer diff --git a/src/assets/ba_data/python/baclassic/osmusic.py b/src/assets/ba_data/python/baclassic/osmusic.py index f2198ce5..919df491 100644 --- a/src/assets/ba_data/python/baclassic/osmusic.py +++ b/src/assets/ba_data/python/baclassic/osmusic.py @@ -7,9 +7,8 @@ import os import random import logging import threading -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import babase from baclassic._music import MusicPlayer diff --git a/src/assets/ba_data/python/baenv.py b/src/assets/ba_data/python/baenv.py index 9a92c0fd..455808d3 100644 --- a/src/assets/ba_data/python/baenv.py +++ b/src/assets/ba_data/python/baenv.py @@ -52,7 +52,7 @@ if TYPE_CHECKING: # Build number and version of the ballistica binary we expect to be # using. -TARGET_BALLISTICA_BUILD = 21800 +TARGET_BALLISTICA_BUILD = 21801 TARGET_BALLISTICA_VERSION = '1.7.34' diff --git a/src/assets/ba_data/python/baplus/_subsystem.py b/src/assets/ba_data/python/baplus/_subsystem.py index 567f3cd1..7268abc3 100644 --- a/src/assets/ba_data/python/baplus/_subsystem.py +++ b/src/assets/ba_data/python/baplus/_subsystem.py @@ -3,9 +3,8 @@ """Provides plus app subsystem.""" from __future__ import annotations -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override from babase import AppSubsystem import _baplus diff --git a/src/assets/ba_data/python/bascenev1/_activitytypes.py b/src/assets/ba_data/python/bascenev1/_activitytypes.py index 0102305a..a11d8c0e 100644 --- a/src/assets/ba_data/python/bascenev1/_activitytypes.py +++ b/src/assets/ba_data/python/bascenev1/_activitytypes.py @@ -3,9 +3,8 @@ """Some handy base class and special purpose Activity types.""" from __future__ import annotations -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import babase import _bascenev1 diff --git a/src/assets/ba_data/python/bascenev1/_appmode.py b/src/assets/ba_data/python/bascenev1/_appmode.py index 481fb4e6..72a77aee 100644 --- a/src/assets/ba_data/python/bascenev1/_appmode.py +++ b/src/assets/ba_data/python/bascenev1/_appmode.py @@ -3,9 +3,8 @@ """Provides AppMode functionality.""" from __future__ import annotations -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override from bacommon.app import AppExperience from babase import ( app, diff --git a/src/assets/ba_data/python/bascenev1/_coopgame.py b/src/assets/ba_data/python/bascenev1/_coopgame.py index e0af5158..e4f20e3d 100644 --- a/src/assets/ba_data/python/bascenev1/_coopgame.py +++ b/src/assets/ba_data/python/bascenev1/_coopgame.py @@ -4,9 +4,8 @@ from __future__ import annotations import logging -from typing import TYPE_CHECKING, TypeVar +from typing import TYPE_CHECKING, TypeVar, override -from typing_extensions import override import babase import _bascenev1 diff --git a/src/assets/ba_data/python/bascenev1/_coopsession.py b/src/assets/ba_data/python/bascenev1/_coopsession.py index a68a72c4..d5040e04 100644 --- a/src/assets/ba_data/python/bascenev1/_coopsession.py +++ b/src/assets/ba_data/python/bascenev1/_coopsession.py @@ -3,9 +3,8 @@ """Functionality related to coop-mode sessions.""" from __future__ import annotations -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import babase import _bascenev1 diff --git a/src/assets/ba_data/python/bascenev1/_dependency.py b/src/assets/ba_data/python/bascenev1/_dependency.py index 0a2f49f2..9741493b 100644 --- a/src/assets/ba_data/python/bascenev1/_dependency.py +++ b/src/assets/ba_data/python/bascenev1/_dependency.py @@ -5,9 +5,8 @@ from __future__ import annotations import weakref -from typing import Generic, TypeVar, TYPE_CHECKING +from typing import Generic, TypeVar, TYPE_CHECKING, override -from typing_extensions import override import babase import _bascenev1 diff --git a/src/assets/ba_data/python/bascenev1/_dualteamsession.py b/src/assets/ba_data/python/bascenev1/_dualteamsession.py index 82807684..4e0eb43a 100644 --- a/src/assets/ba_data/python/bascenev1/_dualteamsession.py +++ b/src/assets/ba_data/python/bascenev1/_dualteamsession.py @@ -3,9 +3,8 @@ """Functionality related to teams sessions.""" from __future__ import annotations -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import babase import _bascenev1 diff --git a/src/assets/ba_data/python/bascenev1/_freeforallsession.py b/src/assets/ba_data/python/bascenev1/_freeforallsession.py index 2718377c..f32eb648 100644 --- a/src/assets/ba_data/python/bascenev1/_freeforallsession.py +++ b/src/assets/ba_data/python/bascenev1/_freeforallsession.py @@ -4,9 +4,8 @@ from __future__ import annotations -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import babase import _bascenev1 diff --git a/src/assets/ba_data/python/bascenev1/_gameactivity.py b/src/assets/ba_data/python/bascenev1/_gameactivity.py index 1557ffc1..15177334 100644 --- a/src/assets/ba_data/python/bascenev1/_gameactivity.py +++ b/src/assets/ba_data/python/bascenev1/_gameactivity.py @@ -7,9 +7,8 @@ from __future__ import annotations import random import logging -from typing import TYPE_CHECKING, TypeVar +from typing import TYPE_CHECKING, TypeVar, override -from typing_extensions import override import babase import _bascenev1 diff --git a/src/assets/ba_data/python/bascenev1/_level.py b/src/assets/ba_data/python/bascenev1/_level.py index 74792e96..6da0a7ec 100644 --- a/src/assets/ba_data/python/bascenev1/_level.py +++ b/src/assets/ba_data/python/bascenev1/_level.py @@ -5,9 +5,8 @@ from __future__ import annotations import copy import weakref -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import babase if TYPE_CHECKING: diff --git a/src/assets/ba_data/python/bascenev1/_map.py b/src/assets/ba_data/python/bascenev1/_map.py index 02f64909..4b3b7a9f 100644 --- a/src/assets/ba_data/python/bascenev1/_map.py +++ b/src/assets/ba_data/python/bascenev1/_map.py @@ -4,9 +4,8 @@ from __future__ import annotations import random -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import babase import _bascenev1 diff --git a/src/assets/ba_data/python/bascenev1/_multiteamsession.py b/src/assets/ba_data/python/bascenev1/_multiteamsession.py index 77459baa..dc135859 100644 --- a/src/assets/ba_data/python/bascenev1/_multiteamsession.py +++ b/src/assets/ba_data/python/bascenev1/_multiteamsession.py @@ -6,9 +6,8 @@ from __future__ import annotations import copy import random import logging -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import babase import _bascenev1 diff --git a/src/assets/ba_data/python/bascenev1/_nodeactor.py b/src/assets/ba_data/python/bascenev1/_nodeactor.py index 7b3551e7..965b5964 100644 --- a/src/assets/ba_data/python/bascenev1/_nodeactor.py +++ b/src/assets/ba_data/python/bascenev1/_nodeactor.py @@ -4,9 +4,7 @@ from __future__ import annotations -from typing import TYPE_CHECKING - -from typing_extensions import override +from typing import TYPE_CHECKING, override from bascenev1._messages import DieMessage from bascenev1._actor import Actor diff --git a/src/assets/ba_data/python/bascenev1/_teamgame.py b/src/assets/ba_data/python/bascenev1/_teamgame.py index e835bd0e..29ecf7d4 100644 --- a/src/assets/ba_data/python/bascenev1/_teamgame.py +++ b/src/assets/ba_data/python/bascenev1/_teamgame.py @@ -5,9 +5,8 @@ from __future__ import annotations import logging -from typing import TYPE_CHECKING, TypeVar +from typing import TYPE_CHECKING, TypeVar, override -from typing_extensions import override import babase import _bascenev1 diff --git a/src/assets/ba_data/python/bascenev1lib/activity/coopjoin.py b/src/assets/ba_data/python/bascenev1lib/activity/coopjoin.py index 55f3fd8e..44dbd7ea 100644 --- a/src/assets/ba_data/python/bascenev1lib/activity/coopjoin.py +++ b/src/assets/ba_data/python/bascenev1lib/activity/coopjoin.py @@ -4,7 +4,8 @@ from __future__ import annotations -from typing_extensions import override +from typing import override + import bascenev1 as bs diff --git a/src/assets/ba_data/python/bascenev1lib/activity/coopscore.py b/src/assets/ba_data/python/bascenev1lib/activity/coopscore.py index 86cabfc6..4b92b69c 100644 --- a/src/assets/ba_data/python/bascenev1lib/activity/coopscore.py +++ b/src/assets/ba_data/python/bascenev1lib/activity/coopscore.py @@ -7,9 +7,8 @@ from __future__ import annotations import random import logging -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override from bacommon.login import LoginType import bascenev1 as bs import bauiv1 as bui diff --git a/src/assets/ba_data/python/bascenev1lib/activity/drawscore.py b/src/assets/ba_data/python/bascenev1lib/activity/drawscore.py index d6e1b289..78def50f 100644 --- a/src/assets/ba_data/python/bascenev1lib/activity/drawscore.py +++ b/src/assets/ba_data/python/bascenev1lib/activity/drawscore.py @@ -4,7 +4,8 @@ from __future__ import annotations -from typing_extensions import override +from typing import override + import bascenev1 as bs from bascenev1lib.activity.multiteamscore import MultiTeamScoreScreenActivity diff --git a/src/assets/ba_data/python/bascenev1lib/activity/dualteamscore.py b/src/assets/ba_data/python/bascenev1lib/activity/dualteamscore.py index 2df370bd..dc01ac58 100644 --- a/src/assets/ba_data/python/bascenev1lib/activity/dualteamscore.py +++ b/src/assets/ba_data/python/bascenev1lib/activity/dualteamscore.py @@ -4,7 +4,8 @@ from __future__ import annotations -from typing_extensions import override +from typing import override + import bascenev1 as bs from bascenev1lib.activity.multiteamscore import MultiTeamScoreScreenActivity diff --git a/src/assets/ba_data/python/bascenev1lib/activity/freeforallvictory.py b/src/assets/ba_data/python/bascenev1lib/activity/freeforallvictory.py index cf82d4ad..5f2189fa 100644 --- a/src/assets/ba_data/python/bascenev1lib/activity/freeforallvictory.py +++ b/src/assets/ba_data/python/bascenev1lib/activity/freeforallvictory.py @@ -4,9 +4,8 @@ from __future__ import annotations -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import bascenev1 as bs from bascenev1lib.activity.multiteamscore import MultiTeamScoreScreenActivity diff --git a/src/assets/ba_data/python/bascenev1lib/activity/multiteamjoin.py b/src/assets/ba_data/python/bascenev1lib/activity/multiteamjoin.py index ff8f74be..33398710 100644 --- a/src/assets/ba_data/python/bascenev1lib/activity/multiteamjoin.py +++ b/src/assets/ba_data/python/bascenev1lib/activity/multiteamjoin.py @@ -4,7 +4,8 @@ from __future__ import annotations -from typing_extensions import override +from typing import override + import bascenev1 as bs from bascenev1lib.actor.text import Text diff --git a/src/assets/ba_data/python/bascenev1lib/activity/multiteamscore.py b/src/assets/ba_data/python/bascenev1lib/activity/multiteamscore.py index 3a0db16a..9feb385d 100644 --- a/src/assets/ba_data/python/bascenev1lib/activity/multiteamscore.py +++ b/src/assets/ba_data/python/bascenev1lib/activity/multiteamscore.py @@ -3,7 +3,8 @@ """Functionality related to teams mode score screen.""" from __future__ import annotations -from typing_extensions import override +from typing import override + import bascenev1 as bs from bascenev1lib.actor.text import Text diff --git a/src/assets/ba_data/python/bascenev1lib/activity/multiteamvictory.py b/src/assets/ba_data/python/bascenev1lib/activity/multiteamvictory.py index e2a09252..a8ecc289 100644 --- a/src/assets/ba_data/python/bascenev1lib/activity/multiteamvictory.py +++ b/src/assets/ba_data/python/bascenev1lib/activity/multiteamvictory.py @@ -4,7 +4,8 @@ from __future__ import annotations -from typing_extensions import override +from typing import override + import bascenev1 as bs from bascenev1lib.activity.multiteamscore import MultiTeamScoreScreenActivity diff --git a/src/assets/ba_data/python/bascenev1lib/actor/background.py b/src/assets/ba_data/python/bascenev1lib/actor/background.py index d5625a27..ff5d508a 100644 --- a/src/assets/ba_data/python/bascenev1lib/actor/background.py +++ b/src/assets/ba_data/python/bascenev1lib/actor/background.py @@ -7,9 +7,8 @@ from __future__ import annotations import random import weakref import logging -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import bascenev1 as bs if TYPE_CHECKING: diff --git a/src/assets/ba_data/python/bascenev1lib/actor/bomb.py b/src/assets/ba_data/python/bascenev1lib/actor/bomb.py index 058057d0..c73eceba 100644 --- a/src/assets/ba_data/python/bascenev1lib/actor/bomb.py +++ b/src/assets/ba_data/python/bascenev1lib/actor/bomb.py @@ -8,9 +8,8 @@ from __future__ import annotations import random -from typing import TYPE_CHECKING, TypeVar +from typing import TYPE_CHECKING, TypeVar, override -from typing_extensions import override import bascenev1 as bs from bascenev1lib.gameutils import SharedObjects diff --git a/src/assets/ba_data/python/bascenev1lib/actor/controlsguide.py b/src/assets/ba_data/python/bascenev1lib/actor/controlsguide.py index d73ea28b..a750dfdc 100644 --- a/src/assets/ba_data/python/bascenev1lib/actor/controlsguide.py +++ b/src/assets/ba_data/python/bascenev1lib/actor/controlsguide.py @@ -4,9 +4,8 @@ from __future__ import annotations -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import bascenev1 as bs if TYPE_CHECKING: diff --git a/src/assets/ba_data/python/bascenev1lib/actor/flag.py b/src/assets/ba_data/python/bascenev1lib/actor/flag.py index cd24c9ef..03472039 100644 --- a/src/assets/ba_data/python/bascenev1lib/actor/flag.py +++ b/src/assets/ba_data/python/bascenev1lib/actor/flag.py @@ -5,9 +5,8 @@ from __future__ import annotations from dataclasses import dataclass -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import bascenev1 as bs from bascenev1lib.gameutils import SharedObjects diff --git a/src/assets/ba_data/python/bascenev1lib/actor/image.py b/src/assets/ba_data/python/bascenev1lib/actor/image.py index 00e71d0c..daa648be 100644 --- a/src/assets/ba_data/python/bascenev1lib/actor/image.py +++ b/src/assets/ba_data/python/bascenev1lib/actor/image.py @@ -5,9 +5,8 @@ from __future__ import annotations from enum import Enum -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import bascenev1 as bs if TYPE_CHECKING: diff --git a/src/assets/ba_data/python/bascenev1lib/actor/onscreencountdown.py b/src/assets/ba_data/python/bascenev1lib/actor/onscreencountdown.py index 68c477b6..7c2364f0 100644 --- a/src/assets/ba_data/python/bascenev1lib/actor/onscreencountdown.py +++ b/src/assets/ba_data/python/bascenev1lib/actor/onscreencountdown.py @@ -4,9 +4,8 @@ from __future__ import annotations -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import bascenev1 as bs if TYPE_CHECKING: diff --git a/src/assets/ba_data/python/bascenev1lib/actor/onscreentimer.py b/src/assets/ba_data/python/bascenev1lib/actor/onscreentimer.py index 192fecc2..11050ee7 100644 --- a/src/assets/ba_data/python/bascenev1lib/actor/onscreentimer.py +++ b/src/assets/ba_data/python/bascenev1lib/actor/onscreentimer.py @@ -3,10 +3,9 @@ """Defines Actor(s).""" from __future__ import annotations -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override import logging -from typing_extensions import override import bascenev1 as bs if TYPE_CHECKING: diff --git a/src/assets/ba_data/python/bascenev1lib/actor/playerspaz.py b/src/assets/ba_data/python/bascenev1lib/actor/playerspaz.py index 683469f9..07caae58 100644 --- a/src/assets/ba_data/python/bascenev1lib/actor/playerspaz.py +++ b/src/assets/ba_data/python/bascenev1lib/actor/playerspaz.py @@ -4,9 +4,8 @@ from __future__ import annotations -from typing import TYPE_CHECKING, TypeVar, overload +from typing import TYPE_CHECKING, TypeVar, overload, override -from typing_extensions import override import bascenev1 as bs from bascenev1lib.actor.spaz import Spaz diff --git a/src/assets/ba_data/python/bascenev1lib/actor/popuptext.py b/src/assets/ba_data/python/bascenev1lib/actor/popuptext.py index 6fdd41d6..ca375fce 100644 --- a/src/assets/ba_data/python/bascenev1lib/actor/popuptext.py +++ b/src/assets/ba_data/python/bascenev1lib/actor/popuptext.py @@ -5,9 +5,8 @@ from __future__ import annotations import random -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import bascenev1 as bs if TYPE_CHECKING: diff --git a/src/assets/ba_data/python/bascenev1lib/actor/powerupbox.py b/src/assets/ba_data/python/bascenev1lib/actor/powerupbox.py index 1b95e4df..c6ebd56c 100644 --- a/src/assets/ba_data/python/bascenev1lib/actor/powerupbox.py +++ b/src/assets/ba_data/python/bascenev1lib/actor/powerupbox.py @@ -5,9 +5,8 @@ from __future__ import annotations import random -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import bascenev1 as bs from bascenev1lib.gameutils import SharedObjects diff --git a/src/assets/ba_data/python/bascenev1lib/actor/spaz.py b/src/assets/ba_data/python/bascenev1lib/actor/spaz.py index 9fc4c321..157840e7 100644 --- a/src/assets/ba_data/python/bascenev1lib/actor/spaz.py +++ b/src/assets/ba_data/python/bascenev1lib/actor/spaz.py @@ -7,9 +7,8 @@ from __future__ import annotations import random import logging -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import bascenev1 as bs from bascenev1lib.actor.bomb import Bomb, Blast diff --git a/src/assets/ba_data/python/bascenev1lib/actor/spazbot.py b/src/assets/ba_data/python/bascenev1lib/actor/spazbot.py index ed91bdbe..56118af8 100644 --- a/src/assets/ba_data/python/bascenev1lib/actor/spazbot.py +++ b/src/assets/ba_data/python/bascenev1lib/actor/spazbot.py @@ -8,9 +8,8 @@ from __future__ import annotations import random import weakref import logging -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import bascenev1 as bs from bascenev1lib.actor.spaz import Spaz diff --git a/src/assets/ba_data/python/bascenev1lib/actor/text.py b/src/assets/ba_data/python/bascenev1lib/actor/text.py index 15698510..cdea37d2 100644 --- a/src/assets/ba_data/python/bascenev1lib/actor/text.py +++ b/src/assets/ba_data/python/bascenev1lib/actor/text.py @@ -5,9 +5,8 @@ from __future__ import annotations from enum import Enum -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import bascenev1 as bs if TYPE_CHECKING: diff --git a/src/assets/ba_data/python/bascenev1lib/actor/tipstext.py b/src/assets/ba_data/python/bascenev1lib/actor/tipstext.py index 8e20951e..9c161684 100644 --- a/src/assets/ba_data/python/bascenev1lib/actor/tipstext.py +++ b/src/assets/ba_data/python/bascenev1lib/actor/tipstext.py @@ -4,9 +4,8 @@ from __future__ import annotations -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import bascenev1 as bs if TYPE_CHECKING: diff --git a/src/assets/ba_data/python/bascenev1lib/actor/zoomtext.py b/src/assets/ba_data/python/bascenev1lib/actor/zoomtext.py index 12cdb757..46525aaf 100644 --- a/src/assets/ba_data/python/bascenev1lib/actor/zoomtext.py +++ b/src/assets/ba_data/python/bascenev1lib/actor/zoomtext.py @@ -6,9 +6,8 @@ from __future__ import annotations import random import logging -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import bascenev1 as bs if TYPE_CHECKING: diff --git a/src/assets/ba_data/python/bascenev1lib/game/assault.py b/src/assets/ba_data/python/bascenev1lib/game/assault.py index 12eb1229..fa50f2ca 100644 --- a/src/assets/ba_data/python/bascenev1lib/game/assault.py +++ b/src/assets/ba_data/python/bascenev1lib/game/assault.py @@ -8,9 +8,8 @@ from __future__ import annotations import random -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import bascenev1 as bs from bascenev1lib.actor.playerspaz import PlayerSpaz diff --git a/src/assets/ba_data/python/bascenev1lib/game/capturetheflag.py b/src/assets/ba_data/python/bascenev1lib/game/capturetheflag.py index 0d6d1e4f..a5e65ed0 100644 --- a/src/assets/ba_data/python/bascenev1lib/game/capturetheflag.py +++ b/src/assets/ba_data/python/bascenev1lib/game/capturetheflag.py @@ -8,9 +8,8 @@ from __future__ import annotations import logging -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import bascenev1 as bs from bascenev1lib.actor.playerspaz import PlayerSpaz diff --git a/src/assets/ba_data/python/bascenev1lib/game/chosenone.py b/src/assets/ba_data/python/bascenev1lib/game/chosenone.py index aba373d7..17160109 100644 --- a/src/assets/ba_data/python/bascenev1lib/game/chosenone.py +++ b/src/assets/ba_data/python/bascenev1lib/game/chosenone.py @@ -8,9 +8,8 @@ from __future__ import annotations import logging -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import bascenev1 as bs from bascenev1lib.actor.flag import Flag diff --git a/src/assets/ba_data/python/bascenev1lib/game/conquest.py b/src/assets/ba_data/python/bascenev1lib/game/conquest.py index d50041f6..7c14011a 100644 --- a/src/assets/ba_data/python/bascenev1lib/game/conquest.py +++ b/src/assets/ba_data/python/bascenev1lib/game/conquest.py @@ -8,9 +8,8 @@ from __future__ import annotations import random -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import bascenev1 as bs from bascenev1lib.actor.flag import Flag diff --git a/src/assets/ba_data/python/bascenev1lib/game/deathmatch.py b/src/assets/ba_data/python/bascenev1lib/game/deathmatch.py index 7721b636..85ff1423 100644 --- a/src/assets/ba_data/python/bascenev1lib/game/deathmatch.py +++ b/src/assets/ba_data/python/bascenev1lib/game/deathmatch.py @@ -7,9 +7,8 @@ from __future__ import annotations -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import bascenev1 as bs from bascenev1lib.actor.playerspaz import PlayerSpaz diff --git a/src/assets/ba_data/python/bascenev1lib/game/easteregghunt.py b/src/assets/ba_data/python/bascenev1lib/game/easteregghunt.py index e7159f8d..260628a0 100644 --- a/src/assets/ba_data/python/bascenev1lib/game/easteregghunt.py +++ b/src/assets/ba_data/python/bascenev1lib/game/easteregghunt.py @@ -8,9 +8,8 @@ from __future__ import annotations import random -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import bascenev1 as bs from bascenev1lib.actor.bomb import Bomb diff --git a/src/assets/ba_data/python/bascenev1lib/game/elimination.py b/src/assets/ba_data/python/bascenev1lib/game/elimination.py index d37c2ee3..37cec73f 100644 --- a/src/assets/ba_data/python/bascenev1lib/game/elimination.py +++ b/src/assets/ba_data/python/bascenev1lib/game/elimination.py @@ -8,9 +8,8 @@ from __future__ import annotations import logging -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import bascenev1 as bs from bascenev1lib.actor.spazfactory import SpazFactory diff --git a/src/assets/ba_data/python/bascenev1lib/game/football.py b/src/assets/ba_data/python/bascenev1lib/game/football.py index 1c99555b..3555794b 100644 --- a/src/assets/ba_data/python/bascenev1lib/game/football.py +++ b/src/assets/ba_data/python/bascenev1lib/game/football.py @@ -11,9 +11,8 @@ from __future__ import annotations import math import random import logging -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import bascenev1 as bs from bascenev1lib.actor.bomb import TNTSpawner diff --git a/src/assets/ba_data/python/bascenev1lib/game/hockey.py b/src/assets/ba_data/python/bascenev1lib/game/hockey.py index 64487e5a..c8b84494 100644 --- a/src/assets/ba_data/python/bascenev1lib/game/hockey.py +++ b/src/assets/ba_data/python/bascenev1lib/game/hockey.py @@ -7,9 +7,8 @@ from __future__ import annotations -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import bascenev1 as bs from bascenev1lib.actor.playerspaz import PlayerSpaz diff --git a/src/assets/ba_data/python/bascenev1lib/game/keepaway.py b/src/assets/ba_data/python/bascenev1lib/game/keepaway.py index 416723e1..874b03e4 100644 --- a/src/assets/ba_data/python/bascenev1lib/game/keepaway.py +++ b/src/assets/ba_data/python/bascenev1lib/game/keepaway.py @@ -9,9 +9,8 @@ from __future__ import annotations import logging from enum import Enum -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import bascenev1 as bs from bascenev1lib.actor.playerspaz import PlayerSpaz diff --git a/src/assets/ba_data/python/bascenev1lib/game/kingofthehill.py b/src/assets/ba_data/python/bascenev1lib/game/kingofthehill.py index 907b4341..24244f22 100644 --- a/src/assets/ba_data/python/bascenev1lib/game/kingofthehill.py +++ b/src/assets/ba_data/python/bascenev1lib/game/kingofthehill.py @@ -9,9 +9,8 @@ from __future__ import annotations import weakref from enum import Enum -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import bascenev1 as bs from bascenev1lib.actor.flag import Flag diff --git a/src/assets/ba_data/python/bascenev1lib/game/meteorshower.py b/src/assets/ba_data/python/bascenev1lib/game/meteorshower.py index cff9cf8d..7596632c 100644 --- a/src/assets/ba_data/python/bascenev1lib/game/meteorshower.py +++ b/src/assets/ba_data/python/bascenev1lib/game/meteorshower.py @@ -8,9 +8,8 @@ from __future__ import annotations import random -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import bascenev1 as bs from bascenev1lib.actor.bomb import Bomb diff --git a/src/assets/ba_data/python/bascenev1lib/game/ninjafight.py b/src/assets/ba_data/python/bascenev1lib/game/ninjafight.py index 98ca8d0b..67658cfe 100644 --- a/src/assets/ba_data/python/bascenev1lib/game/ninjafight.py +++ b/src/assets/ba_data/python/bascenev1lib/game/ninjafight.py @@ -8,9 +8,8 @@ from __future__ import annotations import random -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import bascenev1 as bs from bascenev1lib.actor.spazbot import ( diff --git a/src/assets/ba_data/python/bascenev1lib/game/onslaught.py b/src/assets/ba_data/python/bascenev1lib/game/onslaught.py index b1c2e145..6933a0ce 100644 --- a/src/assets/ba_data/python/bascenev1lib/game/onslaught.py +++ b/src/assets/ba_data/python/bascenev1lib/game/onslaught.py @@ -15,9 +15,8 @@ import random import logging from enum import Enum, unique from dataclasses import dataclass -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import bascenev1 as bs from bascenev1lib.actor.popuptext import PopupText diff --git a/src/assets/ba_data/python/bascenev1lib/game/race.py b/src/assets/ba_data/python/bascenev1lib/game/race.py index 6898a2f3..c5556161 100644 --- a/src/assets/ba_data/python/bascenev1lib/game/race.py +++ b/src/assets/ba_data/python/bascenev1lib/game/race.py @@ -9,10 +9,9 @@ from __future__ import annotations import random import logging -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override from dataclasses import dataclass -from typing_extensions import override import bascenev1 as bs from bascenev1lib.actor.bomb import Bomb diff --git a/src/assets/ba_data/python/bascenev1lib/game/runaround.py b/src/assets/ba_data/python/bascenev1lib/game/runaround.py index b09d5ed2..8d0b993b 100644 --- a/src/assets/ba_data/python/bascenev1lib/game/runaround.py +++ b/src/assets/ba_data/python/bascenev1lib/game/runaround.py @@ -14,9 +14,8 @@ import random import logging from enum import Enum from dataclasses import dataclass -from typing import TYPE_CHECKING, cast, Sequence +from typing import TYPE_CHECKING, cast, Sequence, override -from typing_extensions import override import bascenev1 as bs from bascenev1lib.actor.popuptext import PopupText diff --git a/src/assets/ba_data/python/bascenev1lib/game/targetpractice.py b/src/assets/ba_data/python/bascenev1lib/game/targetpractice.py index 42993572..18d94109 100644 --- a/src/assets/ba_data/python/bascenev1lib/game/targetpractice.py +++ b/src/assets/ba_data/python/bascenev1lib/game/targetpractice.py @@ -8,9 +8,8 @@ from __future__ import annotations import random -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import bascenev1 as bs from bascenev1lib.actor.scoreboard import Scoreboard diff --git a/src/assets/ba_data/python/bascenev1lib/game/thelaststand.py b/src/assets/ba_data/python/bascenev1lib/game/thelaststand.py index 7752c3fa..15b7cb97 100644 --- a/src/assets/ba_data/python/bascenev1lib/game/thelaststand.py +++ b/src/assets/ba_data/python/bascenev1lib/game/thelaststand.py @@ -7,9 +7,8 @@ from __future__ import annotations import random import logging from dataclasses import dataclass -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import bascenev1 as bs from bascenev1lib.actor.playerspaz import PlayerSpaz diff --git a/src/assets/ba_data/python/bascenev1lib/mainmenu.py b/src/assets/ba_data/python/bascenev1lib/mainmenu.py index 8041176e..07fbf3fb 100644 --- a/src/assets/ba_data/python/bascenev1lib/mainmenu.py +++ b/src/assets/ba_data/python/bascenev1lib/mainmenu.py @@ -8,9 +8,8 @@ from __future__ import annotations import time import random import weakref -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import bascenev1 as bs import bauiv1 as bui diff --git a/src/assets/ba_data/python/bascenev1lib/maps.py b/src/assets/ba_data/python/bascenev1lib/maps.py index d4731145..04f5b361 100644 --- a/src/assets/ba_data/python/bascenev1lib/maps.py +++ b/src/assets/ba_data/python/bascenev1lib/maps.py @@ -5,9 +5,8 @@ from __future__ import annotations -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import bascenev1 as bs from bascenev1lib.gameutils import SharedObjects diff --git a/src/assets/ba_data/python/bascenev1lib/tutorial.py b/src/assets/ba_data/python/bascenev1lib/tutorial.py index 86aa6411..119cf6e0 100644 --- a/src/assets/ba_data/python/bascenev1lib/tutorial.py +++ b/src/assets/ba_data/python/bascenev1lib/tutorial.py @@ -17,9 +17,8 @@ from __future__ import annotations import math import logging from collections import deque -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import bascenev1 as bs from bascenev1lib.actor.spaz import Spaz diff --git a/src/assets/ba_data/python/bauiv1/_subsystem.py b/src/assets/ba_data/python/bauiv1/_subsystem.py index e5549609..c9bd7f50 100644 --- a/src/assets/ba_data/python/bauiv1/_subsystem.py +++ b/src/assets/ba_data/python/bauiv1/_subsystem.py @@ -6,9 +6,8 @@ from __future__ import annotations import logging import inspect -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import babase import _bauiv1 diff --git a/src/assets/ba_data/python/bauiv1/_uitypes.py b/src/assets/ba_data/python/bauiv1/_uitypes.py index 2c60ad4c..6431a554 100644 --- a/src/assets/ba_data/python/bauiv1/_uitypes.py +++ b/src/assets/ba_data/python/bauiv1/_uitypes.py @@ -7,9 +7,8 @@ from __future__ import annotations import os import weakref from dataclasses import dataclass -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import babase import _bauiv1 diff --git a/src/assets/ba_data/python/bauiv1lib/account/viewer.py b/src/assets/ba_data/python/bauiv1lib/account/viewer.py index cf3c90bf..dada8df1 100644 --- a/src/assets/ba_data/python/bauiv1lib/account/viewer.py +++ b/src/assets/ba_data/python/bauiv1lib/account/viewer.py @@ -4,10 +4,9 @@ from __future__ import annotations -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override import logging -from typing_extensions import override import bauiv1 as bui from bauiv1lib.popup import PopupWindow, PopupMenuWindow diff --git a/src/assets/ba_data/python/bauiv1lib/achievements.py b/src/assets/ba_data/python/bauiv1lib/achievements.py index 6a065f1f..228e7731 100644 --- a/src/assets/ba_data/python/bauiv1lib/achievements.py +++ b/src/assets/ba_data/python/bauiv1lib/achievements.py @@ -4,7 +4,7 @@ from __future__ import annotations -from typing_extensions import override +from typing import override from bauiv1lib.popup import PopupWindow import bauiv1 as bui diff --git a/src/assets/ba_data/python/bauiv1lib/characterpicker.py b/src/assets/ba_data/python/bauiv1lib/characterpicker.py index a5881ae5..5e6ad306 100644 --- a/src/assets/ba_data/python/bauiv1lib/characterpicker.py +++ b/src/assets/ba_data/python/bauiv1lib/characterpicker.py @@ -5,9 +5,7 @@ from __future__ import annotations import math -from typing import TYPE_CHECKING - -from typing_extensions import override +from typing import TYPE_CHECKING, override from bauiv1lib.popup import PopupWindow import bauiv1 as bui diff --git a/src/assets/ba_data/python/bauiv1lib/colorpicker.py b/src/assets/ba_data/python/bauiv1lib/colorpicker.py index 8d6fcd71..2896427f 100644 --- a/src/assets/ba_data/python/bauiv1lib/colorpicker.py +++ b/src/assets/ba_data/python/bauiv1lib/colorpicker.py @@ -4,9 +4,7 @@ from __future__ import annotations -from typing import TYPE_CHECKING - -from typing_extensions import override +from typing import TYPE_CHECKING, override from bauiv1lib.popup import PopupWindow import bauiv1 as bui diff --git a/src/assets/ba_data/python/bauiv1lib/fileselector.py b/src/assets/ba_data/python/bauiv1lib/fileselector.py index 427df3fb..308b659c 100644 --- a/src/assets/ba_data/python/bauiv1lib/fileselector.py +++ b/src/assets/ba_data/python/bauiv1lib/fileselector.py @@ -8,9 +8,7 @@ import os import time import logging from threading import Thread -from typing import TYPE_CHECKING - -from typing_extensions import override +from typing import TYPE_CHECKING, override import bauiv1 as bui diff --git a/src/assets/ba_data/python/bauiv1lib/gather/abouttab.py b/src/assets/ba_data/python/bauiv1lib/gather/abouttab.py index 7e0a6caa..086471e0 100644 --- a/src/assets/ba_data/python/bauiv1lib/gather/abouttab.py +++ b/src/assets/ba_data/python/bauiv1lib/gather/abouttab.py @@ -4,9 +4,7 @@ from __future__ import annotations -from typing import TYPE_CHECKING - -from typing_extensions import override +from typing import TYPE_CHECKING, override from bauiv1lib.gather import GatherTab import bauiv1 as bui diff --git a/src/assets/ba_data/python/bauiv1lib/gather/manualtab.py b/src/assets/ba_data/python/bauiv1lib/gather/manualtab.py index 88232b73..897ae323 100644 --- a/src/assets/ba_data/python/bauiv1lib/gather/manualtab.py +++ b/src/assets/ba_data/python/bauiv1lib/gather/manualtab.py @@ -9,10 +9,9 @@ import logging from enum import Enum from threading import Thread from dataclasses import dataclass -from typing import TYPE_CHECKING, cast +from typing import TYPE_CHECKING, cast, override from bauiv1lib.gather import GatherTab -from typing_extensions import override import bauiv1 as bui import bascenev1 as bs diff --git a/src/assets/ba_data/python/bauiv1lib/gather/nearbytab.py b/src/assets/ba_data/python/bauiv1lib/gather/nearbytab.py index 7393f6bd..3301204a 100644 --- a/src/assets/ba_data/python/bauiv1lib/gather/nearbytab.py +++ b/src/assets/ba_data/python/bauiv1lib/gather/nearbytab.py @@ -5,9 +5,8 @@ from __future__ import annotations import weakref -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import bauiv1 as bui import bascenev1 as bs diff --git a/src/assets/ba_data/python/bauiv1lib/gather/privatetab.py b/src/assets/ba_data/python/bauiv1lib/gather/privatetab.py index 2b73ec47..e50bdf54 100644 --- a/src/assets/ba_data/python/bauiv1lib/gather/privatetab.py +++ b/src/assets/ba_data/python/bauiv1lib/gather/privatetab.py @@ -11,9 +11,8 @@ import time import logging from enum import Enum from dataclasses import dataclass -from typing import TYPE_CHECKING, cast +from typing import TYPE_CHECKING, cast, override -from typing_extensions import override from efro.dataclassio import dataclass_from_dict, dataclass_to_dict from bacommon.net import ( PrivateHostingState, diff --git a/src/assets/ba_data/python/bauiv1lib/gather/publictab.py b/src/assets/ba_data/python/bauiv1lib/gather/publictab.py index a0e1b8ed..79f33763 100644 --- a/src/assets/ba_data/python/bauiv1lib/gather/publictab.py +++ b/src/assets/ba_data/python/bauiv1lib/gather/publictab.py @@ -11,9 +11,8 @@ import logging from threading import Thread from enum import Enum from dataclasses import dataclass -from typing import TYPE_CHECKING, cast +from typing import TYPE_CHECKING, cast, override -from typing_extensions import override from bauiv1lib.gather import GatherTab import bauiv1 as bui import bascenev1 as bs diff --git a/src/assets/ba_data/python/bauiv1lib/getremote.py b/src/assets/ba_data/python/bauiv1lib/getremote.py index 7f4e2be0..ef772a48 100644 --- a/src/assets/ba_data/python/bauiv1lib/getremote.py +++ b/src/assets/ba_data/python/bauiv1lib/getremote.py @@ -4,7 +4,7 @@ from __future__ import annotations -from typing_extensions import override +from typing import override from bauiv1lib.popup import PopupWindow import bauiv1 as bui diff --git a/src/assets/ba_data/python/bauiv1lib/iconpicker.py b/src/assets/ba_data/python/bauiv1lib/iconpicker.py index 3abd3f42..968b9c16 100644 --- a/src/assets/ba_data/python/bauiv1lib/iconpicker.py +++ b/src/assets/ba_data/python/bauiv1lib/iconpicker.py @@ -5,9 +5,7 @@ from __future__ import annotations import math -from typing import TYPE_CHECKING - -from typing_extensions import override +from typing import TYPE_CHECKING, override from bauiv1lib.popup import PopupWindow import bauiv1 as bui diff --git a/src/assets/ba_data/python/bauiv1lib/playlist/share.py b/src/assets/ba_data/python/bauiv1lib/playlist/share.py index cd9af1cb..2824d3b3 100644 --- a/src/assets/ba_data/python/bauiv1lib/playlist/share.py +++ b/src/assets/ba_data/python/bauiv1lib/playlist/share.py @@ -5,9 +5,7 @@ from __future__ import annotations import time -from typing import TYPE_CHECKING - -from typing_extensions import override +from typing import TYPE_CHECKING, override from bauiv1lib.promocode import PromoCodeWindow import bauiv1 as bui diff --git a/src/assets/ba_data/python/bauiv1lib/playoptions.py b/src/assets/ba_data/python/bauiv1lib/playoptions.py index 41b58f11..a49045c4 100644 --- a/src/assets/ba_data/python/bauiv1lib/playoptions.py +++ b/src/assets/ba_data/python/bauiv1lib/playoptions.py @@ -5,9 +5,8 @@ from __future__ import annotations import logging -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override -from typing_extensions import override import bascenev1 as bs import bauiv1 as bui diff --git a/src/assets/ba_data/python/bauiv1lib/popup.py b/src/assets/ba_data/python/bauiv1lib/popup.py index 7d53e789..ef830f85 100644 --- a/src/assets/ba_data/python/bauiv1lib/popup.py +++ b/src/assets/ba_data/python/bauiv1lib/popup.py @@ -5,9 +5,7 @@ from __future__ import annotations import weakref -from typing import TYPE_CHECKING - -from typing_extensions import override +from typing import TYPE_CHECKING, override import bauiv1 as bui diff --git a/src/assets/ba_data/python/bauiv1lib/qrcode.py b/src/assets/ba_data/python/bauiv1lib/qrcode.py index 3357de5c..d9827029 100644 --- a/src/assets/ba_data/python/bauiv1lib/qrcode.py +++ b/src/assets/ba_data/python/bauiv1lib/qrcode.py @@ -3,7 +3,8 @@ """Provides functionality for displaying QR codes.""" from __future__ import annotations -from typing_extensions import override +from typing import override + import bauiv1 as bui from bauiv1lib.popup import PopupWindow diff --git a/src/assets/ba_data/python/bauiv1lib/resourcetypeinfo.py b/src/assets/ba_data/python/bauiv1lib/resourcetypeinfo.py index 5bcc48cb..a3e39ebe 100644 --- a/src/assets/ba_data/python/bauiv1lib/resourcetypeinfo.py +++ b/src/assets/ba_data/python/bauiv1lib/resourcetypeinfo.py @@ -4,7 +4,7 @@ from __future__ import annotations -from typing_extensions import override +from typing import override from bauiv1lib.popup import PopupWindow import bauiv1 as bui diff --git a/src/assets/ba_data/python/bauiv1lib/teamnamescolors.py b/src/assets/ba_data/python/bauiv1lib/teamnamescolors.py index 23bbd0c0..dc030608 100644 --- a/src/assets/ba_data/python/bauiv1lib/teamnamescolors.py +++ b/src/assets/ba_data/python/bauiv1lib/teamnamescolors.py @@ -4,9 +4,7 @@ from __future__ import annotations -from typing import TYPE_CHECKING, cast - -from typing_extensions import override +from typing import TYPE_CHECKING, cast, override from bauiv1lib.popup import PopupWindow from bauiv1lib.colorpicker import ColorPicker diff --git a/src/assets/ba_data/python/bauiv1lib/tournamententry.py b/src/assets/ba_data/python/bauiv1lib/tournamententry.py index 2c81ca7c..4595d34c 100644 --- a/src/assets/ba_data/python/bauiv1lib/tournamententry.py +++ b/src/assets/ba_data/python/bauiv1lib/tournamententry.py @@ -5,9 +5,7 @@ from __future__ import annotations import logging -from typing import TYPE_CHECKING - -from typing_extensions import override +from typing import TYPE_CHECKING, override from bauiv1lib.popup import PopupWindow import bauiv1 as bui diff --git a/src/assets/ba_data/python/bauiv1lib/tournamentscores.py b/src/assets/ba_data/python/bauiv1lib/tournamentscores.py index b7499498..e4be2db0 100644 --- a/src/assets/ba_data/python/bauiv1lib/tournamentscores.py +++ b/src/assets/ba_data/python/bauiv1lib/tournamentscores.py @@ -4,9 +4,7 @@ from __future__ import annotations -from typing import TYPE_CHECKING - -from typing_extensions import override +from typing import TYPE_CHECKING, override from bauiv1lib.popup import PopupWindow import bauiv1 as bui diff --git a/src/assets/ba_data/python/bauiv1lib/trophies.py b/src/assets/ba_data/python/bauiv1lib/trophies.py index 1224ca2b..a7982f6c 100644 --- a/src/assets/ba_data/python/bauiv1lib/trophies.py +++ b/src/assets/ba_data/python/bauiv1lib/trophies.py @@ -4,9 +4,7 @@ from __future__ import annotations -from typing import TYPE_CHECKING - -from typing_extensions import override +from typing import TYPE_CHECKING, override from bauiv1lib import popup import bauiv1 as bui diff --git a/src/assets/server_package/ballisticakit_server.py b/src/assets/server_package/ballisticakit_server.py index 2ccd1152..d43784cb 100755 --- a/src/assets/server_package/ballisticakit_server.py +++ b/src/assets/server_package/ballisticakit_server.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python3.11 +#!/usr/bin/env python3.12 # Released under the MIT License. See LICENSE for details. # """BallisticaKit server manager.""" @@ -31,10 +31,14 @@ if TYPE_CHECKING: from types import FrameType from bacommon.servermanager import ServerCommand -VERSION_STR = '1.3.1' +VERSION_STR = '1.3.2' # Version history: # +# 1.3.2 +# +# - Updated to use Python 3.12. +# # 1.3.1 # # - Windows binary is now named 'BallisticaKitHeadless.exe'. diff --git a/src/ballistica/core/platform/windows/core_platform_windows.cc b/src/ballistica/core/platform/windows/core_platform_windows.cc index b30eddd6..5951440b 100644 --- a/src/ballistica/core/platform/windows/core_platform_windows.cc +++ b/src/ballistica/core/platform/windows/core_platform_windows.cc @@ -23,9 +23,9 @@ #pragma comment(lib, "ws2_32.lib") #pragma comment(lib, "iphlpapi.lib") #if BA_DEBUG_BUILD -#pragma comment(lib, "python311_d.lib") +#pragma comment(lib, "python312_d.lib") #else -#pragma comment(lib, "python311.lib") +#pragma comment(lib, "python312.lib") #endif #pragma comment(lib, "DbgHelp.lib") diff --git a/src/ballistica/core/python/core_python.cc b/src/ballistica/core/python/core_python.cc index cc20c970..a5674712 100644 --- a/src/ballistica/core/python/core_python.cc +++ b/src/ballistica/core/python/core_python.cc @@ -224,8 +224,8 @@ void CorePython::SoftImportBase() { void CorePython::VerifyPythonEnvironment() { // Make sure we're running the Python version we require. const char* ver = Py_GetVersion(); - if (strncmp(ver, "3.11", 4) != 0) { - FatalError("We require Python 3.11.x; instead found " + std::string(ver)); + if (strncmp(ver, "3.12", 4) != 0) { + FatalError("We require Python 3.12.x; instead found " + std::string(ver)); } } diff --git a/src/ballistica/shared/ballistica.cc b/src/ballistica/shared/ballistica.cc index a9d63993..13076162 100644 --- a/src/ballistica/shared/ballistica.cc +++ b/src/ballistica/shared/ballistica.cc @@ -39,7 +39,7 @@ auto main(int argc, char** argv) -> int { namespace ballistica { // These are set automatically via script; don't modify them here. -const int kEngineBuildNumber = 21800; +const int kEngineBuildNumber = 21801; const char* kEngineVersion = "1.7.34"; const int kEngineApiVersion = 8; diff --git a/src/external/windows/include/python/Python.h b/src/external/windows/include/python/Python.h index fa1c4186..eb1e9ece 100755 --- a/src/external/windows/include/python/Python.h +++ b/src/external/windows/include/python/Python.h @@ -49,6 +49,9 @@ #include "bytearrayobject.h" #include "bytesobject.h" #include "unicodeobject.h" +#include "cpython/initconfig.h" +#include "pystate.h" +#include "pyerrors.h" #include "longobject.h" #include "cpython/longintrepr.h" #include "boolobject.h" @@ -74,8 +77,6 @@ #include "sliceobject.h" #include "cpython/cellobject.h" #include "iterobject.h" -#include "cpython/initconfig.h" -#include "pystate.h" #include "cpython/genobject.h" #include "descrobject.h" #include "genericaliasobject.h" @@ -85,7 +86,6 @@ #include "cpython/picklebufobject.h" #include "cpython/pytime.h" #include "codecs.h" -#include "pyerrors.h" #include "pythread.h" #include "cpython/context.h" #include "modsupport.h" diff --git a/src/external/windows/include/python/abstract.h b/src/external/windows/include/python/abstract.h index 1c6ef365..81e4a0cd 100755 --- a/src/external/windows/include/python/abstract.h +++ b/src/external/windows/include/python/abstract.h @@ -14,9 +14,9 @@ extern "C" { Print an object 'o' on file 'fp'. Returns -1 on error. The flags argument is used to enable certain printing options. The only option currently - supported is Py_Print_RAW. - - (What should be said about Py_Print_RAW?). */ + supported is Py_PRINT_RAW. By default (flags=0), PyObject_Print() formats + the object by calling PyObject_Repr(). If flags equals to Py_PRINT_RAW, it + formats the object by calling PyObject_Str(). */ /* Implemented elsewhere: @@ -88,7 +88,7 @@ extern "C" { -1 on failure. This is the equivalent of the Python statement: del o.attr_name. */ -#define PyObject_DelAttrString(O,A) PyObject_SetAttrString((O),(A), NULL) +#define PyObject_DelAttrString(O, A) PyObject_SetAttrString((O), (A), NULL) /* Implemented as a macro: @@ -98,7 +98,7 @@ extern "C" { Delete attribute named attr_name, for object o. Returns -1 on failure. This is the equivalent of the Python statement: del o.attr_name. */ -#define PyObject_DelAttr(O,A) PyObject_SetAttr((O),(A), NULL) +#define PyObject_DelAttr(O, A) PyObject_SetAttr((O), (A), NULL) /* Implemented elsewhere: @@ -228,6 +228,32 @@ PyAPI_FUNC(PyObject *) PyObject_CallMethodObjArgs( PyObject *name, ...); +/* Given a vectorcall nargsf argument, return the actual number of arguments. + * (For use outside the limited API, this is re-defined as a static inline + * function in cpython/abstract.h) + */ +PyAPI_FUNC(Py_ssize_t) PyVectorcall_NARGS(size_t nargsf); + +/* Call "callable" (which must support vectorcall) with positional arguments + "tuple" and keyword arguments "dict". "dict" may also be NULL */ +PyAPI_FUNC(PyObject *) PyVectorcall_Call(PyObject *callable, PyObject *tuple, PyObject *dict); + +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030C0000 +#define PY_VECTORCALL_ARGUMENTS_OFFSET \ + (_Py_STATIC_CAST(size_t, 1) << (8 * sizeof(size_t) - 1)) + +/* Perform a PEP 590-style vector call on 'callable' */ +PyAPI_FUNC(PyObject *) PyObject_Vectorcall( + PyObject *callable, + PyObject *const *args, + size_t nargsf, + PyObject *kwnames); + +/* Call the method 'name' on args[0] with arguments in args[1..nargsf-1]. */ +PyAPI_FUNC(PyObject *) PyObject_VectorcallMethod( + PyObject *name, PyObject *const *args, + size_t nargsf, PyObject *kwnames); +#endif /* Implemented elsewhere: @@ -722,7 +748,7 @@ PyAPI_FUNC(PyObject *) PySequence_Fast(PyObject *o, const char* m); /* Return the 'i'-th element of the sequence 'o', assuming that o was returned by PySequence_Fast, and that i is within bounds. */ #define PySequence_Fast_GET_ITEM(o, i)\ - (PyList_Check(o) ? PyList_GET_ITEM(o, i) : PyTuple_GET_ITEM(o, i)) + (PyList_Check(o) ? PyList_GET_ITEM((o), (i)) : PyTuple_GET_ITEM((o), (i))) /* Return a pointer to the underlying item array for an object returned by PySequence_Fast */ @@ -802,7 +828,7 @@ PyAPI_FUNC(Py_ssize_t) PyMapping_Length(PyObject *o); failure. This is equivalent to the Python statement: del o[key]. */ -#define PyMapping_DelItemString(O,K) PyObject_DelItemString((O),(K)) +#define PyMapping_DelItemString(O, K) PyObject_DelItemString((O), (K)) /* Implemented as a macro: @@ -812,7 +838,7 @@ PyAPI_FUNC(Py_ssize_t) PyMapping_Length(PyObject *o); Returns -1 on failure. This is equivalent to the Python statement: del o[key]. */ -#define PyMapping_DelItem(O,K) PyObject_DelItem((O),(K)) +#define PyMapping_DelItem(O, K) PyObject_DelItem((O), (K)) /* On success, return 1 if the mapping object 'o' has the key 'key', and 0 otherwise. diff --git a/src/external/windows/include/python/boolobject.h b/src/external/windows/include/python/boolobject.h index e42d60ff..3b6c2b76 100755 --- a/src/external/windows/include/python/boolobject.h +++ b/src/external/windows/include/python/boolobject.h @@ -7,20 +7,19 @@ extern "C" { #endif -PyAPI_DATA(PyTypeObject) PyBool_Type; +// PyBool_Type is declared by object.h -#define PyBool_Check(x) Py_IS_TYPE(x, &PyBool_Type) +#define PyBool_Check(x) Py_IS_TYPE((x), &PyBool_Type) -/* Py_False and Py_True are the only two bools in existence. -Don't forget to apply Py_INCREF() when returning either!!! */ +/* Py_False and Py_True are the only two bools in existence. */ /* Don't use these directly */ PyAPI_DATA(PyLongObject) _Py_FalseStruct; PyAPI_DATA(PyLongObject) _Py_TrueStruct; /* Use these macros */ -#define Py_False ((PyObject *) &_Py_FalseStruct) -#define Py_True ((PyObject *) &_Py_TrueStruct) +#define Py_False _PyObject_CAST(&_Py_FalseStruct) +#define Py_True _PyObject_CAST(&_Py_TrueStruct) // Test if an object is the True singleton, the same as "x is True" in Python. PyAPI_FUNC(int) Py_IsTrue(PyObject *x); @@ -31,8 +30,8 @@ PyAPI_FUNC(int) Py_IsFalse(PyObject *x); #define Py_IsFalse(x) Py_Is((x), Py_False) /* Macros for returning Py_True or Py_False, respectively */ -#define Py_RETURN_TRUE return Py_NewRef(Py_True) -#define Py_RETURN_FALSE return Py_NewRef(Py_False) +#define Py_RETURN_TRUE return Py_True +#define Py_RETURN_FALSE return Py_False /* Function to return a bool from a C long */ PyAPI_FUNC(PyObject *) PyBool_FromLong(long); diff --git a/src/external/windows/include/python/bytearrayobject.h b/src/external/windows/include/python/bytearrayobject.h index bc69fe21..b94c71b7 100755 --- a/src/external/windows/include/python/bytearrayobject.h +++ b/src/external/windows/include/python/bytearrayobject.h @@ -21,8 +21,8 @@ PyAPI_DATA(PyTypeObject) PyByteArray_Type; PyAPI_DATA(PyTypeObject) PyByteArrayIter_Type; /* Type check macros */ -#define PyByteArray_Check(self) PyObject_TypeCheck(self, &PyByteArray_Type) -#define PyByteArray_CheckExact(self) Py_IS_TYPE(self, &PyByteArray_Type) +#define PyByteArray_Check(self) PyObject_TypeCheck((self), &PyByteArray_Type) +#define PyByteArray_CheckExact(self) Py_IS_TYPE((self), &PyByteArray_Type) /* Direct API functions */ PyAPI_FUNC(PyObject *) PyByteArray_FromObject(PyObject *); diff --git a/src/external/windows/include/python/bytesobject.h b/src/external/windows/include/python/bytesobject.h index b2128ddb..31978600 100755 --- a/src/external/windows/include/python/bytesobject.h +++ b/src/external/windows/include/python/bytesobject.h @@ -29,7 +29,7 @@ PyAPI_DATA(PyTypeObject) PyBytesIter_Type; #define PyBytes_Check(op) \ PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_BYTES_SUBCLASS) -#define PyBytes_CheckExact(op) Py_IS_TYPE(op, &PyBytes_Type) +#define PyBytes_CheckExact(op) Py_IS_TYPE((op), &PyBytes_Type) PyAPI_FUNC(PyObject *) PyBytes_FromStringAndSize(const char *, Py_ssize_t); PyAPI_FUNC(PyObject *) PyBytes_FromString(const char *); diff --git a/src/external/windows/include/python/ceval.h b/src/external/windows/include/python/ceval.h index da1e4425..5fa2fd7f 100755 --- a/src/external/windows/include/python/ceval.h +++ b/src/external/windows/include/python/ceval.h @@ -31,7 +31,7 @@ Py_DEPRECATED(3.9) PyAPI_FUNC(PyObject *) PyEval_CallObjectWithKeywords( /* Deprecated since PyEval_CallObjectWithKeywords is deprecated */ #define PyEval_CallObject(callable, arg) \ - PyEval_CallObjectWithKeywords(callable, arg, (PyObject *)NULL) + PyEval_CallObjectWithKeywords((callable), (arg), _PyObject_CAST(_Py_NULL)) Py_DEPRECATED(3.9) PyAPI_FUNC(PyObject *) PyEval_CallFunction( PyObject *callable, const char *format, ...); diff --git a/src/external/windows/include/python/compile.h b/src/external/windows/include/python/compile.h index f33fc539..f2e759a0 100755 --- a/src/external/windows/include/python/compile.h +++ b/src/external/windows/include/python/compile.h @@ -10,9 +10,6 @@ extern "C" { #define Py_eval_input 258 #define Py_func_type_input 345 -/* This doesn't need to match anything */ -#define Py_fstring_input 800 - #ifndef Py_LIMITED_API # define Py_CPYTHON_COMPILE_H # include "cpython/compile.h" diff --git a/src/external/windows/include/python/complexobject.h b/src/external/windows/include/python/complexobject.h index 8525f855..a08e1451 100755 --- a/src/external/windows/include/python/complexobject.h +++ b/src/external/windows/include/python/complexobject.h @@ -10,8 +10,8 @@ extern "C" { PyAPI_DATA(PyTypeObject) PyComplex_Type; -#define PyComplex_Check(op) PyObject_TypeCheck(op, &PyComplex_Type) -#define PyComplex_CheckExact(op) Py_IS_TYPE(op, &PyComplex_Type) +#define PyComplex_Check(op) PyObject_TypeCheck((op), &PyComplex_Type) +#define PyComplex_CheckExact(op) Py_IS_TYPE((op), &PyComplex_Type) PyAPI_FUNC(PyObject *) PyComplex_FromDoubles(double real, double imag); diff --git a/src/external/windows/include/python/cpython/abstract.h b/src/external/windows/include/python/cpython/abstract.h index adbe2683..4be2d973 100755 --- a/src/external/windows/include/python/cpython/abstract.h +++ b/src/external/windows/include/python/cpython/abstract.h @@ -50,23 +50,18 @@ PyAPI_FUNC(PyObject *) _PyObject_MakeTpCall( PyObject *const *args, Py_ssize_t nargs, PyObject *keywords); -#define PY_VECTORCALL_ARGUMENTS_OFFSET \ - (_Py_STATIC_CAST(size_t, 1) << (8 * sizeof(size_t) - 1)) - +// PyVectorcall_NARGS() is exported as a function for the stable ABI. +// Here (when we are not using the stable ABI), the name is overridden to +// call a static inline function for best performance. +#define PyVectorcall_NARGS(n) _PyVectorcall_NARGS(n) static inline Py_ssize_t -PyVectorcall_NARGS(size_t n) +_PyVectorcall_NARGS(size_t n) { return n & ~PY_VECTORCALL_ARGUMENTS_OFFSET; } PyAPI_FUNC(vectorcallfunc) PyVectorcall_Function(PyObject *callable); -PyAPI_FUNC(PyObject *) PyObject_Vectorcall( - PyObject *callable, - PyObject *const *args, - size_t nargsf, - PyObject *kwnames); - // Backwards compatibility aliases for API that was provisional in Python 3.8 #define _PyObject_Vectorcall PyObject_Vectorcall #define _PyObject_VectorcallMethod PyObject_VectorcallMethod @@ -84,10 +79,6 @@ PyAPI_FUNC(PyObject *) PyObject_VectorcallDict( size_t nargsf, PyObject *kwargs); -/* Call "callable" (which must support vectorcall) with positional arguments - "tuple" and keyword arguments "dict". "dict" may also be NULL */ -PyAPI_FUNC(PyObject *) PyVectorcall_Call(PyObject *callable, PyObject *tuple, PyObject *dict); - // Same as PyObject_Vectorcall(), except without keyword arguments PyAPI_FUNC(PyObject *) _PyObject_FastCall( PyObject *func, @@ -96,10 +87,6 @@ PyAPI_FUNC(PyObject *) _PyObject_FastCall( PyAPI_FUNC(PyObject *) PyObject_CallOneArg(PyObject *func, PyObject *arg); -PyAPI_FUNC(PyObject *) PyObject_VectorcallMethod( - PyObject *name, PyObject *const *args, - size_t nargsf, PyObject *kwnames); - static inline PyObject * PyObject_CallMethodNoArgs(PyObject *self, PyObject *name) { @@ -176,7 +163,7 @@ PyAPI_FUNC(Py_ssize_t) PyObject_LengthHint(PyObject *o, Py_ssize_t); /* Assume tp_as_sequence and sq_item exist and that 'i' does not need to be corrected for a negative index. */ #define PySequence_ITEM(o, i)\ - ( Py_TYPE(o)->tp_as_sequence->sq_item(o, i) ) + ( Py_TYPE(o)->tp_as_sequence->sq_item((o), (i)) ) #define PY_ITERSEARCH_COUNT 1 #define PY_ITERSEARCH_INDEX 2 diff --git a/src/external/windows/include/python/cpython/bytearrayobject.h b/src/external/windows/include/python/cpython/bytearrayobject.h index 90c06c57..417e4ccb 100755 --- a/src/external/windows/include/python/cpython/bytearrayobject.h +++ b/src/external/windows/include/python/cpython/bytearrayobject.h @@ -25,14 +25,10 @@ static inline char* PyByteArray_AS_STRING(PyObject *op) } return _PyByteArray_empty_string; } -#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 -# define PyByteArray_AS_STRING(self) PyByteArray_AS_STRING(_PyObject_CAST(self)) -#endif +#define PyByteArray_AS_STRING(self) PyByteArray_AS_STRING(_PyObject_CAST(self)) static inline Py_ssize_t PyByteArray_GET_SIZE(PyObject *op) { PyByteArrayObject *self = _PyByteArray_CAST(op); return Py_SIZE(self); } -#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 -# define PyByteArray_GET_SIZE(self) PyByteArray_GET_SIZE(_PyObject_CAST(self)) -#endif +#define PyByteArray_GET_SIZE(self) PyByteArray_GET_SIZE(_PyObject_CAST(self)) diff --git a/src/external/windows/include/python/cpython/bytesobject.h b/src/external/windows/include/python/cpython/bytesobject.h index 6f8e9ff5..377d67d6 100755 --- a/src/external/windows/include/python/cpython/bytesobject.h +++ b/src/external/windows/include/python/cpython/bytesobject.h @@ -36,17 +36,13 @@ static inline char* PyBytes_AS_STRING(PyObject *op) { return _PyBytes_CAST(op)->ob_sval; } -#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 -# define PyBytes_AS_STRING(op) PyBytes_AS_STRING(_PyObject_CAST(op)) -#endif +#define PyBytes_AS_STRING(op) PyBytes_AS_STRING(_PyObject_CAST(op)) static inline Py_ssize_t PyBytes_GET_SIZE(PyObject *op) { PyBytesObject *self = _PyBytes_CAST(op); return Py_SIZE(self); } -#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 -# define PyBytes_GET_SIZE(self) PyBytes_GET_SIZE(_PyObject_CAST(self)) -#endif +#define PyBytes_GET_SIZE(self) PyBytes_GET_SIZE(_PyObject_CAST(self)) /* _PyBytes_Join(sep, x) is like sep.join(x). sep must be PyBytesObject*, x must be an iterable object. */ diff --git a/src/external/windows/include/python/cpython/cellobject.h b/src/external/windows/include/python/cpython/cellobject.h index e9405e1d..bb4495d8 100644 --- a/src/external/windows/include/python/cpython/cellobject.h +++ b/src/external/windows/include/python/cpython/cellobject.h @@ -15,14 +15,27 @@ typedef struct { PyAPI_DATA(PyTypeObject) PyCell_Type; -#define PyCell_Check(op) Py_IS_TYPE(op, &PyCell_Type) +#define PyCell_Check(op) Py_IS_TYPE((op), &PyCell_Type) PyAPI_FUNC(PyObject *) PyCell_New(PyObject *); PyAPI_FUNC(PyObject *) PyCell_Get(PyObject *); PyAPI_FUNC(int) PyCell_Set(PyObject *, PyObject *); -#define PyCell_GET(op) (((PyCellObject *)(op))->ob_ref) -#define PyCell_SET(op, v) _Py_RVALUE(((PyCellObject *)(op))->ob_ref = (v)) +static inline PyObject* PyCell_GET(PyObject *op) { + PyCellObject *cell; + assert(PyCell_Check(op)); + cell = _Py_CAST(PyCellObject*, op); + return cell->ob_ref; +} +#define PyCell_GET(op) PyCell_GET(_PyObject_CAST(op)) + +static inline void PyCell_SET(PyObject *op, PyObject *value) { + PyCellObject *cell; + assert(PyCell_Check(op)); + cell = _Py_CAST(PyCellObject*, op); + cell->ob_ref = value; +} +#define PyCell_SET(op, value) PyCell_SET(_PyObject_CAST(op), (value)) #ifdef __cplusplus } diff --git a/src/external/windows/include/python/cpython/ceval.h b/src/external/windows/include/python/cpython/ceval.h index e63f0a90..7bd871ca 100755 --- a/src/external/windows/include/python/cpython/ceval.h +++ b/src/external/windows/include/python/cpython/ceval.h @@ -3,8 +3,10 @@ #endif PyAPI_FUNC(void) PyEval_SetProfile(Py_tracefunc, PyObject *); +PyAPI_FUNC(void) PyEval_SetProfileAllThreads(Py_tracefunc, PyObject *); PyAPI_DATA(int) _PyEval_SetProfile(PyThreadState *tstate, Py_tracefunc func, PyObject *arg); PyAPI_FUNC(void) PyEval_SetTrace(Py_tracefunc, PyObject *); +PyAPI_FUNC(void) PyEval_SetTraceAllThreads(Py_tracefunc, PyObject *); PyAPI_FUNC(int) _PyEval_SetTrace(PyThreadState *tstate, Py_tracefunc func, PyObject *arg); /* Helper to look up a builtin object */ @@ -20,7 +22,14 @@ PyAPI_FUNC(PyObject *) _PyEval_EvalFrameDefault(PyThreadState *tstate, struct _P PyAPI_FUNC(void) _PyEval_SetSwitchInterval(unsigned long microseconds); PyAPI_FUNC(unsigned long) _PyEval_GetSwitchInterval(void); -PyAPI_FUNC(Py_ssize_t) _PyEval_RequestCodeExtraIndex(freefunc); +PyAPI_FUNC(int) _PyEval_MakePendingCalls(PyThreadState *); + +PyAPI_FUNC(Py_ssize_t) PyUnstable_Eval_RequestCodeExtraIndex(freefunc); +// Old name -- remove when this API changes: +_Py_DEPRECATED_EXTERNALLY(3.12) static inline Py_ssize_t +_PyEval_RequestCodeExtraIndex(freefunc f) { + return PyUnstable_Eval_RequestCodeExtraIndex(f); +} PyAPI_FUNC(int) _PyEval_SliceIndex(PyObject *, Py_ssize_t *); PyAPI_FUNC(int) _PyEval_SliceIndexNotNone(PyObject *, Py_ssize_t *); diff --git a/src/external/windows/include/python/cpython/classobject.h b/src/external/windows/include/python/cpython/classobject.h index 9541f1d0..d49f73de 100644 --- a/src/external/windows/include/python/cpython/classobject.h +++ b/src/external/windows/include/python/cpython/classobject.h @@ -19,19 +19,27 @@ typedef struct { PyAPI_DATA(PyTypeObject) PyMethod_Type; -#define PyMethod_Check(op) Py_IS_TYPE(op, &PyMethod_Type) +#define PyMethod_Check(op) Py_IS_TYPE((op), &PyMethod_Type) PyAPI_FUNC(PyObject *) PyMethod_New(PyObject *, PyObject *); PyAPI_FUNC(PyObject *) PyMethod_Function(PyObject *); PyAPI_FUNC(PyObject *) PyMethod_Self(PyObject *); -/* Macros for direct access to these values. Type checks are *not* - done, so use with care. */ -#define PyMethod_GET_FUNCTION(meth) \ - (((PyMethodObject *)meth) -> im_func) -#define PyMethod_GET_SELF(meth) \ - (((PyMethodObject *)meth) -> im_self) +#define _PyMethod_CAST(meth) \ + (assert(PyMethod_Check(meth)), _Py_CAST(PyMethodObject*, meth)) + +/* Static inline functions for direct access to these values. + Type checks are *not* done, so use with care. */ +static inline PyObject* PyMethod_GET_FUNCTION(PyObject *meth) { + return _PyMethod_CAST(meth)->im_func; +} +#define PyMethod_GET_FUNCTION(meth) PyMethod_GET_FUNCTION(_PyObject_CAST(meth)) + +static inline PyObject* PyMethod_GET_SELF(PyObject *meth) { + return _PyMethod_CAST(meth)->im_self; +} +#define PyMethod_GET_SELF(meth) PyMethod_GET_SELF(_PyObject_CAST(meth)) typedef struct { PyObject_HEAD @@ -40,15 +48,21 @@ typedef struct { PyAPI_DATA(PyTypeObject) PyInstanceMethod_Type; -#define PyInstanceMethod_Check(op) Py_IS_TYPE(op, &PyInstanceMethod_Type) +#define PyInstanceMethod_Check(op) Py_IS_TYPE((op), &PyInstanceMethod_Type) PyAPI_FUNC(PyObject *) PyInstanceMethod_New(PyObject *); PyAPI_FUNC(PyObject *) PyInstanceMethod_Function(PyObject *); -/* Macros for direct access to these values. Type checks are *not* - done, so use with care. */ -#define PyInstanceMethod_GET_FUNCTION(meth) \ - (((PyInstanceMethodObject *)meth) -> func) +#define _PyInstanceMethod_CAST(meth) \ + (assert(PyInstanceMethod_Check(meth)), \ + _Py_CAST(PyInstanceMethodObject*, meth)) + +/* Static inline function for direct access to these values. + Type checks are *not* done, so use with care. */ +static inline PyObject* PyInstanceMethod_GET_FUNCTION(PyObject *meth) { + return _PyInstanceMethod_CAST(meth)->func; +} +#define PyInstanceMethod_GET_FUNCTION(meth) PyInstanceMethod_GET_FUNCTION(_PyObject_CAST(meth)) #ifdef __cplusplus } diff --git a/src/external/windows/include/python/cpython/code.h b/src/external/windows/include/python/cpython/code.h index 3cacfb6b..a6316057 100755 --- a/src/external/windows/include/python/cpython/code.h +++ b/src/external/windows/include/python/cpython/code.h @@ -3,10 +3,29 @@ #ifndef Py_LIMITED_API #ifndef Py_CODE_H #define Py_CODE_H + #ifdef __cplusplus extern "C" { #endif +/* Count of all local monitoring events */ +#define _PY_MONITORING_LOCAL_EVENTS 10 +/* Count of all "real" monitoring events (not derived from other events) */ +#define _PY_MONITORING_UNGROUPED_EVENTS 15 +/* Count of all monitoring events */ +#define _PY_MONITORING_EVENTS 17 + +/* Tables of which tools are active for each monitored event. */ +/* For 3.12 ABI compatibility this is over sized */ +typedef struct _Py_LocalMonitors { + /* Only _PY_MONITORING_LOCAL_EVENTS of these are used */ + uint8_t tools[_PY_MONITORING_UNGROUPED_EVENTS]; +} _Py_LocalMonitors; + +typedef struct _Py_GlobalMonitors { + uint8_t tools[_PY_MONITORING_UNGROUPED_EVENTS]; +} _Py_GlobalMonitors; + /* Each instruction in a code object is a fixed-width value, * currently 2 bytes: 1-byte opcode + 1-byte oparg. The EXTENDED_ARG * opcode allows for larger values but the current limit is 3 uses @@ -16,20 +35,74 @@ extern "C" { * 2**32 - 1, rather than INT_MAX. */ -typedef uint16_t _Py_CODEUNIT; +typedef union { + uint16_t cache; + struct { + uint8_t code; + uint8_t arg; + } op; +} _Py_CODEUNIT; -#ifdef WORDS_BIGENDIAN -# define _Py_OPCODE(word) ((word) >> 8) -# define _Py_OPARG(word) ((word) & 255) -# define _Py_MAKECODEUNIT(opcode, oparg) (((opcode)<<8)|(oparg)) -#else -# define _Py_OPCODE(word) ((word) & 255) -# define _Py_OPARG(word) ((word) >> 8) -# define _Py_MAKECODEUNIT(opcode, oparg) ((opcode)|((oparg)<<8)) -#endif -// Use "unsigned char" instead of "uint8_t" here to avoid illegal aliasing: -#define _Py_SET_OPCODE(word, opcode) (((unsigned char *)&(word))[0] = (opcode)) +/* These macros only remain defined for compatibility. */ +#define _Py_OPCODE(word) ((word).op.code) +#define _Py_OPARG(word) ((word).op.arg) + +static inline _Py_CODEUNIT +_py_make_codeunit(uint8_t opcode, uint8_t oparg) +{ + // No designated initialisers because of C++ compat + _Py_CODEUNIT word; + word.op.code = opcode; + word.op.arg = oparg; + return word; +} + +static inline void +_py_set_opcode(_Py_CODEUNIT *word, uint8_t opcode) +{ + word->op.code = opcode; +} + +#define _Py_MAKE_CODEUNIT(opcode, oparg) _py_make_codeunit((opcode), (oparg)) +#define _Py_SET_OPCODE(word, opcode) _py_set_opcode(&(word), (opcode)) + + +typedef struct { + PyObject *_co_code; + PyObject *_co_varnames; + PyObject *_co_cellvars; + PyObject *_co_freevars; +} _PyCoCached; + +/* Ancillary data structure used for instrumentation. + Line instrumentation creates an array of + these. One entry per code unit.*/ +typedef struct { + uint8_t original_opcode; + int8_t line_delta; +} _PyCoLineInstrumentationData; + +/* Main data structure used for instrumentation. + * This is allocated when needed for instrumentation + */ +typedef struct { + /* Monitoring specific to this code object */ + _Py_LocalMonitors local_monitors; + /* Monitoring that is active on this code object */ + _Py_LocalMonitors active_monitors; + /* The tools that are to be notified for events for the matching code unit */ + uint8_t *tools; + /* Information to support line events */ + _PyCoLineInstrumentationData *lines; + /* The tools that are to be notified for line events for the matching code unit */ + uint8_t *line_tools; + /* Information to support instruction events */ + /* The underlying instructions, which can themselves be instrumented */ + uint8_t *per_instruction_opcodes; + /* The tools that are to be notified for instruction events for the matching code unit */ + uint8_t *per_instruction_tools; +} _PyCoMonitoringData; // To avoid repeating ourselves in deepfreeze.py, all PyCodeObject members are // defined in this macro: @@ -62,8 +135,6 @@ typedef uint16_t _Py_CODEUNIT; PyObject *co_exceptiontable; /* Byte string encoding exception handling \ table */ \ int co_flags; /* CO_..., see below */ \ - short co_warmup; /* Warmup counter for quickening */ \ - short _co_linearray_entry_size; /* Size of each entry in _co_linearray */ \ \ /* The rest are not so impactful on performance. */ \ int co_argcount; /* #arguments, except *args */ \ @@ -74,12 +145,12 @@ typedef uint16_t _Py_CODEUNIT; \ /* redundant values (derived from co_localsplusnames and \ co_localspluskinds) */ \ - int co_nlocalsplus; /* number of local + cell + free variables \ - */ \ + int co_nlocalsplus; /* number of local + cell + free variables */ \ + int co_framesize; /* Size of frame in words */ \ int co_nlocals; /* number of local variables */ \ - int co_nplaincellvars; /* number of non-arg cell variables */ \ int co_ncellvars; /* total number of cell variables */ \ int co_nfreevars; /* number of free variables */ \ + uint32_t co_version; /* version number */ \ \ PyObject *co_localsplusnames; /* tuple mapping offsets to names */ \ PyObject *co_localspluskinds; /* Bytes mapping to local kinds (one byte \ @@ -89,8 +160,9 @@ typedef uint16_t _Py_CODEUNIT; PyObject *co_qualname; /* unicode (qualname, for reference) */ \ PyObject *co_linetable; /* bytes object that holds location info */ \ PyObject *co_weakreflist; /* to support weakrefs to code objects */ \ - PyObject *_co_code; /* cached co_code object/attribute */ \ - char *_co_linearray; /* array of line offsets */ \ + _PyCoCached *_co_cached; /* cached co_* attributes */ \ + uint64_t _co_instrumentation_version; /* current instrumentation version */ \ + _PyCoMonitoringData *_co_monitoring; /* Monitoring data */ \ int _co_firsttraceable; /* index of first traceable instruction */ \ /* Scratch space for extra data relating to the code object. \ Type is a void* to keep the format private in codeobject.c to force \ @@ -139,24 +211,55 @@ struct PyCodeObject _PyCode_DEF(1); PyAPI_DATA(PyTypeObject) PyCode_Type; -#define PyCode_Check(op) Py_IS_TYPE(op, &PyCode_Type) -#define PyCode_GetNumFree(op) ((op)->co_nfreevars) -#define _PyCode_CODE(CO) ((_Py_CODEUNIT *)(CO)->co_code_adaptive) +#define PyCode_Check(op) Py_IS_TYPE((op), &PyCode_Type) + +static inline Py_ssize_t PyCode_GetNumFree(PyCodeObject *op) { + assert(PyCode_Check(op)); + return op->co_nfreevars; +} + +static inline int PyCode_GetFirstFree(PyCodeObject *op) { + assert(PyCode_Check(op)); + return op->co_nlocalsplus - op->co_nfreevars; +} + +#define _PyCode_CODE(CO) _Py_RVALUE((_Py_CODEUNIT *)(CO)->co_code_adaptive) #define _PyCode_NBYTES(CO) (Py_SIZE(CO) * (Py_ssize_t)sizeof(_Py_CODEUNIT)) -/* Public interface */ -PyAPI_FUNC(PyCodeObject *) PyCode_New( +/* Unstable public interface */ +PyAPI_FUNC(PyCodeObject *) PyUnstable_Code_New( int, int, int, int, int, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, int, PyObject *, PyObject *); -PyAPI_FUNC(PyCodeObject *) PyCode_NewWithPosOnlyArgs( +PyAPI_FUNC(PyCodeObject *) PyUnstable_Code_NewWithPosOnlyArgs( int, int, int, int, int, int, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, int, PyObject *, PyObject *); /* same as struct above */ +// Old names -- remove when this API changes: +_Py_DEPRECATED_EXTERNALLY(3.12) static inline PyCodeObject * +PyCode_New( + int a, int b, int c, int d, int e, PyObject *f, PyObject *g, + PyObject *h, PyObject *i, PyObject *j, PyObject *k, + PyObject *l, PyObject *m, PyObject *n, int o, PyObject *p, + PyObject *q) +{ + return PyUnstable_Code_New( + a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q); +} +_Py_DEPRECATED_EXTERNALLY(3.12) static inline PyCodeObject * +PyCode_NewWithPosOnlyArgs( + int a, int poac, int b, int c, int d, int e, PyObject *f, PyObject *g, + PyObject *h, PyObject *i, PyObject *j, PyObject *k, + PyObject *l, PyObject *m, PyObject *n, int o, PyObject *p, + PyObject *q) +{ + return PyUnstable_Code_NewWithPosOnlyArgs( + a, poac, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q); +} /* Creates a new empty code object with the specified source location. */ PyAPI_FUNC(PyCodeObject *) @@ -169,6 +272,46 @@ PyAPI_FUNC(int) PyCode_Addr2Line(PyCodeObject *, int); PyAPI_FUNC(int) PyCode_Addr2Location(PyCodeObject *, int, int *, int *, int *, int *); +#define PY_FOREACH_CODE_EVENT(V) \ + V(CREATE) \ + V(DESTROY) + +typedef enum { + #define PY_DEF_EVENT(op) PY_CODE_EVENT_##op, + PY_FOREACH_CODE_EVENT(PY_DEF_EVENT) + #undef PY_DEF_EVENT +} PyCodeEvent; + + +/* + * A callback that is invoked for different events in a code object's lifecycle. + * + * The callback is invoked with a borrowed reference to co, after it is + * created and before it is destroyed. + * + * If the callback sets an exception, it must return -1. Otherwise + * it should return 0. + */ +typedef int (*PyCode_WatchCallback)( + PyCodeEvent event, + PyCodeObject* co); + +/* + * Register a per-interpreter callback that will be invoked for code object + * lifecycle events. + * + * Returns a handle that may be passed to PyCode_ClearWatcher on success, + * or -1 and sets an error if no more handles are available. + */ +PyAPI_FUNC(int) PyCode_AddWatcher(PyCode_WatchCallback callback); + +/* + * Clear the watcher associated with the watcher_id handle. + * + * Returns 0 on success or -1 if no watcher exists for the provided id. + */ +PyAPI_FUNC(int) PyCode_ClearWatcher(int watcher_id); + /* for internal use only */ struct _opaque { int computed_line; @@ -200,11 +343,21 @@ PyAPI_FUNC(PyObject*) _PyCode_ConstantKey(PyObject *obj); PyAPI_FUNC(PyObject*) PyCode_Optimize(PyObject *code, PyObject* consts, PyObject *names, PyObject *lnotab); - -PyAPI_FUNC(int) _PyCode_GetExtra(PyObject *code, Py_ssize_t index, - void **extra); -PyAPI_FUNC(int) _PyCode_SetExtra(PyObject *code, Py_ssize_t index, - void *extra); +PyAPI_FUNC(int) PyUnstable_Code_GetExtra( + PyObject *code, Py_ssize_t index, void **extra); +PyAPI_FUNC(int) PyUnstable_Code_SetExtra( + PyObject *code, Py_ssize_t index, void *extra); +// Old names -- remove when this API changes: +_Py_DEPRECATED_EXTERNALLY(3.12) static inline int +_PyCode_GetExtra(PyObject *code, Py_ssize_t index, void **extra) +{ + return PyUnstable_Code_GetExtra(code, index, extra); +} +_Py_DEPRECATED_EXTERNALLY(3.12) static inline int +_PyCode_SetExtra(PyObject *code, Py_ssize_t index, void *extra) +{ + return PyUnstable_Code_SetExtra(code, index, extra); +} /* Equivalent to getattr(code, 'co_code') in Python. Returns a strong reference to a bytes object. */ diff --git a/src/external/windows/include/python/cpython/compile.h b/src/external/windows/include/python/cpython/compile.h index 7cfbe715..7d977100 100755 --- a/src/external/windows/include/python/cpython/compile.h +++ b/src/external/windows/include/python/cpython/compile.h @@ -31,11 +31,26 @@ typedef struct { #define _PyCompilerFlags_INIT \ (PyCompilerFlags){.cf_flags = 0, .cf_feature_version = PY_MINOR_VERSION} +/* source location information */ +typedef struct { + int lineno; + int end_lineno; + int col_offset; + int end_col_offset; +} _PyCompilerSrcLocation; + +#define SRC_LOCATION_FROM_AST(n) \ + (_PyCompilerSrcLocation){ \ + .lineno = (n)->lineno, \ + .end_lineno = (n)->end_lineno, \ + .col_offset = (n)->col_offset, \ + .end_col_offset = (n)->end_col_offset } + /* Future feature support */ typedef struct { - int ff_features; /* flags set by future statements */ - int ff_lineno; /* line number of last future statement */ + int ff_features; /* flags set by future statements */ + _PyCompilerSrcLocation ff_location; /* location of last future statement */ } PyFutureFeatures; #define FUTURE_NESTED_SCOPES "nested_scopes" diff --git a/src/external/windows/include/python/cpython/context.h b/src/external/windows/include/python/cpython/context.h index aebba956..286ceeda 100644 --- a/src/external/windows/include/python/cpython/context.h +++ b/src/external/windows/include/python/cpython/context.h @@ -15,9 +15,9 @@ PyAPI_DATA(PyTypeObject) PyContextToken_Type; typedef struct _pycontexttokenobject PyContextToken; -#define PyContext_CheckExact(o) Py_IS_TYPE(o, &PyContext_Type) -#define PyContextVar_CheckExact(o) Py_IS_TYPE(o, &PyContextVar_Type) -#define PyContextToken_CheckExact(o) Py_IS_TYPE(o, &PyContextToken_Type) +#define PyContext_CheckExact(o) Py_IS_TYPE((o), &PyContext_Type) +#define PyContextVar_CheckExact(o) Py_IS_TYPE((o), &PyContextVar_Type) +#define PyContextToken_CheckExact(o) Py_IS_TYPE((o), &PyContextToken_Type) PyAPI_FUNC(PyObject *) PyContext_New(void); diff --git a/src/external/windows/include/python/cpython/dictobject.h b/src/external/windows/include/python/cpython/dictobject.h index 9aebdbee..c4be831d 100755 --- a/src/external/windows/include/python/cpython/dictobject.h +++ b/src/external/windows/include/python/cpython/dictobject.h @@ -16,7 +16,11 @@ typedef struct { /* Dictionary version: globally unique, value change each time the dictionary is modified */ +#ifdef Py_BUILD_CORE uint64_t ma_version_tag; +#else + Py_DEPRECATED(3.12) uint64_t ma_version_tag; +#endif PyDictKeysObject *ma_keys; @@ -46,7 +50,14 @@ PyAPI_FUNC(int) _PyDict_Next( PyObject *mp, Py_ssize_t *pos, PyObject **key, PyObject **value, Py_hash_t *hash); /* Get the number of items of a dictionary. */ -#define PyDict_GET_SIZE(mp) (assert(PyDict_Check(mp)),((PyDictObject *)mp)->ma_used) +static inline Py_ssize_t PyDict_GET_SIZE(PyObject *op) { + PyDictObject *mp; + assert(PyDict_Check(op)); + mp = _Py_CAST(PyDictObject*, op); + return mp->ma_used; +} +#define PyDict_GET_SIZE(op) PyDict_GET_SIZE(_PyObject_CAST(op)) + PyAPI_FUNC(int) _PyDict_Contains_KnownHash(PyObject *, PyObject *, Py_hash_t); PyAPI_FUNC(int) _PyDict_ContainsId(PyObject *, _Py_Identifier *); PyAPI_FUNC(PyObject *) _PyDict_NewPresized(Py_ssize_t minused); @@ -76,3 +87,32 @@ typedef struct { PyAPI_FUNC(PyObject *) _PyDictView_New(PyObject *, PyTypeObject *); PyAPI_FUNC(PyObject *) _PyDictView_Intersect(PyObject* self, PyObject *other); + +/* Dictionary watchers */ + +#define PY_FOREACH_DICT_EVENT(V) \ + V(ADDED) \ + V(MODIFIED) \ + V(DELETED) \ + V(CLONED) \ + V(CLEARED) \ + V(DEALLOCATED) + +typedef enum { + #define PY_DEF_EVENT(EVENT) PyDict_EVENT_##EVENT, + PY_FOREACH_DICT_EVENT(PY_DEF_EVENT) + #undef PY_DEF_EVENT +} PyDict_WatchEvent; + +// Callback to be invoked when a watched dict is cleared, dealloced, or modified. +// In clear/dealloc case, key and new_value will be NULL. Otherwise, new_value will be the +// new value for key, NULL if key is being deleted. +typedef int(*PyDict_WatchCallback)(PyDict_WatchEvent event, PyObject* dict, PyObject* key, PyObject* new_value); + +// Register/unregister a dict-watcher callback +PyAPI_FUNC(int) PyDict_AddWatcher(PyDict_WatchCallback callback); +PyAPI_FUNC(int) PyDict_ClearWatcher(int watcher_id); + +// Mark given dictionary as "watched" (callback will be called if it is modified) +PyAPI_FUNC(int) PyDict_Watch(int watcher_id, PyObject* dict); +PyAPI_FUNC(int) PyDict_Unwatch(int watcher_id, PyObject* dict); diff --git a/src/external/windows/include/python/cpython/fileobject.h b/src/external/windows/include/python/cpython/fileobject.h index e077bb3f..c96076b7 100755 --- a/src/external/windows/include/python/cpython/fileobject.h +++ b/src/external/windows/include/python/cpython/fileobject.h @@ -3,6 +3,7 @@ #endif PyAPI_FUNC(char *) Py_UniversalNewlineFgets(char *, int, FILE*, PyObject *); +PyAPI_FUNC(char *) _Py_UniversalNewlineFgetsWithSize(char *, int, FILE*, PyObject *, size_t*); /* The std printer acts as a preliminary sys.stderr until the new io infrastructure is in place. */ diff --git a/src/external/windows/include/python/cpython/floatobject.h b/src/external/windows/include/python/cpython/floatobject.h index d9a34f7d..db8c2f3e 100644 --- a/src/external/windows/include/python/cpython/floatobject.h +++ b/src/external/windows/include/python/cpython/floatobject.h @@ -7,9 +7,15 @@ typedef struct { double ob_fval; } PyFloatObject; -// Macro version of PyFloat_AsDouble() trading safety for speed. +#define _PyFloat_CAST(op) \ + (assert(PyFloat_Check(op)), _Py_CAST(PyFloatObject*, op)) + +// Static inline version of PyFloat_AsDouble() trading safety for speed. // It doesn't check if op is a double object. -#define PyFloat_AS_DOUBLE(op) (((PyFloatObject *)(op))->ob_fval) +static inline double PyFloat_AS_DOUBLE(PyObject *op) { + return _PyFloat_CAST(op)->ob_fval; +} +#define PyFloat_AS_DOUBLE(op) PyFloat_AS_DOUBLE(_PyObject_CAST(op)) PyAPI_FUNC(int) PyFloat_Pack2(double x, char *p, int le); diff --git a/src/external/windows/include/python/cpython/funcobject.h b/src/external/windows/include/python/cpython/funcobject.h index 517d72a1..b44e00af 100644 --- a/src/external/windows/include/python/cpython/funcobject.h +++ b/src/external/windows/include/python/cpython/funcobject.h @@ -41,6 +41,7 @@ typedef struct { PyObject *func_weakreflist; /* List of weak references */ PyObject *func_module; /* The __module__ attribute, can be anything */ PyObject *func_annotations; /* Annotations, a dict or NULL */ + PyObject *func_typeparams; /* Tuple of active type variables or NULL */ vectorcallfunc vectorcall; /* Version number for use by specializer. * Can set to non-zero when we want to specialize. @@ -48,7 +49,8 @@ typedef struct { * defaults * kwdefaults (only if the object changes, not the contents of the dict) * code - * annotations */ + * annotations + * vectorcall function pointer */ uint32_t func_version; /* Invariant: @@ -60,7 +62,7 @@ typedef struct { PyAPI_DATA(PyTypeObject) PyFunction_Type; -#define PyFunction_Check(op) Py_IS_TYPE(op, &PyFunction_Type) +#define PyFunction_Check(op) Py_IS_TYPE((op), &PyFunction_Type) PyAPI_FUNC(PyObject *) PyFunction_New(PyObject *, PyObject *); PyAPI_FUNC(PyObject *) PyFunction_NewWithQualName(PyObject *, PyObject *, PyObject *); @@ -69,6 +71,7 @@ PyAPI_FUNC(PyObject *) PyFunction_GetGlobals(PyObject *); PyAPI_FUNC(PyObject *) PyFunction_GetModule(PyObject *); PyAPI_FUNC(PyObject *) PyFunction_GetDefaults(PyObject *); PyAPI_FUNC(int) PyFunction_SetDefaults(PyObject *, PyObject *); +PyAPI_FUNC(void) PyFunction_SetVectorcall(PyFunctionObject *, vectorcallfunc); PyAPI_FUNC(PyObject *) PyFunction_GetKwDefaults(PyObject *); PyAPI_FUNC(int) PyFunction_SetKwDefaults(PyObject *, PyObject *); PyAPI_FUNC(PyObject *) PyFunction_GetClosure(PyObject *); @@ -82,22 +85,45 @@ PyAPI_FUNC(PyObject *) _PyFunction_Vectorcall( size_t nargsf, PyObject *kwnames); -/* Macros for direct access to these values. Type checks are *not* - done, so use with care. */ -#define PyFunction_GET_CODE(func) \ - (((PyFunctionObject *)func) -> func_code) -#define PyFunction_GET_GLOBALS(func) \ - (((PyFunctionObject *)func) -> func_globals) -#define PyFunction_GET_MODULE(func) \ - (((PyFunctionObject *)func) -> func_module) -#define PyFunction_GET_DEFAULTS(func) \ - (((PyFunctionObject *)func) -> func_defaults) -#define PyFunction_GET_KW_DEFAULTS(func) \ - (((PyFunctionObject *)func) -> func_kwdefaults) -#define PyFunction_GET_CLOSURE(func) \ - (((PyFunctionObject *)func) -> func_closure) -#define PyFunction_GET_ANNOTATIONS(func) \ - (((PyFunctionObject *)func) -> func_annotations) +#define _PyFunction_CAST(func) \ + (assert(PyFunction_Check(func)), _Py_CAST(PyFunctionObject*, func)) + +/* Static inline functions for direct access to these values. + Type checks are *not* done, so use with care. */ +static inline PyObject* PyFunction_GET_CODE(PyObject *func) { + return _PyFunction_CAST(func)->func_code; +} +#define PyFunction_GET_CODE(func) PyFunction_GET_CODE(_PyObject_CAST(func)) + +static inline PyObject* PyFunction_GET_GLOBALS(PyObject *func) { + return _PyFunction_CAST(func)->func_globals; +} +#define PyFunction_GET_GLOBALS(func) PyFunction_GET_GLOBALS(_PyObject_CAST(func)) + +static inline PyObject* PyFunction_GET_MODULE(PyObject *func) { + return _PyFunction_CAST(func)->func_module; +} +#define PyFunction_GET_MODULE(func) PyFunction_GET_MODULE(_PyObject_CAST(func)) + +static inline PyObject* PyFunction_GET_DEFAULTS(PyObject *func) { + return _PyFunction_CAST(func)->func_defaults; +} +#define PyFunction_GET_DEFAULTS(func) PyFunction_GET_DEFAULTS(_PyObject_CAST(func)) + +static inline PyObject* PyFunction_GET_KW_DEFAULTS(PyObject *func) { + return _PyFunction_CAST(func)->func_kwdefaults; +} +#define PyFunction_GET_KW_DEFAULTS(func) PyFunction_GET_KW_DEFAULTS(_PyObject_CAST(func)) + +static inline PyObject* PyFunction_GET_CLOSURE(PyObject *func) { + return _PyFunction_CAST(func)->func_closure; +} +#define PyFunction_GET_CLOSURE(func) PyFunction_GET_CLOSURE(_PyObject_CAST(func)) + +static inline PyObject* PyFunction_GET_ANNOTATIONS(PyObject *func) { + return _PyFunction_CAST(func)->func_annotations; +} +#define PyFunction_GET_ANNOTATIONS(func) PyFunction_GET_ANNOTATIONS(_PyObject_CAST(func)) /* The classmethod and staticmethod types lives here, too */ PyAPI_DATA(PyTypeObject) PyClassMethod_Type; @@ -106,6 +132,55 @@ PyAPI_DATA(PyTypeObject) PyStaticMethod_Type; PyAPI_FUNC(PyObject *) PyClassMethod_New(PyObject *); PyAPI_FUNC(PyObject *) PyStaticMethod_New(PyObject *); +#define PY_FOREACH_FUNC_EVENT(V) \ + V(CREATE) \ + V(DESTROY) \ + V(MODIFY_CODE) \ + V(MODIFY_DEFAULTS) \ + V(MODIFY_KWDEFAULTS) + +typedef enum { + #define PY_DEF_EVENT(EVENT) PyFunction_EVENT_##EVENT, + PY_FOREACH_FUNC_EVENT(PY_DEF_EVENT) + #undef PY_DEF_EVENT +} PyFunction_WatchEvent; + +/* + * A callback that is invoked for different events in a function's lifecycle. + * + * The callback is invoked with a borrowed reference to func, after it is + * created and before it is modified or destroyed. The callback should not + * modify func. + * + * When a function's code object, defaults, or kwdefaults are modified the + * callback will be invoked with the respective event and new_value will + * contain a borrowed reference to the new value that is about to be stored in + * the function. Otherwise the third argument is NULL. + * + * If the callback returns with an exception set, it must return -1. Otherwise + * it should return 0. + */ +typedef int (*PyFunction_WatchCallback)( + PyFunction_WatchEvent event, + PyFunctionObject *func, + PyObject *new_value); + +/* + * Register a per-interpreter callback that will be invoked for function lifecycle + * events. + * + * Returns a handle that may be passed to PyFunction_ClearWatcher on success, + * or -1 and sets an error if no more handles are available. + */ +PyAPI_FUNC(int) PyFunction_AddWatcher(PyFunction_WatchCallback callback); + +/* + * Clear the watcher associated with the watcher_id handle. + * + * Returns 0 on success or -1 if no watcher exists for the supplied id. + */ +PyAPI_FUNC(int) PyFunction_ClearWatcher(int watcher_id); + #ifdef __cplusplus } #endif diff --git a/src/external/windows/include/python/cpython/genobject.h b/src/external/windows/include/python/cpython/genobject.h index 8c52b90f..839c669d 100644 --- a/src/external/windows/include/python/cpython/genobject.h +++ b/src/external/windows/include/python/cpython/genobject.h @@ -13,8 +13,6 @@ extern "C" { and coroutine objects. */ #define _PyGenObject_HEAD(prefix) \ PyObject_HEAD \ - /* The code object backing the generator */ \ - PyCodeObject *prefix##_code; \ /* List of weak reference. */ \ PyObject *prefix##_weakreflist; \ /* Name of the generator. */ \ @@ -28,7 +26,7 @@ extern "C" { char prefix##_running_async; \ /* The frame */ \ int8_t prefix##_frame_state; \ - PyObject *prefix##_iframe[1]; + PyObject *prefix##_iframe[1]; \ typedef struct { /* The gi_ prefix is intended to remind of generator-iterator. */ @@ -37,8 +35,8 @@ typedef struct { PyAPI_DATA(PyTypeObject) PyGen_Type; -#define PyGen_Check(op) PyObject_TypeCheck(op, &PyGen_Type) -#define PyGen_CheckExact(op) Py_IS_TYPE(op, &PyGen_Type) +#define PyGen_Check(op) PyObject_TypeCheck((op), &PyGen_Type) +#define PyGen_CheckExact(op) Py_IS_TYPE((op), &PyGen_Type) PyAPI_FUNC(PyObject *) PyGen_New(PyFrameObject *); PyAPI_FUNC(PyObject *) PyGen_NewWithQualName(PyFrameObject *, @@ -46,6 +44,7 @@ PyAPI_FUNC(PyObject *) PyGen_NewWithQualName(PyFrameObject *, PyAPI_FUNC(int) _PyGen_SetStopIterationValue(PyObject *); PyAPI_FUNC(int) _PyGen_FetchStopIterationValue(PyObject **); PyAPI_FUNC(void) _PyGen_Finalize(PyObject *self); +PyAPI_FUNC(PyCodeObject *) PyGen_GetCode(PyGenObject *gen); /* --- PyCoroObject ------------------------------------------------------- */ @@ -57,7 +56,7 @@ typedef struct { PyAPI_DATA(PyTypeObject) PyCoro_Type; PyAPI_DATA(PyTypeObject) _PyCoroWrapper_Type; -#define PyCoro_CheckExact(op) Py_IS_TYPE(op, &PyCoro_Type) +#define PyCoro_CheckExact(op) Py_IS_TYPE((op), &PyCoro_Type) PyAPI_FUNC(PyObject *) PyCoro_New(PyFrameObject *, PyObject *name, PyObject *qualname); @@ -76,7 +75,9 @@ PyAPI_DATA(PyTypeObject) _PyAsyncGenAThrow_Type; PyAPI_FUNC(PyObject *) PyAsyncGen_New(PyFrameObject *, PyObject *name, PyObject *qualname); -#define PyAsyncGen_CheckExact(op) Py_IS_TYPE(op, &PyAsyncGen_Type) +#define PyAsyncGen_CheckExact(op) Py_IS_TYPE((op), &PyAsyncGen_Type) + +#define PyAsyncGenASend_CheckExact(op) Py_IS_TYPE((op), &_PyAsyncGenASend_Type) #undef _PyGenObject_HEAD diff --git a/src/external/windows/include/python/cpython/import.h b/src/external/windows/include/python/cpython/import.h index 31e1f17b..8104a88a 100755 --- a/src/external/windows/include/python/cpython/import.h +++ b/src/external/windows/include/python/cpython/import.h @@ -10,8 +10,8 @@ PyAPI_FUNC(PyObject *) _PyImport_GetModuleId(_Py_Identifier *name); PyAPI_FUNC(int) _PyImport_SetModule(PyObject *name, PyObject *module); PyAPI_FUNC(int) _PyImport_SetModuleString(const char *name, PyObject* module); -PyAPI_FUNC(void) _PyImport_AcquireLock(void); -PyAPI_FUNC(int) _PyImport_ReleaseLock(void); +PyAPI_FUNC(void) _PyImport_AcquireLock(PyInterpreterState *interp); +PyAPI_FUNC(int) _PyImport_ReleaseLock(PyInterpreterState *interp); PyAPI_FUNC(int) _PyImport_FixupBuiltin( PyObject *mod, @@ -25,6 +25,7 @@ struct _inittab { const char *name; /* ASCII encoded string */ PyObject* (*initfunc)(void); }; +// This is not used after Py_Initialize() is called. PyAPI_DATA(struct _inittab *) PyImport_Inittab; PyAPI_FUNC(int) PyImport_ExtendInittab(struct _inittab *newtab); diff --git a/src/external/windows/include/python/cpython/initconfig.h b/src/external/windows/include/python/cpython/initconfig.h index bec872bf..bff94b01 100755 --- a/src/external/windows/include/python/cpython/initconfig.h +++ b/src/external/windows/include/python/cpython/initconfig.h @@ -25,6 +25,7 @@ PyAPI_FUNC(PyStatus) PyStatus_Exit(int exitcode); PyAPI_FUNC(int) PyStatus_IsError(PyStatus err); PyAPI_FUNC(int) PyStatus_IsExit(PyStatus err); PyAPI_FUNC(int) PyStatus_Exception(PyStatus err); +PyAPI_FUNC(PyObject *) _PyErr_SetFromPyStatus(PyStatus status); /* --- PyWideStringList ------------------------------------------------ */ @@ -142,6 +143,7 @@ typedef struct PyConfig { unsigned long hash_seed; int faulthandler; int tracemalloc; + int perf_profiling; int import_time; int code_debug_ranges; int show_ref_count; @@ -177,6 +179,7 @@ typedef struct PyConfig { wchar_t *check_hash_pycs_mode; int use_frozen_modules; int safe_path; + int int_max_str_digits; /* --- Path configuration inputs ------------ */ int pathconfig_warnings; @@ -211,10 +214,6 @@ typedef struct PyConfig { // If equal to 0, stop Python initialization before the "main" phase. int _init_main; - // If non-zero, disallow threads, subprocesses, and fork. - // Default: 0. - int _isolated_interpreter; - // If non-zero, we believe we're running from a source tree. int _is_python_build; } PyConfig; diff --git a/src/external/windows/include/python/cpython/interpreteridobject.h b/src/external/windows/include/python/cpython/interpreteridobject.h new file mode 100644 index 00000000..8506ce01 --- /dev/null +++ b/src/external/windows/include/python/cpython/interpreteridobject.h @@ -0,0 +1,11 @@ +#ifndef Py_CPYTHON_INTERPRETERIDOBJECT_H +# error "this header file must not be included directly" +#endif + +/* Interpreter ID Object */ + +PyAPI_DATA(PyTypeObject) _PyInterpreterID_Type; + +PyAPI_FUNC(PyObject *) _PyInterpreterID_New(int64_t); +PyAPI_FUNC(PyObject *) _PyInterpreterState_GetIDObject(PyInterpreterState *); +PyAPI_FUNC(PyInterpreterState *) _PyInterpreterID_LookUp(PyObject *); diff --git a/src/external/windows/include/python/cpython/listobject.h b/src/external/windows/include/python/cpython/listobject.h index 14681c0e..1a3e862b 100755 --- a/src/external/windows/include/python/cpython/listobject.h +++ b/src/external/windows/include/python/cpython/listobject.h @@ -34,18 +34,14 @@ static inline Py_ssize_t PyList_GET_SIZE(PyObject *op) { PyListObject *list = _PyList_CAST(op); return Py_SIZE(list); } -#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 -# define PyList_GET_SIZE(op) PyList_GET_SIZE(_PyObject_CAST(op)) -#endif +#define PyList_GET_SIZE(op) PyList_GET_SIZE(_PyObject_CAST(op)) -#define PyList_GET_ITEM(op, index) (_PyList_CAST(op)->ob_item[index]) +#define PyList_GET_ITEM(op, index) (_PyList_CAST(op)->ob_item[(index)]) static inline void PyList_SET_ITEM(PyObject *op, Py_ssize_t index, PyObject *value) { PyListObject *list = _PyList_CAST(op); list->ob_item[index] = value; } -#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 #define PyList_SET_ITEM(op, index, value) \ - PyList_SET_ITEM(_PyObject_CAST(op), index, _PyObject_CAST(value)) -#endif + PyList_SET_ITEM(_PyObject_CAST(op), (index), _PyObject_CAST(value)) diff --git a/src/external/windows/include/python/cpython/longintrepr.h b/src/external/windows/include/python/cpython/longintrepr.h index e89fdfa3..271b612f 100644 --- a/src/external/windows/include/python/cpython/longintrepr.h +++ b/src/external/windows/include/python/cpython/longintrepr.h @@ -79,9 +79,14 @@ typedef long stwodigits; /* signed variant of twodigits */ aware that ints abuse ob_size's sign bit. */ -struct _longobject { - PyObject_VAR_HEAD +typedef struct _PyLongValue { + uintptr_t lv_tag; /* Number of digits, sign and flags */ digit ob_digit[1]; +} _PyLongValue; + +struct _longobject { + PyObject_HEAD + _PyLongValue long_value; }; PyAPI_FUNC(PyLongObject *) _PyLong_New(Py_ssize_t); @@ -89,6 +94,38 @@ PyAPI_FUNC(PyLongObject *) _PyLong_New(Py_ssize_t); /* Return a copy of src. */ PyAPI_FUNC(PyObject *) _PyLong_Copy(PyLongObject *src); +PyAPI_FUNC(PyLongObject *) +_PyLong_FromDigits(int negative, Py_ssize_t digit_count, digit *digits); + + +/* Inline some internals for speed. These should be in pycore_long.h + * if user code didn't need them inlined. */ + +#define _PyLong_SIGN_MASK 3 +#define _PyLong_NON_SIZE_BITS 3 + + +static inline int +_PyLong_IsCompact(const PyLongObject* op) { + assert(PyType_HasFeature((op)->ob_base.ob_type, Py_TPFLAGS_LONG_SUBCLASS)); + return op->long_value.lv_tag < (2 << _PyLong_NON_SIZE_BITS); +} + +#define PyUnstable_Long_IsCompact _PyLong_IsCompact + +static inline Py_ssize_t +_PyLong_CompactValue(const PyLongObject *op) +{ + Py_ssize_t sign; + assert(PyType_HasFeature((op)->ob_base.ob_type, Py_TPFLAGS_LONG_SUBCLASS)); + assert(PyUnstable_Long_IsCompact(op)); + sign = 1 - (op->long_value.lv_tag & _PyLong_SIGN_MASK); + return sign * (Py_ssize_t)op->long_value.ob_digit[0]; +} + +#define PyUnstable_Long_CompactValue _PyLong_CompactValue + + #ifdef __cplusplus } #endif diff --git a/src/external/windows/include/python/cpython/longobject.h b/src/external/windows/include/python/cpython/longobject.h index d5239a29..a39b5aae 100644 --- a/src/external/windows/include/python/cpython/longobject.h +++ b/src/external/windows/include/python/cpython/longobject.h @@ -93,3 +93,8 @@ PyAPI_FUNC(PyObject *) _PyLong_GCD(PyObject *, PyObject *); PyAPI_FUNC(PyObject *) _PyLong_Rshift(PyObject *, size_t); PyAPI_FUNC(PyObject *) _PyLong_Lshift(PyObject *, size_t); + + +PyAPI_FUNC(int) PyUnstable_Long_IsCompact(const PyLongObject* op); +PyAPI_FUNC(Py_ssize_t) PyUnstable_Long_CompactValue(const PyLongObject* op); + diff --git a/src/external/windows/include/python/cpython/memoryobject.h b/src/external/windows/include/python/cpython/memoryobject.h new file mode 100644 index 00000000..810916e2 --- /dev/null +++ b/src/external/windows/include/python/cpython/memoryobject.h @@ -0,0 +1,52 @@ +#ifndef Py_CPYTHON_MEMORYOBJECT_H +# error "this header file must not be included directly" +#endif + +PyAPI_DATA(PyTypeObject) _PyManagedBuffer_Type; + +/* The structs are declared here so that macros can work, but they shouldn't + be considered public. Don't access their fields directly, use the macros + and functions instead! */ +#define _Py_MANAGED_BUFFER_RELEASED 0x001 /* access to exporter blocked */ +#define _Py_MANAGED_BUFFER_FREE_FORMAT 0x002 /* free format */ + +typedef struct { + PyObject_HEAD + int flags; /* state flags */ + Py_ssize_t exports; /* number of direct memoryview exports */ + Py_buffer master; /* snapshot buffer obtained from the original exporter */ +} _PyManagedBufferObject; + + +/* memoryview state flags */ +#define _Py_MEMORYVIEW_RELEASED 0x001 /* access to master buffer blocked */ +#define _Py_MEMORYVIEW_C 0x002 /* C-contiguous layout */ +#define _Py_MEMORYVIEW_FORTRAN 0x004 /* Fortran contiguous layout */ +#define _Py_MEMORYVIEW_SCALAR 0x008 /* scalar: ndim = 0 */ +#define _Py_MEMORYVIEW_PIL 0x010 /* PIL-style layout */ +#define _Py_MEMORYVIEW_RESTRICTED 0x020 /* Disallow new references to the memoryview's buffer */ + +typedef struct { + PyObject_VAR_HEAD + _PyManagedBufferObject *mbuf; /* managed buffer */ + Py_hash_t hash; /* hash value for read-only views */ + int flags; /* state flags */ + Py_ssize_t exports; /* number of buffer re-exports */ + Py_buffer view; /* private copy of the exporter's view */ + PyObject *weakreflist; + Py_ssize_t ob_array[1]; /* shape, strides, suboffsets */ +} PyMemoryViewObject; + +#define _PyMemoryView_CAST(op) _Py_CAST(PyMemoryViewObject*, op) + +/* Get a pointer to the memoryview's private copy of the exporter's buffer. */ +static inline Py_buffer* PyMemoryView_GET_BUFFER(PyObject *op) { + return (&_PyMemoryView_CAST(op)->view); +} +#define PyMemoryView_GET_BUFFER(op) PyMemoryView_GET_BUFFER(_PyObject_CAST(op)) + +/* Get a pointer to the exporting object (this may be NULL!). */ +static inline PyObject* PyMemoryView_GET_BASE(PyObject *op) { + return _PyMemoryView_CAST(op)->view.obj; +} +#define PyMemoryView_GET_BASE(op) PyMemoryView_GET_BASE(_PyObject_CAST(op)) diff --git a/src/external/windows/include/python/cpython/methodobject.h b/src/external/windows/include/python/cpython/methodobject.h index da902542..3fd97f06 100755 --- a/src/external/windows/include/python/cpython/methodobject.h +++ b/src/external/windows/include/python/cpython/methodobject.h @@ -31,8 +31,8 @@ typedef struct { PyAPI_DATA(PyTypeObject) PyCMethod_Type; -#define PyCMethod_CheckExact(op) Py_IS_TYPE(op, &PyCMethod_Type) -#define PyCMethod_Check(op) PyObject_TypeCheck(op, &PyCMethod_Type) +#define PyCMethod_CheckExact(op) Py_IS_TYPE((op), &PyCMethod_Type) +#define PyCMethod_Check(op) PyObject_TypeCheck((op), &PyCMethod_Type) /* Static inline functions for direct access to these values. @@ -40,9 +40,7 @@ PyAPI_DATA(PyTypeObject) PyCMethod_Type; static inline PyCFunction PyCFunction_GET_FUNCTION(PyObject *func) { return _PyCFunctionObject_CAST(func)->m_ml->ml_meth; } -#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 -# define PyCFunction_GET_FUNCTION(func) PyCFunction_GET_FUNCTION(_PyObject_CAST(func)) -#endif +#define PyCFunction_GET_FUNCTION(func) PyCFunction_GET_FUNCTION(_PyObject_CAST(func)) static inline PyObject* PyCFunction_GET_SELF(PyObject *func_obj) { PyCFunctionObject *func = _PyCFunctionObject_CAST(func_obj); @@ -51,16 +49,12 @@ static inline PyObject* PyCFunction_GET_SELF(PyObject *func_obj) { } return func->m_self; } -#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 -# define PyCFunction_GET_SELF(func) PyCFunction_GET_SELF(_PyObject_CAST(func)) -#endif +#define PyCFunction_GET_SELF(func) PyCFunction_GET_SELF(_PyObject_CAST(func)) static inline int PyCFunction_GET_FLAGS(PyObject *func) { return _PyCFunctionObject_CAST(func)->m_ml->ml_flags; } -#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 -# define PyCFunction_GET_FLAGS(func) PyCFunction_GET_FLAGS(_PyObject_CAST(func)) -#endif +#define PyCFunction_GET_FLAGS(func) PyCFunction_GET_FLAGS(_PyObject_CAST(func)) static inline PyTypeObject* PyCFunction_GET_CLASS(PyObject *func_obj) { PyCFunctionObject *func = _PyCFunctionObject_CAST(func_obj); @@ -69,6 +63,4 @@ static inline PyTypeObject* PyCFunction_GET_CLASS(PyObject *func_obj) { } return _Py_NULL; } -#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 -# define PyCFunction_GET_CLASS(func) PyCFunction_GET_CLASS(_PyObject_CAST(func)) -#endif +#define PyCFunction_GET_CLASS(func) PyCFunction_GET_CLASS(_PyObject_CAST(func)) diff --git a/src/external/windows/include/python/cpython/modsupport.h b/src/external/windows/include/python/cpython/modsupport.h index 28ccc9a5..83121568 100644 --- a/src/external/windows/include/python/cpython/modsupport.h +++ b/src/external/windows/include/python/cpython/modsupport.h @@ -34,11 +34,13 @@ PyAPI_FUNC(int) _PyArg_NoPositional(const char *funcname, PyObject *args); #define _PyArg_NoPositional(funcname, args) \ ((args) == NULL || _PyArg_NoPositional((funcname), (args))) +#define _Py_ANY_VARARGS(n) ((n) == PY_SSIZE_T_MAX) + PyAPI_FUNC(void) _PyArg_BadArgument(const char *, const char *, const char *, PyObject *); PyAPI_FUNC(int) _PyArg_CheckPositional(const char *, Py_ssize_t, Py_ssize_t, Py_ssize_t); #define _PyArg_CheckPositional(funcname, nargs, min, max) \ - ((!ANY_VARARGS(max) && (min) <= (nargs) && (nargs) <= (max)) \ + ((!_Py_ANY_VARARGS(max) && (min) <= (nargs) && (nargs) <= (max)) \ || _PyArg_CheckPositional((funcname), (nargs), (min), (max))) PyAPI_FUNC(PyObject **) _Py_VaBuildStack( @@ -49,6 +51,7 @@ PyAPI_FUNC(PyObject **) _Py_VaBuildStack( Py_ssize_t *p_nargs); typedef struct _PyArg_Parser { + int initialized; const char *format; const char * const *keywords; const char *fname; @@ -98,10 +101,9 @@ PyAPI_FUNC(PyObject * const *) _PyArg_UnpackKeywordsWithVararg( #define _PyArg_UnpackKeywords(args, nargs, kwargs, kwnames, parser, minpos, maxpos, minkw, buf) \ (((minkw) == 0 && (kwargs) == NULL && (kwnames) == NULL && \ - (minpos) <= (nargs) && (nargs) <= (maxpos) && args != NULL) ? (args) : \ + (minpos) <= (nargs) && (nargs) <= (maxpos) && (args) != NULL) ? (args) : \ _PyArg_UnpackKeywords((args), (nargs), (kwargs), (kwnames), (parser), \ (minpos), (maxpos), (minkw), (buf))) PyAPI_FUNC(PyObject *) _PyModule_CreateInitialized(PyModuleDef*, int apiver); - -PyAPI_DATA(const char *) _Py_PackageContext; +PyAPI_FUNC(int) _PyModule_Add(PyObject *, const char *, PyObject *); diff --git a/src/external/windows/include/python/cpython/object.h b/src/external/windows/include/python/cpython/object.h index eb48ae62..10f5ce5c 100755 --- a/src/external/windows/include/python/cpython/object.h +++ b/src/external/windows/include/python/cpython/object.h @@ -3,6 +3,7 @@ #endif PyAPI_FUNC(void) _Py_NewReference(PyObject *op); +PyAPI_FUNC(void) _Py_NewReferenceNoTotal(PyObject *op); #ifdef Py_TRACE_REFS /* Py_TRACE_REFS is such major surgery that we call external routines. */ @@ -10,7 +11,11 @@ PyAPI_FUNC(void) _Py_ForgetReference(PyObject *); #endif #ifdef Py_REF_DEBUG -PyAPI_FUNC(Py_ssize_t) _Py_GetRefTotal(void); +/* These are useful as debugging aids when chasing down refleaks. */ +PyAPI_FUNC(Py_ssize_t) _Py_GetGlobalRefTotal(void); +# define _Py_GetRefTotal() _Py_GetGlobalRefTotal() +PyAPI_FUNC(Py_ssize_t) _Py_GetLegacyRefTotal(void); +PyAPI_FUNC(Py_ssize_t) _PyInterpreterState_GetRefTotal(PyInterpreterState *); #endif @@ -41,24 +46,15 @@ typedef struct _Py_Identifier { Py_ssize_t index; } _Py_Identifier; -#if defined(NEEDS_PY_IDENTIFIER) || !defined(Py_BUILD_CORE) +#ifndef Py_BUILD_CORE // For now we are keeping _Py_IDENTIFIER for continued use // in non-builtin extensions (and naughty PyPI modules). -// ericf tweak: (visual studio 2019 chokes on this) -#define _Py_static_string_init(value) {value, -1 } -// #define _Py_static_string_init(value) { .string = value, .index = -1 } +#define _Py_static_string_init(value) { .string = (value), .index = -1 } #define _Py_static_string(varname, value) static _Py_Identifier varname = _Py_static_string_init(value) #define _Py_IDENTIFIER(varname) _Py_static_string(PyId_##varname, #varname) -#endif /* NEEDS_PY_IDENTIFIER */ - -typedef int (*getbufferproc)(PyObject *, Py_buffer *, int); -typedef void (*releasebufferproc)(PyObject *, Py_buffer *); - -typedef PyObject *(*vectorcallfunc)(PyObject *callable, PyObject *const *args, - size_t nargsf, PyObject *kwnames); - +#endif /* !Py_BUILD_CORE */ typedef struct { /* Number implementations must check *both* @@ -219,9 +215,9 @@ struct _typeobject { inquiry tp_is_gc; /* For PyObject_IS_GC */ PyObject *tp_bases; PyObject *tp_mro; /* method resolution order */ - PyObject *tp_cache; - PyObject *tp_subclasses; - PyObject *tp_weaklist; + PyObject *tp_cache; /* no longer used */ + void *tp_subclasses; /* for static builtin types this is an index */ + PyObject *tp_weaklist; /* not used for static builtin types */ destructor tp_del; /* Type attribute cache version tag. Added in version 2.6 */ @@ -229,13 +225,27 @@ struct _typeobject { destructor tp_finalize; vectorcallfunc tp_vectorcall; + + /* bitset of which type-watchers care about this type */ + unsigned char tp_watched; }; /* This struct is used by the specializer * It should should be treated as an opaque blob * by code other than the specializer and interpreter. */ struct _specialization_cache { + // In order to avoid bloating the bytecode with lots of inline caches, the + // members of this structure have a somewhat unique contract. They are set + // by the specialization machinery, and are invalidated by PyType_Modified. + // The rules for using them are as follows: + // - If getitem is non-NULL, then it is the same Python function that + // PyType_Lookup(cls, "__getitem__") would return. + // - If getitem is NULL, then getitem_version is meaningless. + // - If getitem->func_version == getitem_version, then getitem can be called + // with two positional arguments and no keyword arguments, and has neither + // *args nor **kwargs (as required by BINARY_SUBSCR_GETITEM): PyObject *getitem; + uint32_t getitem_version; }; /* The *real* layout of a type object when allocated on the heap */ @@ -273,6 +283,7 @@ PyAPI_FUNC(PyTypeObject *) _PyType_CalculateMetaclass(PyTypeObject *, PyObject * PyAPI_FUNC(PyObject *) _PyType_GetDocFromInternalDoc(const char *, const char *); PyAPI_FUNC(PyObject *) _PyType_GetTextSignatureFromInternalDoc(const char *, const char *); PyAPI_FUNC(PyObject *) PyType_GetModuleByDef(PyTypeObject *, PyModuleDef *); +PyAPI_FUNC(PyObject *) PyType_GetDict(PyTypeObject *); PyAPI_FUNC(int) PyObject_Print(PyObject *, FILE *, int); PyAPI_FUNC(void) _Py_BreakPoint(void); @@ -311,38 +322,69 @@ _PyObject_GenericSetAttrWithDict(PyObject *, PyObject *, PyAPI_FUNC(PyObject *) _PyObject_FunctionStr(PyObject *); -/* Safely decref `op` and set `op` to `op2`. +/* Safely decref `dst` and set `dst` to `src`. * * As in case of Py_CLEAR "the obvious" code can be deadly: * - * Py_DECREF(op); - * op = op2; + * Py_DECREF(dst); + * dst = src; * * The safe way is: * - * Py_SETREF(op, op2); + * Py_SETREF(dst, src); * - * That arranges to set `op` to `op2` _before_ decref'ing, so that any code - * triggered as a side-effect of `op` getting torn down no longer believes - * `op` points to a valid object. + * That arranges to set `dst` to `src` _before_ decref'ing, so that any code + * triggered as a side-effect of `dst` getting torn down no longer believes + * `dst` points to a valid object. * - * Py_XSETREF is a variant of Py_SETREF that uses Py_XDECREF instead of - * Py_DECREF. + * Temporary variables are used to only evalutate macro arguments once and so + * avoid the duplication of side effects. _Py_TYPEOF() or memcpy() is used to + * avoid a miscompilation caused by type punning. See Py_CLEAR() comment for + * implementation details about type punning. + * + * The memcpy() implementation does not emit a compiler warning if 'src' has + * not the same type than 'src': any pointer type is accepted for 'src'. */ - -#define Py_SETREF(op, op2) \ - do { \ - PyObject *_py_tmp = _PyObject_CAST(op); \ - (op) = (op2); \ - Py_DECREF(_py_tmp); \ +#ifdef _Py_TYPEOF +#define Py_SETREF(dst, src) \ + do { \ + _Py_TYPEOF(dst)* _tmp_dst_ptr = &(dst); \ + _Py_TYPEOF(dst) _tmp_old_dst = (*_tmp_dst_ptr); \ + *_tmp_dst_ptr = (src); \ + Py_DECREF(_tmp_old_dst); \ } while (0) - -#define Py_XSETREF(op, op2) \ - do { \ - PyObject *_py_tmp = _PyObject_CAST(op); \ - (op) = (op2); \ - Py_XDECREF(_py_tmp); \ +#else +#define Py_SETREF(dst, src) \ + do { \ + PyObject **_tmp_dst_ptr = _Py_CAST(PyObject**, &(dst)); \ + PyObject *_tmp_old_dst = (*_tmp_dst_ptr); \ + PyObject *_tmp_src = _PyObject_CAST(src); \ + memcpy(_tmp_dst_ptr, &_tmp_src, sizeof(PyObject*)); \ + Py_DECREF(_tmp_old_dst); \ } while (0) +#endif + +/* Py_XSETREF() is a variant of Py_SETREF() that uses Py_XDECREF() instead of + * Py_DECREF(). + */ +#ifdef _Py_TYPEOF +#define Py_XSETREF(dst, src) \ + do { \ + _Py_TYPEOF(dst)* _tmp_dst_ptr = &(dst); \ + _Py_TYPEOF(dst) _tmp_old_dst = (*_tmp_dst_ptr); \ + *_tmp_dst_ptr = (src); \ + Py_XDECREF(_tmp_old_dst); \ + } while (0) +#else +#define Py_XSETREF(dst, src) \ + do { \ + PyObject **_tmp_dst_ptr = _Py_CAST(PyObject**, &(dst)); \ + PyObject *_tmp_old_dst = (*_tmp_dst_ptr); \ + PyObject *_tmp_src = _PyObject_CAST(src); \ + memcpy(_tmp_dst_ptr, &_tmp_src, sizeof(PyObject*)); \ + Py_XDECREF(_tmp_old_dst); \ + } while (0) +#endif PyAPI_DATA(PyTypeObject) _PyNone_Type; @@ -387,9 +429,9 @@ _PyObject_DebugTypeStats(FILE *out); #endif #define _PyObject_ASSERT_WITH_MSG(obj, expr, msg) \ - _PyObject_ASSERT_FROM(obj, expr, msg, __FILE__, __LINE__, __func__) + _PyObject_ASSERT_FROM((obj), expr, (msg), __FILE__, __LINE__, __func__) #define _PyObject_ASSERT(obj, expr) \ - _PyObject_ASSERT_WITH_MSG(obj, expr, NULL) + _PyObject_ASSERT_WITH_MSG((obj), expr, NULL) #define _PyObject_ASSERT_FAILED_MSG(obj, msg) \ _PyObject_AssertFailed((obj), NULL, (msg), __FILE__, __LINE__, __func__) @@ -482,7 +524,7 @@ PyAPI_FUNC(int) _PyTrash_cond(PyObject *op, destructor dealloc); /* If "cond" is false, then _tstate remains NULL and the deallocator \ * is run normally without involving the trashcan */ \ if (cond) { \ - _tstate = PyThreadState_Get(); \ + _tstate = _PyThreadState_UncheckedGet(); \ if (_PyTrash_begin(_tstate, _PyObject_CAST(op))) { \ break; \ } \ @@ -495,8 +537,8 @@ PyAPI_FUNC(int) _PyTrash_cond(PyObject *op, destructor dealloc); } while (0); #define Py_TRASHCAN_BEGIN(op, dealloc) \ - Py_TRASHCAN_BEGIN_CONDITION(op, \ - _PyTrash_cond(_PyObject_CAST(op), (destructor)dealloc)) + Py_TRASHCAN_BEGIN_CONDITION((op), \ + _PyTrash_cond(_PyObject_CAST(op), (destructor)(dealloc))) /* The following two macros, Py_TRASHCAN_SAFE_BEGIN and * Py_TRASHCAN_SAFE_END, are deprecated since version 3.11 and @@ -507,7 +549,27 @@ Py_DEPRECATED(3.11) typedef int UsingDeprecatedTrashcanMacro; #define Py_TRASHCAN_SAFE_BEGIN(op) \ do { \ UsingDeprecatedTrashcanMacro cond=1; \ - Py_TRASHCAN_BEGIN_CONDITION(op, cond); + Py_TRASHCAN_BEGIN_CONDITION((op), cond); #define Py_TRASHCAN_SAFE_END(op) \ Py_TRASHCAN_END; \ } while(0); + +PyAPI_FUNC(void *) PyObject_GetItemData(PyObject *obj); + +PyAPI_FUNC(int) _PyObject_VisitManagedDict(PyObject *obj, visitproc visit, void *arg); +PyAPI_FUNC(void) _PyObject_ClearManagedDict(PyObject *obj); + +#define TYPE_MAX_WATCHERS 8 + +typedef int(*PyType_WatchCallback)(PyTypeObject *); +PyAPI_FUNC(int) PyType_AddWatcher(PyType_WatchCallback callback); +PyAPI_FUNC(int) PyType_ClearWatcher(int watcher_id); +PyAPI_FUNC(int) PyType_Watch(int watcher_id, PyObject *type); +PyAPI_FUNC(int) PyType_Unwatch(int watcher_id, PyObject *type); + +/* Attempt to assign a version tag to the given type. + * + * Returns 1 if the type already had a valid version tag or a new one was + * assigned, or 0 if a new tag could not be assigned. + */ +PyAPI_FUNC(int) PyUnstable_Type_AssignVersionTag(PyTypeObject *type); diff --git a/src/external/windows/include/python/cpython/objimpl.h b/src/external/windows/include/python/cpython/objimpl.h index a2693329..33bfac3e 100755 --- a/src/external/windows/include/python/cpython/objimpl.h +++ b/src/external/windows/include/python/cpython/objimpl.h @@ -2,7 +2,9 @@ # error "this header file must not be included directly" #endif -#define _PyObject_SIZE(typeobj) ( (typeobj)->tp_basicsize ) +static inline size_t _PyObject_SIZE(PyTypeObject *type) { + return _Py_STATIC_CAST(size_t, type->tp_basicsize); +} /* _PyObject_VAR_SIZE returns the number of bytes (as size_t) allocated for a vrbl-size object with nitems items, exclusive of gc overhead (if any). The @@ -18,10 +20,11 @@ # error "_PyObject_VAR_SIZE requires SIZEOF_VOID_P be a power of 2" #endif -#define _PyObject_VAR_SIZE(typeobj, nitems) \ - _Py_SIZE_ROUND_UP((typeobj)->tp_basicsize + \ - (nitems)*(typeobj)->tp_itemsize, \ - SIZEOF_VOID_P) +static inline size_t _PyObject_VAR_SIZE(PyTypeObject *type, Py_ssize_t nitems) { + size_t size = _Py_STATIC_CAST(size_t, type->tp_basicsize); + size += _Py_STATIC_CAST(size_t, nitems) * _Py_STATIC_CAST(size_t, type->tp_itemsize); + return _Py_SIZE_ROUND_UP(size, SIZEOF_VOID_P); +} /* This example code implements an object constructor with a custom @@ -87,3 +90,6 @@ PyAPI_FUNC(int) PyObject_IS_GC(PyObject *obj); PyAPI_FUNC(int) PyType_SUPPORTS_WEAKREFS(PyTypeObject *type); PyAPI_FUNC(PyObject **) PyObject_GET_WEAKREFS_LISTPTR(PyObject *op); + +PyAPI_FUNC(PyObject *) PyUnstable_Object_GC_NewWithExtraData(PyTypeObject *, + size_t); diff --git a/src/external/windows/include/python/cpython/odictobject.h b/src/external/windows/include/python/cpython/odictobject.h index 881e7ebc..d9062183 100755 --- a/src/external/windows/include/python/cpython/odictobject.h +++ b/src/external/windows/include/python/cpython/odictobject.h @@ -18,8 +18,8 @@ PyAPI_DATA(PyTypeObject) PyODictKeys_Type; PyAPI_DATA(PyTypeObject) PyODictItems_Type; PyAPI_DATA(PyTypeObject) PyODictValues_Type; -#define PyODict_Check(op) PyObject_TypeCheck(op, &PyODict_Type) -#define PyODict_CheckExact(op) Py_IS_TYPE(op, &PyODict_Type) +#define PyODict_Check(op) PyObject_TypeCheck((op), &PyODict_Type) +#define PyODict_CheckExact(op) Py_IS_TYPE((op), &PyODict_Type) #define PyODict_SIZE(op) PyDict_GET_SIZE((op)) PyAPI_FUNC(PyObject *) PyODict_New(void); @@ -27,13 +27,13 @@ PyAPI_FUNC(int) PyODict_SetItem(PyObject *od, PyObject *key, PyObject *item); PyAPI_FUNC(int) PyODict_DelItem(PyObject *od, PyObject *key); /* wrappers around PyDict* functions */ -#define PyODict_GetItem(od, key) PyDict_GetItem(_PyObject_CAST(od), key) +#define PyODict_GetItem(od, key) PyDict_GetItem(_PyObject_CAST(od), (key)) #define PyODict_GetItemWithError(od, key) \ - PyDict_GetItemWithError(_PyObject_CAST(od), key) -#define PyODict_Contains(od, key) PyDict_Contains(_PyObject_CAST(od), key) + PyDict_GetItemWithError(_PyObject_CAST(od), (key)) +#define PyODict_Contains(od, key) PyDict_Contains(_PyObject_CAST(od), (key)) #define PyODict_Size(od) PyDict_Size(_PyObject_CAST(od)) #define PyODict_GetItemString(od, key) \ - PyDict_GetItemString(_PyObject_CAST(od), key) + PyDict_GetItemString(_PyObject_CAST(od), (key)) #endif diff --git a/src/external/windows/include/python/cpython/picklebufobject.h b/src/external/windows/include/python/cpython/picklebufobject.h index 5d0b0cfa..95898010 100755 --- a/src/external/windows/include/python/cpython/picklebufobject.h +++ b/src/external/windows/include/python/cpython/picklebufobject.h @@ -12,7 +12,7 @@ extern "C" { PyAPI_DATA(PyTypeObject) PyPickleBuffer_Type; -#define PyPickleBuffer_Check(op) Py_IS_TYPE(op, &PyPickleBuffer_Type) +#define PyPickleBuffer_Check(op) Py_IS_TYPE((op), &PyPickleBuffer_Type) /* Create a PickleBuffer redirecting to the given buffer-enabled object */ PyAPI_FUNC(PyObject *) PyPickleBuffer_FromObject(PyObject *); diff --git a/src/external/windows/include/python/cpython/pydebug.h b/src/external/windows/include/python/cpython/pydebug.h index 5b26a6e2..a170d9ee 100755 --- a/src/external/windows/include/python/cpython/pydebug.h +++ b/src/external/windows/include/python/cpython/pydebug.h @@ -5,31 +5,31 @@ extern "C" { #endif -PyAPI_DATA(int) Py_DebugFlag; -PyAPI_DATA(int) Py_VerboseFlag; -PyAPI_DATA(int) Py_QuietFlag; -PyAPI_DATA(int) Py_InteractiveFlag; -PyAPI_DATA(int) Py_InspectFlag; -PyAPI_DATA(int) Py_OptimizeFlag; -PyAPI_DATA(int) Py_NoSiteFlag; -PyAPI_DATA(int) Py_BytesWarningFlag; -PyAPI_DATA(int) Py_FrozenFlag; -PyAPI_DATA(int) Py_IgnoreEnvironmentFlag; -PyAPI_DATA(int) Py_DontWriteBytecodeFlag; -PyAPI_DATA(int) Py_NoUserSiteDirectory; -PyAPI_DATA(int) Py_UnbufferedStdioFlag; -PyAPI_DATA(int) Py_HashRandomizationFlag; -PyAPI_DATA(int) Py_IsolatedFlag; +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_DebugFlag; +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_VerboseFlag; +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_QuietFlag; +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_InteractiveFlag; +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_InspectFlag; +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_OptimizeFlag; +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_NoSiteFlag; +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_BytesWarningFlag; +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_FrozenFlag; +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_IgnoreEnvironmentFlag; +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_DontWriteBytecodeFlag; +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_NoUserSiteDirectory; +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_UnbufferedStdioFlag; +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_HashRandomizationFlag; +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_IsolatedFlag; #ifdef MS_WINDOWS -PyAPI_DATA(int) Py_LegacyWindowsFSEncodingFlag; -PyAPI_DATA(int) Py_LegacyWindowsStdioFlag; +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_LegacyWindowsFSEncodingFlag; +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_LegacyWindowsStdioFlag; #endif /* this is a wrapper around getenv() that pays attention to Py_IgnoreEnvironmentFlag. It should be used for getting variables like PYTHONPATH and PYTHONHOME from the environment */ -PyAPI_DATA(char*) Py_GETENV(const char *name); +PyAPI_FUNC(char*) Py_GETENV(const char *name); #ifdef __cplusplus } diff --git a/src/external/windows/include/python/cpython/pyerrors.h b/src/external/windows/include/python/cpython/pyerrors.h index b9c6b328..a0724149 100755 --- a/src/external/windows/include/python/cpython/pyerrors.h +++ b/src/external/windows/include/python/cpython/pyerrors.h @@ -37,6 +37,7 @@ typedef struct { PyObject *msg; PyObject *name; PyObject *path; + PyObject *name_from; } PyImportErrorObject; typedef struct { @@ -97,7 +98,8 @@ PyAPI_FUNC(void) _PyErr_GetExcInfo(PyThreadState *, PyObject **, PyObject **, Py /* Context manipulation (PEP 3134) */ -PyAPI_FUNC(void) _PyErr_ChainExceptions(PyObject *, PyObject *, PyObject *); +Py_DEPRECATED(3.12) PyAPI_FUNC(void) _PyErr_ChainExceptions(PyObject *, PyObject *, PyObject *); +PyAPI_FUNC(void) _PyErr_ChainExceptions1(PyObject *); /* Like PyErr_Format(), but saves current exception as __context__ and __cause__. @@ -110,23 +112,13 @@ PyAPI_FUNC(PyObject *) _PyErr_FormatFromCause( /* In exceptions.c */ -/* Helper that attempts to replace the current exception with one of the - * same type but with a prefix added to the exception text. The resulting - * exception description looks like: - * - * prefix (exc_type: original_exc_str) - * - * Only some exceptions can be safely replaced. If the function determines - * it isn't safe to perform the replacement, it will leave the original - * unmodified exception in place. - * - * Returns a borrowed reference to the new exception (if any), NULL if the - * existing exception was left in place. - */ -PyAPI_FUNC(PyObject *) _PyErr_TrySetFromCause( - const char *prefix_format, /* ASCII-encoded string */ - ... - ); +PyAPI_FUNC(int) _PyException_AddNote( + PyObject *exc, + PyObject *note); + +PyAPI_FUNC(PyObject*) PyUnstable_Exc_PrepReraiseStar( + PyObject *orig, + PyObject *excs); /* In signalmodule.c */ @@ -176,4 +168,11 @@ PyAPI_FUNC(void) _Py_NO_RETURN _Py_FatalErrorFormat( const char *format, ...); -#define Py_FatalError(message) _Py_FatalErrorFunc(__func__, message) +extern PyObject *_PyErr_SetImportErrorWithNameFrom( + PyObject *, + PyObject *, + PyObject *, + PyObject *); + + +#define Py_FatalError(message) _Py_FatalErrorFunc(__func__, (message)) diff --git a/src/external/windows/include/python/cpython/pyframe.h b/src/external/windows/include/python/cpython/pyframe.h index 54100e0b..c124b059 100644 --- a/src/external/windows/include/python/cpython/pyframe.h +++ b/src/external/windows/include/python/cpython/pyframe.h @@ -14,4 +14,22 @@ PyAPI_FUNC(PyObject *) PyFrame_GetBuiltins(PyFrameObject *frame); PyAPI_FUNC(PyObject *) PyFrame_GetGenerator(PyFrameObject *frame); PyAPI_FUNC(int) PyFrame_GetLasti(PyFrameObject *frame); +PyAPI_FUNC(PyObject*) PyFrame_GetVar(PyFrameObject *frame, PyObject *name); +PyAPI_FUNC(PyObject*) PyFrame_GetVarString(PyFrameObject *frame, const char *name); +/* The following functions are for use by debuggers and other tools + * implementing custom frame evaluators with PEP 523. */ + +struct _PyInterpreterFrame; + +/* Returns the code object of the frame (strong reference). + * Does not raise an exception. */ +PyAPI_FUNC(PyObject *) PyUnstable_InterpreterFrame_GetCode(struct _PyInterpreterFrame *frame); + +/* Returns a byte ofsset into the last executed instruction. + * Does not raise an exception. */ +PyAPI_FUNC(int) PyUnstable_InterpreterFrame_GetLasti(struct _PyInterpreterFrame *frame); + +/* Returns the currently executing line number, or -1 if there is no line number. + * Does not raise an exception. */ +PyAPI_FUNC(int) PyUnstable_InterpreterFrame_GetLine(struct _PyInterpreterFrame *frame); diff --git a/src/external/windows/include/python/cpython/pylifecycle.h b/src/external/windows/include/python/cpython/pylifecycle.h index 139b955c..594f3c7e 100755 --- a/src/external/windows/include/python/cpython/pylifecycle.h +++ b/src/external/windows/include/python/cpython/pylifecycle.h @@ -52,6 +52,7 @@ PyAPI_FUNC(const char *) _Py_gitidentifier(void); PyAPI_FUNC(const char *) _Py_gitversion(void); PyAPI_FUNC(int) _Py_IsFinalizing(void); +PyAPI_FUNC(int) _Py_IsInterpreterFinalizing(PyInterpreterState *interp); /* Random */ PyAPI_FUNC(int) _PyOS_URandom(void *buffer, Py_ssize_t size); @@ -62,4 +63,49 @@ PyAPI_FUNC(int) _Py_CoerceLegacyLocale(int warn); PyAPI_FUNC(int) _Py_LegacyLocaleDetected(int warn); PyAPI_FUNC(char *) _Py_SetLocaleFromEnv(int category); -PyAPI_FUNC(PyThreadState *) _Py_NewInterpreter(int isolated_subinterpreter); +/* --- PyInterpreterConfig ------------------------------------ */ + +#define PyInterpreterConfig_DEFAULT_GIL (0) +#define PyInterpreterConfig_SHARED_GIL (1) +#define PyInterpreterConfig_OWN_GIL (2) + +typedef struct { + // XXX "allow_object_sharing"? "own_objects"? + int use_main_obmalloc; + int allow_fork; + int allow_exec; + int allow_threads; + int allow_daemon_threads; + int check_multi_interp_extensions; + int gil; +} PyInterpreterConfig; + +#define _PyInterpreterConfig_INIT \ + { \ + .use_main_obmalloc = 0, \ + .allow_fork = 0, \ + .allow_exec = 0, \ + .allow_threads = 1, \ + .allow_daemon_threads = 0, \ + .check_multi_interp_extensions = 1, \ + .gil = PyInterpreterConfig_OWN_GIL, \ + } + +#define _PyInterpreterConfig_LEGACY_INIT \ + { \ + .use_main_obmalloc = 1, \ + .allow_fork = 1, \ + .allow_exec = 1, \ + .allow_threads = 1, \ + .allow_daemon_threads = 1, \ + .check_multi_interp_extensions = 0, \ + .gil = PyInterpreterConfig_SHARED_GIL, \ + } + +PyAPI_FUNC(PyStatus) Py_NewInterpreterFromConfig( + PyThreadState **tstate_p, + const PyInterpreterConfig *config); + +typedef void (*atexit_datacallbackfunc)(void *); +PyAPI_FUNC(int) _Py_AtExit( + PyInterpreterState *, atexit_datacallbackfunc, void *); diff --git a/src/external/windows/include/python/cpython/pystate.h b/src/external/windows/include/python/cpython/pystate.h index bd8519b0..1b9ecca5 100755 --- a/src/external/windows/include/python/cpython/pystate.h +++ b/src/external/windows/include/python/cpython/pystate.h @@ -3,11 +3,46 @@ #endif +/* +Runtime Feature Flags + +Each flag indicate whether or not a specific runtime feature +is available in a given context. For example, forking the process +might not be allowed in the current interpreter (i.e. os.fork() would fail). +*/ + +/* Set if the interpreter share obmalloc runtime state + with the main interpreter. */ +#define Py_RTFLAGS_USE_MAIN_OBMALLOC (1UL << 5) + +/* Set if import should check a module for subinterpreter support. */ +#define Py_RTFLAGS_MULTI_INTERP_EXTENSIONS (1UL << 8) + +/* Set if threads are allowed. */ +#define Py_RTFLAGS_THREADS (1UL << 10) + +/* Set if daemon threads are allowed. */ +#define Py_RTFLAGS_DAEMON_THREADS (1UL << 11) + +/* Set if os.fork() is allowed. */ +#define Py_RTFLAGS_FORK (1UL << 15) + +/* Set if os.exec*() is allowed. */ +#define Py_RTFLAGS_EXEC (1UL << 16) + + +PyAPI_FUNC(int) _PyInterpreterState_HasFeature(PyInterpreterState *interp, + unsigned long feature); + + +/* private interpreter helpers */ + PyAPI_FUNC(int) _PyInterpreterState_RequiresIDRef(PyInterpreterState *); PyAPI_FUNC(void) _PyInterpreterState_RequireIDRef(PyInterpreterState *, int); PyAPI_FUNC(PyObject *) _PyInterpreterState_GetMainModule(PyInterpreterState *); + /* State unique per thread */ /* Py_tracefunc return -1 when raising an exception, or 0 for success. */ @@ -27,12 +62,6 @@ typedef int (*Py_tracefunc)(PyObject *, PyFrameObject *, int, PyObject *); #define PyTrace_C_RETURN 6 #define PyTrace_OPCODE 7 - -typedef struct { - PyCodeObject *code; // The code object for the bounds. May be NULL. - PyCodeAddressRange bounds; // Only valid if code != NULL. -} PyTraceInfo; - // Internal structure: you should not use it directly, but use public functions // like PyThreadState_EnterTracing() and PyThreadState_LeaveTracing(). typedef struct _PyCFrame { @@ -46,7 +75,6 @@ typedef struct _PyCFrame { * discipline and make sure that instances of this struct cannot * accessed outside of their lifetime. */ - uint8_t use_tracing; // 0 or 255 (or'ed into opcode, hence 8-bit type) /* Pointer to the currently executing frame (it can be NULL) */ struct _PyInterpreterFrame *current_frame; struct _PyCFrame *previous; @@ -79,6 +107,11 @@ typedef struct _stack_chunk { PyObject * data[1]; /* Variable sized */ } _PyStackChunk; +struct _py_trashcan { + int delete_nesting; + PyObject *delete_later; +}; + struct _ts { /* See Python/ceval.c for comments explaining most fields */ @@ -86,24 +119,42 @@ struct _ts { PyThreadState *next; PyInterpreterState *interp; - /* Has been initialized to a safe state. + struct { + /* Has been initialized to a safe state. - In order to be effective, this must be set to 0 during or right - after allocation. */ - int _initialized; + In order to be effective, this must be set to 0 during or right + after allocation. */ + unsigned int initialized:1; - /* Was this thread state statically allocated? */ - int _static; + /* Has been bound to an OS thread. */ + unsigned int bound:1; + /* Has been unbound from its OS thread. */ + unsigned int unbound:1; + /* Has been bound aa current for the GILState API. */ + unsigned int bound_gilstate:1; + /* Currently in use (maybe holds the GIL). */ + unsigned int active:1; - int recursion_remaining; - int recursion_limit; + /* various stages of finalization */ + unsigned int finalizing:1; + unsigned int cleared:1; + unsigned int finalized:1; + + /* padding to align to 4 bytes */ + unsigned int :24; + } _status; + + int py_recursion_remaining; + int py_recursion_limit; + + int c_recursion_remaining; int recursion_headroom; /* Allow 50 more calls to handle any errors. */ /* 'tracing' keeps track of the execution depth when tracing/profiling. This is to prevent the actual trace/profile code from being recorded in the trace/profile. */ int tracing; - int tracing_what; /* The event currently being traced, if any. */ + int what_event; /* The event currently being monitored, if any. */ /* Pointer to current _PyCFrame in the C stack frame of the currently, * or most recently, executing _PyEval_EvalFrameDefault. */ @@ -115,9 +166,7 @@ struct _ts { PyObject *c_traceobj; /* The exception currently being raised */ - PyObject *curexc_type; - PyObject *curexc_value; - PyObject *curexc_traceback; + PyObject *current_exception; /* Pointer to the top of the exception stack for the exceptions * we may be currently handling. (See _PyErr_StackItem above.) @@ -137,8 +186,7 @@ struct _ts { */ unsigned long native_thread_id; - int trash_delete_nesting; - PyObject *trash_delete_later; + struct _py_trashcan trash; /* Called when a thread state is deleted normally, but not when it * is destroyed after fork(). @@ -177,8 +225,6 @@ struct _ts { /* Unique thread state id. */ uint64_t id; - PyTraceInfo trace_info; - _PyStackChunk *datastack_chunk; PyObject **datastack_top; PyObject **datastack_limit; @@ -202,12 +248,37 @@ struct _ts { _PyCFrame root_cframe; }; +/* WASI has limited call stack. Python's recursion limit depends on code + layout, optimization, and WASI runtime. Wasmtime can handle about 700 + recursions, sometimes less. 500 is a more conservative limit. */ +#ifdef Py_DEBUG +# if defined(__wasi__) +# define C_RECURSION_LIMIT 150 +# else +# define C_RECURSION_LIMIT 500 +# endif +#else +# if defined(__wasi__) +# define C_RECURSION_LIMIT 500 +# elif defined(__s390x__) +# define C_RECURSION_LIMIT 800 +# elif defined(_WIN32) +# define C_RECURSION_LIMIT 3000 +# elif defined(_Py_ADDRESS_SANITIZER) +# define C_RECURSION_LIMIT 4000 +# else + // This value is duplicated in Lib/test/support/__init__.py +# define C_RECURSION_LIMIT 10000 +# endif +#endif /* other API */ // Alias for backward compatibility with Python 3.8 #define _PyInterpreterState_Get PyInterpreterState_Get +/* An alias for the internal _PyThreadState_New(), + kept for stable ABI compatibility. */ PyAPI_FUNC(PyThreadState *) _PyThreadState_Prealloc(PyInterpreterState *); /* Similar to PyThreadState_Get(), but don't issue a fatal error @@ -279,7 +350,10 @@ PyAPI_FUNC(const PyConfig*) _PyInterpreterState_GetConfig(PyInterpreterState *in for example. Python must be preinitialized to call this method. - The caller must hold the GIL. */ + The caller must hold the GIL. + + Once done with the configuration, PyConfig_Clear() must be called to clear + it. */ PyAPI_FUNC(int) _PyInterpreterState_GetConfigCopy( struct PyConfig *config); @@ -313,6 +387,9 @@ PyAPI_FUNC(const PyConfig*) _Py_GetConfig(void); // is necessary to pass safely between interpreters in the same process. typedef struct _xid _PyCrossInterpreterData; +typedef PyObject *(*xid_newobjectfunc)(_PyCrossInterpreterData *); +typedef void (*xid_freefunc)(void *); + struct _xid { // data is the cross-interpreter-safe derivation of a Python object // (see _PyObject_GetCrossInterpreterData). It will be NULL if the @@ -339,7 +416,7 @@ struct _xid { // interpreter given the data. The resulting object (a new // reference) will be equivalent to the original object. This field // is required. - PyObject *(*new_object)(_PyCrossInterpreterData *); + xid_newobjectfunc new_object; // free is called when the data is released. If it is NULL then // nothing will be done to free the data. For some types this is // okay (e.g. bytes) and for those types this field should be set @@ -349,18 +426,31 @@ struct _xid { // leak. In that case, at the very least this field should be set // to PyMem_RawFree (the default if not explicitly set to NULL). // The call will happen with the original interpreter activated. - void (*free)(void *); + xid_freefunc free; }; +PyAPI_FUNC(void) _PyCrossInterpreterData_Init( + _PyCrossInterpreterData *data, + PyInterpreterState *interp, void *shared, PyObject *obj, + xid_newobjectfunc new_object); +PyAPI_FUNC(int) _PyCrossInterpreterData_InitWithSize( + _PyCrossInterpreterData *, + PyInterpreterState *interp, const size_t, PyObject *, + xid_newobjectfunc); +PyAPI_FUNC(void) _PyCrossInterpreterData_Clear( + PyInterpreterState *, _PyCrossInterpreterData *); + PyAPI_FUNC(int) _PyObject_GetCrossInterpreterData(PyObject *, _PyCrossInterpreterData *); PyAPI_FUNC(PyObject *) _PyCrossInterpreterData_NewObject(_PyCrossInterpreterData *); -PyAPI_FUNC(void) _PyCrossInterpreterData_Release(_PyCrossInterpreterData *); +PyAPI_FUNC(int) _PyCrossInterpreterData_Release(_PyCrossInterpreterData *); PyAPI_FUNC(int) _PyObject_CheckCrossInterpreterData(PyObject *); /* cross-interpreter data registry */ -typedef int (*crossinterpdatafunc)(PyObject *, _PyCrossInterpreterData *); +typedef int (*crossinterpdatafunc)(PyThreadState *tstate, PyObject *, + _PyCrossInterpreterData *); PyAPI_FUNC(int) _PyCrossInterpreterData_RegisterClass(PyTypeObject *, crossinterpdatafunc); +PyAPI_FUNC(int) _PyCrossInterpreterData_UnregisterClass(PyTypeObject *); PyAPI_FUNC(crossinterpdatafunc) _PyCrossInterpreterData_Lookup(PyObject *); diff --git a/src/external/windows/include/python/cpython/pythonrun.h b/src/external/windows/include/python/cpython/pythonrun.h index cf0e6776..1c7b6a4a 100755 --- a/src/external/windows/include/python/cpython/pythonrun.h +++ b/src/external/windows/include/python/cpython/pythonrun.h @@ -66,8 +66,8 @@ PyAPI_FUNC(PyObject *) Py_CompileStringObject( PyCompilerFlags *flags, int optimize); -#define Py_CompileString(str, p, s) Py_CompileStringExFlags(str, p, s, NULL, -1) -#define Py_CompileStringFlags(str, p, s, f) Py_CompileStringExFlags(str, p, s, f, -1) +#define Py_CompileString(str, p, s) Py_CompileStringExFlags((str), (p), (s), NULL, -1) +#define Py_CompileStringFlags(str, p, s, f) Py_CompileStringExFlags((str), (p), (s), (f), -1) PyAPI_FUNC(const char *) _Py_SourceAsString( @@ -96,23 +96,23 @@ PyAPI_FUNC(PyObject *) PyRun_FileEx(FILE *fp, const char *p, int s, PyObject *g, PyAPI_FUNC(PyObject *) PyRun_FileFlags(FILE *fp, const char *p, int s, PyObject *g, PyObject *l, PyCompilerFlags *flags); /* Use macros for a bunch of old variants */ -#define PyRun_String(str, s, g, l) PyRun_StringFlags(str, s, g, l, NULL) -#define PyRun_AnyFile(fp, name) PyRun_AnyFileExFlags(fp, name, 0, NULL) +#define PyRun_String(str, s, g, l) PyRun_StringFlags((str), (s), (g), (l), NULL) +#define PyRun_AnyFile(fp, name) PyRun_AnyFileExFlags((fp), (name), 0, NULL) #define PyRun_AnyFileEx(fp, name, closeit) \ - PyRun_AnyFileExFlags(fp, name, closeit, NULL) + PyRun_AnyFileExFlags((fp), (name), (closeit), NULL) #define PyRun_AnyFileFlags(fp, name, flags) \ - PyRun_AnyFileExFlags(fp, name, 0, flags) -#define PyRun_SimpleString(s) PyRun_SimpleStringFlags(s, NULL) -#define PyRun_SimpleFile(f, p) PyRun_SimpleFileExFlags(f, p, 0, NULL) -#define PyRun_SimpleFileEx(f, p, c) PyRun_SimpleFileExFlags(f, p, c, NULL) -#define PyRun_InteractiveOne(f, p) PyRun_InteractiveOneFlags(f, p, NULL) -#define PyRun_InteractiveLoop(f, p) PyRun_InteractiveLoopFlags(f, p, NULL) + PyRun_AnyFileExFlags((fp), (name), 0, (flags)) +#define PyRun_SimpleString(s) PyRun_SimpleStringFlags((s), NULL) +#define PyRun_SimpleFile(f, p) PyRun_SimpleFileExFlags((f), (p), 0, NULL) +#define PyRun_SimpleFileEx(f, p, c) PyRun_SimpleFileExFlags((f), (p), (c), NULL) +#define PyRun_InteractiveOne(f, p) PyRun_InteractiveOneFlags((f), (p), NULL) +#define PyRun_InteractiveLoop(f, p) PyRun_InteractiveLoopFlags((f), (p), NULL) #define PyRun_File(fp, p, s, g, l) \ - PyRun_FileExFlags(fp, p, s, g, l, 0, NULL) + PyRun_FileExFlags((fp), (p), (s), (g), (l), 0, NULL) #define PyRun_FileEx(fp, p, s, g, l, c) \ - PyRun_FileExFlags(fp, p, s, g, l, c, NULL) + PyRun_FileExFlags((fp), (p), (s), (g), (l), (c), NULL) #define PyRun_FileFlags(fp, p, s, g, l, flags) \ - PyRun_FileExFlags(fp, p, s, g, l, 0, flags) + PyRun_FileExFlags((fp), (p), (s), (g), (l), 0, (flags)) /* Stuff with no proper home (yet) */ diff --git a/src/external/windows/include/python/cpython/pytime.h b/src/external/windows/include/python/cpython/pytime.h index 23e0536a..3b5791fd 100755 --- a/src/external/windows/include/python/cpython/pytime.h +++ b/src/external/windows/include/python/cpython/pytime.h @@ -53,6 +53,10 @@ functions and constants extern "C" { #endif +#ifdef __clang__ +struct timeval; +#endif + /* _PyTime_t: Python timestamp with subsecond precision. It can be used to store a duration, and so indirectly a date (related to another date, like UNIX epoch). */ @@ -130,6 +134,10 @@ PyAPI_FUNC(_PyTime_t) _PyTime_FromSeconds(int seconds); /* Create a timestamp from a number of nanoseconds. */ PyAPI_FUNC(_PyTime_t) _PyTime_FromNanoseconds(_PyTime_t ns); +/* Create a timestamp from a number of microseconds. + * Clamp to [_PyTime_MIN; _PyTime_MAX] on overflow. */ +PyAPI_FUNC(_PyTime_t) _PyTime_FromMicrosecondsClamp(_PyTime_t us); + /* Create a timestamp from nanoseconds (Python int). */ PyAPI_FUNC(int) _PyTime_FromNanosecondsObject(_PyTime_t *t, PyObject *obj); diff --git a/src/external/windows/include/python/cpython/setobject.h b/src/external/windows/include/python/cpython/setobject.h index 380500ab..c61a6e33 100644 --- a/src/external/windows/include/python/cpython/setobject.h +++ b/src/external/windows/include/python/cpython/setobject.h @@ -58,8 +58,13 @@ typedef struct { PyObject *weakreflist; /* List of weak references */ } PySetObject; -#define PySet_GET_SIZE(so) \ - (assert(PyAnySet_Check(so)), (((PySetObject *)(so))->used)) +#define _PySet_CAST(so) \ + (assert(PyAnySet_Check(so)), _Py_CAST(PySetObject*, so)) + +static inline Py_ssize_t PySet_GET_SIZE(PyObject *so) { + return _PySet_CAST(so)->used; +} +#define PySet_GET_SIZE(so) PySet_GET_SIZE(_PyObject_CAST(so)) PyAPI_DATA(PyObject *) _PySet_Dummy; diff --git a/src/external/windows/include/python/cpython/tupleobject.h b/src/external/windows/include/python/cpython/tupleobject.h index 6a6443bc..7c16a0d1 100755 --- a/src/external/windows/include/python/cpython/tupleobject.h +++ b/src/external/windows/include/python/cpython/tupleobject.h @@ -23,11 +23,9 @@ static inline Py_ssize_t PyTuple_GET_SIZE(PyObject *op) { PyTupleObject *tuple = _PyTuple_CAST(op); return Py_SIZE(tuple); } -#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 -# define PyTuple_GET_SIZE(op) PyTuple_GET_SIZE(_PyObject_CAST(op)) -#endif +#define PyTuple_GET_SIZE(op) PyTuple_GET_SIZE(_PyObject_CAST(op)) -#define PyTuple_GET_ITEM(op, index) (_PyTuple_CAST(op)->ob_item[index]) +#define PyTuple_GET_ITEM(op, index) (_PyTuple_CAST(op)->ob_item[(index)]) /* Function *only* to be used to fill in brand new tuples */ static inline void @@ -35,9 +33,7 @@ PyTuple_SET_ITEM(PyObject *op, Py_ssize_t index, PyObject *value) { PyTupleObject *tuple = _PyTuple_CAST(op); tuple->ob_item[index] = value; } -#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 #define PyTuple_SET_ITEM(op, index, value) \ - PyTuple_SET_ITEM(_PyObject_CAST(op), index, _PyObject_CAST(value)) -#endif + PyTuple_SET_ITEM(_PyObject_CAST(op), (index), _PyObject_CAST(value)) PyAPI_FUNC(void) _PyTuple_DebugMallocStats(FILE *out); diff --git a/src/external/windows/include/python/cpython/unicodeobject.h b/src/external/windows/include/python/cpython/unicodeobject.h index ff98851d..680f52ac 100755 --- a/src/external/windows/include/python/cpython/unicodeobject.h +++ b/src/external/windows/include/python/cpython/unicodeobject.h @@ -11,63 +11,43 @@ /* --- Internal Unicode Operations ---------------------------------------- */ -#ifndef USE_UNICODE_WCHAR_CACHE -# define USE_UNICODE_WCHAR_CACHE 1 -#endif /* USE_UNICODE_WCHAR_CACHE */ +// Static inline functions to work with surrogates +static inline int Py_UNICODE_IS_SURROGATE(Py_UCS4 ch) { + return (0xD800 <= ch && ch <= 0xDFFF); +} +static inline int Py_UNICODE_IS_HIGH_SURROGATE(Py_UCS4 ch) { + return (0xD800 <= ch && ch <= 0xDBFF); +} +static inline int Py_UNICODE_IS_LOW_SURROGATE(Py_UCS4 ch) { + return (0xDC00 <= ch && ch <= 0xDFFF); +} -/* Since splitting on whitespace is an important use case, and - whitespace in most situations is solely ASCII whitespace, we - optimize for the common case by using a quick look-up table - _Py_ascii_whitespace (see below) with an inlined check. +// Join two surrogate characters and return a single Py_UCS4 value. +static inline Py_UCS4 Py_UNICODE_JOIN_SURROGATES(Py_UCS4 high, Py_UCS4 low) { + assert(Py_UNICODE_IS_HIGH_SURROGATE(high)); + assert(Py_UNICODE_IS_LOW_SURROGATE(low)); + return 0x10000 + (((high & 0x03FF) << 10) | (low & 0x03FF)); +} - */ -#define Py_UNICODE_ISSPACE(ch) \ - ((Py_UCS4)(ch) < 128U ? _Py_ascii_whitespace[(ch)] : _PyUnicode_IsWhitespace(ch)) +// High surrogate = top 10 bits added to 0xD800. +// The character must be in the range [U+10000; U+10ffff]. +static inline Py_UCS4 Py_UNICODE_HIGH_SURROGATE(Py_UCS4 ch) { + assert(0x10000 <= ch && ch <= 0x10ffff); + return (0xD800 - (0x10000 >> 10) + (ch >> 10)); +} -#define Py_UNICODE_ISLOWER(ch) _PyUnicode_IsLowercase(ch) -#define Py_UNICODE_ISUPPER(ch) _PyUnicode_IsUppercase(ch) -#define Py_UNICODE_ISTITLE(ch) _PyUnicode_IsTitlecase(ch) -#define Py_UNICODE_ISLINEBREAK(ch) _PyUnicode_IsLinebreak(ch) - -#define Py_UNICODE_TOLOWER(ch) _PyUnicode_ToLowercase(ch) -#define Py_UNICODE_TOUPPER(ch) _PyUnicode_ToUppercase(ch) -#define Py_UNICODE_TOTITLE(ch) _PyUnicode_ToTitlecase(ch) - -#define Py_UNICODE_ISDECIMAL(ch) _PyUnicode_IsDecimalDigit(ch) -#define Py_UNICODE_ISDIGIT(ch) _PyUnicode_IsDigit(ch) -#define Py_UNICODE_ISNUMERIC(ch) _PyUnicode_IsNumeric(ch) -#define Py_UNICODE_ISPRINTABLE(ch) _PyUnicode_IsPrintable(ch) - -#define Py_UNICODE_TODECIMAL(ch) _PyUnicode_ToDecimalDigit(ch) -#define Py_UNICODE_TODIGIT(ch) _PyUnicode_ToDigit(ch) -#define Py_UNICODE_TONUMERIC(ch) _PyUnicode_ToNumeric(ch) - -#define Py_UNICODE_ISALPHA(ch) _PyUnicode_IsAlpha(ch) - -#define Py_UNICODE_ISALNUM(ch) \ - (Py_UNICODE_ISALPHA(ch) || \ - Py_UNICODE_ISDECIMAL(ch) || \ - Py_UNICODE_ISDIGIT(ch) || \ - Py_UNICODE_ISNUMERIC(ch)) - -/* macros to work with surrogates */ -#define Py_UNICODE_IS_SURROGATE(ch) (0xD800 <= (ch) && (ch) <= 0xDFFF) -#define Py_UNICODE_IS_HIGH_SURROGATE(ch) (0xD800 <= (ch) && (ch) <= 0xDBFF) -#define Py_UNICODE_IS_LOW_SURROGATE(ch) (0xDC00 <= (ch) && (ch) <= 0xDFFF) -/* Join two surrogate characters and return a single Py_UCS4 value. */ -#define Py_UNICODE_JOIN_SURROGATES(high, low) \ - (((((Py_UCS4)(high) & 0x03FF) << 10) | \ - ((Py_UCS4)(low) & 0x03FF)) + 0x10000) -/* high surrogate = top 10 bits added to D800 */ -#define Py_UNICODE_HIGH_SURROGATE(ch) (0xD800 - (0x10000 >> 10) + ((ch) >> 10)) -/* low surrogate = bottom 10 bits added to DC00 */ -#define Py_UNICODE_LOW_SURROGATE(ch) (0xDC00 + ((ch) & 0x3FF)) +// Low surrogate = bottom 10 bits added to 0xDC00. +// The character must be in the range [U+10000; U+10ffff]. +static inline Py_UCS4 Py_UNICODE_LOW_SURROGATE(Py_UCS4 ch) { + assert(0x10000 <= ch && ch <= 0x10ffff); + return (0xDC00 + (ch & 0x3FF)); +} /* --- Unicode Type ------------------------------------------------------- */ /* ASCII-only strings created through PyUnicode_New use the PyASCIIObject structure. state.ascii and state.compact are set, and the data - immediately follow the structure. utf8_length and wstr_length can be found + immediately follow the structure. utf8_length can be found in the length field; the utf8 pointer is equal to the data pointer. */ typedef struct { /* There are 4 forms of Unicode strings: @@ -79,8 +59,7 @@ typedef struct { * kind = PyUnicode_1BYTE_KIND * compact = 1 * ascii = 1 - * ready = 1 - * (length is the length of the utf8 and wstr strings) + * (length is the length of the utf8) * (data starts just after the structure) * (since ASCII is decoded from UTF-8, the utf8 string are the data) @@ -91,55 +70,27 @@ typedef struct { * kind = PyUnicode_1BYTE_KIND, PyUnicode_2BYTE_KIND or PyUnicode_4BYTE_KIND * compact = 1 - * ready = 1 * ascii = 0 * utf8 is not shared with data * utf8_length = 0 if utf8 is NULL - * wstr is shared with data and wstr_length=length - if kind=PyUnicode_2BYTE_KIND and sizeof(wchar_t)=2 - or if kind=PyUnicode_4BYTE_KIND and sizeof(wchar_t)=4 - * wstr_length = 0 if wstr is NULL * (data starts just after the structure) - - legacy string, not ready: - - * structure = PyUnicodeObject - * test: kind == PyUnicode_WCHAR_KIND - * length = 0 (use wstr_length) - * hash = -1 - * kind = PyUnicode_WCHAR_KIND - * compact = 0 - * ascii = 0 - * ready = 0 - * interned = SSTATE_NOT_INTERNED - * wstr is not NULL - * data.any is NULL - * utf8 is NULL - * utf8_length = 0 - - - legacy string, ready: + - legacy string: * structure = PyUnicodeObject structure - * test: !PyUnicode_IS_COMPACT(op) && kind != PyUnicode_WCHAR_KIND + * test: !PyUnicode_IS_COMPACT(op) * kind = PyUnicode_1BYTE_KIND, PyUnicode_2BYTE_KIND or PyUnicode_4BYTE_KIND * compact = 0 - * ready = 1 * data.any is not NULL * utf8 is shared and utf8_length = length with data.any if ascii = 1 * utf8_length = 0 if utf8 is NULL - * wstr is shared with data.any and wstr_length = length - if kind=PyUnicode_2BYTE_KIND and sizeof(wchar_t)=2 - or if kind=PyUnicode_4BYTE_KIND and sizeof(wchar_4)=4 - * wstr_length = 0 if wstr is NULL Compact strings use only one memory block (structure + characters), whereas legacy strings use one block for the structure and one block for characters. - Legacy strings are created by PyUnicode_FromUnicode() and - PyUnicode_FromStringAndSize(NULL, size) functions. They become ready - when PyUnicode_READY() is called. + Legacy strings are created by subclasses of Unicode. See also _PyUnicode_CheckConsistency(). */ @@ -147,22 +98,18 @@ typedef struct { Py_ssize_t length; /* Number of code points in the string */ Py_hash_t hash; /* Hash value; -1 if not set */ struct { - /* - SSTATE_NOT_INTERNED (0) - SSTATE_INTERNED_MORTAL (1) - SSTATE_INTERNED_IMMORTAL (2) - - If interned != SSTATE_NOT_INTERNED, the two references from the + /* If interned is non-zero, the two references from the dictionary to this object are *not* counted in ob_refcnt. - */ + The possible values here are: + 0: Not Interned + 1: Interned + 2: Interned and Immortal + 3: Interned, Immortal, and Static + This categorization allows the runtime to determine the right + cleanup mechanism at runtime shutdown. */ unsigned int interned:2; /* Character size: - - PyUnicode_WCHAR_KIND (0): - - * character type = wchar_t (16 or 32 bits, depending on the - platform) - - PyUnicode_1BYTE_KIND (1): * character type = Py_UCS1 (8 bits, unsigned) @@ -193,16 +140,12 @@ typedef struct { and the kind is PyUnicode_1BYTE_KIND. If ascii is set and compact is set, use the PyASCIIObject structure. */ unsigned int ascii:1; - /* The ready flag indicates whether the object layout is initialized - completely. This means that this is either a compact object, or - the data pointer is filled out. The bit is redundant, and helps - to minimize the test in PyUnicode_IS_READY(). */ - unsigned int ready:1; + /* The object is statically allocated. */ + unsigned int statically_allocated:1; /* Padding to ensure that PyUnicode_DATA() is always aligned to 4 bytes (see issue #19537 on m68k). */ unsigned int :24; } state; - wchar_t *wstr; /* wchar_t representation (null-terminated) */ } PyASCIIObject; /* Non-ASCII strings allocated through PyUnicode_New use the @@ -213,13 +156,9 @@ typedef struct { Py_ssize_t utf8_length; /* Number of bytes in utf8, excluding the * terminating \0. */ char *utf8; /* UTF-8 representation (null-terminated) */ - Py_ssize_t wstr_length; /* Number of code points in wstr, possible - * surrogates count as two code points. */ } PyCompactUnicodeObject; -/* Strings allocated through PyUnicode_FromUnicode(NULL, len) use the - PyUnicodeObject structure. The actual string data is initially in the wstr - block, and copied into the data block using _PyUnicode_Ready. */ +/* Object format for Unicode subclasses. */ typedef struct { PyCompactUnicodeObject _base; union { @@ -254,68 +193,56 @@ PyAPI_FUNC(int) _PyUnicode_CheckConsistency( #define SSTATE_NOT_INTERNED 0 #define SSTATE_INTERNED_MORTAL 1 #define SSTATE_INTERNED_IMMORTAL 2 +#define SSTATE_INTERNED_IMMORTAL_STATIC 3 /* Use only if you know it's a string */ static inline unsigned int PyUnicode_CHECK_INTERNED(PyObject *op) { return _PyASCIIObject_CAST(op)->state.interned; } -#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 -# define PyUnicode_CHECK_INTERNED(op) PyUnicode_CHECK_INTERNED(_PyObject_CAST(op)) -#endif +#define PyUnicode_CHECK_INTERNED(op) PyUnicode_CHECK_INTERNED(_PyObject_CAST(op)) -/* Fast check to determine whether an object is ready. Equivalent to: - PyUnicode_IS_COMPACT(op) || _PyUnicodeObject_CAST(op)->data.any */ -static inline unsigned int PyUnicode_IS_READY(PyObject *op) { - return _PyASCIIObject_CAST(op)->state.ready; +/* For backward compatibility */ +static inline unsigned int PyUnicode_IS_READY(PyObject* Py_UNUSED(op)) { + return 1; } -#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 -# define PyUnicode_IS_READY(op) PyUnicode_IS_READY(_PyObject_CAST(op)) -#endif +#define PyUnicode_IS_READY(op) PyUnicode_IS_READY(_PyObject_CAST(op)) /* Return true if the string contains only ASCII characters, or 0 if not. The string may be compact (PyUnicode_IS_COMPACT_ASCII) or not, but must be ready. */ static inline unsigned int PyUnicode_IS_ASCII(PyObject *op) { - assert(PyUnicode_IS_READY(op)); return _PyASCIIObject_CAST(op)->state.ascii; } -#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 -# define PyUnicode_IS_ASCII(op) PyUnicode_IS_ASCII(_PyObject_CAST(op)) -#endif +#define PyUnicode_IS_ASCII(op) PyUnicode_IS_ASCII(_PyObject_CAST(op)) /* Return true if the string is compact or 0 if not. No type checks or Ready calls are performed. */ static inline unsigned int PyUnicode_IS_COMPACT(PyObject *op) { return _PyASCIIObject_CAST(op)->state.compact; } -#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 -# define PyUnicode_IS_COMPACT(op) PyUnicode_IS_COMPACT(_PyObject_CAST(op)) -#endif +#define PyUnicode_IS_COMPACT(op) PyUnicode_IS_COMPACT(_PyObject_CAST(op)) /* Return true if the string is a compact ASCII string (use PyASCIIObject structure), or 0 if not. No type checks or Ready calls are performed. */ static inline int PyUnicode_IS_COMPACT_ASCII(PyObject *op) { return (_PyASCIIObject_CAST(op)->state.ascii && PyUnicode_IS_COMPACT(op)); } -#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 -# define PyUnicode_IS_COMPACT_ASCII(op) PyUnicode_IS_COMPACT_ASCII(_PyObject_CAST(op)) -#endif +#define PyUnicode_IS_COMPACT_ASCII(op) PyUnicode_IS_COMPACT_ASCII(_PyObject_CAST(op)) enum PyUnicode_Kind { -/* String contains only wstr byte characters. This is only possible - when the string was created with a legacy API and _PyUnicode_Ready() - has not been called yet. */ - PyUnicode_WCHAR_KIND = 0, /* Return values of the PyUnicode_KIND() function: */ PyUnicode_1BYTE_KIND = 1, PyUnicode_2BYTE_KIND = 2, PyUnicode_4BYTE_KIND = 4 }; -/* Return one of the PyUnicode_*_KIND values defined above. */ -#define PyUnicode_KIND(op) \ - (assert(PyUnicode_IS_READY(op)), \ - _PyASCIIObject_CAST(op)->state.kind) +// PyUnicode_KIND(): Return one of the PyUnicode_*_KIND values defined above. +// +// gh-89653: Converting this macro to a static inline function would introduce +// new compiler warnings on "kind < PyUnicode_KIND(str)" (compare signed and +// unsigned numbers) where kind type is an int or on +// "unsigned int kind = PyUnicode_KIND(str)" (cast signed to unsigned). +#define PyUnicode_KIND(op) _Py_RVALUE(_PyASCIIObject_CAST(op)->state.kind) /* Return a void pointer to the raw unicode buffer. */ static inline void* _PyUnicode_COMPACT_DATA(PyObject *op) { @@ -339,9 +266,7 @@ static inline void* PyUnicode_DATA(PyObject *op) { } return _PyUnicode_NONCOMPACT_DATA(op); } -#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 -# define PyUnicode_DATA(op) PyUnicode_DATA(_PyObject_CAST(op)) -#endif +#define PyUnicode_DATA(op) PyUnicode_DATA(_PyObject_CAST(op)) /* Return pointers to the canonical representation cast to unsigned char, Py_UCS2, or Py_UCS4 for direct character access. @@ -352,16 +277,11 @@ static inline void* PyUnicode_DATA(PyObject *op) { #define PyUnicode_2BYTE_DATA(op) _Py_STATIC_CAST(Py_UCS2*, PyUnicode_DATA(op)) #define PyUnicode_4BYTE_DATA(op) _Py_STATIC_CAST(Py_UCS4*, PyUnicode_DATA(op)) -/* Returns the length of the unicode string. The caller has to make sure that - the string has it's canonical representation set before calling - this function. Call PyUnicode_(FAST_)Ready to ensure that. */ +/* Returns the length of the unicode string. */ static inline Py_ssize_t PyUnicode_GET_LENGTH(PyObject *op) { - assert(PyUnicode_IS_READY(op)); return _PyASCIIObject_CAST(op)->length; } -#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 -# define PyUnicode_GET_LENGTH(op) PyUnicode_GET_LENGTH(_PyObject_CAST(op)) -#endif +#define PyUnicode_GET_LENGTH(op) PyUnicode_GET_LENGTH(_PyObject_CAST(op)) /* Write into the canonical representation, this function does not do any sanity checks and is intended for usage in loops. The caller should cache the @@ -371,6 +291,7 @@ static inline Py_ssize_t PyUnicode_GET_LENGTH(PyObject *op) { static inline void PyUnicode_WRITE(int kind, void *data, Py_ssize_t index, Py_UCS4 value) { + assert(index >= 0); if (kind == PyUnicode_1BYTE_KIND) { assert(value <= 0xffU); _Py_STATIC_CAST(Py_UCS1*, data)[index] = _Py_STATIC_CAST(Py_UCS1, value); @@ -385,17 +306,16 @@ static inline void PyUnicode_WRITE(int kind, void *data, _Py_STATIC_CAST(Py_UCS4*, data)[index] = value; } } -#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 #define PyUnicode_WRITE(kind, data, index, value) \ PyUnicode_WRITE(_Py_STATIC_CAST(int, kind), _Py_CAST(void*, data), \ (index), _Py_STATIC_CAST(Py_UCS4, value)) -#endif /* Read a code point from the string's canonical representation. No checks or ready calls are performed. */ static inline Py_UCS4 PyUnicode_READ(int kind, const void *data, Py_ssize_t index) { + assert(index >= 0); if (kind == PyUnicode_1BYTE_KIND) { return _Py_STATIC_CAST(const Py_UCS1*, data)[index]; } @@ -405,12 +325,10 @@ static inline Py_UCS4 PyUnicode_READ(int kind, assert(kind == PyUnicode_4BYTE_KIND); return _Py_STATIC_CAST(const Py_UCS4*, data)[index]; } -#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 #define PyUnicode_READ(kind, data, index) \ PyUnicode_READ(_Py_STATIC_CAST(int, kind), \ _Py_STATIC_CAST(const void*, data), \ (index)) -#endif /* PyUnicode_READ_CHAR() is less efficient than PyUnicode_READ() because it calls PyUnicode_KIND() and might call it twice. For single reads, use @@ -419,7 +337,11 @@ static inline Py_UCS4 PyUnicode_READ(int kind, static inline Py_UCS4 PyUnicode_READ_CHAR(PyObject *unicode, Py_ssize_t index) { int kind; - assert(PyUnicode_IS_READY(unicode)); + + assert(index >= 0); + // Tolerate reading the NUL character at str[len(str)] + assert(index <= PyUnicode_GET_LENGTH(unicode)); + kind = PyUnicode_KIND(unicode); if (kind == PyUnicode_1BYTE_KIND) { return PyUnicode_1BYTE_DATA(unicode)[index]; @@ -430,10 +352,8 @@ static inline Py_UCS4 PyUnicode_READ_CHAR(PyObject *unicode, Py_ssize_t index) assert(kind == PyUnicode_4BYTE_KIND); return PyUnicode_4BYTE_DATA(unicode)[index]; } -#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 -# define PyUnicode_READ_CHAR(unicode, index) \ - PyUnicode_READ_CHAR(_PyObject_CAST(unicode), (index)) -#endif +#define PyUnicode_READ_CHAR(unicode, index) \ + PyUnicode_READ_CHAR(_PyObject_CAST(unicode), (index)) /* Return a maximum character value which is suitable for creating another string based on op. This is always an approximation but more efficient @@ -442,7 +362,6 @@ static inline Py_UCS4 PyUnicode_MAX_CHAR_VALUE(PyObject *op) { int kind; - assert(PyUnicode_IS_READY(op)); if (PyUnicode_IS_ASCII(op)) { return 0x7fU; } @@ -457,10 +376,8 @@ static inline Py_UCS4 PyUnicode_MAX_CHAR_VALUE(PyObject *op) assert(kind == PyUnicode_4BYTE_KIND); return 0x10ffffU; } -#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 -# define PyUnicode_MAX_CHAR_VALUE(op) \ - PyUnicode_MAX_CHAR_VALUE(_PyObject_CAST(op)) -#endif +#define PyUnicode_MAX_CHAR_VALUE(op) \ + PyUnicode_MAX_CHAR_VALUE(_PyObject_CAST(op)) /* === Public API ========================================================= */ @@ -474,31 +391,12 @@ PyAPI_FUNC(PyObject*) PyUnicode_New( Py_UCS4 maxchar /* maximum code point value in the string */ ); -/* Initializes the canonical string representation from the deprecated - wstr/Py_UNICODE representation. This function is used to convert Unicode - objects which were created using the old API to the new flexible format - introduced with PEP 393. - - Don't call this function directly, use the public PyUnicode_READY() function - instead. */ -PyAPI_FUNC(int) _PyUnicode_Ready( - PyObject *unicode /* Unicode object */ - ); - -/* PyUnicode_READY() does less work than _PyUnicode_Ready() in the best - case. If the canonical representation is not yet set, it will still call - _PyUnicode_Ready(). - Returns 0 on success and -1 on errors. */ -static inline int PyUnicode_READY(PyObject *op) +/* For backward compatibility */ +static inline int PyUnicode_READY(PyObject* Py_UNUSED(op)) { - if (PyUnicode_IS_READY(op)) { - return 0; - } - return _PyUnicode_Ready(op); + return 0; } -#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 -# define PyUnicode_READY(op) PyUnicode_READY(_PyObject_CAST(op)) -#endif +#define PyUnicode_READY(op) PyUnicode_READY(_PyObject_CAST(op)) /* Get a copy of a Unicode string. */ PyAPI_FUNC(PyObject*) _PyUnicode_Copy( @@ -586,139 +484,12 @@ PyAPI_FUNC(Py_UCS4) _PyUnicode_FindMaxChar ( Py_ssize_t start, Py_ssize_t end); -/* --- Legacy deprecated API ---------------------------------------------- */ - -/* Create a Unicode Object from the Py_UNICODE buffer u of the given - size. - - u may be NULL which causes the contents to be undefined. It is the - user's responsibility to fill in the needed data afterwards. Note - that modifying the Unicode object contents after construction is - only allowed if u was set to NULL. - - The buffer is copied into the new object. */ -Py_DEPRECATED(3.3) PyAPI_FUNC(PyObject*) PyUnicode_FromUnicode( - const Py_UNICODE *u, /* Unicode buffer */ - Py_ssize_t size /* size of buffer */ - ); - -/* Return a read-only pointer to the Unicode object's internal - Py_UNICODE buffer. - If the wchar_t/Py_UNICODE representation is not yet available, this - function will calculate it. */ -Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode( - PyObject *unicode /* Unicode object */ - ); - -/* Similar to PyUnicode_AsUnicode(), but raises a ValueError if the string - contains null characters. */ -PyAPI_FUNC(const Py_UNICODE *) _PyUnicode_AsUnicode( - PyObject *unicode /* Unicode object */ - ); - -/* Return a read-only pointer to the Unicode object's internal - Py_UNICODE buffer and save the length at size. - If the wchar_t/Py_UNICODE representation is not yet available, this - function will calculate it. */ - -Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicodeAndSize( - PyObject *unicode, /* Unicode object */ - Py_ssize_t *size /* location where to save the length */ - ); - - -/* Fast access macros */ - -Py_DEPRECATED(3.3) -static inline Py_ssize_t PyUnicode_WSTR_LENGTH(PyObject *op) -{ - if (PyUnicode_IS_COMPACT_ASCII(op)) { - return _PyASCIIObject_CAST(op)->length; - } - else { - return _PyCompactUnicodeObject_CAST(op)->wstr_length; - } -} -#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 -# define PyUnicode_WSTR_LENGTH(op) PyUnicode_WSTR_LENGTH(_PyObject_CAST(op)) -#endif - -/* Returns the deprecated Py_UNICODE representation's size in code units - (this includes surrogate pairs as 2 units). - If the Py_UNICODE representation is not available, it will be computed - on request. Use PyUnicode_GET_LENGTH() for the length in code points. */ - -Py_DEPRECATED(3.3) -static inline Py_ssize_t PyUnicode_GET_SIZE(PyObject *op) -{ - _Py_COMP_DIAG_PUSH - _Py_COMP_DIAG_IGNORE_DEPR_DECLS - if (_PyASCIIObject_CAST(op)->wstr == _Py_NULL) { - (void)PyUnicode_AsUnicode(op); - assert(_PyASCIIObject_CAST(op)->wstr != _Py_NULL); - } - return PyUnicode_WSTR_LENGTH(op); - _Py_COMP_DIAG_POP -} -#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 -# define PyUnicode_GET_SIZE(op) PyUnicode_GET_SIZE(_PyObject_CAST(op)) -#endif - -Py_DEPRECATED(3.3) -static inline Py_ssize_t PyUnicode_GET_DATA_SIZE(PyObject *op) -{ - _Py_COMP_DIAG_PUSH - _Py_COMP_DIAG_IGNORE_DEPR_DECLS - return PyUnicode_GET_SIZE(op) * Py_UNICODE_SIZE; - _Py_COMP_DIAG_POP -} -#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 -# define PyUnicode_GET_DATA_SIZE(op) PyUnicode_GET_DATA_SIZE(_PyObject_CAST(op)) -#endif - -/* Alias for PyUnicode_AsUnicode(). This will create a wchar_t/Py_UNICODE - representation on demand. Using this macro is very inefficient now, - try to port your code to use the new PyUnicode_*BYTE_DATA() macros or - use PyUnicode_WRITE() and PyUnicode_READ(). */ - -Py_DEPRECATED(3.3) -static inline Py_UNICODE* PyUnicode_AS_UNICODE(PyObject *op) -{ - wchar_t *wstr = _PyASCIIObject_CAST(op)->wstr; - if (wstr != _Py_NULL) { - return wstr; - } - - _Py_COMP_DIAG_PUSH - _Py_COMP_DIAG_IGNORE_DEPR_DECLS - return PyUnicode_AsUnicode(op); - _Py_COMP_DIAG_POP -} -#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 -# define PyUnicode_AS_UNICODE(op) PyUnicode_AS_UNICODE(_PyObject_CAST(op)) -#endif - -Py_DEPRECATED(3.3) -static inline const char* PyUnicode_AS_DATA(PyObject *op) -{ - _Py_COMP_DIAG_PUSH - _Py_COMP_DIAG_IGNORE_DEPR_DECLS - Py_UNICODE *data = PyUnicode_AS_UNICODE(op); - // In C++, casting directly PyUnicode* to const char* is not valid - return _Py_STATIC_CAST(const char*, _Py_STATIC_CAST(const void*, data)); - _Py_COMP_DIAG_POP -} -#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 -# define PyUnicode_AS_DATA(op) PyUnicode_AS_DATA(_PyObject_CAST(op)) -#endif - - /* --- _PyUnicodeWriter API ----------------------------------------------- */ typedef struct { PyObject *buffer; void *data; - enum PyUnicode_Kind kind; + int kind; Py_UCS4 maxchar; Py_ssize_t size; Py_ssize_t pos; @@ -769,8 +540,7 @@ _PyUnicodeWriter_PrepareInternal(_PyUnicodeWriter *writer, Return 0 on success, raise an exception and return -1 on error. */ #define _PyUnicodeWriter_PrepareKind(WRITER, KIND) \ - (assert((KIND) != PyUnicode_WCHAR_KIND), \ - (KIND) <= (WRITER)->kind \ + ((KIND) <= (WRITER)->kind \ ? 0 \ : _PyUnicodeWriter_PrepareKindInternal((WRITER), (KIND))) @@ -778,7 +548,7 @@ _PyUnicodeWriter_PrepareInternal(_PyUnicodeWriter *writer, macro instead. */ PyAPI_FUNC(int) _PyUnicodeWriter_PrepareKindInternal(_PyUnicodeWriter *writer, - enum PyUnicode_Kind kind); + int kind); /* Append a Unicode character. Return 0 on success, raise an exception and return -1 on error. */ @@ -1024,10 +794,6 @@ PyAPI_FUNC(Py_ssize_t) _PyUnicode_InsertThousandsGrouping( /* === Characters Type APIs =============================================== */ -/* Helper array used by Py_UNICODE_ISSPACE(). */ - -PyAPI_DATA(const unsigned char) _Py_ascii_whitespace[]; - /* These should not be used directly. Use the Py_UNICODE_IS* and Py_UNICODE_TO* macros instead. @@ -1135,6 +901,50 @@ PyAPI_FUNC(int) _PyUnicode_IsAlpha( Py_UCS4 ch /* Unicode character */ ); +// Helper array used by Py_UNICODE_ISSPACE(). +PyAPI_DATA(const unsigned char) _Py_ascii_whitespace[]; + +// Since splitting on whitespace is an important use case, and +// whitespace in most situations is solely ASCII whitespace, we +// optimize for the common case by using a quick look-up table +// _Py_ascii_whitespace (see below) with an inlined check. +static inline int Py_UNICODE_ISSPACE(Py_UCS4 ch) { + if (ch < 128) { + return _Py_ascii_whitespace[ch]; + } + return _PyUnicode_IsWhitespace(ch); +} + +#define Py_UNICODE_ISLOWER(ch) _PyUnicode_IsLowercase(ch) +#define Py_UNICODE_ISUPPER(ch) _PyUnicode_IsUppercase(ch) +#define Py_UNICODE_ISTITLE(ch) _PyUnicode_IsTitlecase(ch) +#define Py_UNICODE_ISLINEBREAK(ch) _PyUnicode_IsLinebreak(ch) + +#define Py_UNICODE_TOLOWER(ch) _PyUnicode_ToLowercase(ch) +#define Py_UNICODE_TOUPPER(ch) _PyUnicode_ToUppercase(ch) +#define Py_UNICODE_TOTITLE(ch) _PyUnicode_ToTitlecase(ch) + +#define Py_UNICODE_ISDECIMAL(ch) _PyUnicode_IsDecimalDigit(ch) +#define Py_UNICODE_ISDIGIT(ch) _PyUnicode_IsDigit(ch) +#define Py_UNICODE_ISNUMERIC(ch) _PyUnicode_IsNumeric(ch) +#define Py_UNICODE_ISPRINTABLE(ch) _PyUnicode_IsPrintable(ch) + +#define Py_UNICODE_TODECIMAL(ch) _PyUnicode_ToDecimalDigit(ch) +#define Py_UNICODE_TODIGIT(ch) _PyUnicode_ToDigit(ch) +#define Py_UNICODE_TONUMERIC(ch) _PyUnicode_ToNumeric(ch) + +#define Py_UNICODE_ISALPHA(ch) _PyUnicode_IsAlpha(ch) + +static inline int Py_UNICODE_ISALNUM(Py_UCS4 ch) { + return (Py_UNICODE_ISALPHA(ch) + || Py_UNICODE_ISDECIMAL(ch) + || Py_UNICODE_ISDIGIT(ch) + || Py_UNICODE_ISNUMERIC(ch)); +} + + +/* === Misc functions ===================================================== */ + PyAPI_FUNC(PyObject*) _PyUnicode_FormatLong(PyObject *, int, int, int); /* Return an interned Unicode object for an Identifier; may fail if there is no memory.*/ @@ -1144,7 +954,7 @@ PyAPI_FUNC(PyObject*) _PyUnicode_FromId(_Py_Identifier*); and where the hash values are equal (i.e. a very probable match) */ PyAPI_FUNC(int) _PyUnicode_EQ(PyObject *, PyObject *); -/* Equality check. Returns -1 on failure. */ +/* Equality check. */ PyAPI_FUNC(int) _PyUnicode_Equal(PyObject *, PyObject *); PyAPI_FUNC(int) _PyUnicode_WideCharString_Converter(PyObject *, void *); diff --git a/src/external/windows/include/python/cpython/warnings.h b/src/external/windows/include/python/cpython/warnings.h index 0e9d4d81..2ba13213 100644 --- a/src/external/windows/include/python/cpython/warnings.h +++ b/src/external/windows/include/python/cpython/warnings.h @@ -17,4 +17,4 @@ PyAPI_FUNC(int) PyErr_WarnExplicitFormat( const char *format, ...); // DEPRECATED: Use PyErr_WarnEx() instead. -#define PyErr_Warn(category, msg) PyErr_WarnEx(category, msg, 1) +#define PyErr_Warn(category, msg) PyErr_WarnEx((category), (msg), 1) diff --git a/src/external/windows/include/python/cpython/weakrefobject.h b/src/external/windows/include/python/cpython/weakrefobject.h index 1b56d0ce..68475efc 100644 --- a/src/external/windows/include/python/cpython/weakrefobject.h +++ b/src/external/windows/include/python/cpython/weakrefobject.h @@ -53,6 +53,4 @@ static inline PyObject* PyWeakref_GET_OBJECT(PyObject *ref_obj) { } return Py_None; } -#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 -# define PyWeakref_GET_OBJECT(ref) PyWeakref_GET_OBJECT(_PyObject_CAST(ref)) -#endif +#define PyWeakref_GET_OBJECT(ref) PyWeakref_GET_OBJECT(_PyObject_CAST(ref)) diff --git a/src/external/windows/include/python/datetime.h b/src/external/windows/include/python/datetime.h index d4e5c177..ed7e4fec 100755 --- a/src/external/windows/include/python/datetime.h +++ b/src/external/windows/include/python/datetime.h @@ -119,39 +119,39 @@ typedef struct // o is a pointer to a time or a datetime object. #define _PyDateTime_HAS_TZINFO(o) (((_PyDateTime_BaseTZInfo *)(o))->hastzinfo) -#define PyDateTime_GET_YEAR(o) ((((PyDateTime_Date*)o)->data[0] << 8) | \ - ((PyDateTime_Date*)o)->data[1]) -#define PyDateTime_GET_MONTH(o) (((PyDateTime_Date*)o)->data[2]) -#define PyDateTime_GET_DAY(o) (((PyDateTime_Date*)o)->data[3]) +#define PyDateTime_GET_YEAR(o) ((((PyDateTime_Date*)(o))->data[0] << 8) | \ + ((PyDateTime_Date*)(o))->data[1]) +#define PyDateTime_GET_MONTH(o) (((PyDateTime_Date*)(o))->data[2]) +#define PyDateTime_GET_DAY(o) (((PyDateTime_Date*)(o))->data[3]) -#define PyDateTime_DATE_GET_HOUR(o) (((PyDateTime_DateTime*)o)->data[4]) -#define PyDateTime_DATE_GET_MINUTE(o) (((PyDateTime_DateTime*)o)->data[5]) -#define PyDateTime_DATE_GET_SECOND(o) (((PyDateTime_DateTime*)o)->data[6]) +#define PyDateTime_DATE_GET_HOUR(o) (((PyDateTime_DateTime*)(o))->data[4]) +#define PyDateTime_DATE_GET_MINUTE(o) (((PyDateTime_DateTime*)(o))->data[5]) +#define PyDateTime_DATE_GET_SECOND(o) (((PyDateTime_DateTime*)(o))->data[6]) #define PyDateTime_DATE_GET_MICROSECOND(o) \ - ((((PyDateTime_DateTime*)o)->data[7] << 16) | \ - (((PyDateTime_DateTime*)o)->data[8] << 8) | \ - ((PyDateTime_DateTime*)o)->data[9]) -#define PyDateTime_DATE_GET_FOLD(o) (((PyDateTime_DateTime*)o)->fold) -#define PyDateTime_DATE_GET_TZINFO(o) (_PyDateTime_HAS_TZINFO(o) ? \ + ((((PyDateTime_DateTime*)(o))->data[7] << 16) | \ + (((PyDateTime_DateTime*)(o))->data[8] << 8) | \ + ((PyDateTime_DateTime*)(o))->data[9]) +#define PyDateTime_DATE_GET_FOLD(o) (((PyDateTime_DateTime*)(o))->fold) +#define PyDateTime_DATE_GET_TZINFO(o) (_PyDateTime_HAS_TZINFO((o)) ? \ ((PyDateTime_DateTime *)(o))->tzinfo : Py_None) /* Apply for time instances. */ -#define PyDateTime_TIME_GET_HOUR(o) (((PyDateTime_Time*)o)->data[0]) -#define PyDateTime_TIME_GET_MINUTE(o) (((PyDateTime_Time*)o)->data[1]) -#define PyDateTime_TIME_GET_SECOND(o) (((PyDateTime_Time*)o)->data[2]) +#define PyDateTime_TIME_GET_HOUR(o) (((PyDateTime_Time*)(o))->data[0]) +#define PyDateTime_TIME_GET_MINUTE(o) (((PyDateTime_Time*)(o))->data[1]) +#define PyDateTime_TIME_GET_SECOND(o) (((PyDateTime_Time*)(o))->data[2]) #define PyDateTime_TIME_GET_MICROSECOND(o) \ - ((((PyDateTime_Time*)o)->data[3] << 16) | \ - (((PyDateTime_Time*)o)->data[4] << 8) | \ - ((PyDateTime_Time*)o)->data[5]) -#define PyDateTime_TIME_GET_FOLD(o) (((PyDateTime_Time*)o)->fold) + ((((PyDateTime_Time*)(o))->data[3] << 16) | \ + (((PyDateTime_Time*)(o))->data[4] << 8) | \ + ((PyDateTime_Time*)(o))->data[5]) +#define PyDateTime_TIME_GET_FOLD(o) (((PyDateTime_Time*)(o))->fold) #define PyDateTime_TIME_GET_TZINFO(o) (_PyDateTime_HAS_TZINFO(o) ? \ ((PyDateTime_Time *)(o))->tzinfo : Py_None) /* Apply for time delta instances */ -#define PyDateTime_DELTA_GET_DAYS(o) (((PyDateTime_Delta*)o)->days) -#define PyDateTime_DELTA_GET_SECONDS(o) (((PyDateTime_Delta*)o)->seconds) +#define PyDateTime_DELTA_GET_DAYS(o) (((PyDateTime_Delta*)(o))->days) +#define PyDateTime_DELTA_GET_SECONDS(o) (((PyDateTime_Delta*)(o))->seconds) #define PyDateTime_DELTA_GET_MICROSECONDS(o) \ - (((PyDateTime_Delta*)o)->microseconds) + (((PyDateTime_Delta*)(o))->microseconds) /* Define structure for C API. */ @@ -203,60 +203,60 @@ static PyDateTime_CAPI *PyDateTimeAPI = NULL; #define PyDateTime_TimeZone_UTC PyDateTimeAPI->TimeZone_UTC /* Macros for type checking when not building the Python core. */ -#define PyDate_Check(op) PyObject_TypeCheck(op, PyDateTimeAPI->DateType) -#define PyDate_CheckExact(op) Py_IS_TYPE(op, PyDateTimeAPI->DateType) +#define PyDate_Check(op) PyObject_TypeCheck((op), PyDateTimeAPI->DateType) +#define PyDate_CheckExact(op) Py_IS_TYPE((op), PyDateTimeAPI->DateType) -#define PyDateTime_Check(op) PyObject_TypeCheck(op, PyDateTimeAPI->DateTimeType) -#define PyDateTime_CheckExact(op) Py_IS_TYPE(op, PyDateTimeAPI->DateTimeType) +#define PyDateTime_Check(op) PyObject_TypeCheck((op), PyDateTimeAPI->DateTimeType) +#define PyDateTime_CheckExact(op) Py_IS_TYPE((op), PyDateTimeAPI->DateTimeType) -#define PyTime_Check(op) PyObject_TypeCheck(op, PyDateTimeAPI->TimeType) -#define PyTime_CheckExact(op) Py_IS_TYPE(op, PyDateTimeAPI->TimeType) +#define PyTime_Check(op) PyObject_TypeCheck((op), PyDateTimeAPI->TimeType) +#define PyTime_CheckExact(op) Py_IS_TYPE((op), PyDateTimeAPI->TimeType) -#define PyDelta_Check(op) PyObject_TypeCheck(op, PyDateTimeAPI->DeltaType) -#define PyDelta_CheckExact(op) Py_IS_TYPE(op, PyDateTimeAPI->DeltaType) +#define PyDelta_Check(op) PyObject_TypeCheck((op), PyDateTimeAPI->DeltaType) +#define PyDelta_CheckExact(op) Py_IS_TYPE((op), PyDateTimeAPI->DeltaType) -#define PyTZInfo_Check(op) PyObject_TypeCheck(op, PyDateTimeAPI->TZInfoType) -#define PyTZInfo_CheckExact(op) Py_IS_TYPE(op, PyDateTimeAPI->TZInfoType) +#define PyTZInfo_Check(op) PyObject_TypeCheck((op), PyDateTimeAPI->TZInfoType) +#define PyTZInfo_CheckExact(op) Py_IS_TYPE((op), PyDateTimeAPI->TZInfoType) /* Macros for accessing constructors in a simplified fashion. */ #define PyDate_FromDate(year, month, day) \ - PyDateTimeAPI->Date_FromDate(year, month, day, PyDateTimeAPI->DateType) + PyDateTimeAPI->Date_FromDate((year), (month), (day), PyDateTimeAPI->DateType) #define PyDateTime_FromDateAndTime(year, month, day, hour, min, sec, usec) \ - PyDateTimeAPI->DateTime_FromDateAndTime(year, month, day, hour, \ - min, sec, usec, Py_None, PyDateTimeAPI->DateTimeType) + PyDateTimeAPI->DateTime_FromDateAndTime((year), (month), (day), (hour), \ + (min), (sec), (usec), Py_None, PyDateTimeAPI->DateTimeType) #define PyDateTime_FromDateAndTimeAndFold(year, month, day, hour, min, sec, usec, fold) \ - PyDateTimeAPI->DateTime_FromDateAndTimeAndFold(year, month, day, hour, \ - min, sec, usec, Py_None, fold, PyDateTimeAPI->DateTimeType) + PyDateTimeAPI->DateTime_FromDateAndTimeAndFold((year), (month), (day), (hour), \ + (min), (sec), (usec), Py_None, (fold), PyDateTimeAPI->DateTimeType) #define PyTime_FromTime(hour, minute, second, usecond) \ - PyDateTimeAPI->Time_FromTime(hour, minute, second, usecond, \ + PyDateTimeAPI->Time_FromTime((hour), (minute), (second), (usecond), \ Py_None, PyDateTimeAPI->TimeType) #define PyTime_FromTimeAndFold(hour, minute, second, usecond, fold) \ - PyDateTimeAPI->Time_FromTimeAndFold(hour, minute, second, usecond, \ - Py_None, fold, PyDateTimeAPI->TimeType) + PyDateTimeAPI->Time_FromTimeAndFold((hour), (minute), (second), (usecond), \ + Py_None, (fold), PyDateTimeAPI->TimeType) #define PyDelta_FromDSU(days, seconds, useconds) \ - PyDateTimeAPI->Delta_FromDelta(days, seconds, useconds, 1, \ + PyDateTimeAPI->Delta_FromDelta((days), (seconds), (useconds), 1, \ PyDateTimeAPI->DeltaType) #define PyTimeZone_FromOffset(offset) \ - PyDateTimeAPI->TimeZone_FromTimeZone(offset, NULL) + PyDateTimeAPI->TimeZone_FromTimeZone((offset), NULL) #define PyTimeZone_FromOffsetAndName(offset, name) \ - PyDateTimeAPI->TimeZone_FromTimeZone(offset, name) + PyDateTimeAPI->TimeZone_FromTimeZone((offset), (name)) /* Macros supporting the DB API. */ #define PyDateTime_FromTimestamp(args) \ PyDateTimeAPI->DateTime_FromTimestamp( \ - (PyObject*) (PyDateTimeAPI->DateTimeType), args, NULL) + (PyObject*) (PyDateTimeAPI->DateTimeType), (args), NULL) #define PyDate_FromTimestamp(args) \ PyDateTimeAPI->Date_FromTimestamp( \ - (PyObject*) (PyDateTimeAPI->DateType), args) + (PyObject*) (PyDateTimeAPI->DateType), (args)) #endif /* !defined(_PY_DATETIME_IMPL) */ diff --git a/src/external/windows/include/python/descrobject.h b/src/external/windows/include/python/descrobject.h index f4fc9ef2..f5bfa035 100755 --- a/src/external/windows/include/python/descrobject.h +++ b/src/external/windows/include/python/descrobject.h @@ -32,6 +32,62 @@ PyAPI_FUNC(PyObject *) PyDescr_NewGetSet(PyTypeObject *, PyGetSetDef *); PyAPI_FUNC(PyObject *) PyDictProxy_New(PyObject *); PyAPI_FUNC(PyObject *) PyWrapper_New(PyObject *, PyObject *); + +/* An array of PyMemberDef structures defines the name, type and offset + of selected members of a C structure. These can be read by + PyMember_GetOne() and set by PyMember_SetOne() (except if their READONLY + flag is set). The array must be terminated with an entry whose name + pointer is NULL. */ +struct PyMemberDef { + const char *name; + int type; + Py_ssize_t offset; + int flags; + const char *doc; +}; + +// These constants used to be in structmember.h, not prefixed by Py_. +// (structmember.h now has aliases to the new names.) + +/* Types */ +#define Py_T_SHORT 0 +#define Py_T_INT 1 +#define Py_T_LONG 2 +#define Py_T_FLOAT 3 +#define Py_T_DOUBLE 4 +#define Py_T_STRING 5 +#define _Py_T_OBJECT 6 // Deprecated, use Py_T_OBJECT_EX instead +/* the ordering here is weird for binary compatibility */ +#define Py_T_CHAR 7 /* 1-character string */ +#define Py_T_BYTE 8 /* 8-bit signed int */ +/* unsigned variants: */ +#define Py_T_UBYTE 9 +#define Py_T_USHORT 10 +#define Py_T_UINT 11 +#define Py_T_ULONG 12 + +/* Added by Jack: strings contained in the structure */ +#define Py_T_STRING_INPLACE 13 + +/* Added by Lillo: bools contained in the structure (assumed char) */ +#define Py_T_BOOL 14 + +#define Py_T_OBJECT_EX 16 +#define Py_T_LONGLONG 17 +#define Py_T_ULONGLONG 18 + +#define Py_T_PYSSIZET 19 /* Py_ssize_t */ +#define _Py_T_NONE 20 // Deprecated. Value is always None. + +/* Flags */ +#define Py_READONLY 1 +#define Py_AUDIT_READ 2 // Added in 3.10, harmless no-op before that +#define _Py_WRITE_RESTRICTED 4 // Deprecated, no-op. Do not reuse the value. +#define Py_RELATIVE_OFFSET 8 + +PyAPI_FUNC(PyObject *) PyMember_GetOne(const char *, PyMemberDef *); +PyAPI_FUNC(int) PyMember_SetOne(char *, PyMemberDef *, PyObject *); + #ifndef Py_LIMITED_API # define Py_CPYTHON_DESCROBJECT_H # include "cpython/descrobject.h" diff --git a/src/external/windows/include/python/dictobject.h b/src/external/windows/include/python/dictobject.h index d7555257..05d93651 100755 --- a/src/external/windows/include/python/dictobject.h +++ b/src/external/windows/include/python/dictobject.h @@ -16,7 +16,7 @@ PyAPI_DATA(PyTypeObject) PyDict_Type; #define PyDict_Check(op) \ PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_DICT_SUBCLASS) -#define PyDict_CheckExact(op) Py_IS_TYPE(op, &PyDict_Type) +#define PyDict_CheckExact(op) Py_IS_TYPE((op), &PyDict_Type) PyAPI_FUNC(PyObject *) PyDict_New(void); PyAPI_FUNC(PyObject *) PyDict_GetItem(PyObject *mp, PyObject *key); @@ -67,9 +67,9 @@ PyAPI_DATA(PyTypeObject) PyDictKeys_Type; PyAPI_DATA(PyTypeObject) PyDictValues_Type; PyAPI_DATA(PyTypeObject) PyDictItems_Type; -#define PyDictKeys_Check(op) PyObject_TypeCheck(op, &PyDictKeys_Type) -#define PyDictValues_Check(op) PyObject_TypeCheck(op, &PyDictValues_Type) -#define PyDictItems_Check(op) PyObject_TypeCheck(op, &PyDictItems_Type) +#define PyDictKeys_Check(op) PyObject_TypeCheck((op), &PyDictKeys_Type) +#define PyDictValues_Check(op) PyObject_TypeCheck((op), &PyDictValues_Type) +#define PyDictItems_Check(op) PyObject_TypeCheck((op), &PyDictItems_Type) /* This excludes Values, since they are not sets. */ # define PyDictViewSet_Check(op) \ (PyDictKeys_Check(op) || PyDictItems_Check(op)) diff --git a/src/external/windows/include/python/errcode.h b/src/external/windows/include/python/errcode.h index 66ef202b..ad22ec13 100755 --- a/src/external/windows/include/python/errcode.h +++ b/src/external/windows/include/python/errcode.h @@ -4,7 +4,6 @@ extern "C" { #endif - /* Error codes passed around between file input, tokenizer, parser and interpreter. This is necessary so we can turn them into Python exceptions at a higher level. Note that some errors have a @@ -13,24 +12,25 @@ extern "C" { the parser only returns E_EOF when it hits EOF immediately, and it never returns E_OK. */ -#define E_OK 10 /* No error */ -#define E_EOF 11 /* End Of File */ -#define E_INTR 12 /* Interrupted */ -#define E_TOKEN 13 /* Bad token */ -#define E_SYNTAX 14 /* Syntax error */ -#define E_NOMEM 15 /* Ran out of memory */ -#define E_DONE 16 /* Parsing complete */ -#define E_ERROR 17 /* Execution error */ -#define E_TABSPACE 18 /* Inconsistent mixing of tabs and spaces */ -#define E_OVERFLOW 19 /* Node had too many children */ -#define E_TOODEEP 20 /* Too many indentation levels */ -#define E_DEDENT 21 /* No matching outer block for dedent */ -#define E_DECODE 22 /* Error in decoding into Unicode */ -#define E_EOFS 23 /* EOF in triple-quoted string */ -#define E_EOLS 24 /* EOL in single-quoted string */ -#define E_LINECONT 25 /* Unexpected characters after a line continuation */ -#define E_BADSINGLE 27 /* Ill-formed single statement input */ -#define E_INTERACT_STOP 28 /* Interactive mode stopped tokenization */ +#define E_OK 10 /* No error */ +#define E_EOF 11 /* End Of File */ +#define E_INTR 12 /* Interrupted */ +#define E_TOKEN 13 /* Bad token */ +#define E_SYNTAX 14 /* Syntax error */ +#define E_NOMEM 15 /* Ran out of memory */ +#define E_DONE 16 /* Parsing complete */ +#define E_ERROR 17 /* Execution error */ +#define E_TABSPACE 18 /* Inconsistent mixing of tabs and spaces */ +#define E_OVERFLOW 19 /* Node had too many children */ +#define E_TOODEEP 20 /* Too many indentation levels */ +#define E_DEDENT 21 /* No matching outer block for dedent */ +#define E_DECODE 22 /* Error in decoding into Unicode */ +#define E_EOFS 23 /* EOF in triple-quoted string */ +#define E_EOLS 24 /* EOL in single-quoted string */ +#define E_LINECONT 25 /* Unexpected characters after a line continuation */ +#define E_BADSINGLE 27 /* Ill-formed single statement input */ +#define E_INTERACT_STOP 28 /* Interactive mode stopped tokenization */ +#define E_COLUMNOVERFLOW 29 /* Column offset overflow */ #ifdef __cplusplus } diff --git a/src/external/windows/include/python/exports.h b/src/external/windows/include/python/exports.h index 20a74bb9..8c78f6be 100755 --- a/src/external/windows/include/python/exports.h +++ b/src/external/windows/include/python/exports.h @@ -2,9 +2,15 @@ #define Py_EXPORTS_H #if defined(_WIN32) || defined(__CYGWIN__) - #define Py_IMPORTED_SYMBOL __declspec(dllimport) - #define Py_EXPORTED_SYMBOL __declspec(dllexport) - #define Py_LOCAL_SYMBOL + #if defined(Py_ENABLE_SHARED) + #define Py_IMPORTED_SYMBOL __declspec(dllimport) + #define Py_EXPORTED_SYMBOL __declspec(dllexport) + #define Py_LOCAL_SYMBOL + #else + #define Py_IMPORTED_SYMBOL + #define Py_EXPORTED_SYMBOL + #define Py_LOCAL_SYMBOL + #endif #else /* * If we only ever used gcc >= 5, we could use __has_attribute(visibility) diff --git a/src/external/windows/include/python/fileobject.h b/src/external/windows/include/python/fileobject.h index cc880d5b..20af2def 100755 --- a/src/external/windows/include/python/fileobject.h +++ b/src/external/windows/include/python/fileobject.h @@ -19,14 +19,14 @@ PyAPI_FUNC(int) PyObject_AsFileDescriptor(PyObject *); /* The default encoding used by the platform file system APIs If non-NULL, this is different than the default encoding for strings */ -PyAPI_DATA(const char *) Py_FileSystemDefaultEncoding; +Py_DEPRECATED(3.12) PyAPI_DATA(const char *) Py_FileSystemDefaultEncoding; #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03060000 -PyAPI_DATA(const char *) Py_FileSystemDefaultEncodeErrors; +Py_DEPRECATED(3.12) PyAPI_DATA(const char *) Py_FileSystemDefaultEncodeErrors; #endif -PyAPI_DATA(int) Py_HasFileSystemDefaultEncoding; +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_HasFileSystemDefaultEncoding; #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03070000 -PyAPI_DATA(int) Py_UTF8Mode; +Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_UTF8Mode; #endif /* A routine to check if a file descriptor can be select()-ed. */ diff --git a/src/external/windows/include/python/floatobject.h b/src/external/windows/include/python/floatobject.h index 08ebb7b4..04ebe7b5 100755 --- a/src/external/windows/include/python/floatobject.h +++ b/src/external/windows/include/python/floatobject.h @@ -14,7 +14,7 @@ extern "C" { PyAPI_DATA(PyTypeObject) PyFloat_Type; #define PyFloat_Check(op) PyObject_TypeCheck(op, &PyFloat_Type) -#define PyFloat_CheckExact(op) Py_IS_TYPE(op, &PyFloat_Type) +#define PyFloat_CheckExact(op) Py_IS_TYPE((op), &PyFloat_Type) #define Py_RETURN_NAN return PyFloat_FromDouble(Py_NAN) diff --git a/src/external/windows/include/python/import.h b/src/external/windows/include/python/import.h index 50142586..2bb676e3 100755 --- a/src/external/windows/include/python/import.h +++ b/src/external/windows/include/python/import.h @@ -67,7 +67,7 @@ PyAPI_FUNC(PyObject *) PyImport_ImportModuleLevelObject( #endif #define PyImport_ImportModuleEx(n, g, l, f) \ - PyImport_ImportModuleLevel(n, g, l, f, 0) + PyImport_ImportModuleLevel((n), (g), (l), (f), 0) PyAPI_FUNC(PyObject *) PyImport_GetImporter(PyObject *path); PyAPI_FUNC(PyObject *) PyImport_Import(PyObject *name); diff --git a/src/external/windows/include/python/internal/pycore_accu.h b/src/external/windows/include/python/internal/pycore_accu.h deleted file mode 100755 index 344a9c6c..00000000 --- a/src/external/windows/include/python/internal/pycore_accu.h +++ /dev/null @@ -1,39 +0,0 @@ -#ifndef Py_LIMITED_API -#ifndef Py_INTERNAL_ACCU_H -#define Py_INTERNAL_ACCU_H -#ifdef __cplusplus -extern "C" { -#endif - -/*** This is a private API for use by the interpreter and the stdlib. - *** Its definition may be changed or removed at any moment. - ***/ - -#ifndef Py_BUILD_CORE -# error "this header requires Py_BUILD_CORE define" -#endif - -/* - * A two-level accumulator of unicode objects that avoids both the overhead - * of keeping a huge number of small separate objects, and the quadratic - * behaviour of using a naive repeated concatenation scheme. - */ - -#undef small /* defined by some Windows headers */ - -typedef struct { - PyObject *large; /* A list of previously accumulated large strings */ - PyObject *small; /* Pending small strings */ -} _PyAccu; - -PyAPI_FUNC(int) _PyAccu_Init(_PyAccu *acc); -PyAPI_FUNC(int) _PyAccu_Accumulate(_PyAccu *acc, PyObject *unicode); -PyAPI_FUNC(PyObject *) _PyAccu_FinishAsList(_PyAccu *acc); -PyAPI_FUNC(PyObject *) _PyAccu_Finish(_PyAccu *acc); -PyAPI_FUNC(void) _PyAccu_Destroy(_PyAccu *acc); - -#ifdef __cplusplus -} -#endif -#endif /* !Py_INTERNAL_ACCU_H */ -#endif /* !Py_LIMITED_API */ diff --git a/src/external/windows/include/python/internal/pycore_asdl.h b/src/external/windows/include/python/internal/pycore_asdl.h index 39420236..3a25b342 100755 --- a/src/external/windows/include/python/internal/pycore_asdl.h +++ b/src/external/windows/include/python/internal/pycore_asdl.h @@ -91,7 +91,7 @@ asdl_ ## NAME ## _seq *_Py_asdl_ ## NAME ## _seq_new(Py_ssize_t size, PyArena *a (S)->typed_elements[_asdl_i] = (V); \ } while (0) #else -# define asdl_seq_SET(S, I, V) _Py_RVALUE((S)->typed_elements[I] = (V)) +# define asdl_seq_SET(S, I, V) _Py_RVALUE((S)->typed_elements[(I)] = (V)) #endif #ifdef Py_DEBUG @@ -103,7 +103,7 @@ asdl_ ## NAME ## _seq *_Py_asdl_ ## NAME ## _seq_new(Py_ssize_t size, PyArena *a (S)->elements[_asdl_i] = (V); \ } while (0) #else -# define asdl_seq_SET_UNTYPED(S, I, V) _Py_RVALUE((S)->elements[I] = (V)) +# define asdl_seq_SET_UNTYPED(S, I, V) _Py_RVALUE((S)->elements[(I)] = (V)) #endif #ifdef __cplusplus diff --git a/src/external/windows/include/python/internal/pycore_ast.h b/src/external/windows/include/python/internal/pycore_ast.h index 1e03bf99..6726dc51 100755 --- a/src/external/windows/include/python/internal/pycore_ast.h +++ b/src/external/windows/include/python/internal/pycore_ast.h @@ -51,6 +51,8 @@ typedef struct _pattern *pattern_ty; typedef struct _type_ignore *type_ignore_ty; +typedef struct _type_param *type_param_ty; + typedef struct { _ASDL_SEQ_HEAD @@ -147,6 +149,14 @@ typedef struct { asdl_type_ignore_seq *_Py_asdl_type_ignore_seq_new(Py_ssize_t size, PyArena *arena); +typedef struct { + _ASDL_SEQ_HEAD + type_param_ty typed_elements[1]; +} asdl_type_param_seq; + +asdl_type_param_seq *_Py_asdl_type_param_seq_new(Py_ssize_t size, PyArena + *arena); + enum _mod_kind {Module_kind=1, Interactive_kind=2, Expression_kind=3, FunctionType_kind=4}; @@ -176,12 +186,13 @@ struct _mod { enum _stmt_kind {FunctionDef_kind=1, AsyncFunctionDef_kind=2, ClassDef_kind=3, Return_kind=4, Delete_kind=5, Assign_kind=6, - AugAssign_kind=7, AnnAssign_kind=8, For_kind=9, - AsyncFor_kind=10, While_kind=11, If_kind=12, With_kind=13, - AsyncWith_kind=14, Match_kind=15, Raise_kind=16, Try_kind=17, - TryStar_kind=18, Assert_kind=19, Import_kind=20, - ImportFrom_kind=21, Global_kind=22, Nonlocal_kind=23, - Expr_kind=24, Pass_kind=25, Break_kind=26, Continue_kind=27}; + TypeAlias_kind=7, AugAssign_kind=8, AnnAssign_kind=9, + For_kind=10, AsyncFor_kind=11, While_kind=12, If_kind=13, + With_kind=14, AsyncWith_kind=15, Match_kind=16, + Raise_kind=17, Try_kind=18, TryStar_kind=19, Assert_kind=20, + Import_kind=21, ImportFrom_kind=22, Global_kind=23, + Nonlocal_kind=24, Expr_kind=25, Pass_kind=26, Break_kind=27, + Continue_kind=28}; struct _stmt { enum _stmt_kind kind; union { @@ -192,6 +203,7 @@ struct _stmt { asdl_expr_seq *decorator_list; expr_ty returns; string type_comment; + asdl_type_param_seq *type_params; } FunctionDef; struct { @@ -201,6 +213,7 @@ struct _stmt { asdl_expr_seq *decorator_list; expr_ty returns; string type_comment; + asdl_type_param_seq *type_params; } AsyncFunctionDef; struct { @@ -209,6 +222,7 @@ struct _stmt { asdl_keyword_seq *keywords; asdl_stmt_seq *body; asdl_expr_seq *decorator_list; + asdl_type_param_seq *type_params; } ClassDef; struct { @@ -225,6 +239,12 @@ struct _stmt { string type_comment; } Assign; + struct { + expr_ty name; + asdl_type_param_seq *type_params; + expr_ty value; + } TypeAlias; + struct { expr_ty target; operator_ty op; @@ -630,6 +650,30 @@ struct _type_ignore { } v; }; +enum _type_param_kind {TypeVar_kind=1, ParamSpec_kind=2, TypeVarTuple_kind=3}; +struct _type_param { + enum _type_param_kind kind; + union { + struct { + identifier name; + expr_ty bound; + } TypeVar; + + struct { + identifier name; + } ParamSpec; + + struct { + identifier name; + } TypeVarTuple; + + } v; + int lineno; + int col_offset; + int end_lineno; + int end_col_offset; +}; + // Note: these macros affect function definitions, not only call sites. mod_ty _PyAST_Module(asdl_stmt_seq * body, asdl_type_ignore_seq * type_ignores, @@ -640,19 +684,20 @@ mod_ty _PyAST_FunctionType(asdl_expr_seq * argtypes, expr_ty returns, PyArena *arena); stmt_ty _PyAST_FunctionDef(identifier name, arguments_ty args, asdl_stmt_seq * body, asdl_expr_seq * decorator_list, expr_ty - returns, string type_comment, int lineno, int - col_offset, int end_lineno, int end_col_offset, - PyArena *arena); + returns, string type_comment, asdl_type_param_seq * + type_params, int lineno, int col_offset, int + end_lineno, int end_col_offset, PyArena *arena); stmt_ty _PyAST_AsyncFunctionDef(identifier name, arguments_ty args, asdl_stmt_seq * body, asdl_expr_seq * decorator_list, expr_ty returns, string - type_comment, int lineno, int col_offset, int + type_comment, asdl_type_param_seq * + type_params, int lineno, int col_offset, int end_lineno, int end_col_offset, PyArena *arena); stmt_ty _PyAST_ClassDef(identifier name, asdl_expr_seq * bases, asdl_keyword_seq * keywords, asdl_stmt_seq * body, - asdl_expr_seq * decorator_list, int lineno, int - col_offset, int end_lineno, int end_col_offset, PyArena - *arena); + asdl_expr_seq * decorator_list, asdl_type_param_seq * + type_params, int lineno, int col_offset, int + end_lineno, int end_col_offset, PyArena *arena); stmt_ty _PyAST_Return(expr_ty value, int lineno, int col_offset, int end_lineno, int end_col_offset, PyArena *arena); stmt_ty _PyAST_Delete(asdl_expr_seq * targets, int lineno, int col_offset, int @@ -660,6 +705,9 @@ stmt_ty _PyAST_Delete(asdl_expr_seq * targets, int lineno, int col_offset, int stmt_ty _PyAST_Assign(asdl_expr_seq * targets, expr_ty value, string type_comment, int lineno, int col_offset, int end_lineno, int end_col_offset, PyArena *arena); +stmt_ty _PyAST_TypeAlias(expr_ty name, asdl_type_param_seq * type_params, + expr_ty value, int lineno, int col_offset, int + end_lineno, int end_col_offset, PyArena *arena); stmt_ty _PyAST_AugAssign(expr_ty target, operator_ty op, expr_ty value, int lineno, int col_offset, int end_lineno, int end_col_offset, PyArena *arena); @@ -844,6 +892,14 @@ pattern_ty _PyAST_MatchOr(asdl_pattern_seq * patterns, int lineno, int col_offset, int end_lineno, int end_col_offset, PyArena *arena); type_ignore_ty _PyAST_TypeIgnore(int lineno, string tag, PyArena *arena); +type_param_ty _PyAST_TypeVar(identifier name, expr_ty bound, int lineno, int + col_offset, int end_lineno, int end_col_offset, + PyArena *arena); +type_param_ty _PyAST_ParamSpec(identifier name, int lineno, int col_offset, int + end_lineno, int end_col_offset, PyArena *arena); +type_param_ty _PyAST_TypeVarTuple(identifier name, int lineno, int col_offset, + int end_lineno, int end_col_offset, PyArena + *arena); PyObject* PyAST_mod2obj(mod_ty t); diff --git a/src/external/windows/include/python/internal/pycore_ast_state.h b/src/external/windows/include/python/internal/pycore_ast_state.h index 7ec15d84..2c03e449 100755 --- a/src/external/windows/include/python/internal/pycore_ast_state.h +++ b/src/external/windows/include/python/internal/pycore_ast_state.h @@ -12,8 +12,8 @@ extern "C" { struct ast_state { int initialized; - int recursion_depth; - int recursion_limit; + int unused_recursion_depth; + int unused_recursion_limit; PyObject *AST_type; PyObject *Add_singleton; PyObject *Add_type; @@ -118,6 +118,7 @@ struct ast_state { PyObject *Not_type; PyObject *Or_singleton; PyObject *Or_type; + PyObject *ParamSpec_type; PyObject *Pass_type; PyObject *Pow_singleton; PyObject *Pow_type; @@ -137,7 +138,10 @@ struct ast_state { PyObject *TryStar_type; PyObject *Try_type; PyObject *Tuple_type; + PyObject *TypeAlias_type; PyObject *TypeIgnore_type; + PyObject *TypeVarTuple_type; + PyObject *TypeVar_type; PyObject *UAdd_singleton; PyObject *UAdd_type; PyObject *USub_singleton; @@ -166,6 +170,7 @@ struct ast_state { PyObject *bases; PyObject *body; PyObject *boolop_type; + PyObject *bound; PyObject *cases; PyObject *cause; PyObject *cls; @@ -243,6 +248,8 @@ struct ast_state { PyObject *type_comment; PyObject *type_ignore_type; PyObject *type_ignores; + PyObject *type_param_type; + PyObject *type_params; PyObject *unaryop_type; PyObject *upper; PyObject *value; diff --git a/src/external/windows/include/python/internal/pycore_atexit.h b/src/external/windows/include/python/internal/pycore_atexit.h new file mode 100644 index 00000000..eeef5eea --- /dev/null +++ b/src/external/windows/include/python/internal/pycore_atexit.h @@ -0,0 +1,57 @@ +#ifndef Py_INTERNAL_ATEXIT_H +#define Py_INTERNAL_ATEXIT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + + +//############### +// runtime atexit + +typedef void (*atexit_callbackfunc)(void); + +struct _atexit_runtime_state { + PyThread_type_lock mutex; +#define NEXITFUNCS 32 + atexit_callbackfunc callbacks[NEXITFUNCS]; + int ncallbacks; +}; + + +//################### +// interpreter atexit + +struct atexit_callback; +typedef struct atexit_callback { + atexit_datacallbackfunc func; + void *data; + struct atexit_callback *next; +} atexit_callback; + +typedef struct { + PyObject *func; + PyObject *args; + PyObject *kwargs; +} atexit_py_callback; + +struct atexit_state { + atexit_callback *ll_callbacks; + atexit_callback *last_ll_callback; + + // XXX The rest of the state could be moved to the atexit module state + // and a low-level callback added for it during module exec. + // For the moment we leave it here. + atexit_py_callback **callbacks; + int ncallbacks; + int callback_len; +}; + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_ATEXIT_H */ diff --git a/src/external/windows/include/python/internal/pycore_bytesobject.h b/src/external/windows/include/python/internal/pycore_bytesobject.h index 905a541c..024079ef 100644 --- a/src/external/windows/include/python/internal/pycore_bytesobject.h +++ b/src/external/windows/include/python/internal/pycore_bytesobject.h @@ -9,11 +9,6 @@ extern "C" { #endif -/* runtime lifecycle */ - -extern PyStatus _PyBytes_InitTypes(PyInterpreterState *); - - /* Substring Search. Returns the index of the first occurrence of diff --git a/src/external/windows/include/python/internal/pycore_call.h b/src/external/windows/include/python/internal/pycore_call.h index 51c25628..7c92619c 100755 --- a/src/external/windows/include/python/internal/pycore_call.h +++ b/src/external/windows/include/python/internal/pycore_call.h @@ -103,6 +103,7 @@ _PyObject_CallNoArgsTstate(PyThreadState *tstate, PyObject *func) { // Private static inline function variant of public PyObject_CallNoArgs() static inline PyObject * _PyObject_CallNoArgs(PyObject *func) { + EVAL_CALL_STAT_INC_IF_FUNCTION(EVAL_CALL_API, func); PyThreadState *tstate = _PyThreadState_GET(); return _PyObject_VectorcallTstate(tstate, func, NULL, 0, NULL); } @@ -111,9 +112,20 @@ _PyObject_CallNoArgs(PyObject *func) { static inline PyObject * _PyObject_FastCallTstate(PyThreadState *tstate, PyObject *func, PyObject *const *args, Py_ssize_t nargs) { + EVAL_CALL_STAT_INC_IF_FUNCTION(EVAL_CALL_API, func); return _PyObject_VectorcallTstate(tstate, func, args, (size_t)nargs, NULL); } +PyObject *const * +_PyStack_UnpackDict(PyThreadState *tstate, + PyObject *const *args, Py_ssize_t nargs, + PyObject *kwargs, PyObject **p_kwnames); + +void +_PyStack_UnpackDict_Free(PyObject *const *stack, Py_ssize_t nargs, + PyObject *kwnames); + +void _PyStack_UnpackDict_FreeNoDecRef(PyObject *const *stack, PyObject *kwnames); #ifdef __cplusplus } diff --git a/src/external/windows/include/python/internal/pycore_ceval.h b/src/external/windows/include/python/internal/pycore_ceval.h index 6b1adb50..9512856c 100755 --- a/src/external/windows/include/python/internal/pycore_ceval.h +++ b/src/external/windows/include/python/internal/pycore_ceval.h @@ -12,15 +12,8 @@ extern "C" { struct pyruntimestate; struct _ceval_runtime_state; -/* WASI has limited call stack. Python's recursion limit depends on code - layout, optimization, and WASI runtime. Wasmtime can handle about 700-750 - recursions, sometimes less. 600 is a more conservative limit. */ #ifndef Py_DEFAULT_RECURSION_LIMIT -# ifdef __wasi__ -# define Py_DEFAULT_RECURSION_LIMIT 600 -# else -# define Py_DEFAULT_RECURSION_LIMIT 1000 -# endif +# define Py_DEFAULT_RECURSION_LIMIT 1000 #endif #include "pycore_interp.h" // PyInterpreterState.eval_frame @@ -28,14 +21,14 @@ struct _ceval_runtime_state; extern void _Py_FinishPendingCalls(PyThreadState *tstate); -extern void _PyEval_InitRuntimeState(struct _ceval_runtime_state *); -extern void _PyEval_InitState(struct _ceval_state *, PyThread_type_lock); +extern void _PyEval_InitState(PyInterpreterState *, PyThread_type_lock); extern void _PyEval_FiniState(struct _ceval_state *ceval); PyAPI_FUNC(void) _PyEval_SignalReceived(PyInterpreterState *interp); PyAPI_FUNC(int) _PyEval_AddPendingCall( PyInterpreterState *interp, int (*func)(void *), - void *arg); + void *arg, + int mainthreadonly); PyAPI_FUNC(void) _PyEval_SignalAsyncExc(PyInterpreterState *interp); #ifdef HAVE_FORK extern PyStatus _PyEval_ReInitThreads(PyThreadState *tstate); @@ -65,10 +58,33 @@ extern PyObject* _PyEval_BuiltinsFromGlobals( PyThreadState *tstate, PyObject *globals); +// Trampoline API + +typedef struct { + // Callback to initialize the trampoline state + void* (*init_state)(void); + // Callback to register every trampoline being created + void (*write_state)(void* state, const void *code_addr, + unsigned int code_size, PyCodeObject* code); + // Callback to free the trampoline state + int (*free_state)(void* state); +} _PyPerf_Callbacks; + +extern int _PyPerfTrampoline_SetCallbacks(_PyPerf_Callbacks *); +extern void _PyPerfTrampoline_GetCallbacks(_PyPerf_Callbacks *); +extern int _PyPerfTrampoline_Init(int activate); +extern int _PyPerfTrampoline_Fini(void); +extern void _PyPerfTrampoline_FreeArenas(void); +extern int _PyIsPerfTrampolineActive(void); +extern PyStatus _PyPerfTrampoline_AfterFork_Child(void); +#ifdef PY_HAVE_PERF_TRAMPOLINE +extern _PyPerf_Callbacks _Py_perfmap_callbacks; +#endif static inline PyObject* _PyEval_EvalFrame(PyThreadState *tstate, struct _PyInterpreterFrame *frame, int throwflag) { + EVAL_CALL_STAT_INC(EVAL_CALL_TOTAL); if (tstate->interp->eval_frame == NULL) { return _PyEval_EvalFrameDefault(tstate, frame, throwflag); } @@ -81,11 +97,13 @@ _PyEval_Vector(PyThreadState *tstate, PyObject* const* args, size_t argcount, PyObject *kwnames); -extern int _PyEval_ThreadsInitialized(struct pyruntimestate *runtime); -extern PyStatus _PyEval_InitGIL(PyThreadState *tstate); +extern int _PyEval_ThreadsInitialized(void); +extern PyStatus _PyEval_InitGIL(PyThreadState *tstate, int own_gil); extern void _PyEval_FiniGIL(PyInterpreterState *interp); -extern void _PyEval_ReleaseLock(PyThreadState *tstate); +extern void _PyEval_AcquireLock(PyThreadState *tstate); +extern void _PyEval_ReleaseLock(PyInterpreterState *, PyThreadState *); +extern PyThreadState * _PyThreadState_SwapNoGIL(PyThreadState *); extern void _PyEval_DeactivateOpCache(void); @@ -96,12 +114,12 @@ extern void _PyEval_DeactivateOpCache(void); /* With USE_STACKCHECK macro defined, trigger stack checks in _Py_CheckRecursiveCall() on every 64th call to _Py_EnterRecursiveCall. */ static inline int _Py_MakeRecCheck(PyThreadState *tstate) { - return (tstate->recursion_remaining-- <= 0 - || (tstate->recursion_remaining & 63) == 0); + return (tstate->c_recursion_remaining-- <= 0 + || (tstate->c_recursion_remaining & 63) == 0); } #else static inline int _Py_MakeRecCheck(PyThreadState *tstate) { - return tstate->recursion_remaining-- <= 0; + return tstate->c_recursion_remaining-- <= 0; } #endif @@ -109,6 +127,9 @@ PyAPI_FUNC(int) _Py_CheckRecursiveCall( PyThreadState *tstate, const char *where); +int _Py_CheckRecursiveCallPy( + PyThreadState *tstate); + static inline int _Py_EnterRecursiveCallTstate(PyThreadState *tstate, const char *where) { return (_Py_MakeRecCheck(tstate) && _Py_CheckRecursiveCall(tstate, where)); @@ -120,7 +141,7 @@ static inline int _Py_EnterRecursiveCall(const char *where) { } static inline void _Py_LeaveRecursiveCallTstate(PyThreadState *tstate) { - tstate->recursion_remaining++; + tstate->c_recursion_remaining++; } static inline void _Py_LeaveRecursiveCall(void) { @@ -132,6 +153,11 @@ extern struct _PyInterpreterFrame* _PyEval_GetFrame(void); extern PyObject* _Py_MakeCoro(PyFunctionObject *func); +extern int _Py_HandlePending(PyThreadState *tstate); + +extern PyObject * _PyEval_GetFrameLocals(void); + + #ifdef __cplusplus } #endif diff --git a/src/external/windows/include/python/internal/pycore_ceval_state.h b/src/external/windows/include/python/internal/pycore_ceval_state.h new file mode 100644 index 00000000..3d6c4fde --- /dev/null +++ b/src/external/windows/include/python/internal/pycore_ceval_state.h @@ -0,0 +1,103 @@ +#ifndef Py_INTERNAL_CEVAL_STATE_H +#define Py_INTERNAL_CEVAL_STATE_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + + +#include "pycore_atomic.h" /* _Py_atomic_address */ +#include "pycore_gil.h" // struct _gil_runtime_state + + +struct _pending_calls { + int busy; + PyThread_type_lock lock; + /* Request for running pending calls. */ + _Py_atomic_int calls_to_do; + /* Request for looking at the `async_exc` field of the current + thread state. + Guarded by the GIL. */ + int async_exc; +#define NPENDINGCALLS 32 + struct _pending_call { + int (*func)(void *); + void *arg; + } calls[NPENDINGCALLS]; + int first; + int last; +}; + +typedef enum { + PERF_STATUS_FAILED = -1, // Perf trampoline is in an invalid state + PERF_STATUS_NO_INIT = 0, // Perf trampoline is not initialized + PERF_STATUS_OK = 1, // Perf trampoline is ready to be executed +} perf_status_t; + + +#ifdef PY_HAVE_PERF_TRAMPOLINE +struct code_arena_st; + +struct trampoline_api_st { + void* (*init_state)(void); + void (*write_state)(void* state, const void *code_addr, + unsigned int code_size, PyCodeObject* code); + int (*free_state)(void* state); + void *state; +}; +#endif + +struct _ceval_runtime_state { + struct { +#ifdef PY_HAVE_PERF_TRAMPOLINE + perf_status_t status; + Py_ssize_t extra_code_index; + struct code_arena_st *code_arena; + struct trampoline_api_st trampoline_api; + FILE *map_file; +#else + int _not_used; +#endif + } perf; + /* Request for checking signals. It is shared by all interpreters (see + bpo-40513). Any thread of any interpreter can receive a signal, but only + the main thread of the main interpreter can handle signals: see + _Py_ThreadCanHandleSignals(). */ + _Py_atomic_int signals_pending; + /* Pending calls to be made only on the main thread. */ + struct _pending_calls pending_mainthread; +}; + +#ifdef PY_HAVE_PERF_TRAMPOLINE +# define _PyEval_RUNTIME_PERF_INIT \ + { \ + .status = PERF_STATUS_NO_INIT, \ + .extra_code_index = -1, \ + } +#else +# define _PyEval_RUNTIME_PERF_INIT {0} +#endif + + +struct _ceval_state { + /* This single variable consolidates all requests to break out of + the fast path in the eval loop. */ + _Py_atomic_int eval_breaker; + /* Request for dropping the GIL */ + _Py_atomic_int gil_drop_request; + int recursion_limit; + struct _gil_runtime_state *gil; + int own_gil; + /* The GC is ready to be executed */ + _Py_atomic_int gc_scheduled; + struct _pending_calls pending; +}; + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_CEVAL_STATE_H */ diff --git a/src/external/windows/include/python/internal/pycore_code.h b/src/external/windows/include/python/internal/pycore_code.h index c35a4377..6835fc62 100755 --- a/src/external/windows/include/python/internal/pycore_code.h +++ b/src/external/windows/include/python/internal/pycore_code.h @@ -4,6 +4,8 @@ extern "C" { #endif +#define CODE_MAX_WATCHERS 8 + /* PEP 659 * Specialization and quickening structs and helper functions */ @@ -16,109 +18,95 @@ extern "C" { #define CACHE_ENTRIES(cache) (sizeof(cache)/sizeof(_Py_CODEUNIT)) typedef struct { - _Py_CODEUNIT counter; - _Py_CODEUNIT index; - _Py_CODEUNIT module_keys_version[2]; - _Py_CODEUNIT builtin_keys_version; + uint16_t counter; + uint16_t index; + uint16_t module_keys_version; + uint16_t builtin_keys_version; } _PyLoadGlobalCache; #define INLINE_CACHE_ENTRIES_LOAD_GLOBAL CACHE_ENTRIES(_PyLoadGlobalCache) typedef struct { - _Py_CODEUNIT counter; + uint16_t counter; } _PyBinaryOpCache; #define INLINE_CACHE_ENTRIES_BINARY_OP CACHE_ENTRIES(_PyBinaryOpCache) typedef struct { - _Py_CODEUNIT counter; + uint16_t counter; } _PyUnpackSequenceCache; #define INLINE_CACHE_ENTRIES_UNPACK_SEQUENCE \ CACHE_ENTRIES(_PyUnpackSequenceCache) typedef struct { - _Py_CODEUNIT counter; - _Py_CODEUNIT mask; + uint16_t counter; } _PyCompareOpCache; #define INLINE_CACHE_ENTRIES_COMPARE_OP CACHE_ENTRIES(_PyCompareOpCache) typedef struct { - _Py_CODEUNIT counter; - _Py_CODEUNIT type_version[2]; - _Py_CODEUNIT func_version; + uint16_t counter; } _PyBinarySubscrCache; #define INLINE_CACHE_ENTRIES_BINARY_SUBSCR CACHE_ENTRIES(_PyBinarySubscrCache) typedef struct { - _Py_CODEUNIT counter; - _Py_CODEUNIT version[2]; - _Py_CODEUNIT index; + uint16_t counter; +} _PySuperAttrCache; + +#define INLINE_CACHE_ENTRIES_LOAD_SUPER_ATTR CACHE_ENTRIES(_PySuperAttrCache) + +typedef struct { + uint16_t counter; + uint16_t version[2]; + uint16_t index; } _PyAttrCache; -#define INLINE_CACHE_ENTRIES_LOAD_ATTR CACHE_ENTRIES(_PyAttrCache) +typedef struct { + uint16_t counter; + uint16_t type_version[2]; + uint16_t keys_version[2]; + uint16_t descr[4]; +} _PyLoadMethodCache; + + +// MUST be the max(_PyAttrCache, _PyLoadMethodCache) +#define INLINE_CACHE_ENTRIES_LOAD_ATTR CACHE_ENTRIES(_PyLoadMethodCache) #define INLINE_CACHE_ENTRIES_STORE_ATTR CACHE_ENTRIES(_PyAttrCache) typedef struct { - _Py_CODEUNIT counter; - _Py_CODEUNIT type_version[2]; - _Py_CODEUNIT dict_offset; - _Py_CODEUNIT keys_version[2]; - _Py_CODEUNIT descr[4]; -} _PyLoadMethodCache; - -#define INLINE_CACHE_ENTRIES_LOAD_METHOD CACHE_ENTRIES(_PyLoadMethodCache) - -typedef struct { - _Py_CODEUNIT counter; - _Py_CODEUNIT func_version[2]; - _Py_CODEUNIT min_args; + uint16_t counter; + uint16_t func_version[2]; } _PyCallCache; #define INLINE_CACHE_ENTRIES_CALL CACHE_ENTRIES(_PyCallCache) typedef struct { - _Py_CODEUNIT counter; -} _PyPrecallCache; - -#define INLINE_CACHE_ENTRIES_PRECALL CACHE_ENTRIES(_PyPrecallCache) - -typedef struct { - _Py_CODEUNIT counter; + uint16_t counter; } _PyStoreSubscrCache; #define INLINE_CACHE_ENTRIES_STORE_SUBSCR CACHE_ENTRIES(_PyStoreSubscrCache) -#define QUICKENING_WARMUP_DELAY 8 +typedef struct { + uint16_t counter; +} _PyForIterCache; -/* We want to compare to zero for efficiency, so we offset values accordingly */ -#define QUICKENING_INITIAL_WARMUP_VALUE (-QUICKENING_WARMUP_DELAY) +#define INLINE_CACHE_ENTRIES_FOR_ITER CACHE_ENTRIES(_PyForIterCache) -void _PyCode_Quicken(PyCodeObject *code); +typedef struct { + uint16_t counter; +} _PySendCache; -static inline void -_PyCode_Warmup(PyCodeObject *code) -{ - if (code->co_warmup != 0) { - code->co_warmup++; - if (code->co_warmup == 0) { - _PyCode_Quicken(code); - } - } -} - -extern uint8_t _PyOpcode_Adaptive[256]; - -extern Py_ssize_t _Py_QuickenedCount; +#define INLINE_CACHE_ENTRIES_SEND CACHE_ENTRIES(_PySendCache) // Borrowed references to common callables: struct callable_cache { PyObject *isinstance; PyObject *len; PyObject *list_append; + PyObject *object__getattribute__; }; /* "Locals plus" for a code object is the set of locals + cell vars + @@ -140,6 +128,7 @@ struct callable_cache { // Note that these all fit within a byte, as do combinations. // Later, we will use the smaller numbers to differentiate the different // kinds of locals (e.g. pos-only arg, varkwargs, local-only). +#define CO_FAST_HIDDEN 0x10 #define CO_FAST_LOCAL 0x20 #define CO_FAST_CELL 0x40 #define CO_FAST_FREE 0x80 @@ -235,90 +224,47 @@ extern int _PyLineTable_PreviousAddressRange(PyCodeAddressRange *range); /* Specialization functions */ -extern int _Py_Specialize_LoadAttr(PyObject *owner, _Py_CODEUNIT *instr, - PyObject *name); -extern int _Py_Specialize_StoreAttr(PyObject *owner, _Py_CODEUNIT *instr, +extern void _Py_Specialize_LoadSuperAttr(PyObject *global_super, PyObject *cls, + _Py_CODEUNIT *instr, int load_method); +extern void _Py_Specialize_LoadAttr(PyObject *owner, _Py_CODEUNIT *instr, PyObject *name); -extern int _Py_Specialize_LoadGlobal(PyObject *globals, PyObject *builtins, _Py_CODEUNIT *instr, PyObject *name); -extern int _Py_Specialize_LoadMethod(PyObject *owner, _Py_CODEUNIT *instr, +extern void _Py_Specialize_StoreAttr(PyObject *owner, _Py_CODEUNIT *instr, PyObject *name); -extern int _Py_Specialize_BinarySubscr(PyObject *sub, PyObject *container, _Py_CODEUNIT *instr); -extern int _Py_Specialize_StoreSubscr(PyObject *container, PyObject *sub, _Py_CODEUNIT *instr); -extern int _Py_Specialize_Call(PyObject *callable, _Py_CODEUNIT *instr, - int nargs, PyObject *kwnames); -extern int _Py_Specialize_Precall(PyObject *callable, _Py_CODEUNIT *instr, - int nargs, PyObject *kwnames, int oparg); +extern void _Py_Specialize_LoadGlobal(PyObject *globals, PyObject *builtins, + _Py_CODEUNIT *instr, PyObject *name); +extern void _Py_Specialize_BinarySubscr(PyObject *sub, PyObject *container, + _Py_CODEUNIT *instr); +extern void _Py_Specialize_StoreSubscr(PyObject *container, PyObject *sub, + _Py_CODEUNIT *instr); +extern void _Py_Specialize_Call(PyObject *callable, _Py_CODEUNIT *instr, + int nargs, PyObject *kwnames); extern void _Py_Specialize_BinaryOp(PyObject *lhs, PyObject *rhs, _Py_CODEUNIT *instr, int oparg, PyObject **locals); extern void _Py_Specialize_CompareOp(PyObject *lhs, PyObject *rhs, _Py_CODEUNIT *instr, int oparg); extern void _Py_Specialize_UnpackSequence(PyObject *seq, _Py_CODEUNIT *instr, int oparg); +extern void _Py_Specialize_ForIter(PyObject *iter, _Py_CODEUNIT *instr, int oparg); +extern void _Py_Specialize_Send(PyObject *receiver, _Py_CODEUNIT *instr); -/* Deallocator function for static codeobjects used in deepfreeze.py */ -extern void _PyStaticCode_Dealloc(PyCodeObject *co); -/* Function to intern strings of codeobjects */ -extern int _PyStaticCode_InternStrings(PyCodeObject *co); +/* Finalizer function for static codeobjects used in deepfreeze.py */ +extern void _PyStaticCode_Fini(PyCodeObject *co); +/* Function to intern strings of codeobjects and quicken the bytecode */ +extern int _PyStaticCode_Init(PyCodeObject *co); #ifdef Py_STATS -#define SPECIALIZATION_FAILURE_KINDS 30 -typedef struct _specialization_stats { - uint64_t success; - uint64_t failure; - uint64_t hit; - uint64_t deferred; - uint64_t miss; - uint64_t deopt; - uint64_t failure_kinds[SPECIALIZATION_FAILURE_KINDS]; -} SpecializationStats; - -typedef struct _opcode_stats { - SpecializationStats specialization; - uint64_t execution_count; - uint64_t pair_count[256]; -} OpcodeStats; - -typedef struct _call_stats { - uint64_t inlined_py_calls; - uint64_t pyeval_calls; - uint64_t frames_pushed; - uint64_t frame_objects_created; -} CallStats; - -typedef struct _object_stats { - uint64_t allocations; - uint64_t allocations512; - uint64_t allocations4k; - uint64_t allocations_big; - uint64_t frees; - uint64_t to_freelist; - uint64_t from_freelist; - uint64_t new_values; - uint64_t dict_materialized_on_request; - uint64_t dict_materialized_new_key; - uint64_t dict_materialized_too_big; - uint64_t dict_materialized_str_subclass; -} ObjectStats; - -typedef struct _stats { - OpcodeStats opcode_stats[256]; - CallStats call_stats; - ObjectStats object_stats; -} PyStats; - -extern PyStats _py_stats; - -#define STAT_INC(opname, name) _py_stats.opcode_stats[opname].specialization.name++ -#define STAT_DEC(opname, name) _py_stats.opcode_stats[opname].specialization.name-- -#define OPCODE_EXE_INC(opname) _py_stats.opcode_stats[opname].execution_count++ -#define CALL_STAT_INC(name) _py_stats.call_stats.name++ -#define OBJECT_STAT_INC(name) _py_stats.object_stats.name++ +#define STAT_INC(opname, name) do { if (_py_stats) _py_stats->opcode_stats[opname].specialization.name++; } while (0) +#define STAT_DEC(opname, name) do { if (_py_stats) _py_stats->opcode_stats[opname].specialization.name--; } while (0) +#define OPCODE_EXE_INC(opname) do { if (_py_stats) _py_stats->opcode_stats[opname].execution_count++; } while (0) +#define CALL_STAT_INC(name) do { if (_py_stats) _py_stats->call_stats.name++; } while (0) +#define OBJECT_STAT_INC(name) do { if (_py_stats) _py_stats->object_stats.name++; } while (0) #define OBJECT_STAT_INC_COND(name, cond) \ - do { if (cond) _py_stats.object_stats.name++; } while (0) - -extern void _Py_PrintSpecializationStats(int to_file); + do { if (_py_stats && cond) _py_stats->object_stats.name++; } while (0) +#define EVAL_CALL_STAT_INC(name) do { if (_py_stats) _py_stats->call_stats.eval_calls[name]++; } while (0) +#define EVAL_CALL_STAT_INC_IF_FUNCTION(name, callable) \ + do { if (_py_stats && PyFunction_Check(callable)) _py_stats->call_stats.eval_calls[name]++; } while (0) // Used by the _opcode extension which is built as a shared library PyAPI_FUNC(PyObject*) _Py_GetSpecializationStats(void); @@ -330,112 +276,65 @@ PyAPI_FUNC(PyObject*) _Py_GetSpecializationStats(void); #define CALL_STAT_INC(name) ((void)0) #define OBJECT_STAT_INC(name) ((void)0) #define OBJECT_STAT_INC_COND(name, cond) ((void)0) +#define EVAL_CALL_STAT_INC(name) ((void)0) +#define EVAL_CALL_STAT_INC_IF_FUNCTION(name, callable) ((void)0) #endif // !Py_STATS -// Cache values are only valid in memory, so use native endianness. -#ifdef WORDS_BIGENDIAN +// Utility functions for reading/writing 32/64-bit values in the inline caches. +// Great care should be taken to ensure that these functions remain correct and +// performant! They should compile to just "move" instructions on all supported +// compilers and platforms. + +// We use memcpy to let the C compiler handle unaligned accesses and endianness +// issues for us. It also seems to produce better code than manual copying for +// most compilers (see https://blog.regehr.org/archives/959 for more info). static inline void write_u32(uint16_t *p, uint32_t val) { - p[0] = (uint16_t)(val >> 16); - p[1] = (uint16_t)(val >> 0); + memcpy(p, &val, sizeof(val)); } static inline void write_u64(uint16_t *p, uint64_t val) { - p[0] = (uint16_t)(val >> 48); - p[1] = (uint16_t)(val >> 32); - p[2] = (uint16_t)(val >> 16); - p[3] = (uint16_t)(val >> 0); + memcpy(p, &val, sizeof(val)); +} + +static inline void +write_obj(uint16_t *p, PyObject *val) +{ + memcpy(p, &val, sizeof(val)); +} + +static inline uint16_t +read_u16(uint16_t *p) +{ + return *p; } static inline uint32_t read_u32(uint16_t *p) { - uint32_t val = 0; - val |= (uint32_t)p[0] << 16; - val |= (uint32_t)p[1] << 0; + uint32_t val; + memcpy(&val, p, sizeof(val)); return val; } static inline uint64_t read_u64(uint16_t *p) { - uint64_t val = 0; - val |= (uint64_t)p[0] << 48; - val |= (uint64_t)p[1] << 32; - val |= (uint64_t)p[2] << 16; - val |= (uint64_t)p[3] << 0; + uint64_t val; + memcpy(&val, p, sizeof(val)); return val; } -#else - -static inline void -write_u32(uint16_t *p, uint32_t val) -{ - p[0] = (uint16_t)(val >> 0); - p[1] = (uint16_t)(val >> 16); -} - -static inline void -write_u64(uint16_t *p, uint64_t val) -{ - p[0] = (uint16_t)(val >> 0); - p[1] = (uint16_t)(val >> 16); - p[2] = (uint16_t)(val >> 32); - p[3] = (uint16_t)(val >> 48); -} - -static inline uint32_t -read_u32(uint16_t *p) -{ - uint32_t val = 0; - val |= (uint32_t)p[0] << 0; - val |= (uint32_t)p[1] << 16; - return val; -} - -static inline uint64_t -read_u64(uint16_t *p) -{ - uint64_t val = 0; - val |= (uint64_t)p[0] << 0; - val |= (uint64_t)p[1] << 16; - val |= (uint64_t)p[2] << 32; - val |= (uint64_t)p[3] << 48; - return val; -} - -#endif - -static inline void -write_obj(uint16_t *p, PyObject *obj) -{ - uintptr_t val = (uintptr_t)obj; -#if SIZEOF_VOID_P == 8 - write_u64(p, val); -#elif SIZEOF_VOID_P == 4 - write_u32(p, val); -#else - #error "SIZEOF_VOID_P must be 4 or 8" -#endif -} - static inline PyObject * read_obj(uint16_t *p) { - uintptr_t val; -#if SIZEOF_VOID_P == 8 - val = read_u64(p); -#elif SIZEOF_VOID_P == 4 - val = read_u32(p); -#else - #error "SIZEOF_VOID_P must be 4 or 8" -#endif - return (PyObject *)val; + PyObject *val; + memcpy(&val, p, sizeof(val)); + return val; } /* See Objects/exception_handling_notes.txt for details. @@ -460,27 +359,29 @@ write_varint(uint8_t *ptr, unsigned int val) val >>= 6; written++; } - *ptr = val; + *ptr = (uint8_t)val; return written; } static inline int write_signed_varint(uint8_t *ptr, int val) { + unsigned int uval; if (val < 0) { - val = ((-val)<<1) | 1; + // (unsigned int)(-val) has an undefined behavior for INT_MIN + uval = ((0 - (unsigned int)val) << 1) | 1; } else { - val = val << 1; + uval = (unsigned int)val << 1; } - return write_varint(ptr, val); + return write_varint(ptr, uval); } static inline int write_location_entry_start(uint8_t *ptr, int code, int length) { assert((code & 15) == code); - *ptr = 128 | (code << 3) | (length - 1); + *ptr = 128 | (uint8_t)(code << 3) | (uint8_t)(length - 1); return 1; } @@ -499,63 +400,94 @@ write_location_entry_start(uint8_t *ptr, int code, int length) /* With a 16-bit counter, we have 12 bits for the counter value, and 4 bits for the backoff */ #define ADAPTIVE_BACKOFF_BITS 4 -/* The initial counter value is 31 == 2**ADAPTIVE_BACKOFF_START - 1 */ -#define ADAPTIVE_BACKOFF_START 5 + +// A value of 1 means that we attempt to specialize the *second* time each +// instruction is executed. Executing twice is a much better indicator of +// "hotness" than executing once, but additional warmup delays only prevent +// specialization. Most types stabilize by the second execution, too: +#define ADAPTIVE_WARMUP_VALUE 1 +#define ADAPTIVE_WARMUP_BACKOFF 1 + +// A value of 52 means that we attempt to re-specialize after 53 misses (a prime +// number, useful for avoiding artifacts if every nth value is a different type +// or something). Setting the backoff to 0 means that the counter is reset to +// the same state as a warming-up instruction (value == 1, backoff == 1) after +// deoptimization. This isn't strictly necessary, but it is bit easier to reason +// about when thinking about the opcode transitions as a state machine: +#define ADAPTIVE_COOLDOWN_VALUE 52 +#define ADAPTIVE_COOLDOWN_BACKOFF 0 #define MAX_BACKOFF_VALUE (16 - ADAPTIVE_BACKOFF_BITS) static inline uint16_t -adaptive_counter_bits(int value, int backoff) { - return (value << ADAPTIVE_BACKOFF_BITS) | - (backoff & ((1< MAX_BACKOFF_VALUE) { backoff = MAX_BACKOFF_VALUE; } - unsigned int value = (1 << backoff) - 1; + uint16_t value = (uint16_t)(1 << backoff) - 1; return adaptive_counter_bits(value, backoff); } /* Line array cache for tracing */ -extern int _PyCode_CreateLineArray(PyCodeObject *co); +typedef struct _PyShimCodeDef { + const uint8_t *code; + int codelen; + int stacksize; + const char *cname; +} _PyShimCodeDef; -static inline int -_PyCode_InitLineArray(PyCodeObject *co) -{ - if (co->_co_linearray) { - return 0; - } - return _PyCode_CreateLineArray(co); -} +extern PyCodeObject * +_Py_MakeShimCode(const _PyShimCodeDef *code); -static inline int -_PyCode_LineNumberFromArray(PyCodeObject *co, int index) -{ - assert(co->_co_linearray != NULL); - assert(index >= 0); - assert(index < Py_SIZE(co)); - if (co->_co_linearray_entry_size == 2) { - return ((int16_t *)co->_co_linearray)[index]; - } - else { - assert(co->_co_linearray_entry_size == 4); - return ((int32_t *)co->_co_linearray)[index]; - } -} +extern uint32_t _Py_next_func_version; + + +/* Comparison bit masks. */ + +/* Note this evaluates its arguments twice each */ +#define COMPARISON_BIT(x, y) (1 << (2 * ((x) >= (y)) + ((x) <= (y)))) + +/* + * The following bits are chosen so that the value of + * COMPARSION_BIT(left, right) + * masked by the values below will be non-zero if the + * comparison is true, and zero if it is false */ + +/* This is for values that are unordered, ie. NaN, not types that are unordered, e.g. sets */ +#define COMPARISON_UNORDERED 1 + +#define COMPARISON_LESS_THAN 2 +#define COMPARISON_GREATER_THAN 4 +#define COMPARISON_EQUALS 8 + +#define COMPARISON_NOT_EQUALS (COMPARISON_UNORDERED | COMPARISON_LESS_THAN | COMPARISON_GREATER_THAN) + +extern int _Py_Instrument(PyCodeObject *co, PyInterpreterState *interp); + +extern int _Py_GetBaseOpcode(PyCodeObject *code, int offset); #ifdef __cplusplus diff --git a/src/external/windows/include/python/internal/pycore_compile.h b/src/external/windows/include/python/internal/pycore_compile.h index 986365eb..654d60e5 100755 --- a/src/external/windows/include/python/internal/pycore_compile.h +++ b/src/external/windows/include/python/internal/pycore_compile.h @@ -18,12 +18,8 @@ PyAPI_FUNC(PyCodeObject*) _PyAST_Compile( PyCompilerFlags *flags, int optimize, struct _arena *arena); -extern PyFutureFeatures* _PyFuture_FromAST( - struct _mod * mod, - PyObject *filename - ); -extern PyObject* _Py_Mangle(PyObject *p, PyObject *name); +static const _PyCompilerSrcLocation NO_LOCATION = {-1, -1, -1, -1}; typedef struct { int optimize; @@ -38,6 +34,84 @@ extern int _PyAST_Optimize( struct _arena *arena, _PyASTOptimizeState *state); +typedef struct { + int h_offset; + int h_startdepth; + int h_preserve_lasti; +} _PyCompile_ExceptHandlerInfo; + +typedef struct { + int i_opcode; + int i_oparg; + _PyCompilerSrcLocation i_loc; + _PyCompile_ExceptHandlerInfo i_except_handler_info; +} _PyCompile_Instruction; + +typedef struct { + _PyCompile_Instruction *s_instrs; + int s_allocated; + int s_used; + + int *s_labelmap; /* label id --> instr offset */ + int s_labelmap_size; + int s_next_free_label; /* next free label id */ +} _PyCompile_InstructionSequence; + +typedef struct { + PyObject *u_name; + PyObject *u_qualname; /* dot-separated qualified name (lazy) */ + + /* The following fields are dicts that map objects to + the index of them in co_XXX. The index is used as + the argument for opcodes that refer to those collections. + */ + PyObject *u_consts; /* all constants */ + PyObject *u_names; /* all names */ + PyObject *u_varnames; /* local variables */ + PyObject *u_cellvars; /* cell variables */ + PyObject *u_freevars; /* free variables */ + PyObject *u_fasthidden; /* dict; keys are names that are fast-locals only + temporarily within an inlined comprehension. When + value is True, treat as fast-local. */ + + Py_ssize_t u_argcount; /* number of arguments for block */ + Py_ssize_t u_posonlyargcount; /* number of positional only arguments for block */ + Py_ssize_t u_kwonlyargcount; /* number of keyword only arguments for block */ + + int u_firstlineno; /* the first lineno of the block */ +} _PyCompile_CodeUnitMetadata; + + +/* Utility for a number of growing arrays used in the compiler */ +int _PyCompile_EnsureArrayLargeEnough( + int idx, + void **array, + int *alloc, + int default_alloc, + size_t item_size); + +int _PyCompile_ConstCacheMergeOne(PyObject *const_cache, PyObject **obj); + +int _PyCompile_InstrSize(int opcode, int oparg); + +/* Access compiler internals for unit testing */ + +PyAPI_FUNC(PyObject*) _PyCompile_CodeGen( + PyObject *ast, + PyObject *filename, + PyCompilerFlags *flags, + int optimize, + int compile_mode); + +PyAPI_FUNC(PyObject*) _PyCompile_OptimizeCfg( + PyObject *instructions, + PyObject *consts, + int nlocals); + +PyAPI_FUNC(PyCodeObject*) +_PyCompile_Assemble(_PyCompile_CodeUnitMetadata *umd, PyObject *filename, + PyObject *instructions); + #ifdef __cplusplus } #endif diff --git a/src/external/windows/include/python/internal/pycore_context.h b/src/external/windows/include/python/internal/pycore_context.h index 4a87c5a7..7cca479f 100755 --- a/src/external/windows/include/python/internal/pycore_context.h +++ b/src/external/windows/include/python/internal/pycore_context.h @@ -18,6 +18,10 @@ void _PyContext_Fini(PyInterpreterState *); /* other API */ +typedef struct { + PyObject_HEAD +} _PyContextTokenMissing; + #ifndef WITH_FREELISTS // without freelists # define PyContext_MAXFREELIST 0 diff --git a/src/external/windows/include/python/internal/pycore_descrobject.h b/src/external/windows/include/python/internal/pycore_descrobject.h new file mode 100644 index 00000000..05799106 --- /dev/null +++ b/src/external/windows/include/python/internal/pycore_descrobject.h @@ -0,0 +1,26 @@ +#ifndef Py_INTERNAL_DESCROBJECT_H +#define Py_INTERNAL_DESCROBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +typedef struct { + PyObject_HEAD + PyObject *prop_get; + PyObject *prop_set; + PyObject *prop_del; + PyObject *prop_doc; + PyObject *prop_name; + int getter_doc; +} propertyobject; + +typedef propertyobject _PyPropertyObject; + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_DESCROBJECT_H */ diff --git a/src/external/windows/include/python/internal/pycore_dict.h b/src/external/windows/include/python/internal/pycore_dict.h index 93344874..4edadb7f 100644 --- a/src/external/windows/include/python/internal/pycore_dict.h +++ b/src/external/windows/include/python/internal/pycore_dict.h @@ -9,6 +9,9 @@ extern "C" { # error "this header requires Py_BUILD_CORE define" #endif +#include "pycore_dict_state.h" +#include "pycore_runtime.h" // _PyRuntime + /* runtime lifecycle */ @@ -17,25 +20,6 @@ extern void _PyDict_Fini(PyInterpreterState *interp); /* other API */ -#ifndef WITH_FREELISTS -// without freelists -# define PyDict_MAXFREELIST 0 -#endif - -#ifndef PyDict_MAXFREELIST -# define PyDict_MAXFREELIST 80 -#endif - -struct _Py_dict_state { -#if PyDict_MAXFREELIST > 0 - /* Dictionary reuse scheme to save calls to malloc and free */ - PyDictObject *free_list[PyDict_MAXFREELIST]; - int numfree; - PyDictKeysObject *keys_free_list[PyDict_MAXFREELIST]; - int keys_numfree; -#endif -}; - typedef struct { /* Cached hash code of me_key. */ Py_hash_t me_hash; @@ -53,16 +37,17 @@ extern PyObject *_PyDict_FromKeys(PyObject *, PyObject *, PyObject *); /* Gets a version number unique to the current state of the keys of dict, if possible. * Returns the version number, or zero if it was not possible to get a version number. */ -extern uint32_t _PyDictKeys_GetVersionForCurrentState(PyDictKeysObject *dictkeys); +extern uint32_t _PyDictKeys_GetVersionForCurrentState( + PyInterpreterState *interp, PyDictKeysObject *dictkeys); -extern Py_ssize_t _PyDict_KeysSize(PyDictKeysObject *keys); +extern size_t _PyDict_KeysSize(PyDictKeysObject *keys); /* _Py_dict_lookup() returns index of entry which can be used like DK_ENTRIES(dk)[index]. * -1 when no entry found, -3 when compare raises error. */ extern Py_ssize_t _Py_dict_lookup(PyDictObject *mp, PyObject *key, Py_hash_t hash, PyObject **value_addr); -extern Py_ssize_t _PyDict_GetItemHint(PyDictObject *, PyObject *, Py_ssize_t, PyObject **); +extern Py_ssize_t _PyDict_LookupIndex(PyDictObject *, PyObject *); extern Py_ssize_t _PyDictKeys_StringLookup(PyDictKeysObject* dictkeys, PyObject *key); extern PyObject *_PyDict_LoadGlobal(PyDictObject *, PyDictObject *, PyObject *); @@ -138,21 +123,57 @@ struct _dictvalues { PyObject *values[1]; }; -#define DK_LOG_SIZE(dk) ((dk)->dk_log2_size) +#define DK_LOG_SIZE(dk) _Py_RVALUE((dk)->dk_log2_size) #if SIZEOF_VOID_P > 4 #define DK_SIZE(dk) (((int64_t)1)<dk_kind == DICT_KEYS_GENERAL), (PyDictKeyEntry*)(&((int8_t*)((dk)->dk_indices))[(size_t)1 << (dk)->dk_log2_index_bytes])) -#define DK_UNICODE_ENTRIES(dk) \ - (assert(dk->dk_kind != DICT_KEYS_GENERAL), (PyDictUnicodeEntry*)(&((int8_t*)((dk)->dk_indices))[(size_t)1 << (dk)->dk_log2_index_bytes])) + +static inline void* _DK_ENTRIES(PyDictKeysObject *dk) { + int8_t *indices = (int8_t*)(dk->dk_indices); + size_t index = (size_t)1 << dk->dk_log2_index_bytes; + return (&indices[index]); +} +static inline PyDictKeyEntry* DK_ENTRIES(PyDictKeysObject *dk) { + assert(dk->dk_kind == DICT_KEYS_GENERAL); + return (PyDictKeyEntry*)_DK_ENTRIES(dk); +} +static inline PyDictUnicodeEntry* DK_UNICODE_ENTRIES(PyDictKeysObject *dk) { + assert(dk->dk_kind != DICT_KEYS_GENERAL); + return (PyDictUnicodeEntry*)_DK_ENTRIES(dk); +} + #define DK_IS_UNICODE(dk) ((dk)->dk_kind != DICT_KEYS_GENERAL) -extern uint64_t _pydict_global_version; +#define DICT_VERSION_INCREMENT (1 << DICT_MAX_WATCHERS) +#define DICT_VERSION_MASK (DICT_VERSION_INCREMENT - 1) -#define DICT_NEXT_VERSION() (++_pydict_global_version) +#define DICT_NEXT_VERSION(INTERP) \ + ((INTERP)->dict_state.global_version += DICT_VERSION_INCREMENT) + +void +_PyDict_SendEvent(int watcher_bits, + PyDict_WatchEvent event, + PyDictObject *mp, + PyObject *key, + PyObject *value); + +static inline uint64_t +_PyDict_NotifyEvent(PyInterpreterState *interp, + PyDict_WatchEvent event, + PyDictObject *mp, + PyObject *key, + PyObject *value) +{ + assert(Py_REFCNT((PyObject*)mp) > 0); + int watcher_bits = mp->ma_version_tag & DICT_VERSION_MASK; + if (watcher_bits) { + _PyDict_SendEvent(watcher_bits, event, mp, key, value); + return DICT_NEXT_VERSION(interp) | watcher_bits; + } + return DICT_NEXT_VERSION(interp); +} extern PyObject *_PyObject_MakeDictFromInstanceAttributes(PyObject *obj, PyDictValues *values); extern PyObject *_PyDict_FromItems( diff --git a/src/external/windows/include/python/internal/pycore_dict_state.h b/src/external/windows/include/python/internal/pycore_dict_state.h new file mode 100644 index 00000000..1c23c92e --- /dev/null +++ b/src/external/windows/include/python/internal/pycore_dict_state.h @@ -0,0 +1,50 @@ +#ifndef Py_INTERNAL_DICT_STATE_H +#define Py_INTERNAL_DICT_STATE_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + + +#ifndef WITH_FREELISTS +// without freelists +# define PyDict_MAXFREELIST 0 +#endif + +#ifndef PyDict_MAXFREELIST +# define PyDict_MAXFREELIST 80 +#endif + +#define DICT_MAX_WATCHERS 8 + +struct _Py_dict_state { + /*Global counter used to set ma_version_tag field of dictionary. + * It is incremented each time that a dictionary is created and each + * time that a dictionary is modified. */ + uint64_t global_version; + uint32_t next_keys_version; + +#if PyDict_MAXFREELIST > 0 + /* Dictionary reuse scheme to save calls to malloc and free */ + PyDictObject *free_list[PyDict_MAXFREELIST]; + PyDictKeysObject *keys_free_list[PyDict_MAXFREELIST]; + int numfree; + int keys_numfree; +#endif + + PyDict_WatchCallback watchers[DICT_MAX_WATCHERS]; +}; + +#define _dict_state_INIT \ + { \ + .next_keys_version = 2, \ + } + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_DICT_STATE_H */ diff --git a/src/external/windows/include/python/internal/pycore_dtoa.h b/src/external/windows/include/python/internal/pycore_dtoa.h index 06361655..a4e81e72 100755 --- a/src/external/windows/include/python/internal/pycore_dtoa.h +++ b/src/external/windows/include/python/internal/pycore_dtoa.h @@ -1,3 +1,5 @@ +#ifndef Py_INTERNAL_DTOA_H +#define Py_INTERNAL_DTOA_H #ifdef __cplusplus extern "C" { #endif @@ -11,6 +13,50 @@ extern "C" { #if _PY_SHORT_FLOAT_REPR == 1 +typedef uint32_t ULong; + +struct +Bigint { + struct Bigint *next; + int k, maxwds, sign, wds; + ULong x[1]; +}; + +#ifdef Py_USING_MEMORY_DEBUGGER + +struct _dtoa_state { + int _not_used; +}; +#define _dtoa_interp_state_INIT(INTERP) \ + {0} + +#else // !Py_USING_MEMORY_DEBUGGER + +/* The size of the Bigint freelist */ +#define Bigint_Kmax 7 + +#ifndef PRIVATE_MEM +#define PRIVATE_MEM 2304 +#endif +#define Bigint_PREALLOC_SIZE \ + ((PRIVATE_MEM+sizeof(double)-1)/sizeof(double)) + +struct _dtoa_state { + /* p5s is a linked list of powers of 5 of the form 5**(2**i), i >= 2 */ + // XXX This should be freed during runtime fini. + struct Bigint *p5s; + struct Bigint *freelist[Bigint_Kmax+1]; + double preallocated[Bigint_PREALLOC_SIZE]; + double *preallocated_next; +}; +#define _dtoa_state_INIT(INTERP) \ + { \ + .preallocated_next = (INTERP)->dtoa.preallocated, \ + } + +#endif // !Py_USING_MEMORY_DEBUGGER + + /* These functions are used by modules compiled as C extension like math: they must be exported. */ @@ -18,11 +64,10 @@ PyAPI_FUNC(double) _Py_dg_strtod(const char *str, char **ptr); PyAPI_FUNC(char *) _Py_dg_dtoa(double d, int mode, int ndigits, int *decpt, int *sign, char **rve); PyAPI_FUNC(void) _Py_dg_freedtoa(char *s); -PyAPI_FUNC(double) _Py_dg_stdnan(int sign); -PyAPI_FUNC(double) _Py_dg_infinity(int sign); #endif // _PY_SHORT_FLOAT_REPR == 1 #ifdef __cplusplus } #endif +#endif /* !Py_INTERNAL_DTOA_H */ diff --git a/src/external/windows/include/python/internal/pycore_faulthandler.h b/src/external/windows/include/python/internal/pycore_faulthandler.h new file mode 100644 index 00000000..b408e761 --- /dev/null +++ b/src/external/windows/include/python/internal/pycore_faulthandler.h @@ -0,0 +1,99 @@ +#ifndef Py_INTERNAL_FAULTHANDLER_H +#define Py_INTERNAL_FAULTHANDLER_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#ifdef HAVE_SIGACTION +# include +#endif + + +#ifndef MS_WINDOWS + /* register() is useless on Windows, because only SIGSEGV, SIGABRT and + SIGILL can be handled by the process, and these signals can only be used + with enable(), not using register() */ +# define FAULTHANDLER_USER +#endif + + +#ifdef HAVE_SIGACTION +/* Using an alternative stack requires sigaltstack() + and sigaction() SA_ONSTACK */ +# ifdef HAVE_SIGALTSTACK +# define FAULTHANDLER_USE_ALT_STACK +# endif +typedef struct sigaction _Py_sighandler_t; +#else +typedef PyOS_sighandler_t _Py_sighandler_t; +#endif // HAVE_SIGACTION + + +#ifdef FAULTHANDLER_USER +struct faulthandler_user_signal { + int enabled; + PyObject *file; + int fd; + int all_threads; + int chain; + _Py_sighandler_t previous; + PyInterpreterState *interp; +}; +#endif /* FAULTHANDLER_USER */ + + +struct _faulthandler_runtime_state { + struct { + int enabled; + PyObject *file; + int fd; + int all_threads; + PyInterpreterState *interp; +#ifdef MS_WINDOWS + void *exc_handler; +#endif + } fatal_error; + + struct { + PyObject *file; + int fd; + PY_TIMEOUT_T timeout_us; /* timeout in microseconds */ + int repeat; + PyInterpreterState *interp; + int exit; + char *header; + size_t header_len; + /* The main thread always holds this lock. It is only released when + faulthandler_thread() is interrupted before this thread exits, or at + Python exit. */ + PyThread_type_lock cancel_event; + /* released by child thread when joined */ + PyThread_type_lock running; + } thread; + +#ifdef FAULTHANDLER_USER + struct faulthandler_user_signal *user_signals; +#endif + +#ifdef FAULTHANDLER_USE_ALT_STACK + stack_t stack; + stack_t old_stack; +#endif +}; + +#define _faulthandler_runtime_state_INIT \ + { \ + .fatal_error = { \ + .fd = -1, \ + }, \ + } + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_FAULTHANDLER_H */ diff --git a/src/external/windows/include/python/internal/pycore_fileutils.h b/src/external/windows/include/python/internal/pycore_fileutils.h index 8252b75e..1e3c9b27 100755 --- a/src/external/windows/include/python/internal/pycore_fileutils.h +++ b/src/external/windows/include/python/internal/pycore_fileutils.h @@ -10,6 +10,11 @@ extern "C" { #include /* struct lconv */ + +struct _fileutils_state { + int force_ascii; +}; + typedef enum { _Py_ERROR_UNKNOWN=0, _Py_ERROR_STRICT, @@ -61,7 +66,7 @@ PyAPI_FUNC(PyObject *) _Py_device_encoding(int); #ifdef MS_WINDOWS struct _Py_stat_struct { - unsigned long st_dev; + uint64_t st_dev; uint64_t st_ino; unsigned short st_mode; int st_nlink; @@ -75,8 +80,11 @@ struct _Py_stat_struct { int st_mtime_nsec; time_t st_ctime; int st_ctime_nsec; + time_t st_birthtime; + int st_birthtime_nsec; unsigned long st_file_attributes; unsigned long st_reparse_tag; + uint64_t st_ino_high; }; #else # define _Py_stat_struct stat @@ -155,11 +163,11 @@ PyAPI_FUNC(int) _Py_set_inheritable_async_safe(int fd, int inheritable, PyAPI_FUNC(int) _Py_dup(int fd); -#ifndef MS_WINDOWS PyAPI_FUNC(int) _Py_get_blocking(int fd); PyAPI_FUNC(int) _Py_set_blocking(int fd, int blocking); -#else /* MS_WINDOWS */ + +#ifdef MS_WINDOWS PyAPI_FUNC(void*) _Py_get_osfhandle_noraise(int fd); PyAPI_FUNC(void*) _Py_get_osfhandle(int fd); @@ -244,8 +252,17 @@ extern int _Py_add_relfile(wchar_t *dirname, const wchar_t *relfile, size_t bufsize); extern size_t _Py_find_basename(const wchar_t *filename); -PyAPI_FUNC(wchar_t *) _Py_normpath(wchar_t *path, Py_ssize_t size); +PyAPI_FUNC(wchar_t*) _Py_normpath(wchar_t *path, Py_ssize_t size); +extern wchar_t *_Py_normpath_and_size(wchar_t *path, Py_ssize_t size, Py_ssize_t *length); +// The Windows Games API family does not provide these functions +// so provide our own implementations. Remove them in case they get added +// to the Games API family +#if defined(MS_WINDOWS_GAMES) && !defined(MS_WINDOWS_DESKTOP) +#include + +extern HRESULT PathCchSkipRoot(const wchar_t *pszPath, const wchar_t **ppszRootEnd); +#endif /* defined(MS_WINDOWS_GAMES) && !defined(MS_WINDOWS_DESKTOP) */ // Macros to protect CRT calls against instant termination when passed an // invalid parameter (bpo-23524). IPH stands for Invalid Parameter Handler. diff --git a/src/external/windows/include/python/internal/pycore_fileutils_windows.h b/src/external/windows/include/python/internal/pycore_fileutils_windows.h new file mode 100644 index 00000000..8db99c09 --- /dev/null +++ b/src/external/windows/include/python/internal/pycore_fileutils_windows.h @@ -0,0 +1,98 @@ +#ifndef Py_INTERNAL_FILEUTILS_WINDOWS_H +#define Py_INTERNAL_FILEUTILS_WINDOWS_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "Py_BUILD_CORE must be defined to include this header" +#endif + +#ifdef MS_WINDOWS + +#if !defined(NTDDI_WIN10_NI) || !(NTDDI_VERSION >= NTDDI_WIN10_NI) +typedef struct _FILE_STAT_BASIC_INFORMATION { + LARGE_INTEGER FileId; + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER LastWriteTime; + LARGE_INTEGER ChangeTime; + LARGE_INTEGER AllocationSize; + LARGE_INTEGER EndOfFile; + ULONG FileAttributes; + ULONG ReparseTag; + ULONG NumberOfLinks; + ULONG DeviceType; + ULONG DeviceCharacteristics; + ULONG Reserved; + LARGE_INTEGER VolumeSerialNumber; + FILE_ID_128 FileId128; +} FILE_STAT_BASIC_INFORMATION; + +typedef enum _FILE_INFO_BY_NAME_CLASS { + FileStatByNameInfo, + FileStatLxByNameInfo, + FileCaseSensitiveByNameInfo, + FileStatBasicByNameInfo, + MaximumFileInfoByNameClass +} FILE_INFO_BY_NAME_CLASS; +#endif + +typedef BOOL (WINAPI *PGetFileInformationByName)( + PCWSTR FileName, + FILE_INFO_BY_NAME_CLASS FileInformationClass, + PVOID FileInfoBuffer, + ULONG FileInfoBufferSize +); + +static inline BOOL _Py_GetFileInformationByName( + PCWSTR FileName, + FILE_INFO_BY_NAME_CLASS FileInformationClass, + PVOID FileInfoBuffer, + ULONG FileInfoBufferSize +) { + static PGetFileInformationByName GetFileInformationByName = NULL; + static int GetFileInformationByName_init = -1; + + if (GetFileInformationByName_init < 0) { + HMODULE hMod = LoadLibraryW(L"api-ms-win-core-file-l2-1-4"); + GetFileInformationByName_init = 0; + if (hMod) { + GetFileInformationByName = (PGetFileInformationByName)GetProcAddress( + hMod, "GetFileInformationByName"); + if (GetFileInformationByName) { + GetFileInformationByName_init = 1; + } else { + FreeLibrary(hMod); + } + } + } + + if (GetFileInformationByName_init <= 0) { + SetLastError(ERROR_NOT_SUPPORTED); + return FALSE; + } + return GetFileInformationByName(FileName, FileInformationClass, FileInfoBuffer, FileInfoBufferSize); +} + +static inline BOOL _Py_GetFileInformationByName_ErrorIsTrustworthy(int error) +{ + switch(error) { + case ERROR_FILE_NOT_FOUND: + case ERROR_PATH_NOT_FOUND: + case ERROR_NOT_READY: + case ERROR_BAD_NET_NAME: + case ERROR_BAD_NETPATH: + case ERROR_BAD_PATHNAME: + case ERROR_INVALID_NAME: + case ERROR_FILENAME_EXCED_RANGE: + return TRUE; + case ERROR_NOT_SUPPORTED: + return FALSE; + } + return FALSE; +} + +#endif + +#endif diff --git a/src/external/windows/include/python/internal/pycore_floatobject.h b/src/external/windows/include/python/internal/pycore_floatobject.h index a4467b4c..054d879d 100644 --- a/src/external/windows/include/python/internal/pycore_floatobject.h +++ b/src/external/windows/include/python/internal/pycore_floatobject.h @@ -19,6 +19,18 @@ extern void _PyFloat_FiniType(PyInterpreterState *); /* other API */ +enum _py_float_format_type { + _py_float_format_unknown, + _py_float_format_ieee_big_endian, + _py_float_format_ieee_little_endian, +}; + +struct _Py_float_runtime_state { + enum _py_float_format_type float_format; + enum _py_float_format_type double_format; +}; + + #ifndef WITH_FREELISTS // without freelists # define PyFloat_MAXFREELIST 0 diff --git a/src/external/windows/include/python/internal/pycore_flowgraph.h b/src/external/windows/include/python/internal/pycore_flowgraph.h new file mode 100644 index 00000000..3eaac09b --- /dev/null +++ b/src/external/windows/include/python/internal/pycore_flowgraph.h @@ -0,0 +1,120 @@ +#ifndef Py_INTERNAL_CFG_H +#define Py_INTERNAL_CFG_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "pycore_opcode_utils.h" +#include "pycore_compile.h" + + +typedef struct { + int i_opcode; + int i_oparg; + _PyCompilerSrcLocation i_loc; + struct _PyCfgBasicblock_ *i_target; /* target block (if jump instruction) */ + struct _PyCfgBasicblock_ *i_except; /* target block when exception is raised */ +} _PyCfgInstruction; + +typedef struct { + int id; +} _PyCfgJumpTargetLabel; + + +typedef struct { + struct _PyCfgBasicblock_ *handlers[CO_MAXBLOCKS+2]; + int depth; +} _PyCfgExceptStack; + +typedef struct _PyCfgBasicblock_ { + /* Each basicblock in a compilation unit is linked via b_list in the + reverse order that the block are allocated. b_list points to the next + block in this list, not to be confused with b_next, which is next by + control flow. */ + struct _PyCfgBasicblock_ *b_list; + /* The label of this block if it is a jump target, -1 otherwise */ + _PyCfgJumpTargetLabel b_label; + /* Exception stack at start of block, used by assembler to create the exception handling table */ + _PyCfgExceptStack *b_exceptstack; + /* pointer to an array of instructions, initially NULL */ + _PyCfgInstruction *b_instr; + /* If b_next is non-NULL, it is a pointer to the next + block reached by normal control flow. */ + struct _PyCfgBasicblock_ *b_next; + /* number of instructions used */ + int b_iused; + /* length of instruction array (b_instr) */ + int b_ialloc; + /* Used by add_checks_for_loads_of_unknown_variables */ + uint64_t b_unsafe_locals_mask; + /* Number of predecessors that a block has. */ + int b_predecessors; + /* depth of stack upon entry of block, computed by stackdepth() */ + int b_startdepth; + /* instruction offset for block, computed by assemble_jump_offsets() */ + int b_offset; + /* Basic block is an exception handler that preserves lasti */ + unsigned b_preserve_lasti : 1; + /* Used by compiler passes to mark whether they have visited a basic block. */ + unsigned b_visited : 1; + /* b_except_handler is used by the cold-detection algorithm to mark exception targets */ + unsigned b_except_handler : 1; + /* b_cold is true if this block is not perf critical (like an exception handler) */ + unsigned b_cold : 1; + /* b_warm is used by the cold-detection algorithm to mark blocks which are definitely not cold */ + unsigned b_warm : 1; +} _PyCfgBasicblock; + +int _PyBasicblock_InsertInstruction(_PyCfgBasicblock *block, int pos, _PyCfgInstruction *instr); + +typedef struct cfg_builder_ { + /* The entryblock, at which control flow begins. All blocks of the + CFG are reachable through the b_next links */ + _PyCfgBasicblock *g_entryblock; + /* Pointer to the most recently allocated block. By following + b_list links, you can reach all allocated blocks. */ + _PyCfgBasicblock *g_block_list; + /* pointer to the block currently being constructed */ + _PyCfgBasicblock *g_curblock; + /* label for the next instruction to be placed */ + _PyCfgJumpTargetLabel g_current_label; +} _PyCfgBuilder; + +int _PyCfgBuilder_UseLabel(_PyCfgBuilder *g, _PyCfgJumpTargetLabel lbl); +int _PyCfgBuilder_Addop(_PyCfgBuilder *g, int opcode, int oparg, _PyCompilerSrcLocation loc); + +int _PyCfgBuilder_Init(_PyCfgBuilder *g); +void _PyCfgBuilder_Fini(_PyCfgBuilder *g); + +_PyCfgInstruction* _PyCfg_BasicblockLastInstr(const _PyCfgBasicblock *b); +int _PyCfg_OptimizeCodeUnit(_PyCfgBuilder *g, PyObject *consts, PyObject *const_cache, + int code_flags, int nlocals, int nparams, int firstlineno); +int _PyCfg_Stackdepth(_PyCfgBasicblock *entryblock, int code_flags); +void _PyCfg_ConvertPseudoOps(_PyCfgBasicblock *entryblock); +int _PyCfg_ResolveJumps(_PyCfgBuilder *g); + + +static inline int +basicblock_nofallthrough(const _PyCfgBasicblock *b) { + _PyCfgInstruction *last = _PyCfg_BasicblockLastInstr(b); + return (last && + (IS_SCOPE_EXIT_OPCODE(last->i_opcode) || + IS_UNCONDITIONAL_JUMP_OPCODE(last->i_opcode))); +} + +#define BB_NO_FALLTHROUGH(B) (basicblock_nofallthrough(B)) +#define BB_HAS_FALLTHROUGH(B) (!basicblock_nofallthrough(B)) + +PyCodeObject * +_PyAssemble_MakeCodeObject(_PyCompile_CodeUnitMetadata *u, PyObject *const_cache, + PyObject *consts, int maxdepth, _PyCompile_InstructionSequence *instrs, + int nlocalsplus, int code_flags, PyObject *filename); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_CFG_H */ diff --git a/src/external/windows/include/python/internal/pycore_format.h b/src/external/windows/include/python/internal/pycore_format.h index 0cdf3ac0..49c937a0 100755 --- a/src/external/windows/include/python/internal/pycore_format.h +++ b/src/external/windows/include/python/internal/pycore_format.h @@ -14,14 +14,12 @@ extern "C" { * F_BLANK ' ' * F_ALT '#' * F_ZERO '0' - * F_NO_NEG_0 'z' */ #define F_LJUST (1<<0) #define F_SIGN (1<<1) #define F_BLANK (1<<2) #define F_ALT (1<<3) #define F_ZERO (1<<4) -#define F_NO_NEG_0 (1<<5) #ifdef __cplusplus } diff --git a/src/external/windows/include/python/internal/pycore_frame.h b/src/external/windows/include/python/internal/pycore_frame.h index b1fbd516..47bb28da 100644 --- a/src/external/windows/include/python/internal/pycore_frame.h +++ b/src/external/windows/include/python/internal/pycore_frame.h @@ -6,6 +6,7 @@ extern "C" { #include #include +#include "pycore_code.h" // STATS /* See Objects/frame_layout.md for an explanation of the frame stack * including explanation of the PyFrameObject and _PyInterpreterFrame @@ -38,29 +39,36 @@ typedef enum _framestate { FRAME_CLEARED = 4 } PyFrameState; +#define FRAME_STATE_FINISHED(S) ((S) >= FRAME_COMPLETED) + enum _frameowner { FRAME_OWNED_BY_THREAD = 0, FRAME_OWNED_BY_GENERATOR = 1, - FRAME_OWNED_BY_FRAME_OBJECT = 2 + FRAME_OWNED_BY_FRAME_OBJECT = 2, + FRAME_OWNED_BY_CSTACK = 3, }; typedef struct _PyInterpreterFrame { - /* "Specials" section */ - PyFunctionObject *f_func; /* Strong reference */ - PyObject *f_globals; /* Borrowed reference */ - PyObject *f_builtins; /* Borrowed reference */ - PyObject *f_locals; /* Strong reference, may be NULL */ PyCodeObject *f_code; /* Strong reference */ - PyFrameObject *frame_obj; /* Strong reference, may be NULL */ - /* Linkage section */ struct _PyInterpreterFrame *previous; + PyObject *f_funcobj; /* Strong reference. Only valid if not on C stack */ + PyObject *f_globals; /* Borrowed reference. Only valid if not on C stack */ + PyObject *f_builtins; /* Borrowed reference. Only valid if not on C stack */ + PyObject *f_locals; /* Strong reference, may be NULL. Only valid if not on C stack */ + PyFrameObject *frame_obj; /* Strong reference, may be NULL. Only valid if not on C stack */ // NOTE: This is not necessarily the last instruction started in the given // frame. Rather, it is the code unit *prior to* the *next* instruction. For // example, it may be an inline CACHE entry, an instruction we just jumped // over, or (in the case of a newly-created frame) a totally invalid value: _Py_CODEUNIT *prev_instr; - int stacktop; /* Offset of TOS from localsplus */ - bool is_entry; // Whether this is the "root" frame for the current _PyCFrame. + int stacktop; /* Offset of TOS from localsplus */ + /* The return_offset determines where a `RETURN` should go in the caller, + * relative to `prev_instr`. + * It is only meaningful to the callee, + * so it needs to be set in any CALL (to a Python function) + * or SEND (to a coroutine or generator). + * If there is no callee, then it is meaningless. */ + uint16_t return_offset; char owner; /* Locals and stack */ PyObject *localsplus[1]; @@ -90,7 +98,16 @@ static inline void _PyFrame_StackPush(_PyInterpreterFrame *f, PyObject *value) { f->stacktop++; } -#define FRAME_SPECIALS_SIZE ((sizeof(_PyInterpreterFrame)-1)/sizeof(PyObject *)) +#define FRAME_SPECIALS_SIZE ((int)((sizeof(_PyInterpreterFrame)-1)/sizeof(PyObject *))) + +static inline int +_PyFrame_NumSlotsForCodeObject(PyCodeObject *code) +{ + /* This function needs to remain in sync with the calculation of + * co_framesize in Tools/build/deepfreeze.py */ + assert(code->co_framesize >= FRAME_SPECIALS_SIZE); + return code->co_framesize - FRAME_SPECIALS_SIZE; +} void _PyFrame_Copy(_PyInterpreterFrame *src, _PyInterpreterFrame *dest); @@ -99,20 +116,24 @@ void _PyFrame_Copy(_PyInterpreterFrame *src, _PyInterpreterFrame *dest); when frame is linked into the frame stack. */ static inline void -_PyFrame_InitializeSpecials( +_PyFrame_Initialize( _PyInterpreterFrame *frame, PyFunctionObject *func, - PyObject *locals, int nlocalsplus) + PyObject *locals, PyCodeObject *code, int null_locals_from) { - frame->f_func = func; - frame->f_code = (PyCodeObject *)Py_NewRef(func->func_code); + frame->f_funcobj = (PyObject *)func; + frame->f_code = (PyCodeObject *)Py_NewRef(code); frame->f_builtins = func->func_builtins; frame->f_globals = func->func_globals; - frame->f_locals = Py_XNewRef(locals); - frame->stacktop = nlocalsplus; + frame->f_locals = locals; + frame->stacktop = code->co_nlocalsplus; frame->frame_obj = NULL; - frame->prev_instr = _PyCode_CODE(frame->f_code) - 1; - frame->is_entry = false; + frame->prev_instr = _PyCode_CODE(code) - 1; + frame->return_offset = 0; frame->owner = FRAME_OWNED_BY_THREAD; + + for (int i = null_locals_from; i < code->co_nlocalsplus; i++) { + frame->localsplus[i] = NULL; + } } /* Gets the pointer to the locals array @@ -124,10 +145,16 @@ _PyFrame_GetLocalsArray(_PyInterpreterFrame *frame) return frame->localsplus; } +/* Fetches the stack pointer, and sets stacktop to -1. + Having stacktop <= 0 ensures that invalid + values are not visible to the cycle GC. + We choose -1 rather than 0 to assist debugging. */ static inline PyObject** _PyFrame_GetStackPointer(_PyInterpreterFrame *frame) { - return frame->localsplus+frame->stacktop; + PyObject **sp = frame->localsplus + frame->stacktop; + frame->stacktop = -1; + return sp; } static inline void @@ -151,6 +178,21 @@ _PyFrame_IsIncomplete(_PyInterpreterFrame *frame) frame->prev_instr < _PyCode_CODE(frame->f_code) + frame->f_code->_co_firsttraceable; } +static inline _PyInterpreterFrame * +_PyFrame_GetFirstComplete(_PyInterpreterFrame *frame) +{ + while (frame && _PyFrame_IsIncomplete(frame)) { + frame = frame->previous; + } + return frame; +} + +static inline _PyInterpreterFrame * +_PyThreadState_GetFrame(PyThreadState *tstate) +{ + return _PyFrame_GetFirstComplete(tstate->cframe->current_frame); +} + /* For use by _PyFrame_GetFrameObject Do not call directly. */ PyFrameObject * @@ -181,22 +223,22 @@ _PyFrame_GetFrameObject(_PyInterpreterFrame *frame) * frames like the ones in generators and coroutines. */ void -_PyFrame_Clear(_PyInterpreterFrame * frame); +_PyFrame_ClearExceptCode(_PyInterpreterFrame * frame); int _PyFrame_Traverse(_PyInterpreterFrame *frame, visitproc visit, void *arg); +PyObject * +_PyFrame_GetLocals(_PyInterpreterFrame *frame, int include_hidden); + int _PyFrame_FastToLocalsWithError(_PyInterpreterFrame *frame); void _PyFrame_LocalsToFast(_PyInterpreterFrame *frame, int clear); -extern _PyInterpreterFrame * -_PyThreadState_BumpFramePointerSlow(PyThreadState *tstate, size_t size); - static inline bool -_PyThreadState_HasStackSpace(PyThreadState *tstate, size_t size) +_PyThreadState_HasStackSpace(PyThreadState *tstate, int size) { assert( (tstate->datastack_top == NULL && tstate->datastack_limit == NULL) @@ -204,27 +246,28 @@ _PyThreadState_HasStackSpace(PyThreadState *tstate, size_t size) (tstate->datastack_top != NULL && tstate->datastack_limit != NULL) ); return tstate->datastack_top != NULL && - size < (size_t)(tstate->datastack_limit - tstate->datastack_top); + size < tstate->datastack_limit - tstate->datastack_top; } -static inline _PyInterpreterFrame * -_PyThreadState_BumpFramePointer(PyThreadState *tstate, size_t size) -{ - if (_PyThreadState_HasStackSpace(tstate, size)) { - _PyInterpreterFrame *res = (_PyInterpreterFrame *)tstate->datastack_top; - tstate->datastack_top += size; - return res; - } - return _PyThreadState_BumpFramePointerSlow(tstate, size); -} +extern _PyInterpreterFrame * +_PyThreadState_PushFrame(PyThreadState *tstate, size_t size); void _PyThreadState_PopFrame(PyThreadState *tstate, _PyInterpreterFrame *frame); -/* Consume reference to func */ -_PyInterpreterFrame * -_PyFrame_Push(PyThreadState *tstate, PyFunctionObject *func); - -int _PyInterpreterFrame_GetLine(_PyInterpreterFrame *frame); +/* Pushes a frame without checking for space. + * Must be guarded by _PyThreadState_HasStackSpace() + * Consumes reference to func. */ +static inline _PyInterpreterFrame * +_PyFrame_PushUnchecked(PyThreadState *tstate, PyFunctionObject *func, int null_locals_from) +{ + CALL_STAT_INC(frames_pushed); + PyCodeObject *code = (PyCodeObject *)func->func_code; + _PyInterpreterFrame *new_frame = (_PyInterpreterFrame *)tstate->datastack_top; + tstate->datastack_top += code->co_framesize; + assert(tstate->datastack_top < tstate->datastack_limit); + _PyFrame_Initialize(new_frame, func, NULL, code, null_locals_from); + return new_frame; +} static inline PyGenObject *_PyFrame_GetGenerator(_PyInterpreterFrame *frame) diff --git a/src/external/windows/include/python/internal/pycore_function.h b/src/external/windows/include/python/internal/pycore_function.h index 85118bee..be638fbc 100644 --- a/src/external/windows/include/python/internal/pycore_function.h +++ b/src/external/windows/include/python/internal/pycore_function.h @@ -8,9 +8,17 @@ extern "C" { # error "this header requires Py_BUILD_CORE define" #endif +#define FUNC_MAX_WATCHERS 8 + +struct _py_func_state { + uint32_t next_version; +}; + extern PyFunctionObject* _PyFunction_FromConstructor(PyFrameConstructor *constr); extern uint32_t _PyFunction_GetVersionForCurrentState(PyFunctionObject *func); +extern PyObject *_Py_set_function_type_params( + PyThreadState* unused, PyObject *func, PyObject *type_params); #ifdef __cplusplus } diff --git a/src/external/windows/include/python/internal/pycore_gc.h b/src/external/windows/include/python/internal/pycore_gc.h index 7d15c05d..afd5630b 100755 --- a/src/external/windows/include/python/internal/pycore_gc.h +++ b/src/external/windows/include/python/internal/pycore_gc.h @@ -19,17 +19,29 @@ typedef struct { uintptr_t _gc_prev; } PyGC_Head; -#define _Py_AS_GC(o) ((PyGC_Head *)(o)-1) +static inline PyGC_Head* _Py_AS_GC(PyObject *op) { + return (_Py_CAST(PyGC_Head*, op) - 1); +} #define _PyGC_Head_UNUSED PyGC_Head /* True if the object is currently tracked by the GC. */ -#define _PyObject_GC_IS_TRACKED(o) (_Py_AS_GC(o)->_gc_next != 0) +static inline int _PyObject_GC_IS_TRACKED(PyObject *op) { + PyGC_Head *gc = _Py_AS_GC(op); + return (gc->_gc_next != 0); +} +#define _PyObject_GC_IS_TRACKED(op) _PyObject_GC_IS_TRACKED(_Py_CAST(PyObject*, op)) /* True if the object may be tracked by the GC in the future, or already is. This can be useful to implement some optimizations. */ -#define _PyObject_GC_MAY_BE_TRACKED(obj) \ - (PyObject_IS_GC(obj) && \ - (!PyTuple_CheckExact(obj) || _PyObject_GC_IS_TRACKED(obj))) +static inline int _PyObject_GC_MAY_BE_TRACKED(PyObject *obj) { + if (!PyObject_IS_GC(obj)) { + return 0; + } + if (PyTuple_CheckExact(obj)) { + return _PyObject_GC_IS_TRACKED(obj); + } + return 1; +} /* Bit flags for _gc_prev */ @@ -43,26 +55,40 @@ typedef struct { // Lowest bit of _gc_next is used for flags only in GC. // But it is always 0 for normal code. -#define _PyGCHead_NEXT(g) ((PyGC_Head*)(g)->_gc_next) -#define _PyGCHead_SET_NEXT(g, p) _Py_RVALUE((g)->_gc_next = (uintptr_t)(p)) +static inline PyGC_Head* _PyGCHead_NEXT(PyGC_Head *gc) { + uintptr_t next = gc->_gc_next; + return _Py_CAST(PyGC_Head*, next); +} +static inline void _PyGCHead_SET_NEXT(PyGC_Head *gc, PyGC_Head *next) { + gc->_gc_next = _Py_CAST(uintptr_t, next); +} // Lowest two bits of _gc_prev is used for _PyGC_PREV_MASK_* flags. -#define _PyGCHead_PREV(g) ((PyGC_Head*)((g)->_gc_prev & _PyGC_PREV_MASK)) -#define _PyGCHead_SET_PREV(g, p) do { \ - assert(((uintptr_t)p & ~_PyGC_PREV_MASK) == 0); \ - (g)->_gc_prev = ((g)->_gc_prev & ~_PyGC_PREV_MASK) \ - | ((uintptr_t)(p)); \ - } while (0) +static inline PyGC_Head* _PyGCHead_PREV(PyGC_Head *gc) { + uintptr_t prev = (gc->_gc_prev & _PyGC_PREV_MASK); + return _Py_CAST(PyGC_Head*, prev); +} +static inline void _PyGCHead_SET_PREV(PyGC_Head *gc, PyGC_Head *prev) { + uintptr_t uprev = _Py_CAST(uintptr_t, prev); + assert((uprev & ~_PyGC_PREV_MASK) == 0); + gc->_gc_prev = ((gc->_gc_prev & ~_PyGC_PREV_MASK) | uprev); +} -#define _PyGCHead_FINALIZED(g) \ - (((g)->_gc_prev & _PyGC_PREV_MASK_FINALIZED) != 0) -#define _PyGCHead_SET_FINALIZED(g) \ - _Py_RVALUE((g)->_gc_prev |= _PyGC_PREV_MASK_FINALIZED) +static inline int _PyGCHead_FINALIZED(PyGC_Head *gc) { + return ((gc->_gc_prev & _PyGC_PREV_MASK_FINALIZED) != 0); +} +static inline void _PyGCHead_SET_FINALIZED(PyGC_Head *gc) { + gc->_gc_prev |= _PyGC_PREV_MASK_FINALIZED; +} -#define _PyGC_FINALIZED(o) \ - _PyGCHead_FINALIZED(_Py_AS_GC(o)) -#define _PyGC_SET_FINALIZED(o) \ - _PyGCHead_SET_FINALIZED(_Py_AS_GC(o)) +static inline int _PyGC_FINALIZED(PyObject *op) { + PyGC_Head *gc = _Py_AS_GC(op); + return _PyGCHead_FINALIZED(gc); +} +static inline void _PyGC_SET_FINALIZED(PyObject *op) { + PyGC_Head *gc = _Py_AS_GC(op); + _PyGCHead_SET_FINALIZED(gc); +} /* GC runtime state */ @@ -176,6 +202,8 @@ extern void _PyList_ClearFreeList(PyInterpreterState *interp); extern void _PyDict_ClearFreeList(PyInterpreterState *interp); extern void _PyAsyncGen_ClearFreeLists(PyInterpreterState *interp); extern void _PyContext_ClearFreeList(PyInterpreterState *interp); +extern void _Py_ScheduleGC(PyInterpreterState *interp); +extern void _Py_RunGC(PyThreadState *tstate); #ifdef __cplusplus } diff --git a/src/external/windows/include/python/internal/pycore_genobject.h b/src/external/windows/include/python/internal/pycore_genobject.h index e8f56a6b..69cf4ade 100644 --- a/src/external/windows/include/python/internal/pycore_genobject.h +++ b/src/external/windows/include/python/internal/pycore_genobject.h @@ -10,7 +10,7 @@ extern "C" { extern PyObject *_PyGen_yf(PyGenObject *); extern PyObject *_PyCoro_GetAwaitableIter(PyObject *o); -extern PyObject *_PyAsyncGenValueWrapperNew(PyObject *); +extern PyObject *_PyAsyncGenValueWrapperNew(PyThreadState *state, PyObject *); /* runtime lifecycle */ diff --git a/src/external/windows/include/python/internal/pycore_global_objects.h b/src/external/windows/include/python/internal/pycore_global_objects.h index 4b6eff67..ce61b9c2 100644 --- a/src/external/windows/include/python/internal/pycore_global_objects.h +++ b/src/external/windows/include/python/internal/pycore_global_objects.h @@ -8,8 +8,12 @@ extern "C" { # error "this header requires Py_BUILD_CORE define" #endif +#include "pycore_hashtable.h" // _Py_hashtable_t #include "pycore_gc.h" // PyGC_Head #include "pycore_global_strings.h" // struct _Py_global_strings +#include "pycore_hamt.h" // PyHamtNode_Bitmap +#include "pycore_context.h" // _PyContextTokenMissing +#include "pycore_typeobject.h" // pytype_slotdef // These would be in pycore_long.h if it weren't for an include cycle. @@ -21,11 +25,16 @@ extern "C" { // All others must be per-interpreter. #define _Py_GLOBAL_OBJECT(NAME) \ - _PyRuntime.global_objects.NAME + _PyRuntime.static_objects.NAME #define _Py_SINGLETON(NAME) \ _Py_GLOBAL_OBJECT(singletons.NAME) -struct _Py_global_objects { +struct _Py_cached_objects { + // XXX We could statically allocate the hashtable. + _Py_hashtable_t *interned_strings; +}; + +struct _Py_static_objects { struct { /* Small integers are preallocated in this array so that they * can be shared. @@ -44,6 +53,48 @@ struct _Py_global_objects { _PyGC_Head_UNUSED _tuple_empty_gc_not_used; PyTupleObject tuple_empty; + + _PyGC_Head_UNUSED _hamt_bitmap_node_empty_gc_not_used; + PyHamtNode_Bitmap hamt_bitmap_node_empty; + _PyContextTokenMissing context_token_missing; + } singletons; +}; + +#define _Py_INTERP_CACHED_OBJECT(interp, NAME) \ + (interp)->cached_objects.NAME + +struct _Py_interp_cached_objects { + PyObject *interned_strings; + + /* AST */ + PyObject *str_replace_inf; + + /* object.__reduce__ */ + PyObject *objreduce; + PyObject *type_slots_pname; + pytype_slotdef *type_slots_ptrs[MAX_EQUIV]; + + /* TypeVar and related types */ + PyTypeObject *generic_type; + PyTypeObject *typevar_type; + PyTypeObject *typevartuple_type; + PyTypeObject *paramspec_type; + PyTypeObject *paramspecargs_type; + PyTypeObject *paramspeckwargs_type; +}; + +#define _Py_INTERP_STATIC_OBJECT(interp, NAME) \ + (interp)->static_objects.NAME +#define _Py_INTERP_SINGLETON(interp, NAME) \ + _Py_INTERP_STATIC_OBJECT(interp, singletons.NAME) + +struct _Py_interp_static_objects { + struct { + int _not_used; + // hamt_empty is here instead of global because of its weakreflist. + _PyGC_Head_UNUSED _hamt_empty_gc_not_used; + PyHamtObject hamt_empty; + PyBaseExceptionObject last_resort_memory_error; } singletons; }; diff --git a/src/external/windows/include/python/internal/pycore_global_objects_fini_generated.h b/src/external/windows/include/python/internal/pycore_global_objects_fini_generated.h new file mode 100644 index 00000000..477f595c --- /dev/null +++ b/src/external/windows/include/python/internal/pycore_global_objects_fini_generated.h @@ -0,0 +1,1531 @@ +#ifndef Py_INTERNAL_GLOBAL_OBJECTS_FINI_GENERATED_INIT_H +#define Py_INTERNAL_GLOBAL_OBJECTS_FINI_GENERATED_INIT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#ifdef Py_DEBUG +static inline void +_PyStaticObject_CheckRefcnt(PyObject *obj) { + if (Py_REFCNT(obj) < _Py_IMMORTAL_REFCNT) { + fprintf(stderr, "Immortal Object has less refcnt than expected.\n"); + _PyObject_Dump(obj); + } +} +#endif + +/* The following is auto-generated by Tools/build/generate_global_objects.py. */ +#ifdef Py_DEBUG +static inline void +_PyStaticObjects_CheckRefcnt(PyInterpreterState *interp) { + /* generated runtime-global */ + // (see pycore_runtime_init_generated.h) + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + -5]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + -4]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + -3]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + -2]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + -1]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 0]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 1]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 2]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 3]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 4]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 5]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 6]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 7]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 8]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 9]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 10]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 11]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 12]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 13]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 14]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 15]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 16]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 17]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 18]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 19]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 20]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 21]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 22]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 23]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 24]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 25]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 26]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 27]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 28]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 29]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 30]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 31]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 32]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 33]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 34]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 35]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 36]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 37]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 38]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 39]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 40]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 41]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 42]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 43]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 44]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 45]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 46]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 47]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 48]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 49]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 50]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 51]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 52]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 53]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 54]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 55]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 56]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 57]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 58]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 59]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 60]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 61]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 62]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 63]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 64]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 65]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 66]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 67]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 68]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 69]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 70]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 71]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 72]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 73]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 74]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 75]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 76]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 77]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 78]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 79]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 80]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 81]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 82]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 83]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 84]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 85]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 86]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 87]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 88]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 89]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 90]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 91]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 92]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 93]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 94]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 95]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 96]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 97]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 98]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 99]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 100]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 101]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 102]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 103]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 104]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 105]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 106]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 107]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 108]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 109]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 110]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 111]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 112]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 113]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 114]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 115]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 116]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 117]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 118]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 119]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 120]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 121]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 122]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 123]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 124]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 125]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 126]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 127]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 129]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 130]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 131]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 132]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 133]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 134]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 135]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 136]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 137]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 138]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 139]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 140]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 141]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 142]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 143]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 144]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 145]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 146]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 147]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 148]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 149]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 150]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 151]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 152]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 153]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 154]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 155]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 156]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 157]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 158]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 159]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 160]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 161]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 162]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 163]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 164]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 165]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 166]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 167]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 168]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 169]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 170]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 171]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 172]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 173]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 174]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 175]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 176]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 177]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 178]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 179]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 180]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 181]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 182]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 183]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 184]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 185]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 186]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 187]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 188]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 189]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 190]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 191]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 192]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 193]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 194]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 195]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 196]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 197]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 198]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 199]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 200]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 201]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 202]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 203]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 204]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 205]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 206]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 207]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 208]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 209]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 210]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 211]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 212]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 213]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 214]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 215]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 216]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 217]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 218]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 219]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 220]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 221]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 222]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 223]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 224]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 225]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 226]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 227]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 228]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 229]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 230]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 231]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 232]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 233]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 234]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 235]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 236]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 237]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 238]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 239]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 240]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 241]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 242]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 243]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 244]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 245]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 246]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 247]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 248]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 249]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 250]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 251]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 252]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 253]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 254]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 255]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(small_ints)[_PY_NSMALLNEGINTS + 256]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[0]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[1]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[2]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[3]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[4]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[5]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[6]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[7]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[8]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[9]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[10]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[11]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[12]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[13]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[14]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[15]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[16]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[17]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[18]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[19]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[20]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[21]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[22]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[23]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[24]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[25]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[26]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[27]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[28]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[29]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[30]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[31]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[32]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[33]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[34]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[35]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[36]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[37]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[38]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[39]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[40]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[41]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[42]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[43]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[44]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[45]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[46]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[47]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[48]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[49]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[50]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[51]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[52]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[53]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[54]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[55]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[56]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[57]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[58]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[59]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[60]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[61]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[62]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[63]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[64]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[65]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[66]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[67]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[68]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[69]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[70]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[71]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[72]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[73]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[74]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[75]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[76]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[77]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[78]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[79]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[80]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[81]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[82]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[83]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[84]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[85]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[86]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[87]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[88]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[89]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[90]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[91]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[92]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[93]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[94]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[95]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[96]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[97]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[98]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[99]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[100]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[101]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[102]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[103]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[104]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[105]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[106]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[107]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[108]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[109]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[110]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[111]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[112]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[113]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[114]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[115]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[116]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[117]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[118]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[119]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[120]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[121]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[122]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[123]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[124]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[125]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[126]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[127]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[129]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[130]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[131]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[132]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[133]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[134]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[135]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[136]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[137]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[138]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[139]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[140]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[141]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[142]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[143]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[144]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[145]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[146]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[147]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[148]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[149]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[150]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[151]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[152]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[153]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[154]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[155]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[156]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[157]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[158]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[159]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[160]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[161]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[162]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[163]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[164]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[165]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[166]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[167]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[168]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[169]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[170]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[171]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[172]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[173]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[174]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[175]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[176]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[177]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[178]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[179]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[180]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[181]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[182]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[183]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[184]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[185]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[186]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[187]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[188]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[189]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[190]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[191]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[192]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[193]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[194]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[195]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[196]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[197]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[198]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[199]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[200]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[201]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[202]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[203]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[204]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[205]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[206]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[207]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[208]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[209]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[210]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[211]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[212]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[213]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[214]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[215]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[216]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[217]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[218]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[219]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[220]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[221]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[222]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[223]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[224]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[225]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[226]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[227]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[228]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[229]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[230]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[231]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[232]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[233]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[234]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[235]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[236]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[237]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[238]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[239]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[240]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[241]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[242]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[243]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[244]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[245]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[246]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[247]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[248]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[249]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[250]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[251]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[252]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[253]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[254]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_characters)[255]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(anon_dictcomp)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(anon_genexpr)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(anon_lambda)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(anon_listcomp)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(anon_module)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(anon_setcomp)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(anon_string)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(anon_unknown)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(close_br)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(dbl_close_br)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(dbl_open_br)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(dbl_percent)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(defaults)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(dot)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(dot_locals)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(empty)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(generic_base)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(json_decoder)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(kwdefaults)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(list_err)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(newline)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(open_br)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(percent)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(shim_name)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(type_params)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(utf_8)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(CANCELLED)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(FINISHED)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(False)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(JSONDecodeError)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(PENDING)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(Py_Repr)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(TextIOWrapper)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(True)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(WarningMessage)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_WindowsConsoleIO)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__IOBase_closed)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__abc_tpflags__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__abs__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__abstractmethods__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__add__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__aenter__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__aexit__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__aiter__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__all__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__and__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__anext__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__annotations__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__args__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__asyncio_running_event_loop__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__await__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__bases__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__bool__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__buffer__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__build_class__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__builtins__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__bytes__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__call__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__cantrace__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__class__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__class_getitem__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__classcell__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__classdict__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__classdictcell__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__complex__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__contains__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__copy__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__ctypes_from_outparam__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__del__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__delattr__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__delete__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__delitem__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__dict__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__dictoffset__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__dir__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__divmod__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__doc__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__enter__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__eq__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__exit__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__file__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__float__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__floordiv__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__format__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__fspath__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__ge__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__get__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__getattr__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__getattribute__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__getinitargs__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__getitem__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__getnewargs__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__getnewargs_ex__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__getstate__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__gt__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__hash__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__iadd__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__iand__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__ifloordiv__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__ilshift__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__imatmul__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__imod__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__import__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__imul__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__index__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__init__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__init_subclass__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__instancecheck__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__int__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__invert__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__ior__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__ipow__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__irshift__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__isabstractmethod__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__isub__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__iter__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__itruediv__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__ixor__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__le__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__len__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__length_hint__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__lltrace__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__loader__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__lshift__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__lt__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__main__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__matmul__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__missing__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__mod__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__module__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__mro_entries__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__mul__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__name__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__ne__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__neg__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__new__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__newobj__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__newobj_ex__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__next__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__notes__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__or__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__orig_class__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__origin__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__package__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__parameters__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__path__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__pos__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__pow__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__prepare__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__qualname__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__radd__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__rand__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__rdivmod__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__reduce__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__reduce_ex__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__release_buffer__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__repr__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__reversed__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__rfloordiv__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__rlshift__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__rmatmul__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__rmod__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__rmul__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__ror__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__round__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__rpow__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__rrshift__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__rshift__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__rsub__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__rtruediv__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__rxor__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__set__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__set_name__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__setattr__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__setitem__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__setstate__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__sizeof__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__slotnames__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__slots__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__spec__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__str__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__sub__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__subclasscheck__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__subclasshook__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__truediv__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__trunc__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__type_params__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__typing_is_unpacked_typevartuple__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__typing_prepare_subst__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__typing_subst__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__typing_unpacked_tuple_args__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__warningregistry__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__weaklistoffset__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__weakref__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(__xor__)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_abc_impl)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_abstract_)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_active)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_annotation)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_anonymous_)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_argtypes_)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_as_parameter_)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_asyncio_future_blocking)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_blksize)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_bootstrap)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_check_retval_)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_dealloc_warn)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_feature_version)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_fields_)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_finalizing)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_find_and_load)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_fix_up_module)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_flags_)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_get_sourcefile)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_handle_fromlist)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_initializing)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_io)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_is_text_encoding)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_length_)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_limbo)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_lock_unlock_module)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_loop)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_needs_com_addref_)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_pack_)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_restype_)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_showwarnmsg)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_shutdown)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_slotnames)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_strptime_datetime)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_swappedbytes_)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_type_)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_uninitialized_submodules)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_warn_unawaited_coroutine)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(_xoptions)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(a)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(abs_tol)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(access)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(add)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(add_done_callback)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(after_in_child)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(after_in_parent)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(aggregate_class)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(alias)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(append)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(arg)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(argdefs)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(args)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(arguments)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(argv)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(as_integer_ratio)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(ast)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(attribute)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(authorizer_callback)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(autocommit)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(b)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(backtick)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(base)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(before)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(big)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(binary_form)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(block)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(bound)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(buffer)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(buffer_callback)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(buffer_size)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(buffering)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(buffers)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(bufsize)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(builtins)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(byteorder)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(bytes)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(bytes_per_sep)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(c)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(c_call)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(c_exception)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(c_return)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(cached_statements)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(cadata)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(cafile)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(call)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(call_exception_handler)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(call_soon)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(cancel)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(capath)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(category)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(cb_type)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(certfile)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(check_same_thread)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(clear)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(close)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(closed)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(closefd)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(closure)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_argcount)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_cellvars)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_code)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_consts)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_exceptiontable)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_filename)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_firstlineno)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_flags)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_freevars)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_kwonlyargcount)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_linetable)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_name)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_names)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_nlocals)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_posonlyargcount)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_qualname)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_stacksize)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(co_varnames)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(code)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(command)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(comment_factory)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(compile_mode)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(consts)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(context)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(contravariant)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(cookie)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(copy)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(copyreg)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(coro)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(count)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(covariant)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(cwd)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(d)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(data)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(database)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(decode)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(decoder)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(default)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(defaultaction)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(delete)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(depth)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(detect_types)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(deterministic)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(device)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(dict)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(dictcomp)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(difference_update)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(digest)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(digest_size)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(digestmod)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(dir_fd)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(discard)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(dispatch_table)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(displayhook)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(dklen)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(doc)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(dont_inherit)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(dst)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(dst_dir_fd)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(duration)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(e)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(eager_start)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(effective_ids)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(element_factory)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(encode)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(encoding)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(end)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(end_lineno)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(end_offset)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(endpos)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(entrypoint)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(env)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(errors)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(event)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(eventmask)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(exc_type)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(exc_value)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(excepthook)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(exception)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(existing_file_name)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(exp)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(extend)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(extra_tokens)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(facility)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(factory)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(false)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(family)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(fanout)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(fd)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(fd2)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(fdel)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(fget)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(file)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(file_actions)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(filename)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(fileno)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(filepath)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(fillvalue)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(filters)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(final)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(find_class)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(fix_imports)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(flags)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(flush)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(follow_symlinks)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(format)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(frequency)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(from_param)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(fromlist)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(fromtimestamp)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(fromutc)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(fset)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(func)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(future)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(generation)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(genexpr)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(get)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(get_debug)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(get_event_loop)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(get_loop)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(get_source)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(getattr)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(getstate)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(gid)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(globals)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(groupindex)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(groups)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(handle)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(hash_name)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(header)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(headers)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(hi)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(hook)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(id)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(ident)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(ignore)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(imag)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(importlib)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(in_fd)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(incoming)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(indexgroup)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(inf)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(infer_variance)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(inheritable)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(initial)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(initial_bytes)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(initial_value)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(initval)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(inner_size)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(input)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(insert_comments)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(insert_pis)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(instructions)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(intern)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(intersection)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(is_running)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(isatty)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(isinstance)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(isoformat)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(isolation_level)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(istext)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(item)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(items)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(iter)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(iterable)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(iterations)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(join)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(jump)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(keepends)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(key)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(keyfile)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(keys)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(kind)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(kw)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(kw1)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(kw2)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(lambda)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(last)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(last_exc)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(last_node)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(last_traceback)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(last_type)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(last_value)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(latin1)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(leaf_size)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(len)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(length)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(level)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(limit)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(line)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(line_buffering)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(lineno)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(listcomp)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(little)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(lo)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(locale)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(locals)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(logoption)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(loop)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(mapping)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(match)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(max_length)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(maxdigits)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(maxevents)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(maxmem)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(maxsplit)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(maxvalue)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(memLevel)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(memlimit)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(message)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(metaclass)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(metadata)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(method)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(mod)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(mode)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(module)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(module_globals)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(modules)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(mro)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(msg)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(mycmp)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(n)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(n_arg)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(n_fields)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(n_sequence_fields)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(n_unnamed_fields)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(name)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(name_from)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(namespace_separator)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(namespaces)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(narg)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(ndigits)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(new_file_name)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(new_limit)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(newline)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(newlines)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(next)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(nlocals)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(node_depth)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(node_offset)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(ns)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(nstype)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(nt)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(null)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(number)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(obj)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(object)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(offset)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(offset_dst)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(offset_src)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(on_type_read)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(onceregistry)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(only_keys)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(oparg)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(opcode)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(open)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(opener)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(operation)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(optimize)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(options)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(order)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(origin)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(out_fd)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(outgoing)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(overlapped)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(owner)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(p)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(pages)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(parent)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(password)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(path)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(pattern)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(peek)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(persistent_id)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(persistent_load)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(person)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(pi_factory)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(pid)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(policy)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(pos)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(pos1)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(pos2)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(posix)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(print_file_and_line)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(priority)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(progress)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(progress_handler)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(progress_routine)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(proto)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(protocol)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(ps1)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(ps2)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(query)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(quotetabs)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(r)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(raw)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(read)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(read1)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(readable)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(readall)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(readinto)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(readinto1)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(readline)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(readonly)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(real)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(reducer_override)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(registry)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(rel_tol)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(release)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(reload)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(repl)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(replace)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(reserved)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(reset)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(resetids)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(return)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(reverse)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(reversed)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(s)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(salt)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(sched_priority)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(scheduler)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(seek)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(seekable)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(selectors)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(self)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(send)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(sep)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(sequence)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(server_hostname)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(server_side)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(session)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(setcomp)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(setpgroup)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(setsid)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(setsigdef)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(setsigmask)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(setstate)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(shape)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(show_cmd)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(signed)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(size)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(sizehint)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(skip_file_prefixes)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(sleep)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(sock)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(sort)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(sound)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(source)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(source_traceback)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(src)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(src_dir_fd)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(stacklevel)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(start)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(statement)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(status)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(stderr)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(stdin)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(stdout)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(step)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(steps)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(store_name)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(strategy)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(strftime)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(strict)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(strict_mode)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(string)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(sub_key)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(symmetric_difference_update)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(tabsize)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(tag)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(target)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(target_is_directory)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(task)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(tb_frame)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(tb_lasti)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(tb_lineno)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(tb_next)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(tell)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(template)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(term)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(text)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(threading)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(throw)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(timeout)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(times)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(timetuple)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(top)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(trace_callback)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(traceback)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(trailers)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(translate)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(true)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(truncate)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(twice)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(txt)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(type)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(type_params)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(tz)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(tzname)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(uid)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(unlink)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(unraisablehook)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(uri)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(usedforsecurity)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(value)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(values)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(version)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(volume)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(warnings)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(warnoptions)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(wbits)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(week)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(weekday)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(which)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(who)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(withdata)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(writable)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(write)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(write_through)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(x)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(year)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(zdict)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[0]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[1]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[2]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[3]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[4]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[5]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[6]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[7]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[8]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[9]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[10]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[11]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[12]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[13]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[14]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[15]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[16]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[17]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[18]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[19]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[20]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[21]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[22]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[23]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[24]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[25]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[26]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[27]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[28]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[29]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[30]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[31]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[32]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[33]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[34]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[35]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[36]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[37]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[38]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[39]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[40]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[41]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[42]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[43]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[44]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[45]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[46]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[47]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[48]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[49]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[50]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[51]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[52]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[53]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[54]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[55]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[56]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[57]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[58]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[59]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[60]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[61]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[62]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[63]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[64]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[65]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[66]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[67]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[68]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[69]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[70]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[71]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[72]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[73]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[74]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[75]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[76]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[77]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[78]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[79]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[80]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[81]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[82]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[83]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[84]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[85]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[86]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[87]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[88]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[89]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[90]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[91]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[92]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[93]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[94]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[95]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[96]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[97]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[98]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[99]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[100]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[101]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[102]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[103]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[104]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[105]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[106]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[107]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[108]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[109]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[110]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[111]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[112]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[113]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[114]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[115]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[116]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[117]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[118]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[119]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[120]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[121]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[122]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[123]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[124]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[125]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[126]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).ascii[127]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[128 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[129 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[130 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[131 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[132 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[133 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[134 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[135 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[136 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[137 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[138 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[139 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[140 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[141 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[142 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[143 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[144 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[145 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[146 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[147 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[148 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[149 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[150 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[151 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[152 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[153 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[154 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[155 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[156 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[157 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[158 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[159 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[160 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[161 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[162 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[163 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[164 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[165 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[166 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[167 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[168 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[169 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[170 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[171 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[172 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[173 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[174 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[175 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[176 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[177 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[178 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[179 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[180 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[181 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[182 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[183 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[184 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[185 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[186 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[187 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[188 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[189 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[190 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[191 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[192 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[193 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[194 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[195 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[196 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[197 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[198 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[199 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[200 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[201 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[202 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[203 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[204 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[205 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[206 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[207 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[208 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[209 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[210 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[211 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[212 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[213 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[214 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[215 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[216 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[217 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[218 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[219 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[220 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[221 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[222 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[223 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[224 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[225 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[226 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[227 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[228 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[229 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[230 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[231 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[232 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[233 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[234 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[235 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[236 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[237 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[238 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[239 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[240 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[241 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[242 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[243 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[244 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[245 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[246 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[247 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[248 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[249 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[250 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[251 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[252 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[253 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[254 - 128]); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(strings).latin1[255 - 128]); + /* non-generated */ + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(bytes_empty)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(tuple_empty)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(hamt_bitmap_node_empty)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_INTERP_SINGLETON(interp, hamt_empty)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_SINGLETON(context_token_missing)); +} +#endif // Py_DEBUG +/* End auto-generated code */ + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_GLOBAL_OBJECTS_FINI_GENERATED_INIT_H */ diff --git a/src/external/windows/include/python/internal/pycore_global_strings.h b/src/external/windows/include/python/internal/pycore_global_strings.h index 1679d458..e435cbff 100644 --- a/src/external/windows/include/python/internal/pycore_global_strings.h +++ b/src/external/windows/include/python/internal/pycore_global_strings.h @@ -8,10 +8,10 @@ extern "C" { # error "this header requires Py_BUILD_CORE define" #endif -// The data structure & init here are inspired by Tools/scripts/deepfreeze.py. +// The data structure & init here are inspired by Tools/build/deepfreeze.py. // All field names generated by ASCII_STR() have a common prefix, -// to help avoid collisions with keywords, etc. +// to help avoid collisions with keywords, macros, etc. #define STRUCT_FOR_ASCII_STR(LITERAL) \ struct { \ @@ -19,13 +19,13 @@ extern "C" { uint8_t _data[sizeof(LITERAL)]; \ } #define STRUCT_FOR_STR(NAME, LITERAL) \ - STRUCT_FOR_ASCII_STR(LITERAL) _ ## NAME; + STRUCT_FOR_ASCII_STR(LITERAL) _py_ ## NAME; #define STRUCT_FOR_ID(NAME) \ - STRUCT_FOR_ASCII_STR(#NAME) _ ## NAME; + STRUCT_FOR_ASCII_STR(#NAME) _py_ ## NAME; // XXX Order by frequency of use? -/* The following is auto-generated by Tools/scripts/generate_global_objects.py. */ +/* The following is auto-generated by Tools/build/generate_global_objects.py. */ struct _Py_global_strings { struct { STRUCT_FOR_STR(anon_dictcomp, "") @@ -37,27 +37,37 @@ struct _Py_global_strings { STRUCT_FOR_STR(anon_string, "") STRUCT_FOR_STR(anon_unknown, "") STRUCT_FOR_STR(close_br, "}") - STRUCT_FOR_STR(comma_sep, ", ") STRUCT_FOR_STR(dbl_close_br, "}}") STRUCT_FOR_STR(dbl_open_br, "{{") STRUCT_FOR_STR(dbl_percent, "%%") + STRUCT_FOR_STR(defaults, ".defaults") STRUCT_FOR_STR(dot, ".") STRUCT_FOR_STR(dot_locals, ".") STRUCT_FOR_STR(empty, "") + STRUCT_FOR_STR(generic_base, ".generic_base") + STRUCT_FOR_STR(json_decoder, "json.decoder") + STRUCT_FOR_STR(kwdefaults, ".kwdefaults") STRUCT_FOR_STR(list_err, "list index out of range") STRUCT_FOR_STR(newline, "\n") STRUCT_FOR_STR(open_br, "{") STRUCT_FOR_STR(percent, "%") + STRUCT_FOR_STR(shim_name, "") + STRUCT_FOR_STR(type_params, ".type_params") STRUCT_FOR_STR(utf_8, "utf-8") } literals; struct { + STRUCT_FOR_ID(CANCELLED) + STRUCT_FOR_ID(FINISHED) STRUCT_FOR_ID(False) + STRUCT_FOR_ID(JSONDecodeError) + STRUCT_FOR_ID(PENDING) STRUCT_FOR_ID(Py_Repr) STRUCT_FOR_ID(TextIOWrapper) STRUCT_FOR_ID(True) STRUCT_FOR_ID(WarningMessage) STRUCT_FOR_ID(_) + STRUCT_FOR_ID(_WindowsConsoleIO) STRUCT_FOR_ID(__IOBase_closed) STRUCT_FOR_ID(__abc_tpflags__) STRUCT_FOR_ID(__abs__) @@ -71,9 +81,11 @@ struct _Py_global_strings { STRUCT_FOR_ID(__anext__) STRUCT_FOR_ID(__annotations__) STRUCT_FOR_ID(__args__) + STRUCT_FOR_ID(__asyncio_running_event_loop__) STRUCT_FOR_ID(__await__) STRUCT_FOR_ID(__bases__) STRUCT_FOR_ID(__bool__) + STRUCT_FOR_ID(__buffer__) STRUCT_FOR_ID(__build_class__) STRUCT_FOR_ID(__builtins__) STRUCT_FOR_ID(__bytes__) @@ -82,14 +94,18 @@ struct _Py_global_strings { STRUCT_FOR_ID(__class__) STRUCT_FOR_ID(__class_getitem__) STRUCT_FOR_ID(__classcell__) + STRUCT_FOR_ID(__classdict__) + STRUCT_FOR_ID(__classdictcell__) STRUCT_FOR_ID(__complex__) STRUCT_FOR_ID(__contains__) STRUCT_FOR_ID(__copy__) + STRUCT_FOR_ID(__ctypes_from_outparam__) STRUCT_FOR_ID(__del__) STRUCT_FOR_ID(__delattr__) STRUCT_FOR_ID(__delete__) STRUCT_FOR_ID(__delitem__) STRUCT_FOR_ID(__dict__) + STRUCT_FOR_ID(__dictoffset__) STRUCT_FOR_ID(__dir__) STRUCT_FOR_ID(__divmod__) STRUCT_FOR_ID(__doc__) @@ -171,6 +187,7 @@ struct _Py_global_strings { STRUCT_FOR_ID(__rdivmod__) STRUCT_FOR_ID(__reduce__) STRUCT_FOR_ID(__reduce_ex__) + STRUCT_FOR_ID(__release_buffer__) STRUCT_FOR_ID(__repr__) STRUCT_FOR_ID(__reversed__) STRUCT_FOR_ID(__rfloordiv__) @@ -201,122 +218,408 @@ struct _Py_global_strings { STRUCT_FOR_ID(__subclasshook__) STRUCT_FOR_ID(__truediv__) STRUCT_FOR_ID(__trunc__) + STRUCT_FOR_ID(__type_params__) STRUCT_FOR_ID(__typing_is_unpacked_typevartuple__) STRUCT_FOR_ID(__typing_prepare_subst__) STRUCT_FOR_ID(__typing_subst__) STRUCT_FOR_ID(__typing_unpacked_tuple_args__) STRUCT_FOR_ID(__warningregistry__) + STRUCT_FOR_ID(__weaklistoffset__) STRUCT_FOR_ID(__weakref__) STRUCT_FOR_ID(__xor__) STRUCT_FOR_ID(_abc_impl) + STRUCT_FOR_ID(_abstract_) + STRUCT_FOR_ID(_active) STRUCT_FOR_ID(_annotation) + STRUCT_FOR_ID(_anonymous_) + STRUCT_FOR_ID(_argtypes_) + STRUCT_FOR_ID(_as_parameter_) + STRUCT_FOR_ID(_asyncio_future_blocking) STRUCT_FOR_ID(_blksize) STRUCT_FOR_ID(_bootstrap) + STRUCT_FOR_ID(_check_retval_) STRUCT_FOR_ID(_dealloc_warn) + STRUCT_FOR_ID(_feature_version) + STRUCT_FOR_ID(_fields_) STRUCT_FOR_ID(_finalizing) STRUCT_FOR_ID(_find_and_load) STRUCT_FOR_ID(_fix_up_module) + STRUCT_FOR_ID(_flags_) STRUCT_FOR_ID(_get_sourcefile) STRUCT_FOR_ID(_handle_fromlist) STRUCT_FOR_ID(_initializing) + STRUCT_FOR_ID(_io) STRUCT_FOR_ID(_is_text_encoding) + STRUCT_FOR_ID(_length_) + STRUCT_FOR_ID(_limbo) STRUCT_FOR_ID(_lock_unlock_module) + STRUCT_FOR_ID(_loop) + STRUCT_FOR_ID(_needs_com_addref_) + STRUCT_FOR_ID(_pack_) + STRUCT_FOR_ID(_restype_) STRUCT_FOR_ID(_showwarnmsg) STRUCT_FOR_ID(_shutdown) STRUCT_FOR_ID(_slotnames) - STRUCT_FOR_ID(_strptime_time) + STRUCT_FOR_ID(_strptime_datetime) + STRUCT_FOR_ID(_swappedbytes_) + STRUCT_FOR_ID(_type_) STRUCT_FOR_ID(_uninitialized_submodules) STRUCT_FOR_ID(_warn_unawaited_coroutine) STRUCT_FOR_ID(_xoptions) + STRUCT_FOR_ID(a) + STRUCT_FOR_ID(abs_tol) + STRUCT_FOR_ID(access) STRUCT_FOR_ID(add) + STRUCT_FOR_ID(add_done_callback) + STRUCT_FOR_ID(after_in_child) + STRUCT_FOR_ID(after_in_parent) + STRUCT_FOR_ID(aggregate_class) + STRUCT_FOR_ID(alias) STRUCT_FOR_ID(append) + STRUCT_FOR_ID(arg) + STRUCT_FOR_ID(argdefs) + STRUCT_FOR_ID(args) + STRUCT_FOR_ID(arguments) + STRUCT_FOR_ID(argv) + STRUCT_FOR_ID(as_integer_ratio) + STRUCT_FOR_ID(ast) + STRUCT_FOR_ID(attribute) + STRUCT_FOR_ID(authorizer_callback) + STRUCT_FOR_ID(autocommit) + STRUCT_FOR_ID(b) + STRUCT_FOR_ID(backtick) + STRUCT_FOR_ID(base) + STRUCT_FOR_ID(before) STRUCT_FOR_ID(big) + STRUCT_FOR_ID(binary_form) + STRUCT_FOR_ID(block) + STRUCT_FOR_ID(bound) STRUCT_FOR_ID(buffer) + STRUCT_FOR_ID(buffer_callback) + STRUCT_FOR_ID(buffer_size) + STRUCT_FOR_ID(buffering) + STRUCT_FOR_ID(buffers) + STRUCT_FOR_ID(bufsize) STRUCT_FOR_ID(builtins) + STRUCT_FOR_ID(byteorder) + STRUCT_FOR_ID(bytes) + STRUCT_FOR_ID(bytes_per_sep) + STRUCT_FOR_ID(c) STRUCT_FOR_ID(c_call) STRUCT_FOR_ID(c_exception) STRUCT_FOR_ID(c_return) + STRUCT_FOR_ID(cached_statements) + STRUCT_FOR_ID(cadata) + STRUCT_FOR_ID(cafile) STRUCT_FOR_ID(call) + STRUCT_FOR_ID(call_exception_handler) + STRUCT_FOR_ID(call_soon) + STRUCT_FOR_ID(cancel) + STRUCT_FOR_ID(capath) + STRUCT_FOR_ID(category) + STRUCT_FOR_ID(cb_type) + STRUCT_FOR_ID(certfile) + STRUCT_FOR_ID(check_same_thread) STRUCT_FOR_ID(clear) STRUCT_FOR_ID(close) STRUCT_FOR_ID(closed) + STRUCT_FOR_ID(closefd) + STRUCT_FOR_ID(closure) + STRUCT_FOR_ID(co_argcount) + STRUCT_FOR_ID(co_cellvars) + STRUCT_FOR_ID(co_code) + STRUCT_FOR_ID(co_consts) + STRUCT_FOR_ID(co_exceptiontable) + STRUCT_FOR_ID(co_filename) + STRUCT_FOR_ID(co_firstlineno) + STRUCT_FOR_ID(co_flags) + STRUCT_FOR_ID(co_freevars) + STRUCT_FOR_ID(co_kwonlyargcount) + STRUCT_FOR_ID(co_linetable) + STRUCT_FOR_ID(co_name) + STRUCT_FOR_ID(co_names) + STRUCT_FOR_ID(co_nlocals) + STRUCT_FOR_ID(co_posonlyargcount) + STRUCT_FOR_ID(co_qualname) + STRUCT_FOR_ID(co_stacksize) + STRUCT_FOR_ID(co_varnames) STRUCT_FOR_ID(code) + STRUCT_FOR_ID(command) + STRUCT_FOR_ID(comment_factory) + STRUCT_FOR_ID(compile_mode) + STRUCT_FOR_ID(consts) + STRUCT_FOR_ID(context) + STRUCT_FOR_ID(contravariant) + STRUCT_FOR_ID(cookie) STRUCT_FOR_ID(copy) STRUCT_FOR_ID(copyreg) + STRUCT_FOR_ID(coro) + STRUCT_FOR_ID(count) + STRUCT_FOR_ID(covariant) + STRUCT_FOR_ID(cwd) + STRUCT_FOR_ID(d) + STRUCT_FOR_ID(data) + STRUCT_FOR_ID(database) STRUCT_FOR_ID(decode) + STRUCT_FOR_ID(decoder) STRUCT_FOR_ID(default) STRUCT_FOR_ID(defaultaction) + STRUCT_FOR_ID(delete) + STRUCT_FOR_ID(depth) + STRUCT_FOR_ID(detect_types) + STRUCT_FOR_ID(deterministic) + STRUCT_FOR_ID(device) + STRUCT_FOR_ID(dict) STRUCT_FOR_ID(dictcomp) STRUCT_FOR_ID(difference_update) + STRUCT_FOR_ID(digest) + STRUCT_FOR_ID(digest_size) + STRUCT_FOR_ID(digestmod) + STRUCT_FOR_ID(dir_fd) + STRUCT_FOR_ID(discard) STRUCT_FOR_ID(dispatch_table) STRUCT_FOR_ID(displayhook) - STRUCT_FOR_ID(enable) + STRUCT_FOR_ID(dklen) + STRUCT_FOR_ID(doc) + STRUCT_FOR_ID(dont_inherit) + STRUCT_FOR_ID(dst) + STRUCT_FOR_ID(dst_dir_fd) + STRUCT_FOR_ID(duration) + STRUCT_FOR_ID(e) + STRUCT_FOR_ID(eager_start) + STRUCT_FOR_ID(effective_ids) + STRUCT_FOR_ID(element_factory) STRUCT_FOR_ID(encode) STRUCT_FOR_ID(encoding) + STRUCT_FOR_ID(end) STRUCT_FOR_ID(end_lineno) STRUCT_FOR_ID(end_offset) + STRUCT_FOR_ID(endpos) + STRUCT_FOR_ID(entrypoint) + STRUCT_FOR_ID(env) STRUCT_FOR_ID(errors) + STRUCT_FOR_ID(event) + STRUCT_FOR_ID(eventmask) + STRUCT_FOR_ID(exc_type) + STRUCT_FOR_ID(exc_value) STRUCT_FOR_ID(excepthook) STRUCT_FOR_ID(exception) + STRUCT_FOR_ID(existing_file_name) + STRUCT_FOR_ID(exp) STRUCT_FOR_ID(extend) + STRUCT_FOR_ID(extra_tokens) + STRUCT_FOR_ID(facility) + STRUCT_FOR_ID(factory) + STRUCT_FOR_ID(false) + STRUCT_FOR_ID(family) + STRUCT_FOR_ID(fanout) + STRUCT_FOR_ID(fd) + STRUCT_FOR_ID(fd2) + STRUCT_FOR_ID(fdel) + STRUCT_FOR_ID(fget) + STRUCT_FOR_ID(file) + STRUCT_FOR_ID(file_actions) STRUCT_FOR_ID(filename) STRUCT_FOR_ID(fileno) + STRUCT_FOR_ID(filepath) STRUCT_FOR_ID(fillvalue) STRUCT_FOR_ID(filters) + STRUCT_FOR_ID(final) STRUCT_FOR_ID(find_class) + STRUCT_FOR_ID(fix_imports) + STRUCT_FOR_ID(flags) STRUCT_FOR_ID(flush) + STRUCT_FOR_ID(follow_symlinks) + STRUCT_FOR_ID(format) + STRUCT_FOR_ID(frequency) + STRUCT_FOR_ID(from_param) + STRUCT_FOR_ID(fromlist) + STRUCT_FOR_ID(fromtimestamp) + STRUCT_FOR_ID(fromutc) + STRUCT_FOR_ID(fset) + STRUCT_FOR_ID(func) + STRUCT_FOR_ID(future) + STRUCT_FOR_ID(generation) STRUCT_FOR_ID(genexpr) STRUCT_FOR_ID(get) + STRUCT_FOR_ID(get_debug) + STRUCT_FOR_ID(get_event_loop) + STRUCT_FOR_ID(get_loop) STRUCT_FOR_ID(get_source) STRUCT_FOR_ID(getattr) STRUCT_FOR_ID(getstate) + STRUCT_FOR_ID(gid) + STRUCT_FOR_ID(globals) + STRUCT_FOR_ID(groupindex) + STRUCT_FOR_ID(groups) + STRUCT_FOR_ID(handle) + STRUCT_FOR_ID(hash_name) + STRUCT_FOR_ID(header) + STRUCT_FOR_ID(headers) + STRUCT_FOR_ID(hi) + STRUCT_FOR_ID(hook) + STRUCT_FOR_ID(id) + STRUCT_FOR_ID(ident) STRUCT_FOR_ID(ignore) + STRUCT_FOR_ID(imag) STRUCT_FOR_ID(importlib) + STRUCT_FOR_ID(in_fd) + STRUCT_FOR_ID(incoming) + STRUCT_FOR_ID(indexgroup) STRUCT_FOR_ID(inf) + STRUCT_FOR_ID(infer_variance) + STRUCT_FOR_ID(inheritable) + STRUCT_FOR_ID(initial) + STRUCT_FOR_ID(initial_bytes) + STRUCT_FOR_ID(initial_value) + STRUCT_FOR_ID(initval) + STRUCT_FOR_ID(inner_size) + STRUCT_FOR_ID(input) + STRUCT_FOR_ID(insert_comments) + STRUCT_FOR_ID(insert_pis) + STRUCT_FOR_ID(instructions) + STRUCT_FOR_ID(intern) STRUCT_FOR_ID(intersection) + STRUCT_FOR_ID(is_running) STRUCT_FOR_ID(isatty) STRUCT_FOR_ID(isinstance) + STRUCT_FOR_ID(isoformat) + STRUCT_FOR_ID(isolation_level) + STRUCT_FOR_ID(istext) + STRUCT_FOR_ID(item) STRUCT_FOR_ID(items) STRUCT_FOR_ID(iter) + STRUCT_FOR_ID(iterable) + STRUCT_FOR_ID(iterations) STRUCT_FOR_ID(join) + STRUCT_FOR_ID(jump) + STRUCT_FOR_ID(keepends) + STRUCT_FOR_ID(key) + STRUCT_FOR_ID(keyfile) STRUCT_FOR_ID(keys) + STRUCT_FOR_ID(kind) + STRUCT_FOR_ID(kw) + STRUCT_FOR_ID(kw1) + STRUCT_FOR_ID(kw2) STRUCT_FOR_ID(lambda) + STRUCT_FOR_ID(last) + STRUCT_FOR_ID(last_exc) + STRUCT_FOR_ID(last_node) STRUCT_FOR_ID(last_traceback) STRUCT_FOR_ID(last_type) STRUCT_FOR_ID(last_value) STRUCT_FOR_ID(latin1) + STRUCT_FOR_ID(leaf_size) STRUCT_FOR_ID(len) + STRUCT_FOR_ID(length) + STRUCT_FOR_ID(level) + STRUCT_FOR_ID(limit) STRUCT_FOR_ID(line) + STRUCT_FOR_ID(line_buffering) STRUCT_FOR_ID(lineno) STRUCT_FOR_ID(listcomp) STRUCT_FOR_ID(little) + STRUCT_FOR_ID(lo) STRUCT_FOR_ID(locale) + STRUCT_FOR_ID(locals) + STRUCT_FOR_ID(logoption) + STRUCT_FOR_ID(loop) + STRUCT_FOR_ID(mapping) STRUCT_FOR_ID(match) + STRUCT_FOR_ID(max_length) + STRUCT_FOR_ID(maxdigits) + STRUCT_FOR_ID(maxevents) + STRUCT_FOR_ID(maxmem) + STRUCT_FOR_ID(maxsplit) + STRUCT_FOR_ID(maxvalue) + STRUCT_FOR_ID(memLevel) + STRUCT_FOR_ID(memlimit) + STRUCT_FOR_ID(message) STRUCT_FOR_ID(metaclass) + STRUCT_FOR_ID(metadata) + STRUCT_FOR_ID(method) + STRUCT_FOR_ID(mod) STRUCT_FOR_ID(mode) + STRUCT_FOR_ID(module) + STRUCT_FOR_ID(module_globals) STRUCT_FOR_ID(modules) STRUCT_FOR_ID(mro) STRUCT_FOR_ID(msg) + STRUCT_FOR_ID(mycmp) + STRUCT_FOR_ID(n) + STRUCT_FOR_ID(n_arg) STRUCT_FOR_ID(n_fields) STRUCT_FOR_ID(n_sequence_fields) STRUCT_FOR_ID(n_unnamed_fields) STRUCT_FOR_ID(name) + STRUCT_FOR_ID(name_from) + STRUCT_FOR_ID(namespace_separator) + STRUCT_FOR_ID(namespaces) + STRUCT_FOR_ID(narg) + STRUCT_FOR_ID(ndigits) + STRUCT_FOR_ID(new_file_name) + STRUCT_FOR_ID(new_limit) + STRUCT_FOR_ID(newline) STRUCT_FOR_ID(newlines) STRUCT_FOR_ID(next) + STRUCT_FOR_ID(nlocals) + STRUCT_FOR_ID(node_depth) + STRUCT_FOR_ID(node_offset) + STRUCT_FOR_ID(ns) + STRUCT_FOR_ID(nstype) + STRUCT_FOR_ID(nt) + STRUCT_FOR_ID(null) + STRUCT_FOR_ID(number) STRUCT_FOR_ID(obj) + STRUCT_FOR_ID(object) STRUCT_FOR_ID(offset) + STRUCT_FOR_ID(offset_dst) + STRUCT_FOR_ID(offset_src) + STRUCT_FOR_ID(on_type_read) STRUCT_FOR_ID(onceregistry) + STRUCT_FOR_ID(only_keys) + STRUCT_FOR_ID(oparg) STRUCT_FOR_ID(opcode) STRUCT_FOR_ID(open) + STRUCT_FOR_ID(opener) + STRUCT_FOR_ID(operation) + STRUCT_FOR_ID(optimize) + STRUCT_FOR_ID(options) + STRUCT_FOR_ID(order) + STRUCT_FOR_ID(origin) + STRUCT_FOR_ID(out_fd) + STRUCT_FOR_ID(outgoing) + STRUCT_FOR_ID(overlapped) + STRUCT_FOR_ID(owner) + STRUCT_FOR_ID(p) + STRUCT_FOR_ID(pages) STRUCT_FOR_ID(parent) - STRUCT_FOR_ID(partial) + STRUCT_FOR_ID(password) STRUCT_FOR_ID(path) + STRUCT_FOR_ID(pattern) STRUCT_FOR_ID(peek) STRUCT_FOR_ID(persistent_id) STRUCT_FOR_ID(persistent_load) + STRUCT_FOR_ID(person) + STRUCT_FOR_ID(pi_factory) + STRUCT_FOR_ID(pid) + STRUCT_FOR_ID(policy) + STRUCT_FOR_ID(pos) + STRUCT_FOR_ID(pos1) + STRUCT_FOR_ID(pos2) + STRUCT_FOR_ID(posix) STRUCT_FOR_ID(print_file_and_line) + STRUCT_FOR_ID(priority) + STRUCT_FOR_ID(progress) + STRUCT_FOR_ID(progress_handler) + STRUCT_FOR_ID(progress_routine) + STRUCT_FOR_ID(proto) + STRUCT_FOR_ID(protocol) STRUCT_FOR_ID(ps1) STRUCT_FOR_ID(ps2) + STRUCT_FOR_ID(query) + STRUCT_FOR_ID(quotetabs) + STRUCT_FOR_ID(r) STRUCT_FOR_ID(raw) STRUCT_FOR_ID(read) STRUCT_FOR_ID(read1) @@ -325,37 +628,126 @@ struct _Py_global_strings { STRUCT_FOR_ID(readinto) STRUCT_FOR_ID(readinto1) STRUCT_FOR_ID(readline) + STRUCT_FOR_ID(readonly) + STRUCT_FOR_ID(real) STRUCT_FOR_ID(reducer_override) + STRUCT_FOR_ID(registry) + STRUCT_FOR_ID(rel_tol) + STRUCT_FOR_ID(release) STRUCT_FOR_ID(reload) + STRUCT_FOR_ID(repl) STRUCT_FOR_ID(replace) + STRUCT_FOR_ID(reserved) STRUCT_FOR_ID(reset) + STRUCT_FOR_ID(resetids) STRUCT_FOR_ID(return) + STRUCT_FOR_ID(reverse) STRUCT_FOR_ID(reversed) + STRUCT_FOR_ID(s) + STRUCT_FOR_ID(salt) + STRUCT_FOR_ID(sched_priority) + STRUCT_FOR_ID(scheduler) STRUCT_FOR_ID(seek) STRUCT_FOR_ID(seekable) + STRUCT_FOR_ID(selectors) + STRUCT_FOR_ID(self) STRUCT_FOR_ID(send) + STRUCT_FOR_ID(sep) + STRUCT_FOR_ID(sequence) + STRUCT_FOR_ID(server_hostname) + STRUCT_FOR_ID(server_side) + STRUCT_FOR_ID(session) STRUCT_FOR_ID(setcomp) + STRUCT_FOR_ID(setpgroup) + STRUCT_FOR_ID(setsid) + STRUCT_FOR_ID(setsigdef) + STRUCT_FOR_ID(setsigmask) STRUCT_FOR_ID(setstate) + STRUCT_FOR_ID(shape) + STRUCT_FOR_ID(show_cmd) + STRUCT_FOR_ID(signed) + STRUCT_FOR_ID(size) + STRUCT_FOR_ID(sizehint) + STRUCT_FOR_ID(skip_file_prefixes) + STRUCT_FOR_ID(sleep) + STRUCT_FOR_ID(sock) STRUCT_FOR_ID(sort) + STRUCT_FOR_ID(sound) + STRUCT_FOR_ID(source) + STRUCT_FOR_ID(source_traceback) + STRUCT_FOR_ID(src) + STRUCT_FOR_ID(src_dir_fd) + STRUCT_FOR_ID(stacklevel) + STRUCT_FOR_ID(start) + STRUCT_FOR_ID(statement) + STRUCT_FOR_ID(status) STRUCT_FOR_ID(stderr) STRUCT_FOR_ID(stdin) STRUCT_FOR_ID(stdout) + STRUCT_FOR_ID(step) + STRUCT_FOR_ID(steps) + STRUCT_FOR_ID(store_name) + STRUCT_FOR_ID(strategy) + STRUCT_FOR_ID(strftime) STRUCT_FOR_ID(strict) + STRUCT_FOR_ID(strict_mode) + STRUCT_FOR_ID(string) + STRUCT_FOR_ID(sub_key) STRUCT_FOR_ID(symmetric_difference_update) + STRUCT_FOR_ID(tabsize) + STRUCT_FOR_ID(tag) + STRUCT_FOR_ID(target) + STRUCT_FOR_ID(target_is_directory) + STRUCT_FOR_ID(task) + STRUCT_FOR_ID(tb_frame) + STRUCT_FOR_ID(tb_lasti) + STRUCT_FOR_ID(tb_lineno) + STRUCT_FOR_ID(tb_next) STRUCT_FOR_ID(tell) + STRUCT_FOR_ID(template) + STRUCT_FOR_ID(term) STRUCT_FOR_ID(text) STRUCT_FOR_ID(threading) STRUCT_FOR_ID(throw) + STRUCT_FOR_ID(timeout) + STRUCT_FOR_ID(times) + STRUCT_FOR_ID(timetuple) STRUCT_FOR_ID(top) + STRUCT_FOR_ID(trace_callback) + STRUCT_FOR_ID(traceback) + STRUCT_FOR_ID(trailers) + STRUCT_FOR_ID(translate) + STRUCT_FOR_ID(true) STRUCT_FOR_ID(truncate) + STRUCT_FOR_ID(twice) + STRUCT_FOR_ID(txt) + STRUCT_FOR_ID(type) + STRUCT_FOR_ID(type_params) + STRUCT_FOR_ID(tz) + STRUCT_FOR_ID(tzname) + STRUCT_FOR_ID(uid) + STRUCT_FOR_ID(unlink) STRUCT_FOR_ID(unraisablehook) + STRUCT_FOR_ID(uri) + STRUCT_FOR_ID(usedforsecurity) + STRUCT_FOR_ID(value) STRUCT_FOR_ID(values) STRUCT_FOR_ID(version) + STRUCT_FOR_ID(volume) STRUCT_FOR_ID(warnings) STRUCT_FOR_ID(warnoptions) + STRUCT_FOR_ID(wbits) + STRUCT_FOR_ID(week) + STRUCT_FOR_ID(weekday) + STRUCT_FOR_ID(which) + STRUCT_FOR_ID(who) + STRUCT_FOR_ID(withdata) STRUCT_FOR_ID(writable) STRUCT_FOR_ID(write) - STRUCT_FOR_ID(zipimporter) + STRUCT_FOR_ID(write_through) + STRUCT_FOR_ID(x) + STRUCT_FOR_ID(year) + STRUCT_FOR_ID(zdict) } identifiers; struct { PyASCIIObject _ascii; @@ -373,9 +765,9 @@ struct _Py_global_strings { #define _Py_ID(NAME) \ - (_Py_SINGLETON(strings.identifiers._ ## NAME._ascii.ob_base)) + (_Py_SINGLETON(strings.identifiers._py_ ## NAME._ascii.ob_base)) #define _Py_STR(NAME) \ - (_Py_SINGLETON(strings.literals._ ## NAME._ascii.ob_base)) + (_Py_SINGLETON(strings.literals._py_ ## NAME._ascii.ob_base)) /* _Py_DECLARE_STR() should precede all uses of _Py_STR() in a function. diff --git a/src/external/windows/include/python/internal/pycore_hamt.h b/src/external/windows/include/python/internal/pycore_hamt.h index 0cb2b672..48d45554 100755 --- a/src/external/windows/include/python/internal/pycore_hamt.h +++ b/src/external/windows/include/python/internal/pycore_hamt.h @@ -28,14 +28,10 @@ extern PyTypeObject _PyHamtKeys_Type; extern PyTypeObject _PyHamtValues_Type; extern PyTypeObject _PyHamtItems_Type; -/* runtime lifecycle */ - -void _PyHamt_Fini(PyInterpreterState *); - /* other API */ -#define PyHamt_Check(o) Py_IS_TYPE(o, &_PyHamt_Type) +#define PyHamt_Check(o) Py_IS_TYPE((o), &_PyHamt_Type) /* Abstract tree node. */ @@ -53,6 +49,13 @@ typedef struct { } PyHamtObject; +typedef struct { + PyObject_VAR_HEAD + uint32_t b_bitmap; + PyObject *b_array[1]; +} PyHamtNode_Bitmap; + + /* A struct to hold the state of depth-first traverse of the tree. HAMT is an immutable collection. Iterators will hold a strong reference diff --git a/src/external/windows/include/python/internal/pycore_hashtable.h b/src/external/windows/include/python/internal/pycore_hashtable.h index 8fa411a1..0a4f8599 100755 --- a/src/external/windows/include/python/internal/pycore_hashtable.h +++ b/src/external/windows/include/python/internal/pycore_hashtable.h @@ -18,9 +18,9 @@ typedef struct { _Py_slist_item_t *head; } _Py_slist_t; -#define _Py_SLIST_ITEM_NEXT(ITEM) (((_Py_slist_item_t *)ITEM)->next) +#define _Py_SLIST_ITEM_NEXT(ITEM) _Py_RVALUE(((_Py_slist_item_t *)(ITEM))->next) -#define _Py_SLIST_HEAD(SLIST) (((_Py_slist_t *)SLIST)->head) +#define _Py_SLIST_HEAD(SLIST) _Py_RVALUE(((_Py_slist_t *)(SLIST))->head) /* _Py_hashtable: table entry */ @@ -106,6 +106,7 @@ PyAPI_FUNC(int) _Py_hashtable_foreach( void *user_data); PyAPI_FUNC(size_t) _Py_hashtable_size(const _Py_hashtable_t *ht); +PyAPI_FUNC(size_t) _Py_hashtable_len(const _Py_hashtable_t *ht); /* Add a new entry to the hash. The key must not be present in the hash table. Return 0 on success, -1 on memory error. */ diff --git a/src/external/windows/include/python/internal/pycore_import.h b/src/external/windows/include/python/internal/pycore_import.h index 8b9bd663..d74edcec 100755 --- a/src/external/windows/include/python/internal/pycore_import.h +++ b/src/external/windows/include/python/internal/pycore_import.h @@ -5,10 +5,159 @@ extern "C" { #endif -#ifdef HAVE_FORK -extern PyStatus _PyImport_ReInitLock(void); +#include "pycore_hashtable.h" // _Py_hashtable_t +#include "pycore_time.h" // _PyTime_t + + +struct _import_runtime_state { + /* The builtin modules (defined in config.c). */ + struct _inittab *inittab; + /* The most recent value assigned to a PyModuleDef.m_base.m_index. + This is incremented each time PyModuleDef_Init() is called, + which is just about every time an extension module is imported. + See PyInterpreterState.modules_by_index for more info. */ + Py_ssize_t last_module_index; + struct { + /* A lock to guard the cache. */ + PyThread_type_lock mutex; + /* The actual cache of (filename, name, PyModuleDef) for modules. + Only legacy (single-phase init) extension modules are added + and only if they support multiple initialization (m_size >- 0) + or are imported in the main interpreter. + This is initialized lazily in _PyImport_FixupExtensionObject(). + Modules are added there and looked up in _imp.find_extension(). */ + _Py_hashtable_t *hashtable; + } extensions; + /* Package context -- the full module name for package imports */ + const char * pkgcontext; +}; + +struct _import_state { + /* cached sys.modules dictionary */ + PyObject *modules; + /* This is the list of module objects for all legacy (single-phase init) + extension modules ever loaded in this process (i.e. imported + in this interpreter or in any other). Py_None stands in for + modules that haven't actually been imported in this interpreter. + + A module's index (PyModuleDef.m_base.m_index) is used to look up + the corresponding module object for this interpreter, if any. + (See PyState_FindModule().) When any extension module + is initialized during import, its moduledef gets initialized by + PyModuleDef_Init(), and the first time that happens for each + PyModuleDef, its index gets set to the current value of + a global counter (see _PyRuntimeState.imports.last_module_index). + The entry for that index in this interpreter remains unset until + the module is actually imported here. (Py_None is used as + a placeholder.) Note that multi-phase init modules always get + an index for which there will never be a module set. + + This is initialized lazily in PyState_AddModule(), which is also + where modules get added. */ + PyObject *modules_by_index; + /* importlib module._bootstrap */ + PyObject *importlib; + /* override for config->use_frozen_modules (for tests) + (-1: "off", 1: "on", 0: no override) */ + int override_frozen_modules; + int override_multi_interp_extensions_check; +#ifdef HAVE_DLOPEN + int dlopenflags; #endif -extern PyObject* _PyImport_BootstrapImp(PyThreadState *tstate); + PyObject *import_func; + /* The global import lock. */ + struct { + PyThread_type_lock mutex; + unsigned long thread; + int level; + } lock; + /* diagnostic info in PyImport_ImportModuleLevelObject() */ + struct { + int import_level; + _PyTime_t accumulated; + int header; + } find_and_load; +}; + +#ifdef HAVE_DLOPEN +# include +# if HAVE_DECL_RTLD_NOW +# define _Py_DLOPEN_FLAGS RTLD_NOW +# else +# define _Py_DLOPEN_FLAGS RTLD_LAZY +# endif +# define DLOPENFLAGS_INIT .dlopenflags = _Py_DLOPEN_FLAGS, +#else +# define _Py_DLOPEN_FLAGS 0 +# define DLOPENFLAGS_INIT +#endif + +#define IMPORTS_INIT \ + { \ + DLOPENFLAGS_INIT \ + .lock = { \ + .mutex = NULL, \ + .thread = PYTHREAD_INVALID_THREAD_ID, \ + .level = 0, \ + }, \ + .find_and_load = { \ + .header = 1, \ + }, \ + } + +extern void _PyImport_ClearCore(PyInterpreterState *interp); + +extern Py_ssize_t _PyImport_GetNextModuleIndex(void); +extern const char * _PyImport_ResolveNameWithPackageContext(const char *name); +extern const char * _PyImport_SwapPackageContext(const char *newcontext); + +extern int _PyImport_GetDLOpenFlags(PyInterpreterState *interp); +extern void _PyImport_SetDLOpenFlags(PyInterpreterState *interp, int new_val); + +extern PyObject * _PyImport_InitModules(PyInterpreterState *interp); +extern PyObject * _PyImport_GetModules(PyInterpreterState *interp); +extern void _PyImport_ClearModules(PyInterpreterState *interp); + +extern void _PyImport_ClearModulesByIndex(PyInterpreterState *interp); + +extern int _PyImport_InitDefaultImportFunc(PyInterpreterState *interp); +extern int _PyImport_IsDefaultImportFunc( + PyInterpreterState *interp, + PyObject *func); + +extern PyObject * _PyImport_GetImportlibLoader( + PyInterpreterState *interp, + const char *loader_name); +extern PyObject * _PyImport_GetImportlibExternalLoader( + PyInterpreterState *interp, + const char *loader_name); +extern PyObject * _PyImport_BlessMyLoader( + PyInterpreterState *interp, + PyObject *module_globals); +extern PyObject * _PyImport_ImportlibModuleRepr( + PyInterpreterState *interp, + PyObject *module); + + +extern PyStatus _PyImport_Init(void); +extern void _PyImport_Fini(void); +extern void _PyImport_Fini2(void); + +extern PyStatus _PyImport_InitCore( + PyThreadState *tstate, + PyObject *sysmod, + int importlib); +extern PyStatus _PyImport_InitExternal(PyThreadState *tstate); +extern void _PyImport_FiniCore(PyInterpreterState *interp); +extern void _PyImport_FiniExternal(PyInterpreterState *interp); + + +#ifdef HAVE_FORK +extern PyStatus _PyImport_ReInitLock(PyInterpreterState *interp); +#endif + + +extern PyObject* _PyImport_GetBuiltinModuleNames(void); struct _module_alias { const char *name; /* ASCII encoded string */ @@ -20,6 +169,13 @@ PyAPI_DATA(const struct _frozen *) _PyImport_FrozenStdlib; PyAPI_DATA(const struct _frozen *) _PyImport_FrozenTest; extern const struct _module_alias * _PyImport_FrozenAliases; +PyAPI_FUNC(int) _PyImport_CheckSubinterpIncompatibleExtensionAllowed( + const char *name); + + +// for testing +PyAPI_FUNC(int) _PyImport_ClearExtension(PyObject *name, PyObject *filename); + #ifdef __cplusplus } #endif diff --git a/src/external/windows/include/python/internal/pycore_initconfig.h b/src/external/windows/include/python/internal/pycore_initconfig.h index 5e0c2453..805a101f 100755 --- a/src/external/windows/include/python/internal/pycore_initconfig.h +++ b/src/external/windows/include/python/internal/pycore_initconfig.h @@ -36,15 +36,13 @@ struct pyruntimestate; ._type = _PyStatus_TYPE_EXIT, \ .exitcode = (EXITCODE)} #define _PyStatus_IS_ERROR(err) \ - (err._type == _PyStatus_TYPE_ERROR) + ((err)._type == _PyStatus_TYPE_ERROR) #define _PyStatus_IS_EXIT(err) \ - (err._type == _PyStatus_TYPE_EXIT) + ((err)._type == _PyStatus_TYPE_EXIT) #define _PyStatus_EXCEPTION(err) \ - (err._type != _PyStatus_TYPE_OK) + ((err)._type != _PyStatus_TYPE_OK) #define _PyStatus_UPDATE_FUNC(err) \ - do { err.func = _PyStatus_GET_FUNC(); } while (0) - -PyObject* _PyErr_SetFromPyStatus(PyStatus status); + do { (err).func = _PyStatus_GET_FUNC(); } while (0) /* --- PyWideStringList ------------------------------------------------ */ @@ -170,8 +168,6 @@ extern void _Py_DumpPathConfig(PyThreadState *tstate); PyAPI_FUNC(PyObject*) _Py_Get_Getpath_CodeObject(void); -extern int _Py_global_config_int_max_str_digits; - /* --- Function used for testing ---------------------------------- */ diff --git a/src/external/windows/include/python/internal/pycore_instruments.h b/src/external/windows/include/python/internal/pycore_instruments.h new file mode 100644 index 00000000..552cb0d0 --- /dev/null +++ b/src/external/windows/include/python/internal/pycore_instruments.h @@ -0,0 +1,106 @@ + +#ifndef Py_INTERNAL_INSTRUMENT_H +#define Py_INTERNAL_INSTRUMENT_H + + +#include "pycore_bitutils.h" // _Py_popcount32 +#include "pycore_frame.h" + +#include "cpython/code.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define PY_MONITORING_TOOL_IDS 8 + +/* Local events. + * These require bytecode instrumentation */ + +#define PY_MONITORING_EVENT_PY_START 0 +#define PY_MONITORING_EVENT_PY_RESUME 1 +#define PY_MONITORING_EVENT_PY_RETURN 2 +#define PY_MONITORING_EVENT_PY_YIELD 3 +#define PY_MONITORING_EVENT_CALL 4 +#define PY_MONITORING_EVENT_LINE 5 +#define PY_MONITORING_EVENT_INSTRUCTION 6 +#define PY_MONITORING_EVENT_JUMP 7 +#define PY_MONITORING_EVENT_BRANCH 8 +#define PY_MONITORING_EVENT_STOP_ITERATION 9 + +#define PY_MONITORING_IS_INSTRUMENTED_EVENT(ev) \ + ((ev) < _PY_MONITORING_LOCAL_EVENTS) + +/* Other events, mainly exceptions */ + +#define PY_MONITORING_EVENT_RAISE 10 +#define PY_MONITORING_EVENT_EXCEPTION_HANDLED 11 +#define PY_MONITORING_EVENT_PY_UNWIND 12 +#define PY_MONITORING_EVENT_PY_THROW 13 +#define PY_MONITORING_EVENT_RERAISE 14 + + +/* Ancillary events */ + +#define PY_MONITORING_EVENT_C_RETURN 15 +#define PY_MONITORING_EVENT_C_RAISE 16 + + +typedef uint32_t _PyMonitoringEventSet; + +/* Tool IDs */ + +/* These are defined in PEP 669 for convenience to avoid clashes */ +#define PY_MONITORING_DEBUGGER_ID 0 +#define PY_MONITORING_COVERAGE_ID 1 +#define PY_MONITORING_PROFILER_ID 2 +#define PY_MONITORING_OPTIMIZER_ID 5 + +/* Internal IDs used to suuport sys.setprofile() and sys.settrace() */ +#define PY_MONITORING_SYS_PROFILE_ID 6 +#define PY_MONITORING_SYS_TRACE_ID 7 + + +PyObject *_PyMonitoring_RegisterCallback(int tool_id, int event_id, PyObject *obj); + +int _PyMonitoring_SetEvents(int tool_id, _PyMonitoringEventSet events); + +extern int +_Py_call_instrumentation(PyThreadState *tstate, int event, + _PyInterpreterFrame *frame, _Py_CODEUNIT *instr); + +extern int +_Py_call_instrumentation_line(PyThreadState *tstate, _PyInterpreterFrame* frame, + _Py_CODEUNIT *instr, _Py_CODEUNIT *prev); + +extern int +_Py_call_instrumentation_instruction( + PyThreadState *tstate, _PyInterpreterFrame* frame, _Py_CODEUNIT *instr); + +_Py_CODEUNIT * +_Py_call_instrumentation_jump( + PyThreadState *tstate, int event, + _PyInterpreterFrame *frame, _Py_CODEUNIT *instr, _Py_CODEUNIT *target); + +extern int +_Py_call_instrumentation_arg(PyThreadState *tstate, int event, + _PyInterpreterFrame *frame, _Py_CODEUNIT *instr, PyObject *arg); + +extern int +_Py_call_instrumentation_2args(PyThreadState *tstate, int event, + _PyInterpreterFrame *frame, _Py_CODEUNIT *instr, PyObject *arg0, PyObject *arg1); + +extern void +_Py_call_instrumentation_exc2(PyThreadState *tstate, int event, + _PyInterpreterFrame *frame, _Py_CODEUNIT *instr, PyObject *arg0, PyObject *arg1); + +extern int +_Py_Instrumentation_GetLine(PyCodeObject *code, int index); + +extern PyObject _PyInstrumentation_MISSING; +extern PyObject _PyInstrumentation_DISABLE; + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_INSTRUMENT_H */ diff --git a/src/external/windows/include/python/internal/pycore_interp.h b/src/external/windows/include/python/internal/pycore_interp.h index 6e072fee..04c35288 100755 --- a/src/external/windows/include/python/internal/pycore_interp.h +++ b/src/external/windows/include/python/internal/pycore_interp.h @@ -10,61 +10,58 @@ extern "C" { #include -#include "pycore_atomic.h" // _Py_atomic_address #include "pycore_ast_state.h" // struct ast_state +#include "pycore_atexit.h" // struct atexit_state +#include "pycore_atomic.h" // _Py_atomic_address +#include "pycore_ceval_state.h" // struct _ceval_state #include "pycore_code.h" // struct callable_cache #include "pycore_context.h" // struct _Py_context_state -#include "pycore_dict.h" // struct _Py_dict_state +#include "pycore_dict_state.h" // struct _Py_dict_state +#include "pycore_dtoa.h" // struct _dtoa_state #include "pycore_exceptions.h" // struct _Py_exc_state #include "pycore_floatobject.h" // struct _Py_float_state +#include "pycore_function.h" // FUNC_MAX_WATCHERS #include "pycore_genobject.h" // struct _Py_async_gen_state -#include "pycore_gil.h" // struct _gil_runtime_state #include "pycore_gc.h" // struct _gc_runtime_state +#include "pycore_global_objects.h" // struct _Py_interp_static_objects +#include "pycore_import.h" // struct _import_state +#include "pycore_instruments.h" // _PY_MONITORING_EVENTS #include "pycore_list.h" // struct _Py_list_state +#include "pycore_object_state.h" // struct _py_object_state +#include "pycore_obmalloc.h" // struct obmalloc_state #include "pycore_tuple.h" // struct _Py_tuple_state #include "pycore_typeobject.h" // struct type_cache #include "pycore_unicodeobject.h" // struct _Py_unicode_state #include "pycore_warnings.h" // struct _warnings_runtime_state -struct _pending_calls { - PyThread_type_lock lock; - /* Request for running pending calls. */ - _Py_atomic_int calls_to_do; - /* Request for looking at the `async_exc` field of the current - thread state. - Guarded by the GIL. */ - int async_exc; -#define NPENDINGCALLS 32 - struct { - int (*func)(void *); - void *arg; - } calls[NPENDINGCALLS]; - int first; - int last; -}; -struct _ceval_state { - int recursion_limit; - /* This single variable consolidates all requests to break out of - the fast path in the eval loop. */ - _Py_atomic_int eval_breaker; - /* Request for dropping the GIL */ - _Py_atomic_int gil_drop_request; - struct _pending_calls pending; +struct _Py_long_state { + int max_str_digits; }; -// atexit state -typedef struct { - PyObject *func; - PyObject *args; - PyObject *kwargs; -} atexit_callback; +/* cross-interpreter data registry */ -struct atexit_state { - atexit_callback **callbacks; - int ncallbacks; - int callback_len; +/* For now we use a global registry of shareable classes. An + alternative would be to add a tp_* slot for a class's + crossinterpdatafunc. It would be simpler and more efficient. */ + +struct _xidregitem; + +struct _xidregitem { + struct _xidregitem *prev; + struct _xidregitem *next; + /* This can be a dangling pointer, but only if weakref is set. */ + PyTypeObject *cls; + /* This is NULL for builtin types. */ + PyObject *weakref; + size_t refcount; + crossinterpdatafunc getdata; +}; + +struct _xidregistry { + PyThread_type_lock mutex; + struct _xidregitem *head; }; @@ -73,12 +70,26 @@ struct atexit_state { /* PyInterpreterState holds the global state for one of the runtime's interpreters. Typically the initial (main) interpreter is the only one. - The PyInterpreterState typedef is in Include/pystate.h. + The PyInterpreterState typedef is in Include/pytypedefs.h. */ struct _is { PyInterpreterState *next; + int64_t id; + int64_t id_refcount; + int requires_idref; + PyThread_type_lock id_mutex; + + /* Has been initialized to a safe state. + + In order to be effective, this must be set to 0 during or right + after allocation. */ + int _initialized; + int finalizing; + + uint64_t monitoring_version; + uint64_t last_restart_version; struct pythreads { uint64_t next_unique_id; /* The linked list of threads, newest first. */ @@ -97,87 +108,15 @@ struct _is { Get runtime from tstate: tstate->interp->runtime. */ struct pyruntimestate *runtime; - int64_t id; - int64_t id_refcount; - int requires_idref; - PyThread_type_lock id_mutex; + /* Set by Py_EndInterpreter(). - /* Has been initialized to a safe state. + Use _PyInterpreterState_GetFinalizing() + and _PyInterpreterState_SetFinalizing() + to access it, don't access it directly. */ + _Py_atomic_address _finalizing; - In order to be effective, this must be set to 0 during or right - after allocation. */ - int _initialized; - int finalizing; - - /* Was this interpreter statically allocated? */ - bool _static; - - struct _ceval_state ceval; struct _gc_runtime_state gc; - // sys.modules dictionary - PyObject *modules; - PyObject *modules_by_index; - // Dictionary of the sys module - PyObject *sysdict; - // Dictionary of the builtins module - PyObject *builtins; - // importlib module - PyObject *importlib; - // override for config->use_frozen_modules (for tests) - // (-1: "off", 1: "on", 0: no override) - int override_frozen_modules; - - PyObject *codec_search_path; - PyObject *codec_search_cache; - PyObject *codec_error_registry; - int codecs_initialized; - - PyConfig config; -#ifdef HAVE_DLOPEN - int dlopenflags; -#endif - - PyObject *dict; /* Stores per-interpreter state */ - - PyObject *builtins_copy; - PyObject *import_func; - // Initialized to _PyEval_EvalFrameDefault(). - _PyFrameEvalFunction eval_frame; - - Py_ssize_t co_extra_user_count; - freefunc co_extra_freefuncs[MAX_CO_EXTRA_USERS]; - -#ifdef HAVE_FORK - PyObject *before_forkers; - PyObject *after_forkers_parent; - PyObject *after_forkers_child; -#endif - - struct _warnings_runtime_state warnings; - struct atexit_state atexit; - - PyObject *audit_hooks; - - struct _Py_unicode_state unicode; - struct _Py_float_state float_state; - /* Using a cache is very effective since typically only a single slice is - created and then deleted again. */ - PySliceObject *slice_cache; - - struct _Py_tuple_state tuple; - struct _Py_list_state list; - struct _Py_dict_state dict_state; - struct _Py_async_gen_state async_gen; - struct _Py_context_state context; - struct _Py_exc_state exc_state; - - struct ast_state ast; - struct type_cache type_cache; - struct callable_cache callable_cache; - - int int_max_str_digits; - /* The following fields are here to avoid allocation during init. The data is exposed through PyInterpreterState pointer fields. These fields should not be accessed directly outside of init. @@ -190,30 +129,139 @@ struct _is { basis. Also see _PyRuntimeState regarding the various mutex fields. */ - /* the initial PyInterpreterState.threads.head */ + // Dictionary of the sys module + PyObject *sysdict; + + // Dictionary of the builtins module + PyObject *builtins; + + struct _ceval_state ceval; + + struct _import_state imports; + + /* The per-interpreter GIL, which might not be used. */ + struct _gil_runtime_state _gil; + + /* ---------- IMPORTANT --------------------------- + The fields above this line are declared as early as + possible to facilitate out-of-process observability + tools. */ + + PyObject *codec_search_path; + PyObject *codec_search_cache; + PyObject *codec_error_registry; + int codecs_initialized; + + PyConfig config; + unsigned long feature_flags; + + PyObject *dict; /* Stores per-interpreter state */ + + PyObject *sysdict_copy; + PyObject *builtins_copy; + // Initialized to _PyEval_EvalFrameDefault(). + _PyFrameEvalFunction eval_frame; + + PyFunction_WatchCallback func_watchers[FUNC_MAX_WATCHERS]; + // One bit is set for each non-NULL entry in func_watchers + uint8_t active_func_watchers; + + Py_ssize_t co_extra_user_count; + freefunc co_extra_freefuncs[MAX_CO_EXTRA_USERS]; + +#ifdef HAVE_FORK + PyObject *before_forkers; + PyObject *after_forkers_parent; + PyObject *after_forkers_child; +#endif + + struct _warnings_runtime_state warnings; + struct atexit_state atexit; + + struct _obmalloc_state obmalloc; + + PyObject *audit_hooks; + PyType_WatchCallback type_watchers[TYPE_MAX_WATCHERS]; + PyCode_WatchCallback code_watchers[CODE_MAX_WATCHERS]; + // One bit is set for each non-NULL entry in code_watchers + uint8_t active_code_watchers; + + struct _py_object_state object_state; + struct _Py_unicode_state unicode; + struct _Py_float_state float_state; + struct _Py_long_state long_state; + struct _dtoa_state dtoa; + struct _py_func_state func_state; + /* Using a cache is very effective since typically only a single slice is + created and then deleted again. */ + PySliceObject *slice_cache; + + struct _Py_tuple_state tuple; + struct _Py_list_state list; + struct _Py_dict_state dict_state; + struct _Py_async_gen_state async_gen; + struct _Py_context_state context; + struct _Py_exc_state exc_state; + + struct ast_state ast; + struct types_state types; + struct callable_cache callable_cache; + PyCodeObject *interpreter_trampoline; + + _Py_GlobalMonitors monitors; + bool f_opcode_trace_set; + bool sys_profile_initialized; + bool sys_trace_initialized; + Py_ssize_t sys_profiling_threads; /* Count of threads with c_profilefunc set */ + Py_ssize_t sys_tracing_threads; /* Count of threads with c_tracefunc set */ + PyObject *monitoring_callables[PY_MONITORING_TOOL_IDS][_PY_MONITORING_EVENTS]; + PyObject *monitoring_tool_names[PY_MONITORING_TOOL_IDS]; + + struct _Py_interp_cached_objects cached_objects; + struct _Py_interp_static_objects static_objects; + + // XXX Remove this field once we have a tp_* slot. + struct _xidregistry xidregistry; + /* The thread currently executing in the __main__ module, if any. */ + PyThreadState *threads_main; + /* The ID of the OS thread in which we are finalizing. + We use _Py_atomic_address instead of adding a new _Py_atomic_ulong. */ + _Py_atomic_address _finalizing_id; + + /* the initial PyInterpreterState.threads.head */ PyThreadState _initial_thread; }; /* other API */ -extern void _PyInterpreterState_ClearModules(PyInterpreterState *interp); extern void _PyInterpreterState_Clear(PyThreadState *tstate); -/* cross-interpreter data registry */ +static inline PyThreadState* +_PyInterpreterState_GetFinalizing(PyInterpreterState *interp) { + return (PyThreadState*)_Py_atomic_load_relaxed(&interp->_finalizing); +} -/* For now we use a global registry of shareable classes. An - alternative would be to add a tp_* slot for a class's - crossinterpdatafunc. It would be simpler and more efficient. */ +static inline unsigned long +_PyInterpreterState_GetFinalizingID(PyInterpreterState *interp) { + return (unsigned long)_Py_atomic_load_relaxed(&interp->_finalizing_id); +} -struct _xidregitem; +static inline void +_PyInterpreterState_SetFinalizing(PyInterpreterState *interp, PyThreadState *tstate) { + _Py_atomic_store_relaxed(&interp->_finalizing, (uintptr_t)tstate); + if (tstate == NULL) { + _Py_atomic_store_relaxed(&interp->_finalizing_id, 0); + } + else { + // XXX Re-enable this assert once gh-109860 is fixed. + //assert(tstate->thread_id == PyThread_get_thread_ident()); + _Py_atomic_store_relaxed(&interp->_finalizing_id, + (uintptr_t)tstate->thread_id); + } +} -struct _xidregitem { - PyTypeObject *cls; - crossinterpdatafunc getdata; - struct _xidregitem *next; -}; PyAPI_FUNC(PyInterpreterState*) _PyInterpreterState_LookUpID(int64_t); diff --git a/src/external/windows/include/python/internal/pycore_interpreteridobject.h b/src/external/windows/include/python/internal/pycore_interpreteridobject.h deleted file mode 100644 index 3c477a3d..00000000 --- a/src/external/windows/include/python/internal/pycore_interpreteridobject.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Interpreter ID Object */ - -#ifndef Py_INTERNAL_INTERPRETERIDOBJECT_H -#define Py_INTERNAL_INTERPRETERIDOBJECT_H -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef Py_BUILD_CORE -# error "this header requires Py_BUILD_CORE define" -#endif - -PyAPI_DATA(PyTypeObject) _PyInterpreterID_Type; - -PyAPI_FUNC(PyObject *) _PyInterpreterID_New(int64_t); -PyAPI_FUNC(PyObject *) _PyInterpreterState_GetIDObject(PyInterpreterState *); -PyAPI_FUNC(PyInterpreterState *) _PyInterpreterID_LookUp(PyObject *); - -#ifdef __cplusplus -} -#endif -#endif // !Py_INTERNAL_INTERPRETERIDOBJECT_H diff --git a/src/external/windows/include/python/internal/pycore_intrinsics.h b/src/external/windows/include/python/internal/pycore_intrinsics.h new file mode 100644 index 00000000..4d72e83c --- /dev/null +++ b/src/external/windows/include/python/internal/pycore_intrinsics.h @@ -0,0 +1,32 @@ +// Auto-generated by Tools/build/generate_opcode_h.py from Lib/opcode.py + +/* Unary Functions: */ +#define INTRINSIC_1_INVALID 0 +#define INTRINSIC_PRINT 1 +#define INTRINSIC_IMPORT_STAR 2 +#define INTRINSIC_STOPITERATION_ERROR 3 +#define INTRINSIC_ASYNC_GEN_WRAP 4 +#define INTRINSIC_UNARY_POSITIVE 5 +#define INTRINSIC_LIST_TO_TUPLE 6 +#define INTRINSIC_TYPEVAR 7 +#define INTRINSIC_PARAMSPEC 8 +#define INTRINSIC_TYPEVARTUPLE 9 +#define INTRINSIC_SUBSCRIPT_GENERIC 10 +#define INTRINSIC_TYPEALIAS 11 + +#define MAX_INTRINSIC_1 11 + + +/* Binary Functions: */ +#define INTRINSIC_2_INVALID 0 +#define INTRINSIC_PREP_RERAISE_STAR 1 +#define INTRINSIC_TYPEVAR_WITH_BOUND 2 +#define INTRINSIC_TYPEVAR_WITH_CONSTRAINTS 3 +#define INTRINSIC_SET_FUNCTION_TYPE_PARAMS 4 + +#define MAX_INTRINSIC_2 4 + +typedef PyObject *(*instrinsic_func1)(PyThreadState* tstate, PyObject *value); +typedef PyObject *(*instrinsic_func2)(PyThreadState* tstate, PyObject *value1, PyObject *value2); +extern const instrinsic_func1 _PyIntrinsics_UnaryFunctions[]; +extern const instrinsic_func2 _PyIntrinsics_BinaryFunctions[]; diff --git a/src/external/windows/include/python/internal/pycore_list.h b/src/external/windows/include/python/internal/pycore_list.h index 8fd6ec71..712cc4a3 100755 --- a/src/external/windows/include/python/internal/pycore_list.h +++ b/src/external/windows/include/python/internal/pycore_list.h @@ -35,7 +35,7 @@ struct _Py_list_state { #endif }; -#define _PyList_ITEMS(op) (_PyList_CAST(op)->ob_item) +#define _PyList_ITEMS(op) _Py_RVALUE(_PyList_CAST(op)->ob_item) extern int _PyList_AppendTakeRefListResize(PyListObject *self, PyObject *newitem); @@ -56,6 +56,27 @@ _PyList_AppendTakeRef(PyListObject *self, PyObject *newitem) return _PyList_AppendTakeRefListResize(self, newitem); } +// Repeat the bytes of a buffer in place +static inline void +_Py_memory_repeat(char* dest, Py_ssize_t len_dest, Py_ssize_t len_src) +{ + assert(len_src > 0); + Py_ssize_t copied = len_src; + while (copied < len_dest) { + Py_ssize_t bytes_to_copy = Py_MIN(copied, len_dest - copied); + memcpy(dest + copied, dest, bytes_to_copy); + copied += bytes_to_copy; + } +} + +typedef struct { + PyObject_HEAD + Py_ssize_t it_index; + PyListObject *it_seq; /* Set to NULL when iterator is exhausted */ +} _PyListIterObject; + +extern PyObject *_PyList_FromArraySteal(PyObject *const *src, Py_ssize_t n); + #ifdef __cplusplus } #endif diff --git a/src/external/windows/include/python/internal/pycore_long.h b/src/external/windows/include/python/internal/pycore_long.h index 3a800011..72ebd625 100755 --- a/src/external/windows/include/python/internal/pycore_long.h +++ b/src/external/windows/include/python/internal/pycore_long.h @@ -108,6 +108,150 @@ PyAPI_FUNC(char*) _PyLong_FormatBytesWriter( int base, int alternate); +/* Long value tag bits: + * 0-1: Sign bits value = (1-sign), ie. negative=2, positive=0, zero=1. + * 2: Reserved for immortality bit + * 3+ Unsigned digit count + */ +#define SIGN_MASK 3 +#define SIGN_ZERO 1 +#define SIGN_NEGATIVE 2 +#define NON_SIZE_BITS 3 + +/* The functions _PyLong_IsCompact and _PyLong_CompactValue are defined + * in Include/cpython/longobject.h, since they need to be inline. + * + * "Compact" values have at least one bit to spare, + * so that addition and subtraction can be performed on the values + * without risk of overflow. + * + * The inline functions need tag bits. + * For readability, rather than do `#define SIGN_MASK _PyLong_SIGN_MASK` + * we define them to the numbers in both places and then assert that + * they're the same. + */ +static_assert(SIGN_MASK == _PyLong_SIGN_MASK, "SIGN_MASK does not match _PyLong_SIGN_MASK"); +static_assert(NON_SIZE_BITS == _PyLong_NON_SIZE_BITS, "NON_SIZE_BITS does not match _PyLong_NON_SIZE_BITS"); + +/* All *compact" values are guaranteed to fit into + * a Py_ssize_t with at least one bit to spare. + * In other words, for 64 bit machines, compact + * will be signed 63 (or fewer) bit values + */ + +/* Return 1 if the argument is compact int */ +static inline int +_PyLong_IsNonNegativeCompact(const PyLongObject* op) { + assert(PyLong_Check(op)); + return op->long_value.lv_tag <= (1 << NON_SIZE_BITS); +} + + +static inline int +_PyLong_BothAreCompact(const PyLongObject* a, const PyLongObject* b) { + assert(PyLong_Check(a)); + assert(PyLong_Check(b)); + return (a->long_value.lv_tag | b->long_value.lv_tag) < (2 << NON_SIZE_BITS); +} + +static inline bool +_PyLong_IsZero(const PyLongObject *op) +{ + return (op->long_value.lv_tag & SIGN_MASK) == SIGN_ZERO; +} + +static inline bool +_PyLong_IsNegative(const PyLongObject *op) +{ + return (op->long_value.lv_tag & SIGN_MASK) == SIGN_NEGATIVE; +} + +static inline bool +_PyLong_IsPositive(const PyLongObject *op) +{ + return (op->long_value.lv_tag & SIGN_MASK) == 0; +} + +static inline Py_ssize_t +_PyLong_DigitCount(const PyLongObject *op) +{ + assert(PyLong_Check(op)); + return op->long_value.lv_tag >> NON_SIZE_BITS; +} + +/* Equivalent to _PyLong_DigitCount(op) * _PyLong_NonCompactSign(op) */ +static inline Py_ssize_t +_PyLong_SignedDigitCount(const PyLongObject *op) +{ + assert(PyLong_Check(op)); + Py_ssize_t sign = 1 - (op->long_value.lv_tag & SIGN_MASK); + return sign * (Py_ssize_t)(op->long_value.lv_tag >> NON_SIZE_BITS); +} + +static inline int +_PyLong_CompactSign(const PyLongObject *op) +{ + assert(PyLong_Check(op)); + assert(_PyLong_IsCompact(op)); + return 1 - (op->long_value.lv_tag & SIGN_MASK); +} + +static inline int +_PyLong_NonCompactSign(const PyLongObject *op) +{ + assert(PyLong_Check(op)); + assert(!_PyLong_IsCompact(op)); + return 1 - (op->long_value.lv_tag & SIGN_MASK); +} + +/* Do a and b have the same sign? */ +static inline int +_PyLong_SameSign(const PyLongObject *a, const PyLongObject *b) +{ + return (a->long_value.lv_tag & SIGN_MASK) == (b->long_value.lv_tag & SIGN_MASK); +} + +#define TAG_FROM_SIGN_AND_SIZE(sign, size) ((1 - (sign)) | ((size) << NON_SIZE_BITS)) + +static inline void +_PyLong_SetSignAndDigitCount(PyLongObject *op, int sign, Py_ssize_t size) +{ + assert(size >= 0); + assert(-1 <= sign && sign <= 1); + assert(sign != 0 || size == 0); + op->long_value.lv_tag = TAG_FROM_SIGN_AND_SIZE(sign, (size_t)size); +} + +static inline void +_PyLong_SetDigitCount(PyLongObject *op, Py_ssize_t size) +{ + assert(size >= 0); + op->long_value.lv_tag = (((size_t)size) << NON_SIZE_BITS) | (op->long_value.lv_tag & SIGN_MASK); +} + +#define NON_SIZE_MASK ~((1 << NON_SIZE_BITS) - 1) + +static inline void +_PyLong_FlipSign(PyLongObject *op) { + unsigned int flipped_sign = 2 - (op->long_value.lv_tag & SIGN_MASK); + op->long_value.lv_tag &= NON_SIZE_MASK; + op->long_value.lv_tag |= flipped_sign; +} + +#define _PyLong_DIGIT_INIT(val) \ + { \ + .ob_base = _PyObject_HEAD_INIT(&PyLong_Type) \ + .long_value = { \ + .lv_tag = TAG_FROM_SIGN_AND_SIZE( \ + (val) == 0 ? 0 : ((val) < 0 ? -1 : 1), \ + (val) == 0 ? 0 : 1), \ + { ((val) >= 0 ? (val) : -(val)) }, \ + } \ + } + +#define _PyLong_FALSE_TAG TAG_FROM_SIGN_AND_SIZE(0, 0) +#define _PyLong_TRUE_TAG TAG_FROM_SIGN_AND_SIZE(1, 1) + #ifdef __cplusplus } #endif diff --git a/src/external/windows/include/python/internal/pycore_memoryobject.h b/src/external/windows/include/python/internal/pycore_memoryobject.h new file mode 100644 index 00000000..0e94cc7c --- /dev/null +++ b/src/external/windows/include/python/internal/pycore_memoryobject.h @@ -0,0 +1,18 @@ +#ifndef Py_INTERNAL_MEMORYOBJECT_H +#define Py_INTERNAL_MEMORYOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +PyObject * +_PyMemoryView_FromBufferProc(PyObject *v, int flags, + getbufferproc bufferproc); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_MEMORYOBJECT_H */ diff --git a/src/external/windows/include/python/internal/pycore_moduleobject.h b/src/external/windows/include/python/internal/pycore_moduleobject.h index 85d466c5..3a8de335 100755 --- a/src/external/windows/include/python/internal/pycore_moduleobject.h +++ b/src/external/windows/include/python/internal/pycore_moduleobject.h @@ -36,6 +36,9 @@ static inline PyObject* _PyModule_GetDict(PyObject *mod) { return dict; } +PyObject* _Py_module_getattro_impl(PyModuleObject *m, PyObject *name, int suppress); +PyObject* _Py_module_getattro(PyModuleObject *m, PyObject *name); + #ifdef __cplusplus } #endif diff --git a/src/external/windows/include/python/internal/pycore_object.h b/src/external/windows/include/python/internal/pycore_object.h index 72182af6..0e549487 100755 --- a/src/external/windows/include/python/internal/pycore_object.h +++ b/src/external/windows/include/python/internal/pycore_object.h @@ -14,28 +14,92 @@ extern "C" { #include "pycore_pystate.h" // _PyInterpreterState_GET() #include "pycore_runtime.h" // _PyRuntime -#define _PyObject_IMMORTAL_INIT(type) \ - { \ - .ob_refcnt = 999999999, \ - .ob_type = type, \ - } -#define _PyVarObject_IMMORTAL_INIT(type, size) \ - { \ - .ob_base = _PyObject_IMMORTAL_INIT(type), \ - .ob_size = size, \ - } +/* We need to maintain an internal copy of Py{Var}Object_HEAD_INIT to avoid + designated initializer conflicts in C++20. If we use the deinition in + object.h, we will be mixing designated and non-designated initializers in + pycore objects which is forbiddent in C++20. However, if we then use + designated initializers in object.h then Extensions without designated break. + Furthermore, we can't use designated initializers in Extensions since these + are not supported pre-C++20. Thus, keeping an internal copy here is the most + backwards compatible solution */ +#define _PyObject_HEAD_INIT(type) \ + { \ + _PyObject_EXTRA_INIT \ + .ob_refcnt = _Py_IMMORTAL_REFCNT, \ + .ob_type = (type) \ + }, +#define _PyVarObject_HEAD_INIT(type, size) \ + { \ + .ob_base = _PyObject_HEAD_INIT(type) \ + .ob_size = size \ + }, PyAPI_FUNC(void) _Py_NO_RETURN _Py_FatalRefcountErrorFunc( const char *func, const char *message); -#define _Py_FatalRefcountError(message) _Py_FatalRefcountErrorFunc(__func__, message) +#define _Py_FatalRefcountError(message) \ + _Py_FatalRefcountErrorFunc(__func__, (message)) + + +#ifdef Py_REF_DEBUG +/* The symbol is only exposed in the API for the sake of extensions + built against the pre-3.12 stable ABI. */ +PyAPI_DATA(Py_ssize_t) _Py_RefTotal; + +extern void _Py_AddRefTotal(PyInterpreterState *, Py_ssize_t); +extern void _Py_IncRefTotal(PyInterpreterState *); +extern void _Py_DecRefTotal(PyInterpreterState *); + +# define _Py_DEC_REFTOTAL(interp) \ + interp->object_state.reftotal-- +#endif + +// Increment reference count by n +static inline void _Py_RefcntAdd(PyObject* op, Py_ssize_t n) +{ + if (_Py_IsImmortal(op)) { + return; + } +#ifdef Py_REF_DEBUG + _Py_AddRefTotal(_PyInterpreterState_GET(), n); +#endif + op->ob_refcnt += n; +} +#define _Py_RefcntAdd(op, n) _Py_RefcntAdd(_PyObject_CAST(op), n) + +static inline void _Py_SetImmortal(PyObject *op) +{ + if (op) { + op->ob_refcnt = _Py_IMMORTAL_REFCNT; + } +} +#define _Py_SetImmortal(op) _Py_SetImmortal(_PyObject_CAST(op)) + +/* _Py_ClearImmortal() should only be used during runtime finalization. */ +static inline void _Py_ClearImmortal(PyObject *op) +{ + if (op) { + assert(op->ob_refcnt == _Py_IMMORTAL_REFCNT); + op->ob_refcnt = 1; + Py_DECREF(op); + } +} +#define _Py_ClearImmortal(op) \ + do { \ + _Py_ClearImmortal(_PyObject_CAST(op)); \ + op = NULL; \ + } while (0) static inline void _Py_DECREF_SPECIALIZED(PyObject *op, const destructor destruct) { + if (_Py_IsImmortal(op)) { + return; + } + _Py_DECREF_STAT_INC(); #ifdef Py_REF_DEBUG - _Py_RefTotal--; + _Py_DEC_REFTOTAL(_PyInterpreterState_GET()); #endif if (--op->ob_refcnt != 0) { assert(op->ob_refcnt > 0); @@ -51,8 +115,12 @@ _Py_DECREF_SPECIALIZED(PyObject *op, const destructor destruct) static inline void _Py_DECREF_NO_DEALLOC(PyObject *op) { + if (_Py_IsImmortal(op)) { + return; + } + _Py_DECREF_STAT_INC(); #ifdef Py_REF_DEBUG - _Py_RefTotal--; + _Py_DEC_REFTOTAL(_PyInterpreterState_GET()); #endif op->ob_refcnt--; #ifdef Py_DEBUG @@ -62,6 +130,11 @@ _Py_DECREF_NO_DEALLOC(PyObject *op) #endif } +#ifdef Py_REF_DEBUG +# undef _Py_DEC_REFTOTAL +#endif + + PyAPI_FUNC(int) _PyType_CheckConsistency(PyTypeObject *type); PyAPI_FUNC(int) _PyDict_CheckConsistency(PyObject *mp, int check_content); @@ -79,6 +152,7 @@ _PyType_HasFeature(PyTypeObject *type, unsigned long feature) { extern void _PyType_InitCache(PyInterpreterState *interp); +extern void _PyObject_InitState(PyInterpreterState *interp); /* Inline functions trading binary compatibility for speed: _PyObject_Init() is the fast version of PyObject_Init(), and @@ -100,8 +174,9 @@ static inline void _PyObject_InitVar(PyVarObject *op, PyTypeObject *typeobj, Py_ssize_t size) { assert(op != NULL); - Py_SET_SIZE(op, size); + assert(typeobj != &PyLong_Type); _PyObject_Init((PyObject *)op, typeobj); + Py_SET_SIZE(op, size); } @@ -190,22 +265,64 @@ static inline void _PyObject_GC_UNTRACK( #endif #ifdef Py_REF_DEBUG +extern void _PyInterpreterState_FinalizeRefTotal(PyInterpreterState *); +extern void _Py_FinalizeRefTotal(_PyRuntimeState *); extern void _PyDebug_PrintTotalRefs(void); #endif #ifdef Py_TRACE_REFS extern void _Py_AddToAllObjects(PyObject *op, int force); -extern void _Py_PrintReferences(FILE *); -extern void _Py_PrintReferenceAddresses(FILE *); +extern void _Py_PrintReferences(PyInterpreterState *, FILE *); +extern void _Py_PrintReferenceAddresses(PyInterpreterState *, FILE *); #endif + +/* Return the *address* of the object's weaklist. The address may be + * dereferenced to get the current head of the weaklist. This is useful + * for iterating over the linked list of weakrefs, especially when the + * list is being modified externally (e.g. refs getting removed). + * + * The returned pointer should not be used to change the head of the list + * nor should it be used to add, remove, or swap any refs in the list. + * That is the sole responsibility of the code in weakrefobject.c. + */ static inline PyObject ** _PyObject_GET_WEAKREFS_LISTPTR(PyObject *op) { + if (PyType_Check(op) && + ((PyTypeObject *)op)->tp_flags & _Py_TPFLAGS_STATIC_BUILTIN) { + PyInterpreterState *interp = _PyInterpreterState_GET(); + static_builtin_state *state = _PyStaticType_GetState( + interp, (PyTypeObject *)op); + return _PyStaticType_GET_WEAKREFS_LISTPTR(state); + } + // Essentially _PyObject_GET_WEAKREFS_LISTPTR_FROM_OFFSET(): Py_ssize_t offset = Py_TYPE(op)->tp_weaklistoffset; return (PyObject **)((char *)op + offset); } +/* This is a special case of _PyObject_GET_WEAKREFS_LISTPTR(). + * Only the most fundamental lookup path is used. + * Consequently, static types should not be used. + * + * For static builtin types the returned pointer will always point + * to a NULL tp_weaklist. This is fine for any deallocation cases, + * since static types are never deallocated and static builtin types + * are only finalized at the end of runtime finalization. + * + * If the weaklist for static types is actually needed then use + * _PyObject_GET_WEAKREFS_LISTPTR(). + */ +static inline PyWeakReference ** +_PyObject_GET_WEAKREFS_LISTPTR_FROM_OFFSET(PyObject *op) +{ + assert(!PyType_Check(op) || + ((PyTypeObject *)op)->tp_flags & Py_TPFLAGS_HEAPTYPE); + Py_ssize_t offset = Py_TYPE(op)->tp_weaklistoffset; + return (PyWeakReference **)((char *)op + offset); +} + + // Fast inlined version of PyObject_IS_GC() static inline int _PyObject_IS_GC(PyObject *obj) @@ -222,7 +339,7 @@ static inline size_t _PyType_PreHeaderSize(PyTypeObject *tp) { return _PyType_IS_GC(tp) * sizeof(PyGC_Head) + - _PyType_HasFeature(tp, Py_TPFLAGS_MANAGED_DICT) * 2 * sizeof(PyObject *); + _PyType_HasFeature(tp, Py_TPFLAGS_PREHEADER) * 2 * sizeof(PyObject *); } void _PyObject_GC_Link(PyObject *op); @@ -233,13 +350,9 @@ extern int _Py_CheckSlotResult( const char *slot_name, int success); -// PyType_Ready() must be called if _PyType_IsReady() is false. -// See also the Py_TPFLAGS_READY flag. -#define _PyType_IsReady(type) ((type)->tp_dict != NULL) - // Test if a type supports weak references static inline int _PyType_SUPPORTS_WEAKREFS(PyTypeObject *type) { - return (type->tp_weaklistoffset > 0); + return (type->tp_weaklistoffset != 0); } extern PyObject* _PyType_AllocNoTrack(PyTypeObject *type, Py_ssize_t nitems); @@ -250,30 +363,50 @@ extern int _PyObject_StoreInstanceAttribute(PyObject *obj, PyDictValues *values, PyObject * _PyObject_GetInstanceAttribute(PyObject *obj, PyDictValues *values, PyObject *name); -static inline PyDictValues **_PyObject_ValuesPointer(PyObject *obj) +typedef union { + PyObject *dict; + /* Use a char* to generate a warning if directly assigning a PyDictValues */ + char *values; +} PyDictOrValues; + +static inline PyDictOrValues * +_PyObject_DictOrValuesPointer(PyObject *obj) { assert(Py_TYPE(obj)->tp_flags & Py_TPFLAGS_MANAGED_DICT); - return ((PyDictValues **)obj)-4; + return ((PyDictOrValues *)obj)-3; } -static inline PyObject **_PyObject_ManagedDictPointer(PyObject *obj) +static inline int +_PyDictOrValues_IsValues(PyDictOrValues dorv) { - assert(Py_TYPE(obj)->tp_flags & Py_TPFLAGS_MANAGED_DICT); - return ((PyObject **)obj)-3; + return ((uintptr_t)dorv.values) & 1; } -#define MANAGED_DICT_OFFSET (((int)sizeof(PyObject *))*-3) +static inline PyDictValues * +_PyDictOrValues_GetValues(PyDictOrValues dorv) +{ + assert(_PyDictOrValues_IsValues(dorv)); + return (PyDictValues *)(dorv.values + 1); +} -extern PyObject ** _PyObject_DictPointer(PyObject *); -extern int _PyObject_VisitInstanceAttributes(PyObject *self, visitproc visit, void *arg); -extern void _PyObject_ClearInstanceAttributes(PyObject *self); -extern void _PyObject_FreeInstanceAttributes(PyObject *self); +static inline PyObject * +_PyDictOrValues_GetDict(PyDictOrValues dorv) +{ + assert(!_PyDictOrValues_IsValues(dorv)); + return dorv.dict; +} + +static inline void +_PyDictOrValues_SetValues(PyDictOrValues *ptr, PyDictValues *values) +{ + ptr->values = ((char *)values) - 1; +} + +#define MANAGED_WEAKREF_OFFSET (((Py_ssize_t)sizeof(PyObject *))*-4) + +extern PyObject ** _PyObject_ComputedDictPointer(PyObject *); +extern void _PyObject_FreeInstanceAttributes(PyObject *obj); extern int _PyObject_IsInstanceDictEmpty(PyObject *); -extern PyObject* _PyType_GetSubclasses(PyTypeObject *); - -// Access macro to the members which are floating "behind" the object -#define _PyHeapType_GET_MEMBERS(etype) \ - ((PyMemberDef *)(((char *)etype) + Py_TYPE(etype)->tp_basicsize)) PyAPI_FUNC(PyObject *) _PyObject_LookupSpecial(PyObject *, PyObject *); @@ -289,12 +422,12 @@ PyAPI_FUNC(PyObject *) _PyObject_LookupSpecial(PyObject *, PyObject *); * match. * * Third party code unintentionally rely on problematic fpcasts. The call - * trampoline mitigates common occurences of bad fpcasts on Emscripten. + * trampoline mitigates common occurrences of bad fpcasts on Emscripten. */ #if defined(__EMSCRIPTEN__) && defined(PY_CALL_TRAMPOLINE) #define _PyCFunction_TrampolineCall(meth, self, args) \ _PyCFunctionWithKeywords_TrampolineCall( \ - (*(PyCFunctionWithKeywords)(void(*)(void))meth), self, args, NULL) + (*(PyCFunctionWithKeywords)(void(*)(void))(meth)), (self), (args), NULL) extern PyObject* _PyCFunctionWithKeywords_TrampolineCall( PyCFunctionWithKeywords meth, PyObject *, PyObject *, PyObject *); #else diff --git a/src/external/windows/include/python/internal/pycore_object_state.h b/src/external/windows/include/python/internal/pycore_object_state.h new file mode 100644 index 00000000..023f1ff3 --- /dev/null +++ b/src/external/windows/include/python/internal/pycore_object_state.h @@ -0,0 +1,36 @@ +#ifndef Py_INTERNAL_OBJECT_STATE_H +#define Py_INTERNAL_OBJECT_STATE_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +struct _py_object_runtime_state { +#ifdef Py_REF_DEBUG + Py_ssize_t interpreter_leaks; +#endif + int _not_used; +}; + +struct _py_object_state { +#ifdef Py_REF_DEBUG + Py_ssize_t reftotal; +#endif +#ifdef Py_TRACE_REFS + /* Head of circular doubly-linked list of all objects. These are linked + * together via the _ob_prev and _ob_next members of a PyObject, which + * exist only in a Py_TRACE_REFS build. + */ + PyObject refchain; +#endif + int _not_used; +}; + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_OBJECT_STATE_H */ diff --git a/src/external/windows/include/python/internal/pycore_obmalloc.h b/src/external/windows/include/python/internal/pycore_obmalloc.h new file mode 100644 index 00000000..570620db --- /dev/null +++ b/src/external/windows/include/python/internal/pycore_obmalloc.h @@ -0,0 +1,700 @@ +#ifndef Py_INTERNAL_OBMALLOC_H +#define Py_INTERNAL_OBMALLOC_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + + +typedef unsigned int pymem_uint; /* assuming >= 16 bits */ + +#undef uint +#define uint pymem_uint + + +/* An object allocator for Python. + + Here is an introduction to the layers of the Python memory architecture, + showing where the object allocator is actually used (layer +2), It is + called for every object allocation and deallocation (PyObject_New/Del), + unless the object-specific allocators implement a proprietary allocation + scheme (ex.: ints use a simple free list). This is also the place where + the cyclic garbage collector operates selectively on container objects. + + + Object-specific allocators + _____ ______ ______ ________ + [ int ] [ dict ] [ list ] ... [ string ] Python core | ++3 | <----- Object-specific memory -----> | <-- Non-object memory --> | + _______________________________ | | + [ Python's object allocator ] | | ++2 | ####### Object memory ####### | <------ Internal buffers ------> | + ______________________________________________________________ | + [ Python's raw memory allocator (PyMem_ API) ] | ++1 | <----- Python memory (under PyMem manager's control) ------> | | + __________________________________________________________________ + [ Underlying general-purpose allocator (ex: C library malloc) ] + 0 | <------ Virtual memory allocated for the python process -------> | + + ========================================================================= + _______________________________________________________________________ + [ OS-specific Virtual Memory Manager (VMM) ] +-1 | <--- Kernel dynamic storage allocation & management (page-based) ---> | + __________________________________ __________________________________ + [ ] [ ] +-2 | <-- Physical memory: ROM/RAM --> | | <-- Secondary storage (swap) --> | + +*/ +/*==========================================================================*/ + +/* A fast, special-purpose memory allocator for small blocks, to be used + on top of a general-purpose malloc -- heavily based on previous art. */ + +/* Vladimir Marangozov -- August 2000 */ + +/* + * "Memory management is where the rubber meets the road -- if we do the wrong + * thing at any level, the results will not be good. And if we don't make the + * levels work well together, we are in serious trouble." (1) + * + * (1) Paul R. Wilson, Mark S. Johnstone, Michael Neely, and David Boles, + * "Dynamic Storage Allocation: A Survey and Critical Review", + * in Proc. 1995 Int'l. Workshop on Memory Management, September 1995. + */ + +/* #undef WITH_MEMORY_LIMITS */ /* disable mem limit checks */ + +/*==========================================================================*/ + +/* + * Allocation strategy abstract: + * + * For small requests, the allocator sub-allocates blocks of memory. + * Requests greater than SMALL_REQUEST_THRESHOLD bytes are routed to the + * system's allocator. + * + * Small requests are grouped in size classes spaced 8 bytes apart, due + * to the required valid alignment of the returned address. Requests of + * a particular size are serviced from memory pools of 4K (one VMM page). + * Pools are fragmented on demand and contain free lists of blocks of one + * particular size class. In other words, there is a fixed-size allocator + * for each size class. Free pools are shared by the different allocators + * thus minimizing the space reserved for a particular size class. + * + * This allocation strategy is a variant of what is known as "simple + * segregated storage based on array of free lists". The main drawback of + * simple segregated storage is that we might end up with lot of reserved + * memory for the different free lists, which degenerate in time. To avoid + * this, we partition each free list in pools and we share dynamically the + * reserved space between all free lists. This technique is quite efficient + * for memory intensive programs which allocate mainly small-sized blocks. + * + * For small requests we have the following table: + * + * Request in bytes Size of allocated block Size class idx + * ---------------------------------------------------------------- + * 1-8 8 0 + * 9-16 16 1 + * 17-24 24 2 + * 25-32 32 3 + * 33-40 40 4 + * 41-48 48 5 + * 49-56 56 6 + * 57-64 64 7 + * 65-72 72 8 + * ... ... ... + * 497-504 504 62 + * 505-512 512 63 + * + * 0, SMALL_REQUEST_THRESHOLD + 1 and up: routed to the underlying + * allocator. + */ + +/*==========================================================================*/ + +/* + * -- Main tunable settings section -- + */ + +/* + * Alignment of addresses returned to the user. 8-bytes alignment works + * on most current architectures (with 32-bit or 64-bit address buses). + * The alignment value is also used for grouping small requests in size + * classes spaced ALIGNMENT bytes apart. + * + * You shouldn't change this unless you know what you are doing. + */ + +#if SIZEOF_VOID_P > 4 +#define ALIGNMENT 16 /* must be 2^N */ +#define ALIGNMENT_SHIFT 4 +#else +#define ALIGNMENT 8 /* must be 2^N */ +#define ALIGNMENT_SHIFT 3 +#endif + +/* Return the number of bytes in size class I, as a uint. */ +#define INDEX2SIZE(I) (((pymem_uint)(I) + 1) << ALIGNMENT_SHIFT) + +/* + * Max size threshold below which malloc requests are considered to be + * small enough in order to use preallocated memory pools. You can tune + * this value according to your application behaviour and memory needs. + * + * Note: a size threshold of 512 guarantees that newly created dictionaries + * will be allocated from preallocated memory pools on 64-bit. + * + * The following invariants must hold: + * 1) ALIGNMENT <= SMALL_REQUEST_THRESHOLD <= 512 + * 2) SMALL_REQUEST_THRESHOLD is evenly divisible by ALIGNMENT + * + * Although not required, for better performance and space efficiency, + * it is recommended that SMALL_REQUEST_THRESHOLD is set to a power of 2. + */ +#define SMALL_REQUEST_THRESHOLD 512 +#define NB_SMALL_SIZE_CLASSES (SMALL_REQUEST_THRESHOLD / ALIGNMENT) + +/* + * The system's VMM page size can be obtained on most unices with a + * getpagesize() call or deduced from various header files. To make + * things simpler, we assume that it is 4K, which is OK for most systems. + * It is probably better if this is the native page size, but it doesn't + * have to be. In theory, if SYSTEM_PAGE_SIZE is larger than the native page + * size, then `POOL_ADDR(p)->arenaindex' could rarely cause a segmentation + * violation fault. 4K is apparently OK for all the platforms that python + * currently targets. + */ +#define SYSTEM_PAGE_SIZE (4 * 1024) + +/* + * Maximum amount of memory managed by the allocator for small requests. + */ +#ifdef WITH_MEMORY_LIMITS +#ifndef SMALL_MEMORY_LIMIT +#define SMALL_MEMORY_LIMIT (64 * 1024 * 1024) /* 64 MB -- more? */ +#endif +#endif + +#if !defined(WITH_PYMALLOC_RADIX_TREE) +/* Use radix-tree to track arena memory regions, for address_in_range(). + * Enable by default since it allows larger pool sizes. Can be disabled + * using -DWITH_PYMALLOC_RADIX_TREE=0 */ +#define WITH_PYMALLOC_RADIX_TREE 1 +#endif + +#if SIZEOF_VOID_P > 4 +/* on 64-bit platforms use larger pools and arenas if we can */ +#define USE_LARGE_ARENAS +#if WITH_PYMALLOC_RADIX_TREE +/* large pools only supported if radix-tree is enabled */ +#define USE_LARGE_POOLS +#endif +#endif + +/* + * The allocator sub-allocates blocks of memory (called arenas) aligned + * on a page boundary. This is a reserved virtual address space for the + * current process (obtained through a malloc()/mmap() call). In no way this + * means that the memory arenas will be used entirely. A malloc() is + * usually an address range reservation for bytes, unless all pages within + * this space are referenced subsequently. So malloc'ing big blocks and not + * using them does not mean "wasting memory". It's an addressable range + * wastage... + * + * Arenas are allocated with mmap() on systems supporting anonymous memory + * mappings to reduce heap fragmentation. + */ +#ifdef USE_LARGE_ARENAS +#define ARENA_BITS 20 /* 1 MiB */ +#else +#define ARENA_BITS 18 /* 256 KiB */ +#endif +#define ARENA_SIZE (1 << ARENA_BITS) +#define ARENA_SIZE_MASK (ARENA_SIZE - 1) + +#ifdef WITH_MEMORY_LIMITS +#define MAX_ARENAS (SMALL_MEMORY_LIMIT / ARENA_SIZE) +#endif + +/* + * Size of the pools used for small blocks. Must be a power of 2. + */ +#ifdef USE_LARGE_POOLS +#define POOL_BITS 14 /* 16 KiB */ +#else +#define POOL_BITS 12 /* 4 KiB */ +#endif +#define POOL_SIZE (1 << POOL_BITS) +#define POOL_SIZE_MASK (POOL_SIZE - 1) + +#if !WITH_PYMALLOC_RADIX_TREE +#if POOL_SIZE != SYSTEM_PAGE_SIZE +# error "pool size must be equal to system page size" +#endif +#endif + +#define MAX_POOLS_IN_ARENA (ARENA_SIZE / POOL_SIZE) +#if MAX_POOLS_IN_ARENA * POOL_SIZE != ARENA_SIZE +# error "arena size not an exact multiple of pool size" +#endif + +/* + * -- End of tunable settings section -- + */ + +/*==========================================================================*/ + +/* When you say memory, my mind reasons in terms of (pointers to) blocks */ +typedef uint8_t pymem_block; + +/* Pool for small blocks. */ +struct pool_header { + union { pymem_block *_padding; + uint count; } ref; /* number of allocated blocks */ + pymem_block *freeblock; /* pool's free list head */ + struct pool_header *nextpool; /* next pool of this size class */ + struct pool_header *prevpool; /* previous pool "" */ + uint arenaindex; /* index into arenas of base adr */ + uint szidx; /* block size class index */ + uint nextoffset; /* bytes to virgin block */ + uint maxnextoffset; /* largest valid nextoffset */ +}; + +typedef struct pool_header *poolp; + +/* Record keeping for arenas. */ +struct arena_object { + /* The address of the arena, as returned by malloc. Note that 0 + * will never be returned by a successful malloc, and is used + * here to mark an arena_object that doesn't correspond to an + * allocated arena. + */ + uintptr_t address; + + /* Pool-aligned pointer to the next pool to be carved off. */ + pymem_block* pool_address; + + /* The number of available pools in the arena: free pools + never- + * allocated pools. + */ + uint nfreepools; + + /* The total number of pools in the arena, whether or not available. */ + uint ntotalpools; + + /* Singly-linked list of available pools. */ + struct pool_header* freepools; + + /* Whenever this arena_object is not associated with an allocated + * arena, the nextarena member is used to link all unassociated + * arena_objects in the singly-linked `unused_arena_objects` list. + * The prevarena member is unused in this case. + * + * When this arena_object is associated with an allocated arena + * with at least one available pool, both members are used in the + * doubly-linked `usable_arenas` list, which is maintained in + * increasing order of `nfreepools` values. + * + * Else this arena_object is associated with an allocated arena + * all of whose pools are in use. `nextarena` and `prevarena` + * are both meaningless in this case. + */ + struct arena_object* nextarena; + struct arena_object* prevarena; +}; + +#define POOL_OVERHEAD _Py_SIZE_ROUND_UP(sizeof(struct pool_header), ALIGNMENT) + +#define DUMMY_SIZE_IDX 0xffff /* size class of newly cached pools */ + +/* Round pointer P down to the closest pool-aligned address <= P, as a poolp */ +#define POOL_ADDR(P) ((poolp)_Py_ALIGN_DOWN((P), POOL_SIZE)) + +/* Return total number of blocks in pool of size index I, as a uint. */ +#define NUMBLOCKS(I) ((pymem_uint)(POOL_SIZE - POOL_OVERHEAD) / INDEX2SIZE(I)) + +/*==========================================================================*/ + +/* + * Pool table -- headed, circular, doubly-linked lists of partially used pools. + +This is involved. For an index i, usedpools[i+i] is the header for a list of +all partially used pools holding small blocks with "size class idx" i. So +usedpools[0] corresponds to blocks of size 8, usedpools[2] to blocks of size +16, and so on: index 2*i <-> blocks of size (i+1)<freeblock points to +the start of a singly-linked list of free blocks within the pool. When a +block is freed, it's inserted at the front of its pool's freeblock list. Note +that the available blocks in a pool are *not* linked all together when a pool +is initialized. Instead only "the first two" (lowest addresses) blocks are +set up, returning the first such block, and setting pool->freeblock to a +one-block list holding the second such block. This is consistent with that +pymalloc strives at all levels (arena, pool, and block) never to touch a piece +of memory until it's actually needed. + +So long as a pool is in the used state, we're certain there *is* a block +available for allocating, and pool->freeblock is not NULL. If pool->freeblock +points to the end of the free list before we've carved the entire pool into +blocks, that means we simply haven't yet gotten to one of the higher-address +blocks. The offset from the pool_header to the start of "the next" virgin +block is stored in the pool_header nextoffset member, and the largest value +of nextoffset that makes sense is stored in the maxnextoffset member when a +pool is initialized. All the blocks in a pool have been passed out at least +once when and only when nextoffset > maxnextoffset. + + +Major obscurity: While the usedpools vector is declared to have poolp +entries, it doesn't really. It really contains two pointers per (conceptual) +poolp entry, the nextpool and prevpool members of a pool_header. The +excruciating initialization code below fools C so that + + usedpool[i+i] + +"acts like" a genuine poolp, but only so long as you only reference its +nextpool and prevpool members. The "- 2*sizeof(pymem_block *)" gibberish is +compensating for that a pool_header's nextpool and prevpool members +immediately follow a pool_header's first two members: + + union { pymem_block *_padding; + uint count; } ref; + pymem_block *freeblock; + +each of which consume sizeof(pymem_block *) bytes. So what usedpools[i+i] really +contains is a fudged-up pointer p such that *if* C believes it's a poolp +pointer, then p->nextpool and p->prevpool are both p (meaning that the headed +circular list is empty). + +It's unclear why the usedpools setup is so convoluted. It could be to +minimize the amount of cache required to hold this heavily-referenced table +(which only *needs* the two interpool pointer members of a pool_header). OTOH, +referencing code has to remember to "double the index" and doing so isn't +free, usedpools[0] isn't a strictly legal pointer, and we're crucially relying +on that C doesn't insert any padding anywhere in a pool_header at or before +the prevpool member. +**************************************************************************** */ + +#define OBMALLOC_USED_POOLS_SIZE (2 * ((NB_SMALL_SIZE_CLASSES + 7) / 8) * 8) + +struct _obmalloc_pools { + poolp used[OBMALLOC_USED_POOLS_SIZE]; +}; + + +/*========================================================================== +Arena management. + +`arenas` is a vector of arena_objects. It contains maxarenas entries, some of +which may not be currently used (== they're arena_objects that aren't +currently associated with an allocated arena). Note that arenas proper are +separately malloc'ed. + +Prior to Python 2.5, arenas were never free()'ed. Starting with Python 2.5, +we do try to free() arenas, and use some mild heuristic strategies to increase +the likelihood that arenas eventually can be freed. + +unused_arena_objects + + This is a singly-linked list of the arena_objects that are currently not + being used (no arena is associated with them). Objects are taken off the + head of the list in new_arena(), and are pushed on the head of the list in + PyObject_Free() when the arena is empty. Key invariant: an arena_object + is on this list if and only if its .address member is 0. + +usable_arenas + + This is a doubly-linked list of the arena_objects associated with arenas + that have pools available. These pools are either waiting to be reused, + or have not been used before. The list is sorted to have the most- + allocated arenas first (ascending order based on the nfreepools member). + This means that the next allocation will come from a heavily used arena, + which gives the nearly empty arenas a chance to be returned to the system. + In my unscientific tests this dramatically improved the number of arenas + that could be freed. + +Note that an arena_object associated with an arena all of whose pools are +currently in use isn't on either list. + +Changed in Python 3.8: keeping usable_arenas sorted by number of free pools +used to be done by one-at-a-time linear search when an arena's number of +free pools changed. That could, overall, consume time quadratic in the +number of arenas. That didn't really matter when there were only a few +hundred arenas (typical!), but could be a timing disaster when there were +hundreds of thousands. See bpo-37029. + +Now we have a vector of "search fingers" to eliminate the need to search: +nfp2lasta[nfp] returns the last ("rightmost") arena in usable_arenas +with nfp free pools. This is NULL if and only if there is no arena with +nfp free pools in usable_arenas. +*/ + +/* How many arena_objects do we initially allocate? + * 16 = can allocate 16 arenas = 16 * ARENA_SIZE = 4MB before growing the + * `arenas` vector. + */ +#define INITIAL_ARENA_OBJECTS 16 + +struct _obmalloc_mgmt { + /* Array of objects used to track chunks of memory (arenas). */ + struct arena_object* arenas; + /* Number of slots currently allocated in the `arenas` vector. */ + uint maxarenas; + + /* The head of the singly-linked, NULL-terminated list of available + * arena_objects. + */ + struct arena_object* unused_arena_objects; + + /* The head of the doubly-linked, NULL-terminated at each end, list of + * arena_objects associated with arenas that have pools available. + */ + struct arena_object* usable_arenas; + + /* nfp2lasta[nfp] is the last arena in usable_arenas with nfp free pools */ + struct arena_object* nfp2lasta[MAX_POOLS_IN_ARENA + 1]; + + /* Number of arenas allocated that haven't been free()'d. */ + size_t narenas_currently_allocated; + + /* Total number of times malloc() called to allocate an arena. */ + size_t ntimes_arena_allocated; + /* High water mark (max value ever seen) for narenas_currently_allocated. */ + size_t narenas_highwater; + + Py_ssize_t raw_allocated_blocks; +}; + + +#if WITH_PYMALLOC_RADIX_TREE +/*==========================================================================*/ +/* radix tree for tracking arena usage. If enabled, used to implement + address_in_range(). + + memory address bit allocation for keys + + 64-bit pointers, IGNORE_BITS=0 and 2^20 arena size: + 15 -> MAP_TOP_BITS + 15 -> MAP_MID_BITS + 14 -> MAP_BOT_BITS + 20 -> ideal aligned arena + ---- + 64 + + 64-bit pointers, IGNORE_BITS=16, and 2^20 arena size: + 16 -> IGNORE_BITS + 10 -> MAP_TOP_BITS + 10 -> MAP_MID_BITS + 8 -> MAP_BOT_BITS + 20 -> ideal aligned arena + ---- + 64 + + 32-bit pointers and 2^18 arena size: + 14 -> MAP_BOT_BITS + 18 -> ideal aligned arena + ---- + 32 + +*/ + +#if SIZEOF_VOID_P == 8 + +/* number of bits in a pointer */ +#define POINTER_BITS 64 + +/* High bits of memory addresses that will be ignored when indexing into the + * radix tree. Setting this to zero is the safe default. For most 64-bit + * machines, setting this to 16 would be safe. The kernel would not give + * user-space virtual memory addresses that have significant information in + * those high bits. The main advantage to setting IGNORE_BITS > 0 is that less + * virtual memory will be used for the top and middle radix tree arrays. Those + * arrays are allocated in the BSS segment and so will typically consume real + * memory only if actually accessed. + */ +#define IGNORE_BITS 0 + +/* use the top and mid layers of the radix tree */ +#define USE_INTERIOR_NODES + +#elif SIZEOF_VOID_P == 4 + +#define POINTER_BITS 32 +#define IGNORE_BITS 0 + +#else + + /* Currently this code works for 64-bit or 32-bit pointers only. */ +#error "obmalloc radix tree requires 64-bit or 32-bit pointers." + +#endif /* SIZEOF_VOID_P */ + +/* arena_coverage_t members require this to be true */ +#if ARENA_BITS >= 32 +# error "arena size must be < 2^32" +#endif + +/* the lower bits of the address that are not ignored */ +#define ADDRESS_BITS (POINTER_BITS - IGNORE_BITS) + +#ifdef USE_INTERIOR_NODES +/* number of bits used for MAP_TOP and MAP_MID nodes */ +#define INTERIOR_BITS ((ADDRESS_BITS - ARENA_BITS + 2) / 3) +#else +#define INTERIOR_BITS 0 +#endif + +#define MAP_TOP_BITS INTERIOR_BITS +#define MAP_TOP_LENGTH (1 << MAP_TOP_BITS) +#define MAP_TOP_MASK (MAP_TOP_LENGTH - 1) + +#define MAP_MID_BITS INTERIOR_BITS +#define MAP_MID_LENGTH (1 << MAP_MID_BITS) +#define MAP_MID_MASK (MAP_MID_LENGTH - 1) + +#define MAP_BOT_BITS (ADDRESS_BITS - ARENA_BITS - 2*INTERIOR_BITS) +#define MAP_BOT_LENGTH (1 << MAP_BOT_BITS) +#define MAP_BOT_MASK (MAP_BOT_LENGTH - 1) + +#define MAP_BOT_SHIFT ARENA_BITS +#define MAP_MID_SHIFT (MAP_BOT_BITS + MAP_BOT_SHIFT) +#define MAP_TOP_SHIFT (MAP_MID_BITS + MAP_MID_SHIFT) + +#define AS_UINT(p) ((uintptr_t)(p)) +#define MAP_BOT_INDEX(p) ((AS_UINT(p) >> MAP_BOT_SHIFT) & MAP_BOT_MASK) +#define MAP_MID_INDEX(p) ((AS_UINT(p) >> MAP_MID_SHIFT) & MAP_MID_MASK) +#define MAP_TOP_INDEX(p) ((AS_UINT(p) >> MAP_TOP_SHIFT) & MAP_TOP_MASK) + +#if IGNORE_BITS > 0 +/* Return the ignored part of the pointer address. Those bits should be same + * for all valid pointers if IGNORE_BITS is set correctly. + */ +#define HIGH_BITS(p) (AS_UINT(p) >> ADDRESS_BITS) +#else +#define HIGH_BITS(p) 0 +#endif + + +/* This is the leaf of the radix tree. See arena_map_mark_used() for the + * meaning of these members. */ +typedef struct { + int32_t tail_hi; + int32_t tail_lo; +} arena_coverage_t; + +typedef struct arena_map_bot { + /* The members tail_hi and tail_lo are accessed together. So, it + * better to have them as an array of structs, rather than two + * arrays. + */ + arena_coverage_t arenas[MAP_BOT_LENGTH]; +} arena_map_bot_t; + +#ifdef USE_INTERIOR_NODES +typedef struct arena_map_mid { + struct arena_map_bot *ptrs[MAP_MID_LENGTH]; +} arena_map_mid_t; + +typedef struct arena_map_top { + struct arena_map_mid *ptrs[MAP_TOP_LENGTH]; +} arena_map_top_t; +#endif + +struct _obmalloc_usage { + /* The root of radix tree. Note that by initializing like this, the memory + * should be in the BSS. The OS will only memory map pages as the MAP_MID + * nodes get used (OS pages are demand loaded as needed). + */ +#ifdef USE_INTERIOR_NODES + arena_map_top_t arena_map_root; + /* accounting for number of used interior nodes */ + int arena_map_mid_count; + int arena_map_bot_count; +#else + arena_map_bot_t arena_map_root; +#endif +}; + +#endif /* WITH_PYMALLOC_RADIX_TREE */ + + +struct _obmalloc_global_state { + int dump_debug_stats; + Py_ssize_t interpreter_leaks; +}; + +struct _obmalloc_state { + struct _obmalloc_pools pools; + struct _obmalloc_mgmt mgmt; +#if WITH_PYMALLOC_RADIX_TREE + struct _obmalloc_usage usage; +#endif +}; + + +#undef uint + + +/* Allocate memory directly from the O/S virtual memory system, + * where supported. Otherwise fallback on malloc */ +void *_PyObject_VirtualAlloc(size_t size); +void _PyObject_VirtualFree(void *, size_t size); + + +/* This function returns the number of allocated memory blocks, regardless of size */ +extern Py_ssize_t _Py_GetGlobalAllocatedBlocks(void); +#define _Py_GetAllocatedBlocks() \ + _Py_GetGlobalAllocatedBlocks() +extern Py_ssize_t _PyInterpreterState_GetAllocatedBlocks(PyInterpreterState *); +extern void _PyInterpreterState_FinalizeAllocatedBlocks(PyInterpreterState *); + + +#ifdef WITH_PYMALLOC +// Export the symbol for the 3rd party guppy3 project +PyAPI_FUNC(int) _PyObject_DebugMallocStats(FILE *out); +#endif + + +#ifdef __cplusplus +} +#endif +#endif // !Py_INTERNAL_OBMALLOC_H diff --git a/src/external/windows/include/python/internal/pycore_obmalloc_init.h b/src/external/windows/include/python/internal/pycore_obmalloc_init.h new file mode 100644 index 00000000..d9dfcbd8 --- /dev/null +++ b/src/external/windows/include/python/internal/pycore_obmalloc_init.h @@ -0,0 +1,73 @@ +#ifndef Py_INTERNAL_OBMALLOC_INIT_H +#define Py_INTERNAL_OBMALLOC_INIT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + + +/****************************************************/ +/* the default object allocator's state initializer */ + +#define PTA(pools, x) \ + ((poolp )((uint8_t *)&(pools.used[2*(x)]) - 2*sizeof(pymem_block *))) +#define PT(p, x) PTA(p, x), PTA(p, x) + +#define PT_8(p, start) \ + PT(p, start), \ + PT(p, start+1), \ + PT(p, start+2), \ + PT(p, start+3), \ + PT(p, start+4), \ + PT(p, start+5), \ + PT(p, start+6), \ + PT(p, start+7) + +#if NB_SMALL_SIZE_CLASSES <= 8 +# define _obmalloc_pools_INIT(p) \ + { PT_8(p, 0) } +#elif NB_SMALL_SIZE_CLASSES <= 16 +# define _obmalloc_pools_INIT(p) \ + { PT_8(p, 0), PT_8(p, 8) } +#elif NB_SMALL_SIZE_CLASSES <= 24 +# define _obmalloc_pools_INIT(p) \ + { PT_8(p, 0), PT_8(p, 8), PT_8(p, 16) } +#elif NB_SMALL_SIZE_CLASSES <= 32 +# define _obmalloc_pools_INIT(p) \ + { PT_8(p, 0), PT_8(p, 8), PT_8(p, 16), PT_8(p, 24) } +#elif NB_SMALL_SIZE_CLASSES <= 40 +# define _obmalloc_pools_INIT(p) \ + { PT_8(p, 0), PT_8(p, 8), PT_8(p, 16), PT_8(p, 24), PT_8(p, 32) } +#elif NB_SMALL_SIZE_CLASSES <= 48 +# define _obmalloc_pools_INIT(p) \ + { PT_8(p, 0), PT_8(p, 8), PT_8(p, 16), PT_8(p, 24), PT_8(p, 32), PT_8(p, 40) } +#elif NB_SMALL_SIZE_CLASSES <= 56 +# define _obmalloc_pools_INIT(p) \ + { PT_8(p, 0), PT_8(p, 8), PT_8(p, 16), PT_8(p, 24), PT_8(p, 32), PT_8(p, 40), PT_8(p, 48) } +#elif NB_SMALL_SIZE_CLASSES <= 64 +# define _obmalloc_pools_INIT(p) \ + { PT_8(p, 0), PT_8(p, 8), PT_8(p, 16), PT_8(p, 24), PT_8(p, 32), PT_8(p, 40), PT_8(p, 48), PT_8(p, 56) } +#else +# error "NB_SMALL_SIZE_CLASSES should be less than 64" +#endif + +#define _obmalloc_global_state_INIT \ + { \ + .dump_debug_stats = -1, \ + } + +#define _obmalloc_state_INIT(obmalloc) \ + { \ + .pools = { \ + .used = _obmalloc_pools_INIT(obmalloc.pools), \ + }, \ + } + + +#ifdef __cplusplus +} +#endif +#endif // !Py_INTERNAL_OBMALLOC_INIT_H diff --git a/src/external/windows/include/python/internal/pycore_opcode.h b/src/external/windows/include/python/internal/pycore_opcode.h index 8073de44..562b166e 100644 --- a/src/external/windows/include/python/internal/pycore_opcode.h +++ b/src/external/windows/include/python/internal/pycore_opcode.h @@ -1,4 +1,4 @@ -// Auto-generated by Tools/scripts/generate_opcode_h.py from Lib/opcode.py +// Auto-generated by Tools/build/generate_opcode_h.py from Lib/opcode.py #ifndef Py_INTERNAL_OPCODE_H #define Py_INTERNAL_OPCODE_H @@ -12,52 +12,44 @@ extern "C" { #include "opcode.h" +extern const uint32_t _PyOpcode_Jump[9]; + extern const uint8_t _PyOpcode_Caches[256]; extern const uint8_t _PyOpcode_Deopt[256]; #ifdef NEED_OPCODE_TABLES -static const uint32_t _PyOpcode_RelativeJump[8] = { +const uint32_t _PyOpcode_Jump[9] = { 0U, 0U, 536870912U, - 135118848U, + 135020544U, 4163U, - 122880U, 0U, 0U, -}; -static const uint32_t _PyOpcode_Jump[8] = { - 0U, - 0U, - 536870912U, - 135118848U, - 4163U, - 122880U, - 0U, 0U, + 48U, }; const uint8_t _PyOpcode_Caches[256] = { - [BINARY_SUBSCR] = 4, + [BINARY_SUBSCR] = 1, [STORE_SUBSCR] = 1, [UNPACK_SEQUENCE] = 1, + [FOR_ITER] = 1, [STORE_ATTR] = 4, - [LOAD_ATTR] = 4, - [COMPARE_OP] = 2, - [LOAD_GLOBAL] = 5, + [LOAD_ATTR] = 9, + [COMPARE_OP] = 1, + [LOAD_GLOBAL] = 4, [BINARY_OP] = 1, - [LOAD_METHOD] = 10, - [PRECALL] = 1, - [CALL] = 4, + [SEND] = 1, + [LOAD_SUPER_ATTR] = 1, + [CALL] = 3, }; const uint8_t _PyOpcode_Deopt[256] = { - [ASYNC_GEN_WRAP] = ASYNC_GEN_WRAP, [BEFORE_ASYNC_WITH] = BEFORE_ASYNC_WITH, [BEFORE_WITH] = BEFORE_WITH, [BINARY_OP] = BINARY_OP, - [BINARY_OP_ADAPTIVE] = BINARY_OP, [BINARY_OP_ADD_FLOAT] = BINARY_OP, [BINARY_OP_ADD_INT] = BINARY_OP, [BINARY_OP_ADD_UNICODE] = BINARY_OP, @@ -66,8 +58,8 @@ const uint8_t _PyOpcode_Deopt[256] = { [BINARY_OP_MULTIPLY_INT] = BINARY_OP, [BINARY_OP_SUBTRACT_FLOAT] = BINARY_OP, [BINARY_OP_SUBTRACT_INT] = BINARY_OP, + [BINARY_SLICE] = BINARY_SLICE, [BINARY_SUBSCR] = BINARY_SUBSCR, - [BINARY_SUBSCR_ADAPTIVE] = BINARY_SUBSCR, [BINARY_SUBSCR_DICT] = BINARY_SUBSCR, [BINARY_SUBSCR_GETITEM] = BINARY_SUBSCR, [BINARY_SUBSCR_LIST_INT] = BINARY_SUBSCR, @@ -81,17 +73,33 @@ const uint8_t _PyOpcode_Deopt[256] = { [BUILD_TUPLE] = BUILD_TUPLE, [CACHE] = CACHE, [CALL] = CALL, - [CALL_ADAPTIVE] = CALL, + [CALL_BOUND_METHOD_EXACT_ARGS] = CALL, + [CALL_BUILTIN_CLASS] = CALL, + [CALL_BUILTIN_FAST_WITH_KEYWORDS] = CALL, [CALL_FUNCTION_EX] = CALL_FUNCTION_EX, + [CALL_INTRINSIC_1] = CALL_INTRINSIC_1, + [CALL_INTRINSIC_2] = CALL_INTRINSIC_2, + [CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS] = CALL, + [CALL_NO_KW_BUILTIN_FAST] = CALL, + [CALL_NO_KW_BUILTIN_O] = CALL, + [CALL_NO_KW_ISINSTANCE] = CALL, + [CALL_NO_KW_LEN] = CALL, + [CALL_NO_KW_LIST_APPEND] = CALL, + [CALL_NO_KW_METHOD_DESCRIPTOR_FAST] = CALL, + [CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS] = CALL, + [CALL_NO_KW_METHOD_DESCRIPTOR_O] = CALL, + [CALL_NO_KW_STR_1] = CALL, + [CALL_NO_KW_TUPLE_1] = CALL, + [CALL_NO_KW_TYPE_1] = CALL, [CALL_PY_EXACT_ARGS] = CALL, [CALL_PY_WITH_DEFAULTS] = CALL, [CHECK_EG_MATCH] = CHECK_EG_MATCH, [CHECK_EXC_MATCH] = CHECK_EXC_MATCH, + [CLEANUP_THROW] = CLEANUP_THROW, [COMPARE_OP] = COMPARE_OP, - [COMPARE_OP_ADAPTIVE] = COMPARE_OP, - [COMPARE_OP_FLOAT_JUMP] = COMPARE_OP, - [COMPARE_OP_INT_JUMP] = COMPARE_OP, - [COMPARE_OP_STR_JUMP] = COMPARE_OP, + [COMPARE_OP_FLOAT] = COMPARE_OP, + [COMPARE_OP_INT] = COMPARE_OP, + [COMPARE_OP_STR] = COMPARE_OP, [CONTAINS_OP] = CONTAINS_OP, [COPY] = COPY, [COPY_FREE_VARS] = COPY_FREE_VARS, @@ -104,10 +112,15 @@ const uint8_t _PyOpcode_Deopt[256] = { [DICT_MERGE] = DICT_MERGE, [DICT_UPDATE] = DICT_UPDATE, [END_ASYNC_FOR] = END_ASYNC_FOR, + [END_FOR] = END_FOR, + [END_SEND] = END_SEND, [EXTENDED_ARG] = EXTENDED_ARG, - [EXTENDED_ARG_QUICK] = EXTENDED_ARG, [FORMAT_VALUE] = FORMAT_VALUE, [FOR_ITER] = FOR_ITER, + [FOR_ITER_GEN] = FOR_ITER, + [FOR_ITER_LIST] = FOR_ITER, + [FOR_ITER_RANGE] = FOR_ITER, + [FOR_ITER_TUPLE] = FOR_ITER, [GET_AITER] = GET_AITER, [GET_ANEXT] = GET_ANEXT, [GET_AWAITABLE] = GET_AWAITABLE, @@ -116,46 +129,64 @@ const uint8_t _PyOpcode_Deopt[256] = { [GET_YIELD_FROM_ITER] = GET_YIELD_FROM_ITER, [IMPORT_FROM] = IMPORT_FROM, [IMPORT_NAME] = IMPORT_NAME, - [IMPORT_STAR] = IMPORT_STAR, + [INSTRUMENTED_CALL] = INSTRUMENTED_CALL, + [INSTRUMENTED_CALL_FUNCTION_EX] = INSTRUMENTED_CALL_FUNCTION_EX, + [INSTRUMENTED_END_FOR] = INSTRUMENTED_END_FOR, + [INSTRUMENTED_END_SEND] = INSTRUMENTED_END_SEND, + [INSTRUMENTED_FOR_ITER] = INSTRUMENTED_FOR_ITER, + [INSTRUMENTED_INSTRUCTION] = INSTRUMENTED_INSTRUCTION, + [INSTRUMENTED_JUMP_BACKWARD] = INSTRUMENTED_JUMP_BACKWARD, + [INSTRUMENTED_JUMP_FORWARD] = INSTRUMENTED_JUMP_FORWARD, + [INSTRUMENTED_LINE] = INSTRUMENTED_LINE, + [INSTRUMENTED_LOAD_SUPER_ATTR] = INSTRUMENTED_LOAD_SUPER_ATTR, + [INSTRUMENTED_POP_JUMP_IF_FALSE] = INSTRUMENTED_POP_JUMP_IF_FALSE, + [INSTRUMENTED_POP_JUMP_IF_NONE] = INSTRUMENTED_POP_JUMP_IF_NONE, + [INSTRUMENTED_POP_JUMP_IF_NOT_NONE] = INSTRUMENTED_POP_JUMP_IF_NOT_NONE, + [INSTRUMENTED_POP_JUMP_IF_TRUE] = INSTRUMENTED_POP_JUMP_IF_TRUE, + [INSTRUMENTED_RESUME] = INSTRUMENTED_RESUME, + [INSTRUMENTED_RETURN_CONST] = INSTRUMENTED_RETURN_CONST, + [INSTRUMENTED_RETURN_VALUE] = INSTRUMENTED_RETURN_VALUE, + [INSTRUMENTED_YIELD_VALUE] = INSTRUMENTED_YIELD_VALUE, + [INTERPRETER_EXIT] = INTERPRETER_EXIT, [IS_OP] = IS_OP, [JUMP_BACKWARD] = JUMP_BACKWARD, [JUMP_BACKWARD_NO_INTERRUPT] = JUMP_BACKWARD_NO_INTERRUPT, - [JUMP_BACKWARD_QUICK] = JUMP_BACKWARD, [JUMP_FORWARD] = JUMP_FORWARD, - [JUMP_IF_FALSE_OR_POP] = JUMP_IF_FALSE_OR_POP, - [JUMP_IF_TRUE_OR_POP] = JUMP_IF_TRUE_OR_POP, [KW_NAMES] = KW_NAMES, [LIST_APPEND] = LIST_APPEND, [LIST_EXTEND] = LIST_EXTEND, - [LIST_TO_TUPLE] = LIST_TO_TUPLE, [LOAD_ASSERTION_ERROR] = LOAD_ASSERTION_ERROR, [LOAD_ATTR] = LOAD_ATTR, - [LOAD_ATTR_ADAPTIVE] = LOAD_ATTR, + [LOAD_ATTR_CLASS] = LOAD_ATTR, + [LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN] = LOAD_ATTR, [LOAD_ATTR_INSTANCE_VALUE] = LOAD_ATTR, + [LOAD_ATTR_METHOD_LAZY_DICT] = LOAD_ATTR, + [LOAD_ATTR_METHOD_NO_DICT] = LOAD_ATTR, + [LOAD_ATTR_METHOD_WITH_VALUES] = LOAD_ATTR, [LOAD_ATTR_MODULE] = LOAD_ATTR, + [LOAD_ATTR_PROPERTY] = LOAD_ATTR, [LOAD_ATTR_SLOT] = LOAD_ATTR, [LOAD_ATTR_WITH_HINT] = LOAD_ATTR, [LOAD_BUILD_CLASS] = LOAD_BUILD_CLASS, - [LOAD_CLASSDEREF] = LOAD_CLASSDEREF, [LOAD_CLOSURE] = LOAD_CLOSURE, [LOAD_CONST] = LOAD_CONST, [LOAD_CONST__LOAD_FAST] = LOAD_CONST, [LOAD_DEREF] = LOAD_DEREF, [LOAD_FAST] = LOAD_FAST, + [LOAD_FAST_AND_CLEAR] = LOAD_FAST_AND_CLEAR, + [LOAD_FAST_CHECK] = LOAD_FAST_CHECK, [LOAD_FAST__LOAD_CONST] = LOAD_FAST, [LOAD_FAST__LOAD_FAST] = LOAD_FAST, + [LOAD_FROM_DICT_OR_DEREF] = LOAD_FROM_DICT_OR_DEREF, + [LOAD_FROM_DICT_OR_GLOBALS] = LOAD_FROM_DICT_OR_GLOBALS, [LOAD_GLOBAL] = LOAD_GLOBAL, - [LOAD_GLOBAL_ADAPTIVE] = LOAD_GLOBAL, [LOAD_GLOBAL_BUILTIN] = LOAD_GLOBAL, [LOAD_GLOBAL_MODULE] = LOAD_GLOBAL, - [LOAD_METHOD] = LOAD_METHOD, - [LOAD_METHOD_ADAPTIVE] = LOAD_METHOD, - [LOAD_METHOD_CLASS] = LOAD_METHOD, - [LOAD_METHOD_MODULE] = LOAD_METHOD, - [LOAD_METHOD_NO_DICT] = LOAD_METHOD, - [LOAD_METHOD_WITH_DICT] = LOAD_METHOD, - [LOAD_METHOD_WITH_VALUES] = LOAD_METHOD, + [LOAD_LOCALS] = LOAD_LOCALS, [LOAD_NAME] = LOAD_NAME, + [LOAD_SUPER_ATTR] = LOAD_SUPER_ATTR, + [LOAD_SUPER_ATTR_ATTR] = LOAD_SUPER_ATTR, + [LOAD_SUPER_ATTR_METHOD] = LOAD_SUPER_ATTR, [MAKE_CELL] = MAKE_CELL, [MAKE_FUNCTION] = MAKE_FUNCTION, [MAP_ADD] = MAP_ADD, @@ -165,49 +196,26 @@ const uint8_t _PyOpcode_Deopt[256] = { [MATCH_SEQUENCE] = MATCH_SEQUENCE, [NOP] = NOP, [POP_EXCEPT] = POP_EXCEPT, - [POP_JUMP_BACKWARD_IF_FALSE] = POP_JUMP_BACKWARD_IF_FALSE, - [POP_JUMP_BACKWARD_IF_NONE] = POP_JUMP_BACKWARD_IF_NONE, - [POP_JUMP_BACKWARD_IF_NOT_NONE] = POP_JUMP_BACKWARD_IF_NOT_NONE, - [POP_JUMP_BACKWARD_IF_TRUE] = POP_JUMP_BACKWARD_IF_TRUE, - [POP_JUMP_FORWARD_IF_FALSE] = POP_JUMP_FORWARD_IF_FALSE, - [POP_JUMP_FORWARD_IF_NONE] = POP_JUMP_FORWARD_IF_NONE, - [POP_JUMP_FORWARD_IF_NOT_NONE] = POP_JUMP_FORWARD_IF_NOT_NONE, - [POP_JUMP_FORWARD_IF_TRUE] = POP_JUMP_FORWARD_IF_TRUE, + [POP_JUMP_IF_FALSE] = POP_JUMP_IF_FALSE, + [POP_JUMP_IF_NONE] = POP_JUMP_IF_NONE, + [POP_JUMP_IF_NOT_NONE] = POP_JUMP_IF_NOT_NONE, + [POP_JUMP_IF_TRUE] = POP_JUMP_IF_TRUE, [POP_TOP] = POP_TOP, - [PRECALL] = PRECALL, - [PRECALL_ADAPTIVE] = PRECALL, - [PRECALL_BOUND_METHOD] = PRECALL, - [PRECALL_BUILTIN_CLASS] = PRECALL, - [PRECALL_BUILTIN_FAST_WITH_KEYWORDS] = PRECALL, - [PRECALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS] = PRECALL, - [PRECALL_NO_KW_BUILTIN_FAST] = PRECALL, - [PRECALL_NO_KW_BUILTIN_O] = PRECALL, - [PRECALL_NO_KW_ISINSTANCE] = PRECALL, - [PRECALL_NO_KW_LEN] = PRECALL, - [PRECALL_NO_KW_LIST_APPEND] = PRECALL, - [PRECALL_NO_KW_METHOD_DESCRIPTOR_FAST] = PRECALL, - [PRECALL_NO_KW_METHOD_DESCRIPTOR_NOARGS] = PRECALL, - [PRECALL_NO_KW_METHOD_DESCRIPTOR_O] = PRECALL, - [PRECALL_NO_KW_STR_1] = PRECALL, - [PRECALL_NO_KW_TUPLE_1] = PRECALL, - [PRECALL_NO_KW_TYPE_1] = PRECALL, - [PRECALL_PYFUNC] = PRECALL, - [PREP_RERAISE_STAR] = PREP_RERAISE_STAR, - [PRINT_EXPR] = PRINT_EXPR, [PUSH_EXC_INFO] = PUSH_EXC_INFO, [PUSH_NULL] = PUSH_NULL, [RAISE_VARARGS] = RAISE_VARARGS, [RERAISE] = RERAISE, + [RESERVED] = RESERVED, [RESUME] = RESUME, - [RESUME_QUICK] = RESUME, + [RETURN_CONST] = RETURN_CONST, [RETURN_GENERATOR] = RETURN_GENERATOR, [RETURN_VALUE] = RETURN_VALUE, [SEND] = SEND, + [SEND_GEN] = SEND, [SETUP_ANNOTATIONS] = SETUP_ANNOTATIONS, [SET_ADD] = SET_ADD, [SET_UPDATE] = SET_UPDATE, [STORE_ATTR] = STORE_ATTR, - [STORE_ATTR_ADAPTIVE] = STORE_ATTR, [STORE_ATTR_INSTANCE_VALUE] = STORE_ATTR, [STORE_ATTR_SLOT] = STORE_ATTR, [STORE_ATTR_WITH_HINT] = STORE_ATTR, @@ -217,18 +225,16 @@ const uint8_t _PyOpcode_Deopt[256] = { [STORE_FAST__STORE_FAST] = STORE_FAST, [STORE_GLOBAL] = STORE_GLOBAL, [STORE_NAME] = STORE_NAME, + [STORE_SLICE] = STORE_SLICE, [STORE_SUBSCR] = STORE_SUBSCR, - [STORE_SUBSCR_ADAPTIVE] = STORE_SUBSCR, [STORE_SUBSCR_DICT] = STORE_SUBSCR, [STORE_SUBSCR_LIST_INT] = STORE_SUBSCR, [SWAP] = SWAP, [UNARY_INVERT] = UNARY_INVERT, [UNARY_NEGATIVE] = UNARY_NEGATIVE, [UNARY_NOT] = UNARY_NOT, - [UNARY_POSITIVE] = UNARY_POSITIVE, [UNPACK_EX] = UNPACK_EX, [UNPACK_SEQUENCE] = UNPACK_SEQUENCE, - [UNPACK_SEQUENCE_ADAPTIVE] = UNPACK_SEQUENCE, [UNPACK_SEQUENCE_LIST] = UNPACK_SEQUENCE, [UNPACK_SEQUENCE_TUPLE] = UNPACK_SEQUENCE, [UNPACK_SEQUENCE_TWO_TUPLE] = UNPACK_SEQUENCE, @@ -238,96 +244,96 @@ const uint8_t _PyOpcode_Deopt[256] = { #endif // NEED_OPCODE_TABLES #ifdef Py_DEBUG -static const char *const _PyOpcode_OpName[256] = { +static const char *const _PyOpcode_OpName[267] = { [CACHE] = "CACHE", [POP_TOP] = "POP_TOP", [PUSH_NULL] = "PUSH_NULL", - [BINARY_OP_ADAPTIVE] = "BINARY_OP_ADAPTIVE", + [INTERPRETER_EXIT] = "INTERPRETER_EXIT", + [END_FOR] = "END_FOR", + [END_SEND] = "END_SEND", [BINARY_OP_ADD_FLOAT] = "BINARY_OP_ADD_FLOAT", [BINARY_OP_ADD_INT] = "BINARY_OP_ADD_INT", [BINARY_OP_ADD_UNICODE] = "BINARY_OP_ADD_UNICODE", - [BINARY_OP_INPLACE_ADD_UNICODE] = "BINARY_OP_INPLACE_ADD_UNICODE", - [BINARY_OP_MULTIPLY_FLOAT] = "BINARY_OP_MULTIPLY_FLOAT", [NOP] = "NOP", - [UNARY_POSITIVE] = "UNARY_POSITIVE", + [BINARY_OP_INPLACE_ADD_UNICODE] = "BINARY_OP_INPLACE_ADD_UNICODE", [UNARY_NEGATIVE] = "UNARY_NEGATIVE", [UNARY_NOT] = "UNARY_NOT", + [BINARY_OP_MULTIPLY_FLOAT] = "BINARY_OP_MULTIPLY_FLOAT", [BINARY_OP_MULTIPLY_INT] = "BINARY_OP_MULTIPLY_INT", - [BINARY_OP_SUBTRACT_FLOAT] = "BINARY_OP_SUBTRACT_FLOAT", [UNARY_INVERT] = "UNARY_INVERT", + [BINARY_OP_SUBTRACT_FLOAT] = "BINARY_OP_SUBTRACT_FLOAT", + [RESERVED] = "RESERVED", [BINARY_OP_SUBTRACT_INT] = "BINARY_OP_SUBTRACT_INT", - [BINARY_SUBSCR_ADAPTIVE] = "BINARY_SUBSCR_ADAPTIVE", [BINARY_SUBSCR_DICT] = "BINARY_SUBSCR_DICT", [BINARY_SUBSCR_GETITEM] = "BINARY_SUBSCR_GETITEM", [BINARY_SUBSCR_LIST_INT] = "BINARY_SUBSCR_LIST_INT", [BINARY_SUBSCR_TUPLE_INT] = "BINARY_SUBSCR_TUPLE_INT", - [CALL_ADAPTIVE] = "CALL_ADAPTIVE", [CALL_PY_EXACT_ARGS] = "CALL_PY_EXACT_ARGS", [CALL_PY_WITH_DEFAULTS] = "CALL_PY_WITH_DEFAULTS", [BINARY_SUBSCR] = "BINARY_SUBSCR", - [COMPARE_OP_ADAPTIVE] = "COMPARE_OP_ADAPTIVE", - [COMPARE_OP_FLOAT_JUMP] = "COMPARE_OP_FLOAT_JUMP", - [COMPARE_OP_INT_JUMP] = "COMPARE_OP_INT_JUMP", - [COMPARE_OP_STR_JUMP] = "COMPARE_OP_STR_JUMP", + [BINARY_SLICE] = "BINARY_SLICE", + [STORE_SLICE] = "STORE_SLICE", + [CALL_BOUND_METHOD_EXACT_ARGS] = "CALL_BOUND_METHOD_EXACT_ARGS", + [CALL_BUILTIN_CLASS] = "CALL_BUILTIN_CLASS", [GET_LEN] = "GET_LEN", [MATCH_MAPPING] = "MATCH_MAPPING", [MATCH_SEQUENCE] = "MATCH_SEQUENCE", [MATCH_KEYS] = "MATCH_KEYS", - [EXTENDED_ARG_QUICK] = "EXTENDED_ARG_QUICK", + [CALL_BUILTIN_FAST_WITH_KEYWORDS] = "CALL_BUILTIN_FAST_WITH_KEYWORDS", [PUSH_EXC_INFO] = "PUSH_EXC_INFO", [CHECK_EXC_MATCH] = "CHECK_EXC_MATCH", [CHECK_EG_MATCH] = "CHECK_EG_MATCH", - [JUMP_BACKWARD_QUICK] = "JUMP_BACKWARD_QUICK", - [LOAD_ATTR_ADAPTIVE] = "LOAD_ATTR_ADAPTIVE", - [LOAD_ATTR_INSTANCE_VALUE] = "LOAD_ATTR_INSTANCE_VALUE", - [LOAD_ATTR_MODULE] = "LOAD_ATTR_MODULE", - [LOAD_ATTR_SLOT] = "LOAD_ATTR_SLOT", - [LOAD_ATTR_WITH_HINT] = "LOAD_ATTR_WITH_HINT", - [LOAD_CONST__LOAD_FAST] = "LOAD_CONST__LOAD_FAST", - [LOAD_FAST__LOAD_CONST] = "LOAD_FAST__LOAD_CONST", - [LOAD_FAST__LOAD_FAST] = "LOAD_FAST__LOAD_FAST", - [LOAD_GLOBAL_ADAPTIVE] = "LOAD_GLOBAL_ADAPTIVE", - [LOAD_GLOBAL_BUILTIN] = "LOAD_GLOBAL_BUILTIN", + [CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS] = "CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS", + [CALL_NO_KW_BUILTIN_FAST] = "CALL_NO_KW_BUILTIN_FAST", + [CALL_NO_KW_BUILTIN_O] = "CALL_NO_KW_BUILTIN_O", + [CALL_NO_KW_ISINSTANCE] = "CALL_NO_KW_ISINSTANCE", + [CALL_NO_KW_LEN] = "CALL_NO_KW_LEN", + [CALL_NO_KW_LIST_APPEND] = "CALL_NO_KW_LIST_APPEND", + [CALL_NO_KW_METHOD_DESCRIPTOR_FAST] = "CALL_NO_KW_METHOD_DESCRIPTOR_FAST", + [CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS] = "CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS", + [CALL_NO_KW_METHOD_DESCRIPTOR_O] = "CALL_NO_KW_METHOD_DESCRIPTOR_O", + [CALL_NO_KW_STR_1] = "CALL_NO_KW_STR_1", + [CALL_NO_KW_TUPLE_1] = "CALL_NO_KW_TUPLE_1", [WITH_EXCEPT_START] = "WITH_EXCEPT_START", [GET_AITER] = "GET_AITER", [GET_ANEXT] = "GET_ANEXT", [BEFORE_ASYNC_WITH] = "BEFORE_ASYNC_WITH", [BEFORE_WITH] = "BEFORE_WITH", [END_ASYNC_FOR] = "END_ASYNC_FOR", - [LOAD_GLOBAL_MODULE] = "LOAD_GLOBAL_MODULE", - [LOAD_METHOD_ADAPTIVE] = "LOAD_METHOD_ADAPTIVE", - [LOAD_METHOD_CLASS] = "LOAD_METHOD_CLASS", - [LOAD_METHOD_MODULE] = "LOAD_METHOD_MODULE", - [LOAD_METHOD_NO_DICT] = "LOAD_METHOD_NO_DICT", + [CLEANUP_THROW] = "CLEANUP_THROW", + [CALL_NO_KW_TYPE_1] = "CALL_NO_KW_TYPE_1", + [COMPARE_OP_FLOAT] = "COMPARE_OP_FLOAT", + [COMPARE_OP_INT] = "COMPARE_OP_INT", + [COMPARE_OP_STR] = "COMPARE_OP_STR", [STORE_SUBSCR] = "STORE_SUBSCR", [DELETE_SUBSCR] = "DELETE_SUBSCR", - [LOAD_METHOD_WITH_DICT] = "LOAD_METHOD_WITH_DICT", - [LOAD_METHOD_WITH_VALUES] = "LOAD_METHOD_WITH_VALUES", - [PRECALL_ADAPTIVE] = "PRECALL_ADAPTIVE", - [PRECALL_BOUND_METHOD] = "PRECALL_BOUND_METHOD", - [PRECALL_BUILTIN_CLASS] = "PRECALL_BUILTIN_CLASS", - [PRECALL_BUILTIN_FAST_WITH_KEYWORDS] = "PRECALL_BUILTIN_FAST_WITH_KEYWORDS", + [FOR_ITER_LIST] = "FOR_ITER_LIST", + [FOR_ITER_TUPLE] = "FOR_ITER_TUPLE", + [FOR_ITER_RANGE] = "FOR_ITER_RANGE", + [FOR_ITER_GEN] = "FOR_ITER_GEN", + [LOAD_SUPER_ATTR_ATTR] = "LOAD_SUPER_ATTR_ATTR", + [LOAD_SUPER_ATTR_METHOD] = "LOAD_SUPER_ATTR_METHOD", [GET_ITER] = "GET_ITER", [GET_YIELD_FROM_ITER] = "GET_YIELD_FROM_ITER", - [PRINT_EXPR] = "PRINT_EXPR", + [LOAD_ATTR_CLASS] = "LOAD_ATTR_CLASS", [LOAD_BUILD_CLASS] = "LOAD_BUILD_CLASS", - [PRECALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS] = "PRECALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS", - [PRECALL_NO_KW_BUILTIN_FAST] = "PRECALL_NO_KW_BUILTIN_FAST", + [LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN] = "LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN", + [LOAD_ATTR_INSTANCE_VALUE] = "LOAD_ATTR_INSTANCE_VALUE", [LOAD_ASSERTION_ERROR] = "LOAD_ASSERTION_ERROR", [RETURN_GENERATOR] = "RETURN_GENERATOR", - [PRECALL_NO_KW_BUILTIN_O] = "PRECALL_NO_KW_BUILTIN_O", - [PRECALL_NO_KW_ISINSTANCE] = "PRECALL_NO_KW_ISINSTANCE", - [PRECALL_NO_KW_LEN] = "PRECALL_NO_KW_LEN", - [PRECALL_NO_KW_LIST_APPEND] = "PRECALL_NO_KW_LIST_APPEND", - [PRECALL_NO_KW_METHOD_DESCRIPTOR_FAST] = "PRECALL_NO_KW_METHOD_DESCRIPTOR_FAST", - [PRECALL_NO_KW_METHOD_DESCRIPTOR_NOARGS] = "PRECALL_NO_KW_METHOD_DESCRIPTOR_NOARGS", - [LIST_TO_TUPLE] = "LIST_TO_TUPLE", + [LOAD_ATTR_MODULE] = "LOAD_ATTR_MODULE", + [LOAD_ATTR_PROPERTY] = "LOAD_ATTR_PROPERTY", + [LOAD_ATTR_SLOT] = "LOAD_ATTR_SLOT", + [LOAD_ATTR_WITH_HINT] = "LOAD_ATTR_WITH_HINT", + [LOAD_ATTR_METHOD_LAZY_DICT] = "LOAD_ATTR_METHOD_LAZY_DICT", + [LOAD_ATTR_METHOD_NO_DICT] = "LOAD_ATTR_METHOD_NO_DICT", + [LOAD_ATTR_METHOD_WITH_VALUES] = "LOAD_ATTR_METHOD_WITH_VALUES", [RETURN_VALUE] = "RETURN_VALUE", - [IMPORT_STAR] = "IMPORT_STAR", + [LOAD_CONST__LOAD_FAST] = "LOAD_CONST__LOAD_FAST", [SETUP_ANNOTATIONS] = "SETUP_ANNOTATIONS", - [YIELD_VALUE] = "YIELD_VALUE", - [ASYNC_GEN_WRAP] = "ASYNC_GEN_WRAP", - [PREP_RERAISE_STAR] = "PREP_RERAISE_STAR", + [LOAD_FAST__LOAD_CONST] = "LOAD_FAST__LOAD_CONST", + [LOAD_LOCALS] = "LOAD_LOCALS", + [LOAD_FAST__LOAD_FAST] = "LOAD_FAST__LOAD_FAST", [POP_EXCEPT] = "POP_EXCEPT", [STORE_NAME] = "STORE_NAME", [DELETE_NAME] = "DELETE_NAME", @@ -350,25 +356,25 @@ static const char *const _PyOpcode_OpName[256] = { [IMPORT_NAME] = "IMPORT_NAME", [IMPORT_FROM] = "IMPORT_FROM", [JUMP_FORWARD] = "JUMP_FORWARD", - [JUMP_IF_FALSE_OR_POP] = "JUMP_IF_FALSE_OR_POP", - [JUMP_IF_TRUE_OR_POP] = "JUMP_IF_TRUE_OR_POP", - [PRECALL_NO_KW_METHOD_DESCRIPTOR_O] = "PRECALL_NO_KW_METHOD_DESCRIPTOR_O", - [POP_JUMP_FORWARD_IF_FALSE] = "POP_JUMP_FORWARD_IF_FALSE", - [POP_JUMP_FORWARD_IF_TRUE] = "POP_JUMP_FORWARD_IF_TRUE", + [LOAD_GLOBAL_BUILTIN] = "LOAD_GLOBAL_BUILTIN", + [LOAD_GLOBAL_MODULE] = "LOAD_GLOBAL_MODULE", + [STORE_ATTR_INSTANCE_VALUE] = "STORE_ATTR_INSTANCE_VALUE", + [POP_JUMP_IF_FALSE] = "POP_JUMP_IF_FALSE", + [POP_JUMP_IF_TRUE] = "POP_JUMP_IF_TRUE", [LOAD_GLOBAL] = "LOAD_GLOBAL", [IS_OP] = "IS_OP", [CONTAINS_OP] = "CONTAINS_OP", [RERAISE] = "RERAISE", [COPY] = "COPY", - [PRECALL_NO_KW_STR_1] = "PRECALL_NO_KW_STR_1", + [RETURN_CONST] = "RETURN_CONST", [BINARY_OP] = "BINARY_OP", [SEND] = "SEND", [LOAD_FAST] = "LOAD_FAST", [STORE_FAST] = "STORE_FAST", [DELETE_FAST] = "DELETE_FAST", - [PRECALL_NO_KW_TUPLE_1] = "PRECALL_NO_KW_TUPLE_1", - [POP_JUMP_FORWARD_IF_NOT_NONE] = "POP_JUMP_FORWARD_IF_NOT_NONE", - [POP_JUMP_FORWARD_IF_NONE] = "POP_JUMP_FORWARD_IF_NONE", + [LOAD_FAST_CHECK] = "LOAD_FAST_CHECK", + [POP_JUMP_IF_NOT_NONE] = "POP_JUMP_IF_NOT_NONE", + [POP_JUMP_IF_NONE] = "POP_JUMP_IF_NONE", [RAISE_VARARGS] = "RAISE_VARARGS", [GET_AWAITABLE] = "GET_AWAITABLE", [MAKE_FUNCTION] = "MAKE_FUNCTION", @@ -380,46 +386,46 @@ static const char *const _PyOpcode_OpName[256] = { [STORE_DEREF] = "STORE_DEREF", [DELETE_DEREF] = "DELETE_DEREF", [JUMP_BACKWARD] = "JUMP_BACKWARD", - [PRECALL_NO_KW_TYPE_1] = "PRECALL_NO_KW_TYPE_1", + [LOAD_SUPER_ATTR] = "LOAD_SUPER_ATTR", [CALL_FUNCTION_EX] = "CALL_FUNCTION_EX", - [PRECALL_PYFUNC] = "PRECALL_PYFUNC", + [LOAD_FAST_AND_CLEAR] = "LOAD_FAST_AND_CLEAR", [EXTENDED_ARG] = "EXTENDED_ARG", [LIST_APPEND] = "LIST_APPEND", [SET_ADD] = "SET_ADD", [MAP_ADD] = "MAP_ADD", - [LOAD_CLASSDEREF] = "LOAD_CLASSDEREF", + [STORE_ATTR_SLOT] = "STORE_ATTR_SLOT", [COPY_FREE_VARS] = "COPY_FREE_VARS", - [RESUME_QUICK] = "RESUME_QUICK", + [YIELD_VALUE] = "YIELD_VALUE", [RESUME] = "RESUME", [MATCH_CLASS] = "MATCH_CLASS", - [STORE_ATTR_ADAPTIVE] = "STORE_ATTR_ADAPTIVE", - [STORE_ATTR_INSTANCE_VALUE] = "STORE_ATTR_INSTANCE_VALUE", + [STORE_ATTR_WITH_HINT] = "STORE_ATTR_WITH_HINT", + [STORE_FAST__LOAD_FAST] = "STORE_FAST__LOAD_FAST", [FORMAT_VALUE] = "FORMAT_VALUE", [BUILD_CONST_KEY_MAP] = "BUILD_CONST_KEY_MAP", [BUILD_STRING] = "BUILD_STRING", - [STORE_ATTR_SLOT] = "STORE_ATTR_SLOT", - [STORE_ATTR_WITH_HINT] = "STORE_ATTR_WITH_HINT", - [LOAD_METHOD] = "LOAD_METHOD", - [STORE_FAST__LOAD_FAST] = "STORE_FAST__LOAD_FAST", + [STORE_FAST__STORE_FAST] = "STORE_FAST__STORE_FAST", + [STORE_SUBSCR_DICT] = "STORE_SUBSCR_DICT", + [STORE_SUBSCR_LIST_INT] = "STORE_SUBSCR_LIST_INT", + [UNPACK_SEQUENCE_LIST] = "UNPACK_SEQUENCE_LIST", [LIST_EXTEND] = "LIST_EXTEND", [SET_UPDATE] = "SET_UPDATE", [DICT_MERGE] = "DICT_MERGE", [DICT_UPDATE] = "DICT_UPDATE", - [PRECALL] = "PRECALL", - [STORE_FAST__STORE_FAST] = "STORE_FAST__STORE_FAST", - [STORE_SUBSCR_ADAPTIVE] = "STORE_SUBSCR_ADAPTIVE", - [STORE_SUBSCR_DICT] = "STORE_SUBSCR_DICT", - [STORE_SUBSCR_LIST_INT] = "STORE_SUBSCR_LIST_INT", - [CALL] = "CALL", - [KW_NAMES] = "KW_NAMES", - [POP_JUMP_BACKWARD_IF_NOT_NONE] = "POP_JUMP_BACKWARD_IF_NOT_NONE", - [POP_JUMP_BACKWARD_IF_NONE] = "POP_JUMP_BACKWARD_IF_NONE", - [POP_JUMP_BACKWARD_IF_FALSE] = "POP_JUMP_BACKWARD_IF_FALSE", - [POP_JUMP_BACKWARD_IF_TRUE] = "POP_JUMP_BACKWARD_IF_TRUE", - [UNPACK_SEQUENCE_ADAPTIVE] = "UNPACK_SEQUENCE_ADAPTIVE", - [UNPACK_SEQUENCE_LIST] = "UNPACK_SEQUENCE_LIST", [UNPACK_SEQUENCE_TUPLE] = "UNPACK_SEQUENCE_TUPLE", [UNPACK_SEQUENCE_TWO_TUPLE] = "UNPACK_SEQUENCE_TWO_TUPLE", + [SEND_GEN] = "SEND_GEN", + [169] = "<169>", + [170] = "<170>", + [CALL] = "CALL", + [KW_NAMES] = "KW_NAMES", + [CALL_INTRINSIC_1] = "CALL_INTRINSIC_1", + [CALL_INTRINSIC_2] = "CALL_INTRINSIC_2", + [LOAD_FROM_DICT_OR_GLOBALS] = "LOAD_FROM_DICT_OR_GLOBALS", + [LOAD_FROM_DICT_OR_DEREF] = "LOAD_FROM_DICT_OR_DEREF", + [177] = "<177>", + [178] = "<178>", + [179] = "<179>", + [180] = "<180>", [181] = "<181>", [182] = "<182>", [183] = "<183>", @@ -476,29 +482,46 @@ static const char *const _PyOpcode_OpName[256] = { [234] = "<234>", [235] = "<235>", [236] = "<236>", - [237] = "<237>", - [238] = "<238>", - [239] = "<239>", - [240] = "<240>", - [241] = "<241>", - [242] = "<242>", - [243] = "<243>", - [244] = "<244>", - [245] = "<245>", - [246] = "<246>", - [247] = "<247>", - [248] = "<248>", - [249] = "<249>", - [250] = "<250>", - [251] = "<251>", - [252] = "<252>", - [253] = "<253>", - [254] = "<254>", - [DO_TRACING] = "DO_TRACING", + [INSTRUMENTED_LOAD_SUPER_ATTR] = "INSTRUMENTED_LOAD_SUPER_ATTR", + [INSTRUMENTED_POP_JUMP_IF_NONE] = "INSTRUMENTED_POP_JUMP_IF_NONE", + [INSTRUMENTED_POP_JUMP_IF_NOT_NONE] = "INSTRUMENTED_POP_JUMP_IF_NOT_NONE", + [INSTRUMENTED_RESUME] = "INSTRUMENTED_RESUME", + [INSTRUMENTED_CALL] = "INSTRUMENTED_CALL", + [INSTRUMENTED_RETURN_VALUE] = "INSTRUMENTED_RETURN_VALUE", + [INSTRUMENTED_YIELD_VALUE] = "INSTRUMENTED_YIELD_VALUE", + [INSTRUMENTED_CALL_FUNCTION_EX] = "INSTRUMENTED_CALL_FUNCTION_EX", + [INSTRUMENTED_JUMP_FORWARD] = "INSTRUMENTED_JUMP_FORWARD", + [INSTRUMENTED_JUMP_BACKWARD] = "INSTRUMENTED_JUMP_BACKWARD", + [INSTRUMENTED_RETURN_CONST] = "INSTRUMENTED_RETURN_CONST", + [INSTRUMENTED_FOR_ITER] = "INSTRUMENTED_FOR_ITER", + [INSTRUMENTED_POP_JUMP_IF_FALSE] = "INSTRUMENTED_POP_JUMP_IF_FALSE", + [INSTRUMENTED_POP_JUMP_IF_TRUE] = "INSTRUMENTED_POP_JUMP_IF_TRUE", + [INSTRUMENTED_END_FOR] = "INSTRUMENTED_END_FOR", + [INSTRUMENTED_END_SEND] = "INSTRUMENTED_END_SEND", + [INSTRUMENTED_INSTRUCTION] = "INSTRUMENTED_INSTRUCTION", + [INSTRUMENTED_LINE] = "INSTRUMENTED_LINE", + [255] = "<255>", + [SETUP_FINALLY] = "SETUP_FINALLY", + [SETUP_CLEANUP] = "SETUP_CLEANUP", + [SETUP_WITH] = "SETUP_WITH", + [POP_BLOCK] = "POP_BLOCK", + [JUMP] = "JUMP", + [JUMP_NO_INTERRUPT] = "JUMP_NO_INTERRUPT", + [LOAD_METHOD] = "LOAD_METHOD", + [LOAD_SUPER_METHOD] = "LOAD_SUPER_METHOD", + [LOAD_ZERO_SUPER_METHOD] = "LOAD_ZERO_SUPER_METHOD", + [LOAD_ZERO_SUPER_ATTR] = "LOAD_ZERO_SUPER_ATTR", + [STORE_FAST_MAYBE_NULL] = "STORE_FAST_MAYBE_NULL", }; #endif #define EXTRA_CASES \ + case 169: \ + case 170: \ + case 177: \ + case 178: \ + case 179: \ + case 180: \ case 181: \ case 182: \ case 183: \ @@ -555,24 +578,7 @@ static const char *const _PyOpcode_OpName[256] = { case 234: \ case 235: \ case 236: \ - case 237: \ - case 238: \ - case 239: \ - case 240: \ - case 241: \ - case 242: \ - case 243: \ - case 244: \ - case 245: \ - case 246: \ - case 247: \ - case 248: \ - case 249: \ - case 250: \ - case 251: \ - case 252: \ - case 253: \ - case 254: \ + case 255: \ ; #ifdef __cplusplus diff --git a/src/external/windows/include/python/internal/pycore_opcode_utils.h b/src/external/windows/include/python/internal/pycore_opcode_utils.h new file mode 100644 index 00000000..1386724c --- /dev/null +++ b/src/external/windows/include/python/internal/pycore_opcode_utils.h @@ -0,0 +1,92 @@ +#ifndef Py_INTERNAL_OPCODE_UTILS_H +#define Py_INTERNAL_OPCODE_UTILS_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "pycore_opcode.h" // _PyOpcode_Jump + + +#define MAX_REAL_OPCODE 254 + +#define IS_WITHIN_OPCODE_RANGE(opcode) \ + (((opcode) >= 0 && (opcode) <= MAX_REAL_OPCODE) || \ + IS_PSEUDO_OPCODE(opcode)) + +#define IS_JUMP_OPCODE(opcode) \ + is_bit_set_in_table(_PyOpcode_Jump, opcode) + +#define IS_BLOCK_PUSH_OPCODE(opcode) \ + ((opcode) == SETUP_FINALLY || \ + (opcode) == SETUP_WITH || \ + (opcode) == SETUP_CLEANUP) + +#define HAS_TARGET(opcode) \ + (IS_JUMP_OPCODE(opcode) || IS_BLOCK_PUSH_OPCODE(opcode)) + +/* opcodes that must be last in the basicblock */ +#define IS_TERMINATOR_OPCODE(opcode) \ + (IS_JUMP_OPCODE(opcode) || IS_SCOPE_EXIT_OPCODE(opcode)) + +/* opcodes which are not emitted in codegen stage, only by the assembler */ +#define IS_ASSEMBLER_OPCODE(opcode) \ + ((opcode) == JUMP_FORWARD || \ + (opcode) == JUMP_BACKWARD || \ + (opcode) == JUMP_BACKWARD_NO_INTERRUPT) + +#define IS_BACKWARDS_JUMP_OPCODE(opcode) \ + ((opcode) == JUMP_BACKWARD || \ + (opcode) == JUMP_BACKWARD_NO_INTERRUPT) + +#define IS_UNCONDITIONAL_JUMP_OPCODE(opcode) \ + ((opcode) == JUMP || \ + (opcode) == JUMP_NO_INTERRUPT || \ + (opcode) == JUMP_FORWARD || \ + (opcode) == JUMP_BACKWARD || \ + (opcode) == JUMP_BACKWARD_NO_INTERRUPT) + +#define IS_SCOPE_EXIT_OPCODE(opcode) \ + ((opcode) == RETURN_VALUE || \ + (opcode) == RETURN_CONST || \ + (opcode) == RAISE_VARARGS || \ + (opcode) == RERAISE) + +#define IS_SUPERINSTRUCTION_OPCODE(opcode) \ + ((opcode) == LOAD_FAST__LOAD_FAST || \ + (opcode) == LOAD_FAST__LOAD_CONST || \ + (opcode) == LOAD_CONST__LOAD_FAST || \ + (opcode) == STORE_FAST__LOAD_FAST || \ + (opcode) == STORE_FAST__STORE_FAST) + + +#define LOG_BITS_PER_INT 5 +#define MASK_LOW_LOG_BITS 31 + +static inline int +is_bit_set_in_table(const uint32_t *table, int bitindex) { + /* Is the relevant bit set in the relevant word? */ + /* 512 bits fit into 9 32-bits words. + * Word is indexed by (bitindex>>ln(size of int in bits)). + * Bit within word is the low bits of bitindex. + */ + if (bitindex >= 0 && bitindex < 512) { + uint32_t word = table[bitindex >> LOG_BITS_PER_INT]; + return (word >> (bitindex & MASK_LOW_LOG_BITS)) & 1; + } + else { + return 0; + } +} + +#undef LOG_BITS_PER_INT +#undef MASK_LOW_LOG_BITS + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_OPCODE_UTILS_H */ diff --git a/src/external/windows/include/python/internal/pycore_parser.h b/src/external/windows/include/python/internal/pycore_parser.h index 20bffe99..684dca2c 100755 --- a/src/external/windows/include/python/internal/pycore_parser.h +++ b/src/external/windows/include/python/internal/pycore_parser.h @@ -8,12 +8,46 @@ extern "C" { # error "this header requires Py_BUILD_CORE define" #endif + +#include "pycore_ast.h" // struct _expr +#include "pycore_global_strings.h" // _Py_DECLARE_STR() +#include "pycore_pyarena.h" // PyArena + + +#ifdef Py_DEBUG +#define _PYPEGEN_NSTATISTICS 2000 +#endif + +struct _parser_runtime_state { +#ifdef Py_DEBUG + long memo_statistics[_PYPEGEN_NSTATISTICS]; +#else + int _not_used; +#endif + struct _expr dummy_name; +}; + +_Py_DECLARE_STR(empty, "") +#define _parser_runtime_state_INIT \ + { \ + .dummy_name = { \ + .kind = Name_kind, \ + .v.Name.id = &_Py_STR(empty), \ + .v.Name.ctx = Load, \ + .lineno = 1, \ + .col_offset = 0, \ + .end_lineno = 1, \ + .end_col_offset = 0, \ + }, \ + } + extern struct _mod* _PyParser_ASTFromString( const char *str, PyObject* filename, int mode, PyCompilerFlags *flags, PyArena *arena); + extern struct _mod* _PyParser_ASTFromFile( FILE *fp, PyObject *filename_ob, @@ -25,6 +59,7 @@ extern struct _mod* _PyParser_ASTFromFile( int *errcode, PyArena *arena); + #ifdef __cplusplus } #endif diff --git a/src/external/windows/include/python/internal/pycore_pyerrors.h b/src/external/windows/include/python/internal/pycore_pyerrors.h index 5bb24c5c..1fa0a1a8 100755 --- a/src/external/windows/include/python/internal/pycore_pyerrors.h +++ b/src/external/windows/include/python/internal/pycore_pyerrors.h @@ -20,7 +20,10 @@ extern void _PyErr_FiniTypes(PyInterpreterState *); static inline PyObject* _PyErr_Occurred(PyThreadState *tstate) { assert(tstate != NULL); - return tstate->curexc_type; + if (tstate->current_exception == NULL) { + return NULL; + } + return (PyObject *)Py_TYPE(tstate->current_exception); } static inline void _PyErr_ClearExcState(_PyErr_StackItem *exc_state) @@ -37,10 +40,16 @@ PyAPI_FUNC(void) _PyErr_Fetch( PyObject **value, PyObject **traceback); +extern PyObject * +_PyErr_GetRaisedException(PyThreadState *tstate); + PyAPI_FUNC(int) _PyErr_ExceptionMatches( PyThreadState *tstate, PyObject *exc); +void +_PyErr_SetRaisedException(PyThreadState *tstate, PyObject *exc); + PyAPI_FUNC(void) _PyErr_Restore( PyThreadState *tstate, PyObject *type, @@ -100,6 +109,8 @@ extern PyObject* _Py_Offer_Suggestions(PyObject* exception); PyAPI_FUNC(Py_ssize_t) _Py_UTF8_Edit_Cost(PyObject *str_a, PyObject *str_b, Py_ssize_t max_cost); +void _PyErr_FormatNote(const char *format, ...); + #ifdef __cplusplus } #endif diff --git a/src/external/windows/include/python/internal/pycore_pyhash.h b/src/external/windows/include/python/internal/pycore_pyhash.h index 53d44d90..60579580 100755 --- a/src/external/windows/include/python/internal/pycore_pyhash.h +++ b/src/external/windows/include/python/internal/pycore_pyhash.h @@ -5,6 +5,36 @@ # error "this header requires Py_BUILD_CORE define" #endif + +struct pyhash_runtime_state { + struct { +#ifndef MS_WINDOWS + int fd; + dev_t st_dev; + ino_t st_ino; +#else + // This is a placeholder so the struct isn't empty on Windows. + int _not_used; +#endif + } urandom_cache; +}; + +#ifndef MS_WINDOWS +# define _py_urandom_cache_INIT \ + { \ + .fd = -1, \ + } +#else +# define _py_urandom_cache_INIT {0} +#endif + +#define pyhash_state_INIT \ + { \ + .urandom_cache = _py_urandom_cache_INIT, \ + } + + uint64_t _Py_KeyedHash(uint64_t, const char *, Py_ssize_t); -#endif + +#endif // Py_INTERNAL_HASH_H diff --git a/src/external/windows/include/python/internal/pycore_pylifecycle.h b/src/external/windows/include/python/internal/pycore_pylifecycle.h index f08ae599..bbf08f3b 100755 --- a/src/external/windows/include/python/internal/pycore_pylifecycle.h +++ b/src/external/windows/include/python/internal/pycore_pylifecycle.h @@ -14,10 +14,6 @@ extern "C" { struct _PyArgv; struct pyruntimestate; -/* True if the main interpreter thread exited due to an unhandled - * KeyboardInterrupt exception, suggesting the user pressed ^C. */ -PyAPI_DATA(int) _Py_UnhandledKeyboardInterrupt; - extern int _Py_SetFileSystemEncoding( const char *encoding, const char *errors); @@ -33,8 +29,8 @@ PyAPI_FUNC(int) _Py_IsLocaleCoercionTarget(const char *ctype_loc); /* Various one-time initializers */ +extern void _Py_InitVersion(void); extern PyStatus _PyFaulthandler_Init(int enable); -extern int _PyTraceMalloc_Init(int enable); extern PyObject * _PyBuiltin_Init(PyInterpreterState *interp); extern PyStatus _PySys_Create( PyThreadState *tstate, @@ -42,11 +38,11 @@ extern PyStatus _PySys_Create( extern PyStatus _PySys_ReadPreinitWarnOptions(PyWideStringList *options); extern PyStatus _PySys_ReadPreinitXOptions(PyConfig *config); extern int _PySys_UpdateConfig(PyThreadState *tstate); -extern void _PySys_Fini(PyInterpreterState *interp); +extern void _PySys_FiniTypes(PyInterpreterState *interp); extern int _PyBuiltins_AddExceptions(PyObject * bltinmod); extern PyStatus _Py_HashRandomization_Init(const PyConfig *); -extern PyStatus _PyImportZip_Init(PyThreadState *tstate); +extern PyStatus _PyTime_Init(void); extern PyStatus _PyGC_Init(PyInterpreterState *interp); extern PyStatus _PyAtExit_Init(PyInterpreterState *interp); extern int _Py_Deepfreeze_Init(void); @@ -56,8 +52,6 @@ extern int _Py_Deepfreeze_Init(void); extern int _PySignal_Init(int install_signal_handlers); extern void _PySignal_Fini(void); -extern void _PyImport_Fini(void); -extern void _PyImport_Fini2(void); extern void _PyGC_Fini(PyInterpreterState *interp); extern void _Py_HashRandomization_Fini(void); extern void _PyFaulthandler_Fini(void); @@ -69,8 +63,9 @@ extern void _PyAtExit_Fini(PyInterpreterState *interp); extern void _PyThread_FiniType(PyInterpreterState *interp); extern void _Py_Deepfreeze_Fini(void); extern void _PyArg_Fini(void); +extern void _Py_FinalizeAllocatedBlocks(_PyRuntimeState *); -extern PyStatus _PyGILState_Init(_PyRuntimeState *runtime); +extern PyStatus _PyGILState_Init(PyInterpreterState *interp); extern PyStatus _PyGILState_SetTstate(PyThreadState *tstate); extern void _PyGILState_Fini(PyInterpreterState *interp); @@ -92,6 +87,7 @@ PyAPI_FUNC(PyObject*) _PyErr_WriteUnraisableDefaultHook(PyObject *unraisable); PyAPI_FUNC(void) _PyErr_Print(PyThreadState *tstate); PyAPI_FUNC(void) _PyErr_Display(PyObject *file, PyObject *exception, PyObject *value, PyObject *tb); +PyAPI_FUNC(void) _PyErr_DisplayException(PyObject *file, PyObject *exc); PyAPI_FUNC(void) _PyThreadState_DeleteCurrent(PyThreadState *tstate); diff --git a/src/external/windows/include/python/internal/pycore_pymath.h b/src/external/windows/include/python/internal/pycore_pymath.h index 0d2104f3..e37b5f6c 100644 --- a/src/external/windows/include/python/internal/pycore_pymath.h +++ b/src/external/windows/include/python/internal/pycore_pymath.h @@ -56,25 +56,6 @@ static inline void _Py_ADJUST_ERANGE2(double x, double y) } } -// Return whether integral type *type* is signed or not. -#define _Py_IntegralTypeSigned(type) \ - ((type)(-1) < 0) - -// Return the maximum value of integral type *type*. -#define _Py_IntegralTypeMax(type) \ - ((_Py_IntegralTypeSigned(type)) ? (((((type)1 << (sizeof(type)*CHAR_BIT - 2)) - 1) << 1) + 1) : ~(type)0) - -// Return the minimum value of integral type *type*. -#define _Py_IntegralTypeMin(type) \ - ((_Py_IntegralTypeSigned(type)) ? -_Py_IntegralTypeMax(type) - 1 : 0) - -// Check whether *v* is in the range of integral type *type*. This is most -// useful if *v* is floating-point, since demoting a floating-point *v* to an -// integral type that cannot represent *v*'s integral part is undefined -// behavior. -#define _Py_InIntegralTypeRange(type, v) \ - (_Py_IntegralTypeMin(type) <= v && v <= _Py_IntegralTypeMax(type)) - //--- HAVE_PY_SET_53BIT_PRECISION macro ------------------------------------ // diff --git a/src/external/windows/include/python/internal/pycore_pymem.h b/src/external/windows/include/python/internal/pycore_pymem.h index 73fbb4f7..a711213b 100755 --- a/src/external/windows/include/python/internal/pycore_pymem.h +++ b/src/external/windows/include/python/internal/pycore_pymem.h @@ -11,6 +11,28 @@ extern "C" { #include "pymem.h" // PyMemAllocatorName +typedef struct { + /* We tag each block with an API ID in order to tag API violations */ + char api_id; + PyMemAllocatorEx alloc; +} debug_alloc_api_t; + +struct _pymem_allocators { + PyThread_type_lock mutex; + struct { + PyMemAllocatorEx raw; + PyMemAllocatorEx mem; + PyMemAllocatorEx obj; + } standard; + struct { + debug_alloc_api_t raw; + debug_alloc_api_t mem; + debug_alloc_api_t obj; + } debug; + PyObjectArenaAllocator obj_arena; +}; + + /* Set the memory allocator of the specified domain to the default. Save the old allocator into *old_alloc if it's non-NULL. Return on success, or return -1 if the domain is unknown. */ @@ -69,46 +91,8 @@ PyAPI_FUNC(int) _PyMem_GetAllocatorName( PYMEM_ALLOCATOR_NOT_SET does nothing. */ PyAPI_FUNC(int) _PyMem_SetupAllocators(PyMemAllocatorName allocator); -struct _PyTraceMalloc_Config { - /* Module initialized? - Variable protected by the GIL */ - enum { - TRACEMALLOC_NOT_INITIALIZED, - TRACEMALLOC_INITIALIZED, - TRACEMALLOC_FINALIZED - } initialized; - - /* Is tracemalloc tracing memory allocations? - Variable protected by the GIL */ - int tracing; - - /* limit of the number of frames in a traceback, 1 by default. - Variable protected by the GIL. */ - int max_nframe; -}; - -#define _PyTraceMalloc_Config_INIT \ - {.initialized = TRACEMALLOC_NOT_INITIALIZED, \ - .tracing = 0, \ - .max_nframe = 1} - -PyAPI_DATA(struct _PyTraceMalloc_Config) _Py_tracemalloc_config; - -/* Allocate memory directly from the O/S virtual memory system, - * where supported. Otherwise fallback on malloc */ -void *_PyObject_VirtualAlloc(size_t size); -void _PyObject_VirtualFree(void *, size_t size); - -/* This function returns the number of allocated memory blocks, regardless of size */ -PyAPI_FUNC(Py_ssize_t) _Py_GetAllocatedBlocks(void); - -/* Macros */ -#ifdef WITH_PYMALLOC -// Export the symbol for the 3rd party guppy3 project -PyAPI_FUNC(int) _PyObject_DebugMallocStats(FILE *out); -#endif #ifdef __cplusplus } #endif -#endif // !Py_INTERNAL_PYMEM_H +#endif /* !Py_INTERNAL_PYMEM_H */ diff --git a/src/external/windows/include/python/internal/pycore_pymem_init.h b/src/external/windows/include/python/internal/pycore_pymem_init.h new file mode 100644 index 00000000..65bd6ede --- /dev/null +++ b/src/external/windows/include/python/internal/pycore_pymem_init.h @@ -0,0 +1,85 @@ +#ifndef Py_INTERNAL_PYMEM_INIT_H +#define Py_INTERNAL_PYMEM_INIT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "pycore_pymem.h" + + +/********************************/ +/* the allocators' initializers */ + +extern void * _PyMem_RawMalloc(void *, size_t); +extern void * _PyMem_RawCalloc(void *, size_t, size_t); +extern void * _PyMem_RawRealloc(void *, void *, size_t); +extern void _PyMem_RawFree(void *, void *); +#define PYRAW_ALLOC {NULL, _PyMem_RawMalloc, _PyMem_RawCalloc, _PyMem_RawRealloc, _PyMem_RawFree} + +#ifdef WITH_PYMALLOC +extern void* _PyObject_Malloc(void *, size_t); +extern void* _PyObject_Calloc(void *, size_t, size_t); +extern void _PyObject_Free(void *, void *); +extern void* _PyObject_Realloc(void *, void *, size_t); +# define PYOBJ_ALLOC {NULL, _PyObject_Malloc, _PyObject_Calloc, _PyObject_Realloc, _PyObject_Free} +#else +# define PYOBJ_ALLOC PYRAW_ALLOC +#endif // WITH_PYMALLOC + +#define PYMEM_ALLOC PYOBJ_ALLOC + +extern void* _PyMem_DebugRawMalloc(void *, size_t); +extern void* _PyMem_DebugRawCalloc(void *, size_t, size_t); +extern void* _PyMem_DebugRawRealloc(void *, void *, size_t); +extern void _PyMem_DebugRawFree(void *, void *); + +extern void* _PyMem_DebugMalloc(void *, size_t); +extern void* _PyMem_DebugCalloc(void *, size_t, size_t); +extern void* _PyMem_DebugRealloc(void *, void *, size_t); +extern void _PyMem_DebugFree(void *, void *); + +#define PYDBGRAW_ALLOC(runtime) \ + {&(runtime).allocators.debug.raw, _PyMem_DebugRawMalloc, _PyMem_DebugRawCalloc, _PyMem_DebugRawRealloc, _PyMem_DebugRawFree} +#define PYDBGMEM_ALLOC(runtime) \ + {&(runtime).allocators.debug.mem, _PyMem_DebugMalloc, _PyMem_DebugCalloc, _PyMem_DebugRealloc, _PyMem_DebugFree} +#define PYDBGOBJ_ALLOC(runtime) \ + {&(runtime).allocators.debug.obj, _PyMem_DebugMalloc, _PyMem_DebugCalloc, _PyMem_DebugRealloc, _PyMem_DebugFree} + +extern void * _PyMem_ArenaAlloc(void *, size_t); +extern void _PyMem_ArenaFree(void *, void *, size_t); + +#ifdef Py_DEBUG +# define _pymem_allocators_standard_INIT(runtime) \ + { \ + PYDBGRAW_ALLOC(runtime), \ + PYDBGMEM_ALLOC(runtime), \ + PYDBGOBJ_ALLOC(runtime), \ + } +#else +# define _pymem_allocators_standard_INIT(runtime) \ + { \ + PYRAW_ALLOC, \ + PYMEM_ALLOC, \ + PYOBJ_ALLOC, \ + } +#endif + +#define _pymem_allocators_debug_INIT \ + { \ + {'r', PYRAW_ALLOC}, \ + {'m', PYMEM_ALLOC}, \ + {'o', PYOBJ_ALLOC}, \ + } + +# define _pymem_allocators_obj_arena_INIT \ + { NULL, _PyMem_ArenaAlloc, _PyMem_ArenaFree } + + +#ifdef __cplusplus +} +#endif +#endif // !Py_INTERNAL_PYMEM_INIT_H diff --git a/src/external/windows/include/python/internal/pycore_pystate.h b/src/external/windows/include/python/internal/pycore_pystate.h index 6f4361b5..4794c50d 100755 --- a/src/external/windows/include/python/internal/pycore_pystate.h +++ b/src/external/windows/include/python/internal/pycore_pystate.h @@ -33,6 +33,22 @@ _Py_IsMainInterpreter(PyInterpreterState *interp) return (interp == _PyInterpreterState_Main()); } +static inline int +_Py_IsMainInterpreterFinalizing(PyInterpreterState *interp) +{ + /* bpo-39877: Access _PyRuntime directly rather than using + tstate->interp->runtime to support calls from Python daemon threads. + After Py_Finalize() has been called, tstate can be a dangling pointer: + point to PyThreadState freed memory. */ + return (_PyRuntimeState_GetFinalizing(&_PyRuntime) != NULL && + interp == &_PyRuntime._main_interpreter); +} + +// Export for _xxsubinterpreters module. +PyAPI_FUNC(int) _PyInterpreterState_SetRunningMain(PyInterpreterState *); +PyAPI_FUNC(void) _PyInterpreterState_SetNotRunningMain(PyInterpreterState *); +PyAPI_FUNC(int) _PyInterpreterState_IsRunningMain(PyInterpreterState *); + static inline const PyConfig * _Py_GetMainConfig(void) @@ -53,28 +69,23 @@ _Py_ThreadCanHandleSignals(PyInterpreterState *interp) } -/* Only execute pending calls on the main thread. */ -static inline int -_Py_ThreadCanHandlePendingCalls(void) -{ - return _Py_IsMainThread(); -} - - -/* Variable and macro for in-line access to current thread +/* Variable and static inline functions for in-line access to current thread and interpreter state */ -static inline PyThreadState* -_PyRuntimeState_GetThreadState(_PyRuntimeState *runtime) -{ - return (PyThreadState*)_Py_atomic_load_relaxed(&runtime->gilstate.tstate_current); -} +#if defined(HAVE_THREAD_LOCAL) && !defined(Py_BUILD_CORE_MODULE) +extern _Py_thread_local PyThreadState *_Py_tss_tstate; +#endif +PyAPI_DATA(PyThreadState *) _PyThreadState_GetCurrent(void); + +#ifndef NDEBUG +extern int _PyThreadState_CheckConsistency(PyThreadState *tstate); +#endif + +extern int _PyThreadState_MustExit(PyThreadState *tstate); /* Get the current Python thread state. - Efficient macro reading directly the 'gilstate.tstate_current' atomic - variable. The macro is unsafe: it does not check for error and it can - return NULL. + This function is unsafe: it does not check for error and it can return NULL. The caller must hold the GIL. @@ -82,27 +93,33 @@ _PyRuntimeState_GetThreadState(_PyRuntimeState *runtime) static inline PyThreadState* _PyThreadState_GET(void) { - return _PyRuntimeState_GetThreadState(&_PyRuntime); +#if defined(HAVE_THREAD_LOCAL) && !defined(Py_BUILD_CORE_MODULE) + return _Py_tss_tstate; +#else + return _PyThreadState_GetCurrent(); +#endif } -PyAPI_FUNC(void) _Py_NO_RETURN _Py_FatalError_TstateNULL(const char *func); static inline void _Py_EnsureFuncTstateNotNULL(const char *func, PyThreadState *tstate) { if (tstate == NULL) { - _Py_FatalError_TstateNULL(func); + _Py_FatalErrorFunc(func, + "the function must be called with the GIL held, " + "after Python initialization and before Python finalization, " + "but the GIL is released (the current Python thread state is NULL)"); } } // Call Py_FatalError() if tstate is NULL #define _Py_EnsureTstateNotNULL(tstate) \ - _Py_EnsureFuncTstateNotNULL(__func__, tstate) + _Py_EnsureFuncTstateNotNULL(__func__, (tstate)) /* Get the current interpreter state. - The macro is unsafe: it does not check for error and it can return NULL. + The function is unsafe: it does not check for error and it can return NULL. The caller must hold the GIL. @@ -119,39 +136,29 @@ static inline PyInterpreterState* _PyInterpreterState_GET(void) { // PyThreadState functions -PyAPI_FUNC(void) _PyThreadState_SetCurrent(PyThreadState *tstate); +PyAPI_FUNC(PyThreadState *) _PyThreadState_New(PyInterpreterState *interp); +PyAPI_FUNC(void) _PyThreadState_Bind(PyThreadState *tstate); // We keep this around exclusively for stable ABI compatibility. PyAPI_FUNC(void) _PyThreadState_Init( PyThreadState *tstate); -PyAPI_FUNC(void) _PyThreadState_DeleteExcept( - _PyRuntimeState *runtime, - PyThreadState *tstate); - - -static inline void -_PyThreadState_UpdateTracingState(PyThreadState *tstate) -{ - bool use_tracing = - (tstate->tracing == 0) && - (tstate->c_tracefunc != NULL || tstate->c_profilefunc != NULL); - tstate->cframe->use_tracing = (use_tracing ? 255 : 0); -} +PyAPI_FUNC(void) _PyThreadState_DeleteExcept(PyThreadState *tstate); /* Other */ PyAPI_FUNC(PyThreadState *) _PyThreadState_Swap( - struct _gilstate_runtime_state *gilstate, + _PyRuntimeState *runtime, PyThreadState *newts); PyAPI_FUNC(PyStatus) _PyInterpreterState_Enable(_PyRuntimeState *runtime); #ifdef HAVE_FORK extern PyStatus _PyInterpreterState_DeleteExceptMain(_PyRuntimeState *runtime); -extern PyStatus _PyGILState_Reinit(_PyRuntimeState *runtime); extern void _PySignal_AfterFork(void); #endif +PyAPI_FUNC(int) _PyCrossInterpreterData_ReleaseAndRawFree(_PyCrossInterpreterData *); + PyAPI_FUNC(int) _PyState_AddModule( PyThreadState *tstate, @@ -161,6 +168,12 @@ PyAPI_FUNC(int) _PyState_AddModule( PyAPI_FUNC(int) _PyOS_InterruptOccurred(PyThreadState *tstate); +#define HEAD_LOCK(runtime) \ + PyThread_acquire_lock((runtime)->interpreters.mutex, WAIT_LOCK) +#define HEAD_UNLOCK(runtime) \ + PyThread_release_lock((runtime)->interpreters.mutex) + + #ifdef __cplusplus } #endif diff --git a/src/external/windows/include/python/internal/pycore_pythread.h b/src/external/windows/include/python/internal/pycore_pythread.h new file mode 100644 index 00000000..05f9c3a7 --- /dev/null +++ b/src/external/windows/include/python/internal/pycore_pythread.h @@ -0,0 +1,81 @@ +#ifndef Py_INTERNAL_PYTHREAD_H +#define Py_INTERNAL_PYTHREAD_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + + +#ifndef _POSIX_THREADS +/* This means pthreads are not implemented in libc headers, hence the macro + not present in unistd.h. But they still can be implemented as an external + library (e.g. gnu pth in pthread emulation) */ +# ifdef HAVE_PTHREAD_H +# include /* _POSIX_THREADS */ +# endif +# ifndef _POSIX_THREADS +/* Check if we're running on HP-UX and _SC_THREADS is defined. If so, then + enough of the Posix threads package is implemented to support python + threads. + + This is valid for HP-UX 11.23 running on an ia64 system. If needed, add + a check of __ia64 to verify that we're running on an ia64 system instead + of a pa-risc system. +*/ +# ifdef __hpux +# ifdef _SC_THREADS +# define _POSIX_THREADS +# endif +# endif +# endif /* _POSIX_THREADS */ +#endif /* _POSIX_THREADS */ + +#if defined(_POSIX_THREADS) || defined(HAVE_PTHREAD_STUBS) +# define _USE_PTHREADS +#endif + +#if defined(_USE_PTHREADS) && defined(HAVE_PTHREAD_CONDATTR_SETCLOCK) && defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_MONOTONIC) +// monotonic is supported statically. It doesn't mean it works on runtime. +# define CONDATTR_MONOTONIC +#endif + + +#if defined(HAVE_PTHREAD_STUBS) +// pthread_key +struct py_stub_tls_entry { + bool in_use; + void *value; +}; +#endif + +struct _pythread_runtime_state { + int initialized; + +#ifdef _USE_PTHREADS + // This matches when thread_pthread.h is used. + struct { + /* NULL when pthread_condattr_setclock(CLOCK_MONOTONIC) is not supported. */ + pthread_condattr_t *ptr; +# ifdef CONDATTR_MONOTONIC + /* The value to which condattr_monotonic is set. */ + pthread_condattr_t val; +# endif + } _condattr_monotonic; + +#endif // USE_PTHREADS + +#if defined(HAVE_PTHREAD_STUBS) + struct { + struct py_stub_tls_entry tls_entries[PTHREAD_KEYS_MAX]; + } stubs; +#endif +}; + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_PYTHREAD_H */ diff --git a/src/external/windows/include/python/internal/pycore_range.h b/src/external/windows/include/python/internal/pycore_range.h new file mode 100644 index 00000000..15a7d117 --- /dev/null +++ b/src/external/windows/include/python/internal/pycore_range.h @@ -0,0 +1,21 @@ +#ifndef Py_INTERNAL_RANGE_H +#define Py_INTERNAL_RANGE_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +typedef struct { + PyObject_HEAD + long start; + long step; + long len; +} _PyRangeIterObject; + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_RANGE_H */ diff --git a/src/external/windows/include/python/internal/pycore_runtime.h b/src/external/windows/include/python/internal/pycore_runtime.h index 6cab63be..0dd7c621 100755 --- a/src/external/windows/include/python/internal/pycore_runtime.h +++ b/src/external/windows/include/python/internal/pycore_runtime.h @@ -8,22 +8,28 @@ extern "C" { # error "this header requires Py_BUILD_CORE define" #endif +#include "pycore_atexit.h" // struct atexit_runtime_state #include "pycore_atomic.h" /* _Py_atomic_address */ -#include "pycore_gil.h" // struct _gil_runtime_state +#include "pycore_ceval_state.h" // struct _ceval_runtime_state +#include "pycore_floatobject.h" // struct _Py_float_runtime_state +#include "pycore_faulthandler.h" // struct _faulthandler_runtime_state #include "pycore_global_objects.h" // struct _Py_global_objects +#include "pycore_import.h" // struct _import_runtime_state #include "pycore_interp.h" // PyInterpreterState +#include "pycore_object_state.h" // struct _py_object_runtime_state +#include "pycore_parser.h" // struct _parser_runtime_state +#include "pycore_pymem.h" // struct _pymem_allocators +#include "pycore_pyhash.h" // struct pyhash_runtime_state +#include "pycore_pythread.h" // struct _pythread_runtime_state +#include "pycore_signal.h" // struct _signals_runtime_state +#include "pycore_time.h" // struct _time_runtime_state +#include "pycore_tracemalloc.h" // struct _tracemalloc_runtime_state +#include "pycore_typeobject.h" // struct types_runtime_state #include "pycore_unicodeobject.h" // struct _Py_unicode_runtime_ids - -/* ceval state */ - -struct _ceval_runtime_state { - /* Request for checking signals. It is shared by all interpreters (see - bpo-40513). Any thread of any interpreter can receive a signal, but only - the main thread of the main interpreter can handle signals: see - _Py_ThreadCanHandleSignals(). */ - _Py_atomic_int signals_pending; - struct _gil_runtime_state gil; +struct _getargs_runtime_state { + PyThread_type_lock mutex; + struct _PyArg_Parser *static_parsers; }; /* GIL state */ @@ -32,15 +38,11 @@ struct _gilstate_runtime_state { /* bpo-26558: Flag to disable PyGILState_Check(). If set to non-zero, PyGILState_Check() always return 1. */ int check_enabled; - /* Assuming the current thread holds the GIL, this is the - PyThreadState for the current thread. */ - _Py_atomic_address tstate_current; /* The single PyInterpreterState used by this process' GILState implementation */ /* TODO: Given interp_main, it may be possible to kill this ref */ PyInterpreterState *autoInterpreterState; - Py_tss_t autoTSSkey; }; /* Runtime audit hook state */ @@ -90,8 +92,8 @@ typedef struct pyruntimestate { in the operation of the runtime. It is also often the only interpreter. */ PyInterpreterState *main; - /* _next_interp_id is an auto-numbered sequence of small - integers. It gets initialized in _PyInterpreterState_Init(), + /* next_id is an auto-numbered sequence of small + integers. It gets initialized in _PyInterpreterState_Enable(), which is called in Py_Initialize(), and used in PyInterpreterState_New(). A negative interpreter ID indicates an error occurred. The main interpreter will @@ -100,20 +102,43 @@ typedef struct pyruntimestate { using a Python int. */ int64_t next_id; } interpreters; - // XXX Remove this field once we have a tp_* slot. - struct _xidregistry { - PyThread_type_lock mutex; - struct _xidregitem *head; - } xidregistry; unsigned long main_thread; -#define NEXITFUNCS 32 - void (*exitfuncs[NEXITFUNCS])(void); - int nexitfuncs; + /* ---------- IMPORTANT --------------------------- + The fields above this line are declared as early as + possible to facilitate out-of-process observability + tools. */ + // XXX Remove this field once we have a tp_* slot. + struct _xidregistry xidregistry; + + struct _pymem_allocators allocators; + struct _obmalloc_global_state obmalloc; + struct pyhash_runtime_state pyhash_state; + struct _time_runtime_state time; + struct _pythread_runtime_state threads; + struct _signals_runtime_state signals; + + /* Used for the thread state bound to the current thread. */ + Py_tss_t autoTSSkey; + + /* Used instead of PyThreadState.trash when there is not current tstate. */ + Py_tss_t trashTSSkey; + + PyWideStringList orig_argv; + + struct _parser_runtime_state parser; + + struct _atexit_runtime_state atexit; + + struct _import_runtime_state imports; struct _ceval_runtime_state ceval; struct _gilstate_runtime_state gilstate; + struct _getargs_runtime_state getargs; + struct _fileutils_state fileutils; + struct _faulthandler_runtime_state faulthandler; + struct _tracemalloc_runtime_state tracemalloc; PyPreConfig preconfig; @@ -121,12 +146,27 @@ typedef struct pyruntimestate { // is called multiple times. Py_OpenCodeHookFunction open_code_hook; void *open_code_userdata; - _Py_AuditHookEntry *audit_hook_head; + struct { + PyThread_type_lock mutex; + _Py_AuditHookEntry *head; + } audit_hooks; - struct _Py_unicode_runtime_ids unicode_ids; + struct _py_object_runtime_state object_state; + struct _Py_float_runtime_state float_state; + struct _Py_unicode_runtime_state unicode_state; + struct _types_runtime_state types; /* All the objects that are shared by the runtime's interpreters. */ - struct _Py_global_objects global_objects; + struct _Py_static_objects static_objects; + struct _Py_cached_objects cached_objects; + + /* The ID of the OS thread in which we are finalizing. + We use _Py_atomic_address instead of adding a new _Py_atomic_ulong. */ + _Py_atomic_address _finalizing_id; + /* The value to use for sys.path[0] in new subinterpreters. + Normally this would be part of the PyConfig struct. However, + we cannot add it there in 3.12 since that's an ABI change. */ + wchar_t *sys_path_0; /* The following fields are here to avoid allocation during init. The data is exposed through _PyRuntimeState pointer fields. @@ -170,9 +210,23 @@ _PyRuntimeState_GetFinalizing(_PyRuntimeState *runtime) { return (PyThreadState*)_Py_atomic_load_relaxed(&runtime->_finalizing); } +static inline unsigned long +_PyRuntimeState_GetFinalizingID(_PyRuntimeState *runtime) { + return (unsigned long)_Py_atomic_load_relaxed(&runtime->_finalizing_id); +} + static inline void _PyRuntimeState_SetFinalizing(_PyRuntimeState *runtime, PyThreadState *tstate) { _Py_atomic_store_relaxed(&runtime->_finalizing, (uintptr_t)tstate); + if (tstate == NULL) { + _Py_atomic_store_relaxed(&runtime->_finalizing_id, 0); + } + else { + // XXX Re-enable this assert once gh-109860 is fixed. + //assert(tstate->thread_id == PyThread_get_thread_ident()); + _Py_atomic_store_relaxed(&runtime->_finalizing_id, + (uintptr_t)tstate->thread_id); + } } #ifdef __cplusplus diff --git a/src/external/windows/include/python/internal/pycore_runtime_init.h b/src/external/windows/include/python/internal/pycore_runtime_init.h index 276ed934..dd149798 100644 --- a/src/external/windows/include/python/internal/pycore_runtime_init.h +++ b/src/external/windows/include/python/internal/pycore_runtime_init.h @@ -8,48 +8,87 @@ extern "C" { # error "this header requires Py_BUILD_CORE define" #endif +#include "pycore_long.h" #include "pycore_object.h" +#include "pycore_parser.h" +#include "pycore_pymem_init.h" +#include "pycore_obmalloc_init.h" + + +extern PyTypeObject _PyExc_MemoryError; /* The static initializers defined here should only be used in the runtime init code (in pystate.c and pylifecycle.c). */ -#define _PyRuntimeState_INIT \ +#define _PyRuntimeState_INIT(runtime) \ { \ - .gilstate = { \ - .check_enabled = 1, \ - /* A TSS key must be initialized with Py_tss_NEEDS_INIT \ - in accordance with the specification. */ \ - .autoTSSkey = Py_tss_NEEDS_INIT, \ + .allocators = { \ + .standard = _pymem_allocators_standard_INIT(runtime), \ + .debug = _pymem_allocators_debug_INIT, \ + .obj_arena = _pymem_allocators_obj_arena_INIT, \ }, \ + .obmalloc = _obmalloc_global_state_INIT, \ + .pyhash_state = pyhash_state_INIT, \ + .signals = _signals_RUNTIME_INIT, \ .interpreters = { \ /* This prevents interpreters from getting created \ until _PyInterpreterState_Enable() is called. */ \ .next_id = -1, \ }, \ - .global_objects = _Py_global_objects_INIT, \ - ._main_interpreter = _PyInterpreterState_INIT, \ + /* A TSS key must be initialized with Py_tss_NEEDS_INIT \ + in accordance with the specification. */ \ + .autoTSSkey = Py_tss_NEEDS_INIT, \ + .parser = _parser_runtime_state_INIT, \ + .ceval = { \ + .perf = _PyEval_RUNTIME_PERF_INIT, \ + }, \ + .gilstate = { \ + .check_enabled = 1, \ + }, \ + .fileutils = { \ + .force_ascii = -1, \ + }, \ + .faulthandler = _faulthandler_runtime_state_INIT, \ + .tracemalloc = _tracemalloc_runtime_state_INIT, \ + .float_state = { \ + .float_format = _py_float_format_unknown, \ + .double_format = _py_float_format_unknown, \ + }, \ + .types = { \ + .next_version_tag = 1, \ + }, \ + .static_objects = { \ + .singletons = { \ + .small_ints = _Py_small_ints_INIT, \ + .bytes_empty = _PyBytes_SIMPLE_INIT(0, 0), \ + .bytes_characters = _Py_bytes_characters_INIT, \ + .strings = { \ + .literals = _Py_str_literals_INIT, \ + .identifiers = _Py_str_identifiers_INIT, \ + .ascii = _Py_str_ascii_INIT, \ + .latin1 = _Py_str_latin1_INIT, \ + }, \ + .tuple_empty = { \ + .ob_base = _PyVarObject_HEAD_INIT(&PyTuple_Type, 0) \ + }, \ + .hamt_bitmap_node_empty = { \ + .ob_base = _PyVarObject_HEAD_INIT(&_PyHamt_BitmapNode_Type, 0) \ + }, \ + .context_token_missing = { \ + .ob_base = _PyObject_HEAD_INIT(&_PyContextTokenMissing_Type) \ + }, \ + }, \ + }, \ + ._main_interpreter = _PyInterpreterState_INIT(runtime._main_interpreter), \ } -#ifdef HAVE_DLOPEN -# include -# if HAVE_DECL_RTLD_NOW -# define _Py_DLOPEN_FLAGS RTLD_NOW -# else -# define _Py_DLOPEN_FLAGS RTLD_LAZY -# endif -# define DLOPENFLAGS_INIT .dlopenflags = _Py_DLOPEN_FLAGS, -#else -# define _Py_DLOPEN_FLAGS 0 -# define DLOPENFLAGS_INIT -#endif - -#define _PyInterpreterState_INIT \ +#define _PyInterpreterState_INIT(INTERP) \ { \ - ._static = 1, \ .id_refcount = -1, \ - DLOPENFLAGS_INIT \ + .imports = IMPORTS_INIT, \ + .obmalloc = _obmalloc_state_INIT(INTERP.obmalloc), \ .ceval = { \ .recursion_limit = Py_DEFAULT_RECURSION_LIMIT, \ }, \ @@ -62,1193 +101,93 @@ extern "C" { { .threshold = 10, }, \ }, \ }, \ + .object_state = _py_object_state_INIT(INTERP), \ + .dtoa = _dtoa_state_INIT(&(INTERP)), \ + .dict_state = _dict_state_INIT, \ + .func_state = { \ + .next_version = 1, \ + }, \ + .types = { \ + .next_version_tag = _Py_TYPE_BASE_VERSION_TAG, \ + }, \ + .static_objects = { \ + .singletons = { \ + ._not_used = 1, \ + .hamt_empty = { \ + .ob_base = _PyObject_HEAD_INIT(&_PyHamt_Type) \ + .h_root = (PyHamtNode*)&_Py_SINGLETON(hamt_bitmap_node_empty), \ + }, \ + .last_resort_memory_error = { \ + _PyObject_HEAD_INIT(&_PyExc_MemoryError) \ + .args = (PyObject*)&_Py_SINGLETON(tuple_empty) \ + }, \ + }, \ + }, \ ._initial_thread = _PyThreadState_INIT, \ } #define _PyThreadState_INIT \ { \ - ._static = 1, \ - .recursion_limit = Py_DEFAULT_RECURSION_LIMIT, \ + .py_recursion_limit = Py_DEFAULT_RECURSION_LIMIT, \ .context_ver = 1, \ } +#ifdef Py_TRACE_REFS +# define _py_object_state_INIT(INTERP) \ + { \ + .refchain = {&INTERP.object_state.refchain, &INTERP.object_state.refchain}, \ + } +#else +# define _py_object_state_INIT(INTERP) \ + { 0 } +#endif + // global objects -#define _PyLong_DIGIT_INIT(val) \ - { \ - _PyVarObject_IMMORTAL_INIT(&PyLong_Type, \ - ((val) == 0 ? 0 : ((val) > 0 ? 1 : -1))), \ - .ob_digit = { ((val) >= 0 ? (val) : -(val)) }, \ - } - #define _PyBytes_SIMPLE_INIT(CH, LEN) \ { \ - _PyVarObject_IMMORTAL_INIT(&PyBytes_Type, LEN), \ + _PyVarObject_HEAD_INIT(&PyBytes_Type, (LEN)) \ .ob_shash = -1, \ - .ob_sval = { CH }, \ + .ob_sval = { (CH) }, \ } #define _PyBytes_CHAR_INIT(CH) \ { \ - _PyBytes_SIMPLE_INIT(CH, 1) \ + _PyBytes_SIMPLE_INIT((CH), 1) \ } #define _PyUnicode_ASCII_BASE_INIT(LITERAL, ASCII) \ { \ - .ob_base = _PyObject_IMMORTAL_INIT(&PyUnicode_Type), \ + .ob_base = _PyObject_HEAD_INIT(&PyUnicode_Type) \ .length = sizeof(LITERAL) - 1, \ .hash = -1, \ .state = { \ .kind = 1, \ .compact = 1, \ - .ascii = ASCII, \ - .ready = 1, \ + .ascii = (ASCII), \ + .statically_allocated = 1, \ }, \ } #define _PyASCIIObject_INIT(LITERAL) \ { \ - ._ascii = _PyUnicode_ASCII_BASE_INIT(LITERAL, 1), \ - ._data = LITERAL \ + ._ascii = _PyUnicode_ASCII_BASE_INIT((LITERAL), 1), \ + ._data = (LITERAL) \ } #define INIT_STR(NAME, LITERAL) \ - ._ ## NAME = _PyASCIIObject_INIT(LITERAL) + ._py_ ## NAME = _PyASCIIObject_INIT(LITERAL) #define INIT_ID(NAME) \ - ._ ## NAME = _PyASCIIObject_INIT(#NAME) -#define _PyUnicode_LATIN1_INIT(LITERAL) \ + ._py_ ## NAME = _PyASCIIObject_INIT(#NAME) +#define _PyUnicode_LATIN1_INIT(LITERAL, UTF8) \ { \ ._latin1 = { \ - ._base = _PyUnicode_ASCII_BASE_INIT(LITERAL, 0), \ + ._base = _PyUnicode_ASCII_BASE_INIT((LITERAL), 0), \ + .utf8 = (UTF8), \ + .utf8_length = sizeof(UTF8) - 1, \ }, \ - ._data = LITERAL, \ + ._data = (LITERAL), \ } -/* The following is auto-generated by Tools/scripts/generate_global_objects.py. */ -#define _Py_global_objects_INIT { \ - .singletons = { \ - .small_ints = { \ - _PyLong_DIGIT_INIT(-5), \ - _PyLong_DIGIT_INIT(-4), \ - _PyLong_DIGIT_INIT(-3), \ - _PyLong_DIGIT_INIT(-2), \ - _PyLong_DIGIT_INIT(-1), \ - _PyLong_DIGIT_INIT(0), \ - _PyLong_DIGIT_INIT(1), \ - _PyLong_DIGIT_INIT(2), \ - _PyLong_DIGIT_INIT(3), \ - _PyLong_DIGIT_INIT(4), \ - _PyLong_DIGIT_INIT(5), \ - _PyLong_DIGIT_INIT(6), \ - _PyLong_DIGIT_INIT(7), \ - _PyLong_DIGIT_INIT(8), \ - _PyLong_DIGIT_INIT(9), \ - _PyLong_DIGIT_INIT(10), \ - _PyLong_DIGIT_INIT(11), \ - _PyLong_DIGIT_INIT(12), \ - _PyLong_DIGIT_INIT(13), \ - _PyLong_DIGIT_INIT(14), \ - _PyLong_DIGIT_INIT(15), \ - _PyLong_DIGIT_INIT(16), \ - _PyLong_DIGIT_INIT(17), \ - _PyLong_DIGIT_INIT(18), \ - _PyLong_DIGIT_INIT(19), \ - _PyLong_DIGIT_INIT(20), \ - _PyLong_DIGIT_INIT(21), \ - _PyLong_DIGIT_INIT(22), \ - _PyLong_DIGIT_INIT(23), \ - _PyLong_DIGIT_INIT(24), \ - _PyLong_DIGIT_INIT(25), \ - _PyLong_DIGIT_INIT(26), \ - _PyLong_DIGIT_INIT(27), \ - _PyLong_DIGIT_INIT(28), \ - _PyLong_DIGIT_INIT(29), \ - _PyLong_DIGIT_INIT(30), \ - _PyLong_DIGIT_INIT(31), \ - _PyLong_DIGIT_INIT(32), \ - _PyLong_DIGIT_INIT(33), \ - _PyLong_DIGIT_INIT(34), \ - _PyLong_DIGIT_INIT(35), \ - _PyLong_DIGIT_INIT(36), \ - _PyLong_DIGIT_INIT(37), \ - _PyLong_DIGIT_INIT(38), \ - _PyLong_DIGIT_INIT(39), \ - _PyLong_DIGIT_INIT(40), \ - _PyLong_DIGIT_INIT(41), \ - _PyLong_DIGIT_INIT(42), \ - _PyLong_DIGIT_INIT(43), \ - _PyLong_DIGIT_INIT(44), \ - _PyLong_DIGIT_INIT(45), \ - _PyLong_DIGIT_INIT(46), \ - _PyLong_DIGIT_INIT(47), \ - _PyLong_DIGIT_INIT(48), \ - _PyLong_DIGIT_INIT(49), \ - _PyLong_DIGIT_INIT(50), \ - _PyLong_DIGIT_INIT(51), \ - _PyLong_DIGIT_INIT(52), \ - _PyLong_DIGIT_INIT(53), \ - _PyLong_DIGIT_INIT(54), \ - _PyLong_DIGIT_INIT(55), \ - _PyLong_DIGIT_INIT(56), \ - _PyLong_DIGIT_INIT(57), \ - _PyLong_DIGIT_INIT(58), \ - _PyLong_DIGIT_INIT(59), \ - _PyLong_DIGIT_INIT(60), \ - _PyLong_DIGIT_INIT(61), \ - _PyLong_DIGIT_INIT(62), \ - _PyLong_DIGIT_INIT(63), \ - _PyLong_DIGIT_INIT(64), \ - _PyLong_DIGIT_INIT(65), \ - _PyLong_DIGIT_INIT(66), \ - _PyLong_DIGIT_INIT(67), \ - _PyLong_DIGIT_INIT(68), \ - _PyLong_DIGIT_INIT(69), \ - _PyLong_DIGIT_INIT(70), \ - _PyLong_DIGIT_INIT(71), \ - _PyLong_DIGIT_INIT(72), \ - _PyLong_DIGIT_INIT(73), \ - _PyLong_DIGIT_INIT(74), \ - _PyLong_DIGIT_INIT(75), \ - _PyLong_DIGIT_INIT(76), \ - _PyLong_DIGIT_INIT(77), \ - _PyLong_DIGIT_INIT(78), \ - _PyLong_DIGIT_INIT(79), \ - _PyLong_DIGIT_INIT(80), \ - _PyLong_DIGIT_INIT(81), \ - _PyLong_DIGIT_INIT(82), \ - _PyLong_DIGIT_INIT(83), \ - _PyLong_DIGIT_INIT(84), \ - _PyLong_DIGIT_INIT(85), \ - _PyLong_DIGIT_INIT(86), \ - _PyLong_DIGIT_INIT(87), \ - _PyLong_DIGIT_INIT(88), \ - _PyLong_DIGIT_INIT(89), \ - _PyLong_DIGIT_INIT(90), \ - _PyLong_DIGIT_INIT(91), \ - _PyLong_DIGIT_INIT(92), \ - _PyLong_DIGIT_INIT(93), \ - _PyLong_DIGIT_INIT(94), \ - _PyLong_DIGIT_INIT(95), \ - _PyLong_DIGIT_INIT(96), \ - _PyLong_DIGIT_INIT(97), \ - _PyLong_DIGIT_INIT(98), \ - _PyLong_DIGIT_INIT(99), \ - _PyLong_DIGIT_INIT(100), \ - _PyLong_DIGIT_INIT(101), \ - _PyLong_DIGIT_INIT(102), \ - _PyLong_DIGIT_INIT(103), \ - _PyLong_DIGIT_INIT(104), \ - _PyLong_DIGIT_INIT(105), \ - _PyLong_DIGIT_INIT(106), \ - _PyLong_DIGIT_INIT(107), \ - _PyLong_DIGIT_INIT(108), \ - _PyLong_DIGIT_INIT(109), \ - _PyLong_DIGIT_INIT(110), \ - _PyLong_DIGIT_INIT(111), \ - _PyLong_DIGIT_INIT(112), \ - _PyLong_DIGIT_INIT(113), \ - _PyLong_DIGIT_INIT(114), \ - _PyLong_DIGIT_INIT(115), \ - _PyLong_DIGIT_INIT(116), \ - _PyLong_DIGIT_INIT(117), \ - _PyLong_DIGIT_INIT(118), \ - _PyLong_DIGIT_INIT(119), \ - _PyLong_DIGIT_INIT(120), \ - _PyLong_DIGIT_INIT(121), \ - _PyLong_DIGIT_INIT(122), \ - _PyLong_DIGIT_INIT(123), \ - _PyLong_DIGIT_INIT(124), \ - _PyLong_DIGIT_INIT(125), \ - _PyLong_DIGIT_INIT(126), \ - _PyLong_DIGIT_INIT(127), \ - _PyLong_DIGIT_INIT(128), \ - _PyLong_DIGIT_INIT(129), \ - _PyLong_DIGIT_INIT(130), \ - _PyLong_DIGIT_INIT(131), \ - _PyLong_DIGIT_INIT(132), \ - _PyLong_DIGIT_INIT(133), \ - _PyLong_DIGIT_INIT(134), \ - _PyLong_DIGIT_INIT(135), \ - _PyLong_DIGIT_INIT(136), \ - _PyLong_DIGIT_INIT(137), \ - _PyLong_DIGIT_INIT(138), \ - _PyLong_DIGIT_INIT(139), \ - _PyLong_DIGIT_INIT(140), \ - _PyLong_DIGIT_INIT(141), \ - _PyLong_DIGIT_INIT(142), \ - _PyLong_DIGIT_INIT(143), \ - _PyLong_DIGIT_INIT(144), \ - _PyLong_DIGIT_INIT(145), \ - _PyLong_DIGIT_INIT(146), \ - _PyLong_DIGIT_INIT(147), \ - _PyLong_DIGIT_INIT(148), \ - _PyLong_DIGIT_INIT(149), \ - _PyLong_DIGIT_INIT(150), \ - _PyLong_DIGIT_INIT(151), \ - _PyLong_DIGIT_INIT(152), \ - _PyLong_DIGIT_INIT(153), \ - _PyLong_DIGIT_INIT(154), \ - _PyLong_DIGIT_INIT(155), \ - _PyLong_DIGIT_INIT(156), \ - _PyLong_DIGIT_INIT(157), \ - _PyLong_DIGIT_INIT(158), \ - _PyLong_DIGIT_INIT(159), \ - _PyLong_DIGIT_INIT(160), \ - _PyLong_DIGIT_INIT(161), \ - _PyLong_DIGIT_INIT(162), \ - _PyLong_DIGIT_INIT(163), \ - _PyLong_DIGIT_INIT(164), \ - _PyLong_DIGIT_INIT(165), \ - _PyLong_DIGIT_INIT(166), \ - _PyLong_DIGIT_INIT(167), \ - _PyLong_DIGIT_INIT(168), \ - _PyLong_DIGIT_INIT(169), \ - _PyLong_DIGIT_INIT(170), \ - _PyLong_DIGIT_INIT(171), \ - _PyLong_DIGIT_INIT(172), \ - _PyLong_DIGIT_INIT(173), \ - _PyLong_DIGIT_INIT(174), \ - _PyLong_DIGIT_INIT(175), \ - _PyLong_DIGIT_INIT(176), \ - _PyLong_DIGIT_INIT(177), \ - _PyLong_DIGIT_INIT(178), \ - _PyLong_DIGIT_INIT(179), \ - _PyLong_DIGIT_INIT(180), \ - _PyLong_DIGIT_INIT(181), \ - _PyLong_DIGIT_INIT(182), \ - _PyLong_DIGIT_INIT(183), \ - _PyLong_DIGIT_INIT(184), \ - _PyLong_DIGIT_INIT(185), \ - _PyLong_DIGIT_INIT(186), \ - _PyLong_DIGIT_INIT(187), \ - _PyLong_DIGIT_INIT(188), \ - _PyLong_DIGIT_INIT(189), \ - _PyLong_DIGIT_INIT(190), \ - _PyLong_DIGIT_INIT(191), \ - _PyLong_DIGIT_INIT(192), \ - _PyLong_DIGIT_INIT(193), \ - _PyLong_DIGIT_INIT(194), \ - _PyLong_DIGIT_INIT(195), \ - _PyLong_DIGIT_INIT(196), \ - _PyLong_DIGIT_INIT(197), \ - _PyLong_DIGIT_INIT(198), \ - _PyLong_DIGIT_INIT(199), \ - _PyLong_DIGIT_INIT(200), \ - _PyLong_DIGIT_INIT(201), \ - _PyLong_DIGIT_INIT(202), \ - _PyLong_DIGIT_INIT(203), \ - _PyLong_DIGIT_INIT(204), \ - _PyLong_DIGIT_INIT(205), \ - _PyLong_DIGIT_INIT(206), \ - _PyLong_DIGIT_INIT(207), \ - _PyLong_DIGIT_INIT(208), \ - _PyLong_DIGIT_INIT(209), \ - _PyLong_DIGIT_INIT(210), \ - _PyLong_DIGIT_INIT(211), \ - _PyLong_DIGIT_INIT(212), \ - _PyLong_DIGIT_INIT(213), \ - _PyLong_DIGIT_INIT(214), \ - _PyLong_DIGIT_INIT(215), \ - _PyLong_DIGIT_INIT(216), \ - _PyLong_DIGIT_INIT(217), \ - _PyLong_DIGIT_INIT(218), \ - _PyLong_DIGIT_INIT(219), \ - _PyLong_DIGIT_INIT(220), \ - _PyLong_DIGIT_INIT(221), \ - _PyLong_DIGIT_INIT(222), \ - _PyLong_DIGIT_INIT(223), \ - _PyLong_DIGIT_INIT(224), \ - _PyLong_DIGIT_INIT(225), \ - _PyLong_DIGIT_INIT(226), \ - _PyLong_DIGIT_INIT(227), \ - _PyLong_DIGIT_INIT(228), \ - _PyLong_DIGIT_INIT(229), \ - _PyLong_DIGIT_INIT(230), \ - _PyLong_DIGIT_INIT(231), \ - _PyLong_DIGIT_INIT(232), \ - _PyLong_DIGIT_INIT(233), \ - _PyLong_DIGIT_INIT(234), \ - _PyLong_DIGIT_INIT(235), \ - _PyLong_DIGIT_INIT(236), \ - _PyLong_DIGIT_INIT(237), \ - _PyLong_DIGIT_INIT(238), \ - _PyLong_DIGIT_INIT(239), \ - _PyLong_DIGIT_INIT(240), \ - _PyLong_DIGIT_INIT(241), \ - _PyLong_DIGIT_INIT(242), \ - _PyLong_DIGIT_INIT(243), \ - _PyLong_DIGIT_INIT(244), \ - _PyLong_DIGIT_INIT(245), \ - _PyLong_DIGIT_INIT(246), \ - _PyLong_DIGIT_INIT(247), \ - _PyLong_DIGIT_INIT(248), \ - _PyLong_DIGIT_INIT(249), \ - _PyLong_DIGIT_INIT(250), \ - _PyLong_DIGIT_INIT(251), \ - _PyLong_DIGIT_INIT(252), \ - _PyLong_DIGIT_INIT(253), \ - _PyLong_DIGIT_INIT(254), \ - _PyLong_DIGIT_INIT(255), \ - _PyLong_DIGIT_INIT(256), \ - }, \ - \ - .bytes_empty = _PyBytes_SIMPLE_INIT(0, 0), \ - .bytes_characters = { \ - _PyBytes_CHAR_INIT(0), \ - _PyBytes_CHAR_INIT(1), \ - _PyBytes_CHAR_INIT(2), \ - _PyBytes_CHAR_INIT(3), \ - _PyBytes_CHAR_INIT(4), \ - _PyBytes_CHAR_INIT(5), \ - _PyBytes_CHAR_INIT(6), \ - _PyBytes_CHAR_INIT(7), \ - _PyBytes_CHAR_INIT(8), \ - _PyBytes_CHAR_INIT(9), \ - _PyBytes_CHAR_INIT(10), \ - _PyBytes_CHAR_INIT(11), \ - _PyBytes_CHAR_INIT(12), \ - _PyBytes_CHAR_INIT(13), \ - _PyBytes_CHAR_INIT(14), \ - _PyBytes_CHAR_INIT(15), \ - _PyBytes_CHAR_INIT(16), \ - _PyBytes_CHAR_INIT(17), \ - _PyBytes_CHAR_INIT(18), \ - _PyBytes_CHAR_INIT(19), \ - _PyBytes_CHAR_INIT(20), \ - _PyBytes_CHAR_INIT(21), \ - _PyBytes_CHAR_INIT(22), \ - _PyBytes_CHAR_INIT(23), \ - _PyBytes_CHAR_INIT(24), \ - _PyBytes_CHAR_INIT(25), \ - _PyBytes_CHAR_INIT(26), \ - _PyBytes_CHAR_INIT(27), \ - _PyBytes_CHAR_INIT(28), \ - _PyBytes_CHAR_INIT(29), \ - _PyBytes_CHAR_INIT(30), \ - _PyBytes_CHAR_INIT(31), \ - _PyBytes_CHAR_INIT(32), \ - _PyBytes_CHAR_INIT(33), \ - _PyBytes_CHAR_INIT(34), \ - _PyBytes_CHAR_INIT(35), \ - _PyBytes_CHAR_INIT(36), \ - _PyBytes_CHAR_INIT(37), \ - _PyBytes_CHAR_INIT(38), \ - _PyBytes_CHAR_INIT(39), \ - _PyBytes_CHAR_INIT(40), \ - _PyBytes_CHAR_INIT(41), \ - _PyBytes_CHAR_INIT(42), \ - _PyBytes_CHAR_INIT(43), \ - _PyBytes_CHAR_INIT(44), \ - _PyBytes_CHAR_INIT(45), \ - _PyBytes_CHAR_INIT(46), \ - _PyBytes_CHAR_INIT(47), \ - _PyBytes_CHAR_INIT(48), \ - _PyBytes_CHAR_INIT(49), \ - _PyBytes_CHAR_INIT(50), \ - _PyBytes_CHAR_INIT(51), \ - _PyBytes_CHAR_INIT(52), \ - _PyBytes_CHAR_INIT(53), \ - _PyBytes_CHAR_INIT(54), \ - _PyBytes_CHAR_INIT(55), \ - _PyBytes_CHAR_INIT(56), \ - _PyBytes_CHAR_INIT(57), \ - _PyBytes_CHAR_INIT(58), \ - _PyBytes_CHAR_INIT(59), \ - _PyBytes_CHAR_INIT(60), \ - _PyBytes_CHAR_INIT(61), \ - _PyBytes_CHAR_INIT(62), \ - _PyBytes_CHAR_INIT(63), \ - _PyBytes_CHAR_INIT(64), \ - _PyBytes_CHAR_INIT(65), \ - _PyBytes_CHAR_INIT(66), \ - _PyBytes_CHAR_INIT(67), \ - _PyBytes_CHAR_INIT(68), \ - _PyBytes_CHAR_INIT(69), \ - _PyBytes_CHAR_INIT(70), \ - _PyBytes_CHAR_INIT(71), \ - _PyBytes_CHAR_INIT(72), \ - _PyBytes_CHAR_INIT(73), \ - _PyBytes_CHAR_INIT(74), \ - _PyBytes_CHAR_INIT(75), \ - _PyBytes_CHAR_INIT(76), \ - _PyBytes_CHAR_INIT(77), \ - _PyBytes_CHAR_INIT(78), \ - _PyBytes_CHAR_INIT(79), \ - _PyBytes_CHAR_INIT(80), \ - _PyBytes_CHAR_INIT(81), \ - _PyBytes_CHAR_INIT(82), \ - _PyBytes_CHAR_INIT(83), \ - _PyBytes_CHAR_INIT(84), \ - _PyBytes_CHAR_INIT(85), \ - _PyBytes_CHAR_INIT(86), \ - _PyBytes_CHAR_INIT(87), \ - _PyBytes_CHAR_INIT(88), \ - _PyBytes_CHAR_INIT(89), \ - _PyBytes_CHAR_INIT(90), \ - _PyBytes_CHAR_INIT(91), \ - _PyBytes_CHAR_INIT(92), \ - _PyBytes_CHAR_INIT(93), \ - _PyBytes_CHAR_INIT(94), \ - _PyBytes_CHAR_INIT(95), \ - _PyBytes_CHAR_INIT(96), \ - _PyBytes_CHAR_INIT(97), \ - _PyBytes_CHAR_INIT(98), \ - _PyBytes_CHAR_INIT(99), \ - _PyBytes_CHAR_INIT(100), \ - _PyBytes_CHAR_INIT(101), \ - _PyBytes_CHAR_INIT(102), \ - _PyBytes_CHAR_INIT(103), \ - _PyBytes_CHAR_INIT(104), \ - _PyBytes_CHAR_INIT(105), \ - _PyBytes_CHAR_INIT(106), \ - _PyBytes_CHAR_INIT(107), \ - _PyBytes_CHAR_INIT(108), \ - _PyBytes_CHAR_INIT(109), \ - _PyBytes_CHAR_INIT(110), \ - _PyBytes_CHAR_INIT(111), \ - _PyBytes_CHAR_INIT(112), \ - _PyBytes_CHAR_INIT(113), \ - _PyBytes_CHAR_INIT(114), \ - _PyBytes_CHAR_INIT(115), \ - _PyBytes_CHAR_INIT(116), \ - _PyBytes_CHAR_INIT(117), \ - _PyBytes_CHAR_INIT(118), \ - _PyBytes_CHAR_INIT(119), \ - _PyBytes_CHAR_INIT(120), \ - _PyBytes_CHAR_INIT(121), \ - _PyBytes_CHAR_INIT(122), \ - _PyBytes_CHAR_INIT(123), \ - _PyBytes_CHAR_INIT(124), \ - _PyBytes_CHAR_INIT(125), \ - _PyBytes_CHAR_INIT(126), \ - _PyBytes_CHAR_INIT(127), \ - _PyBytes_CHAR_INIT(128), \ - _PyBytes_CHAR_INIT(129), \ - _PyBytes_CHAR_INIT(130), \ - _PyBytes_CHAR_INIT(131), \ - _PyBytes_CHAR_INIT(132), \ - _PyBytes_CHAR_INIT(133), \ - _PyBytes_CHAR_INIT(134), \ - _PyBytes_CHAR_INIT(135), \ - _PyBytes_CHAR_INIT(136), \ - _PyBytes_CHAR_INIT(137), \ - _PyBytes_CHAR_INIT(138), \ - _PyBytes_CHAR_INIT(139), \ - _PyBytes_CHAR_INIT(140), \ - _PyBytes_CHAR_INIT(141), \ - _PyBytes_CHAR_INIT(142), \ - _PyBytes_CHAR_INIT(143), \ - _PyBytes_CHAR_INIT(144), \ - _PyBytes_CHAR_INIT(145), \ - _PyBytes_CHAR_INIT(146), \ - _PyBytes_CHAR_INIT(147), \ - _PyBytes_CHAR_INIT(148), \ - _PyBytes_CHAR_INIT(149), \ - _PyBytes_CHAR_INIT(150), \ - _PyBytes_CHAR_INIT(151), \ - _PyBytes_CHAR_INIT(152), \ - _PyBytes_CHAR_INIT(153), \ - _PyBytes_CHAR_INIT(154), \ - _PyBytes_CHAR_INIT(155), \ - _PyBytes_CHAR_INIT(156), \ - _PyBytes_CHAR_INIT(157), \ - _PyBytes_CHAR_INIT(158), \ - _PyBytes_CHAR_INIT(159), \ - _PyBytes_CHAR_INIT(160), \ - _PyBytes_CHAR_INIT(161), \ - _PyBytes_CHAR_INIT(162), \ - _PyBytes_CHAR_INIT(163), \ - _PyBytes_CHAR_INIT(164), \ - _PyBytes_CHAR_INIT(165), \ - _PyBytes_CHAR_INIT(166), \ - _PyBytes_CHAR_INIT(167), \ - _PyBytes_CHAR_INIT(168), \ - _PyBytes_CHAR_INIT(169), \ - _PyBytes_CHAR_INIT(170), \ - _PyBytes_CHAR_INIT(171), \ - _PyBytes_CHAR_INIT(172), \ - _PyBytes_CHAR_INIT(173), \ - _PyBytes_CHAR_INIT(174), \ - _PyBytes_CHAR_INIT(175), \ - _PyBytes_CHAR_INIT(176), \ - _PyBytes_CHAR_INIT(177), \ - _PyBytes_CHAR_INIT(178), \ - _PyBytes_CHAR_INIT(179), \ - _PyBytes_CHAR_INIT(180), \ - _PyBytes_CHAR_INIT(181), \ - _PyBytes_CHAR_INIT(182), \ - _PyBytes_CHAR_INIT(183), \ - _PyBytes_CHAR_INIT(184), \ - _PyBytes_CHAR_INIT(185), \ - _PyBytes_CHAR_INIT(186), \ - _PyBytes_CHAR_INIT(187), \ - _PyBytes_CHAR_INIT(188), \ - _PyBytes_CHAR_INIT(189), \ - _PyBytes_CHAR_INIT(190), \ - _PyBytes_CHAR_INIT(191), \ - _PyBytes_CHAR_INIT(192), \ - _PyBytes_CHAR_INIT(193), \ - _PyBytes_CHAR_INIT(194), \ - _PyBytes_CHAR_INIT(195), \ - _PyBytes_CHAR_INIT(196), \ - _PyBytes_CHAR_INIT(197), \ - _PyBytes_CHAR_INIT(198), \ - _PyBytes_CHAR_INIT(199), \ - _PyBytes_CHAR_INIT(200), \ - _PyBytes_CHAR_INIT(201), \ - _PyBytes_CHAR_INIT(202), \ - _PyBytes_CHAR_INIT(203), \ - _PyBytes_CHAR_INIT(204), \ - _PyBytes_CHAR_INIT(205), \ - _PyBytes_CHAR_INIT(206), \ - _PyBytes_CHAR_INIT(207), \ - _PyBytes_CHAR_INIT(208), \ - _PyBytes_CHAR_INIT(209), \ - _PyBytes_CHAR_INIT(210), \ - _PyBytes_CHAR_INIT(211), \ - _PyBytes_CHAR_INIT(212), \ - _PyBytes_CHAR_INIT(213), \ - _PyBytes_CHAR_INIT(214), \ - _PyBytes_CHAR_INIT(215), \ - _PyBytes_CHAR_INIT(216), \ - _PyBytes_CHAR_INIT(217), \ - _PyBytes_CHAR_INIT(218), \ - _PyBytes_CHAR_INIT(219), \ - _PyBytes_CHAR_INIT(220), \ - _PyBytes_CHAR_INIT(221), \ - _PyBytes_CHAR_INIT(222), \ - _PyBytes_CHAR_INIT(223), \ - _PyBytes_CHAR_INIT(224), \ - _PyBytes_CHAR_INIT(225), \ - _PyBytes_CHAR_INIT(226), \ - _PyBytes_CHAR_INIT(227), \ - _PyBytes_CHAR_INIT(228), \ - _PyBytes_CHAR_INIT(229), \ - _PyBytes_CHAR_INIT(230), \ - _PyBytes_CHAR_INIT(231), \ - _PyBytes_CHAR_INIT(232), \ - _PyBytes_CHAR_INIT(233), \ - _PyBytes_CHAR_INIT(234), \ - _PyBytes_CHAR_INIT(235), \ - _PyBytes_CHAR_INIT(236), \ - _PyBytes_CHAR_INIT(237), \ - _PyBytes_CHAR_INIT(238), \ - _PyBytes_CHAR_INIT(239), \ - _PyBytes_CHAR_INIT(240), \ - _PyBytes_CHAR_INIT(241), \ - _PyBytes_CHAR_INIT(242), \ - _PyBytes_CHAR_INIT(243), \ - _PyBytes_CHAR_INIT(244), \ - _PyBytes_CHAR_INIT(245), \ - _PyBytes_CHAR_INIT(246), \ - _PyBytes_CHAR_INIT(247), \ - _PyBytes_CHAR_INIT(248), \ - _PyBytes_CHAR_INIT(249), \ - _PyBytes_CHAR_INIT(250), \ - _PyBytes_CHAR_INIT(251), \ - _PyBytes_CHAR_INIT(252), \ - _PyBytes_CHAR_INIT(253), \ - _PyBytes_CHAR_INIT(254), \ - _PyBytes_CHAR_INIT(255), \ - }, \ - \ - .strings = { \ - .literals = { \ - INIT_STR(anon_dictcomp, ""), \ - INIT_STR(anon_genexpr, ""), \ - INIT_STR(anon_lambda, ""), \ - INIT_STR(anon_listcomp, ""), \ - INIT_STR(anon_module, ""), \ - INIT_STR(anon_setcomp, ""), \ - INIT_STR(anon_string, ""), \ - INIT_STR(anon_unknown, ""), \ - INIT_STR(close_br, "}"), \ - INIT_STR(comma_sep, ", "), \ - INIT_STR(dbl_close_br, "}}"), \ - INIT_STR(dbl_open_br, "{{"), \ - INIT_STR(dbl_percent, "%%"), \ - INIT_STR(dot, "."), \ - INIT_STR(dot_locals, "."), \ - INIT_STR(empty, ""), \ - INIT_STR(list_err, "list index out of range"), \ - INIT_STR(newline, "\n"), \ - INIT_STR(open_br, "{"), \ - INIT_STR(percent, "%"), \ - INIT_STR(utf_8, "utf-8"), \ - }, \ - .identifiers = { \ - INIT_ID(False), \ - INIT_ID(Py_Repr), \ - INIT_ID(TextIOWrapper), \ - INIT_ID(True), \ - INIT_ID(WarningMessage), \ - INIT_ID(_), \ - INIT_ID(__IOBase_closed), \ - INIT_ID(__abc_tpflags__), \ - INIT_ID(__abs__), \ - INIT_ID(__abstractmethods__), \ - INIT_ID(__add__), \ - INIT_ID(__aenter__), \ - INIT_ID(__aexit__), \ - INIT_ID(__aiter__), \ - INIT_ID(__all__), \ - INIT_ID(__and__), \ - INIT_ID(__anext__), \ - INIT_ID(__annotations__), \ - INIT_ID(__args__), \ - INIT_ID(__await__), \ - INIT_ID(__bases__), \ - INIT_ID(__bool__), \ - INIT_ID(__build_class__), \ - INIT_ID(__builtins__), \ - INIT_ID(__bytes__), \ - INIT_ID(__call__), \ - INIT_ID(__cantrace__), \ - INIT_ID(__class__), \ - INIT_ID(__class_getitem__), \ - INIT_ID(__classcell__), \ - INIT_ID(__complex__), \ - INIT_ID(__contains__), \ - INIT_ID(__copy__), \ - INIT_ID(__del__), \ - INIT_ID(__delattr__), \ - INIT_ID(__delete__), \ - INIT_ID(__delitem__), \ - INIT_ID(__dict__), \ - INIT_ID(__dir__), \ - INIT_ID(__divmod__), \ - INIT_ID(__doc__), \ - INIT_ID(__enter__), \ - INIT_ID(__eq__), \ - INIT_ID(__exit__), \ - INIT_ID(__file__), \ - INIT_ID(__float__), \ - INIT_ID(__floordiv__), \ - INIT_ID(__format__), \ - INIT_ID(__fspath__), \ - INIT_ID(__ge__), \ - INIT_ID(__get__), \ - INIT_ID(__getattr__), \ - INIT_ID(__getattribute__), \ - INIT_ID(__getinitargs__), \ - INIT_ID(__getitem__), \ - INIT_ID(__getnewargs__), \ - INIT_ID(__getnewargs_ex__), \ - INIT_ID(__getstate__), \ - INIT_ID(__gt__), \ - INIT_ID(__hash__), \ - INIT_ID(__iadd__), \ - INIT_ID(__iand__), \ - INIT_ID(__ifloordiv__), \ - INIT_ID(__ilshift__), \ - INIT_ID(__imatmul__), \ - INIT_ID(__imod__), \ - INIT_ID(__import__), \ - INIT_ID(__imul__), \ - INIT_ID(__index__), \ - INIT_ID(__init__), \ - INIT_ID(__init_subclass__), \ - INIT_ID(__instancecheck__), \ - INIT_ID(__int__), \ - INIT_ID(__invert__), \ - INIT_ID(__ior__), \ - INIT_ID(__ipow__), \ - INIT_ID(__irshift__), \ - INIT_ID(__isabstractmethod__), \ - INIT_ID(__isub__), \ - INIT_ID(__iter__), \ - INIT_ID(__itruediv__), \ - INIT_ID(__ixor__), \ - INIT_ID(__le__), \ - INIT_ID(__len__), \ - INIT_ID(__length_hint__), \ - INIT_ID(__lltrace__), \ - INIT_ID(__loader__), \ - INIT_ID(__lshift__), \ - INIT_ID(__lt__), \ - INIT_ID(__main__), \ - INIT_ID(__matmul__), \ - INIT_ID(__missing__), \ - INIT_ID(__mod__), \ - INIT_ID(__module__), \ - INIT_ID(__mro_entries__), \ - INIT_ID(__mul__), \ - INIT_ID(__name__), \ - INIT_ID(__ne__), \ - INIT_ID(__neg__), \ - INIT_ID(__new__), \ - INIT_ID(__newobj__), \ - INIT_ID(__newobj_ex__), \ - INIT_ID(__next__), \ - INIT_ID(__notes__), \ - INIT_ID(__or__), \ - INIT_ID(__orig_class__), \ - INIT_ID(__origin__), \ - INIT_ID(__package__), \ - INIT_ID(__parameters__), \ - INIT_ID(__path__), \ - INIT_ID(__pos__), \ - INIT_ID(__pow__), \ - INIT_ID(__prepare__), \ - INIT_ID(__qualname__), \ - INIT_ID(__radd__), \ - INIT_ID(__rand__), \ - INIT_ID(__rdivmod__), \ - INIT_ID(__reduce__), \ - INIT_ID(__reduce_ex__), \ - INIT_ID(__repr__), \ - INIT_ID(__reversed__), \ - INIT_ID(__rfloordiv__), \ - INIT_ID(__rlshift__), \ - INIT_ID(__rmatmul__), \ - INIT_ID(__rmod__), \ - INIT_ID(__rmul__), \ - INIT_ID(__ror__), \ - INIT_ID(__round__), \ - INIT_ID(__rpow__), \ - INIT_ID(__rrshift__), \ - INIT_ID(__rshift__), \ - INIT_ID(__rsub__), \ - INIT_ID(__rtruediv__), \ - INIT_ID(__rxor__), \ - INIT_ID(__set__), \ - INIT_ID(__set_name__), \ - INIT_ID(__setattr__), \ - INIT_ID(__setitem__), \ - INIT_ID(__setstate__), \ - INIT_ID(__sizeof__), \ - INIT_ID(__slotnames__), \ - INIT_ID(__slots__), \ - INIT_ID(__spec__), \ - INIT_ID(__str__), \ - INIT_ID(__sub__), \ - INIT_ID(__subclasscheck__), \ - INIT_ID(__subclasshook__), \ - INIT_ID(__truediv__), \ - INIT_ID(__trunc__), \ - INIT_ID(__typing_is_unpacked_typevartuple__), \ - INIT_ID(__typing_prepare_subst__), \ - INIT_ID(__typing_subst__), \ - INIT_ID(__typing_unpacked_tuple_args__), \ - INIT_ID(__warningregistry__), \ - INIT_ID(__weakref__), \ - INIT_ID(__xor__), \ - INIT_ID(_abc_impl), \ - INIT_ID(_annotation), \ - INIT_ID(_blksize), \ - INIT_ID(_bootstrap), \ - INIT_ID(_dealloc_warn), \ - INIT_ID(_finalizing), \ - INIT_ID(_find_and_load), \ - INIT_ID(_fix_up_module), \ - INIT_ID(_get_sourcefile), \ - INIT_ID(_handle_fromlist), \ - INIT_ID(_initializing), \ - INIT_ID(_is_text_encoding), \ - INIT_ID(_lock_unlock_module), \ - INIT_ID(_showwarnmsg), \ - INIT_ID(_shutdown), \ - INIT_ID(_slotnames), \ - INIT_ID(_strptime_time), \ - INIT_ID(_uninitialized_submodules), \ - INIT_ID(_warn_unawaited_coroutine), \ - INIT_ID(_xoptions), \ - INIT_ID(add), \ - INIT_ID(append), \ - INIT_ID(big), \ - INIT_ID(buffer), \ - INIT_ID(builtins), \ - INIT_ID(c_call), \ - INIT_ID(c_exception), \ - INIT_ID(c_return), \ - INIT_ID(call), \ - INIT_ID(clear), \ - INIT_ID(close), \ - INIT_ID(closed), \ - INIT_ID(code), \ - INIT_ID(copy), \ - INIT_ID(copyreg), \ - INIT_ID(decode), \ - INIT_ID(default), \ - INIT_ID(defaultaction), \ - INIT_ID(dictcomp), \ - INIT_ID(difference_update), \ - INIT_ID(dispatch_table), \ - INIT_ID(displayhook), \ - INIT_ID(enable), \ - INIT_ID(encode), \ - INIT_ID(encoding), \ - INIT_ID(end_lineno), \ - INIT_ID(end_offset), \ - INIT_ID(errors), \ - INIT_ID(excepthook), \ - INIT_ID(exception), \ - INIT_ID(extend), \ - INIT_ID(filename), \ - INIT_ID(fileno), \ - INIT_ID(fillvalue), \ - INIT_ID(filters), \ - INIT_ID(find_class), \ - INIT_ID(flush), \ - INIT_ID(genexpr), \ - INIT_ID(get), \ - INIT_ID(get_source), \ - INIT_ID(getattr), \ - INIT_ID(getstate), \ - INIT_ID(ignore), \ - INIT_ID(importlib), \ - INIT_ID(inf), \ - INIT_ID(intersection), \ - INIT_ID(isatty), \ - INIT_ID(isinstance), \ - INIT_ID(items), \ - INIT_ID(iter), \ - INIT_ID(join), \ - INIT_ID(keys), \ - INIT_ID(lambda), \ - INIT_ID(last_traceback), \ - INIT_ID(last_type), \ - INIT_ID(last_value), \ - INIT_ID(latin1), \ - INIT_ID(len), \ - INIT_ID(line), \ - INIT_ID(lineno), \ - INIT_ID(listcomp), \ - INIT_ID(little), \ - INIT_ID(locale), \ - INIT_ID(match), \ - INIT_ID(metaclass), \ - INIT_ID(mode), \ - INIT_ID(modules), \ - INIT_ID(mro), \ - INIT_ID(msg), \ - INIT_ID(n_fields), \ - INIT_ID(n_sequence_fields), \ - INIT_ID(n_unnamed_fields), \ - INIT_ID(name), \ - INIT_ID(newlines), \ - INIT_ID(next), \ - INIT_ID(obj), \ - INIT_ID(offset), \ - INIT_ID(onceregistry), \ - INIT_ID(opcode), \ - INIT_ID(open), \ - INIT_ID(parent), \ - INIT_ID(partial), \ - INIT_ID(path), \ - INIT_ID(peek), \ - INIT_ID(persistent_id), \ - INIT_ID(persistent_load), \ - INIT_ID(print_file_and_line), \ - INIT_ID(ps1), \ - INIT_ID(ps2), \ - INIT_ID(raw), \ - INIT_ID(read), \ - INIT_ID(read1), \ - INIT_ID(readable), \ - INIT_ID(readall), \ - INIT_ID(readinto), \ - INIT_ID(readinto1), \ - INIT_ID(readline), \ - INIT_ID(reducer_override), \ - INIT_ID(reload), \ - INIT_ID(replace), \ - INIT_ID(reset), \ - INIT_ID(return), \ - INIT_ID(reversed), \ - INIT_ID(seek), \ - INIT_ID(seekable), \ - INIT_ID(send), \ - INIT_ID(setcomp), \ - INIT_ID(setstate), \ - INIT_ID(sort), \ - INIT_ID(stderr), \ - INIT_ID(stdin), \ - INIT_ID(stdout), \ - INIT_ID(strict), \ - INIT_ID(symmetric_difference_update), \ - INIT_ID(tell), \ - INIT_ID(text), \ - INIT_ID(threading), \ - INIT_ID(throw), \ - INIT_ID(top), \ - INIT_ID(truncate), \ - INIT_ID(unraisablehook), \ - INIT_ID(values), \ - INIT_ID(version), \ - INIT_ID(warnings), \ - INIT_ID(warnoptions), \ - INIT_ID(writable), \ - INIT_ID(write), \ - INIT_ID(zipimporter), \ - }, \ - .ascii = { \ - _PyASCIIObject_INIT("\x00"), \ - _PyASCIIObject_INIT("\x01"), \ - _PyASCIIObject_INIT("\x02"), \ - _PyASCIIObject_INIT("\x03"), \ - _PyASCIIObject_INIT("\x04"), \ - _PyASCIIObject_INIT("\x05"), \ - _PyASCIIObject_INIT("\x06"), \ - _PyASCIIObject_INIT("\x07"), \ - _PyASCIIObject_INIT("\x08"), \ - _PyASCIIObject_INIT("\x09"), \ - _PyASCIIObject_INIT("\x0a"), \ - _PyASCIIObject_INIT("\x0b"), \ - _PyASCIIObject_INIT("\x0c"), \ - _PyASCIIObject_INIT("\x0d"), \ - _PyASCIIObject_INIT("\x0e"), \ - _PyASCIIObject_INIT("\x0f"), \ - _PyASCIIObject_INIT("\x10"), \ - _PyASCIIObject_INIT("\x11"), \ - _PyASCIIObject_INIT("\x12"), \ - _PyASCIIObject_INIT("\x13"), \ - _PyASCIIObject_INIT("\x14"), \ - _PyASCIIObject_INIT("\x15"), \ - _PyASCIIObject_INIT("\x16"), \ - _PyASCIIObject_INIT("\x17"), \ - _PyASCIIObject_INIT("\x18"), \ - _PyASCIIObject_INIT("\x19"), \ - _PyASCIIObject_INIT("\x1a"), \ - _PyASCIIObject_INIT("\x1b"), \ - _PyASCIIObject_INIT("\x1c"), \ - _PyASCIIObject_INIT("\x1d"), \ - _PyASCIIObject_INIT("\x1e"), \ - _PyASCIIObject_INIT("\x1f"), \ - _PyASCIIObject_INIT("\x20"), \ - _PyASCIIObject_INIT("\x21"), \ - _PyASCIIObject_INIT("\x22"), \ - _PyASCIIObject_INIT("\x23"), \ - _PyASCIIObject_INIT("\x24"), \ - _PyASCIIObject_INIT("\x25"), \ - _PyASCIIObject_INIT("\x26"), \ - _PyASCIIObject_INIT("\x27"), \ - _PyASCIIObject_INIT("\x28"), \ - _PyASCIIObject_INIT("\x29"), \ - _PyASCIIObject_INIT("\x2a"), \ - _PyASCIIObject_INIT("\x2b"), \ - _PyASCIIObject_INIT("\x2c"), \ - _PyASCIIObject_INIT("\x2d"), \ - _PyASCIIObject_INIT("\x2e"), \ - _PyASCIIObject_INIT("\x2f"), \ - _PyASCIIObject_INIT("\x30"), \ - _PyASCIIObject_INIT("\x31"), \ - _PyASCIIObject_INIT("\x32"), \ - _PyASCIIObject_INIT("\x33"), \ - _PyASCIIObject_INIT("\x34"), \ - _PyASCIIObject_INIT("\x35"), \ - _PyASCIIObject_INIT("\x36"), \ - _PyASCIIObject_INIT("\x37"), \ - _PyASCIIObject_INIT("\x38"), \ - _PyASCIIObject_INIT("\x39"), \ - _PyASCIIObject_INIT("\x3a"), \ - _PyASCIIObject_INIT("\x3b"), \ - _PyASCIIObject_INIT("\x3c"), \ - _PyASCIIObject_INIT("\x3d"), \ - _PyASCIIObject_INIT("\x3e"), \ - _PyASCIIObject_INIT("\x3f"), \ - _PyASCIIObject_INIT("\x40"), \ - _PyASCIIObject_INIT("\x41"), \ - _PyASCIIObject_INIT("\x42"), \ - _PyASCIIObject_INIT("\x43"), \ - _PyASCIIObject_INIT("\x44"), \ - _PyASCIIObject_INIT("\x45"), \ - _PyASCIIObject_INIT("\x46"), \ - _PyASCIIObject_INIT("\x47"), \ - _PyASCIIObject_INIT("\x48"), \ - _PyASCIIObject_INIT("\x49"), \ - _PyASCIIObject_INIT("\x4a"), \ - _PyASCIIObject_INIT("\x4b"), \ - _PyASCIIObject_INIT("\x4c"), \ - _PyASCIIObject_INIT("\x4d"), \ - _PyASCIIObject_INIT("\x4e"), \ - _PyASCIIObject_INIT("\x4f"), \ - _PyASCIIObject_INIT("\x50"), \ - _PyASCIIObject_INIT("\x51"), \ - _PyASCIIObject_INIT("\x52"), \ - _PyASCIIObject_INIT("\x53"), \ - _PyASCIIObject_INIT("\x54"), \ - _PyASCIIObject_INIT("\x55"), \ - _PyASCIIObject_INIT("\x56"), \ - _PyASCIIObject_INIT("\x57"), \ - _PyASCIIObject_INIT("\x58"), \ - _PyASCIIObject_INIT("\x59"), \ - _PyASCIIObject_INIT("\x5a"), \ - _PyASCIIObject_INIT("\x5b"), \ - _PyASCIIObject_INIT("\x5c"), \ - _PyASCIIObject_INIT("\x5d"), \ - _PyASCIIObject_INIT("\x5e"), \ - _PyASCIIObject_INIT("\x5f"), \ - _PyASCIIObject_INIT("\x60"), \ - _PyASCIIObject_INIT("\x61"), \ - _PyASCIIObject_INIT("\x62"), \ - _PyASCIIObject_INIT("\x63"), \ - _PyASCIIObject_INIT("\x64"), \ - _PyASCIIObject_INIT("\x65"), \ - _PyASCIIObject_INIT("\x66"), \ - _PyASCIIObject_INIT("\x67"), \ - _PyASCIIObject_INIT("\x68"), \ - _PyASCIIObject_INIT("\x69"), \ - _PyASCIIObject_INIT("\x6a"), \ - _PyASCIIObject_INIT("\x6b"), \ - _PyASCIIObject_INIT("\x6c"), \ - _PyASCIIObject_INIT("\x6d"), \ - _PyASCIIObject_INIT("\x6e"), \ - _PyASCIIObject_INIT("\x6f"), \ - _PyASCIIObject_INIT("\x70"), \ - _PyASCIIObject_INIT("\x71"), \ - _PyASCIIObject_INIT("\x72"), \ - _PyASCIIObject_INIT("\x73"), \ - _PyASCIIObject_INIT("\x74"), \ - _PyASCIIObject_INIT("\x75"), \ - _PyASCIIObject_INIT("\x76"), \ - _PyASCIIObject_INIT("\x77"), \ - _PyASCIIObject_INIT("\x78"), \ - _PyASCIIObject_INIT("\x79"), \ - _PyASCIIObject_INIT("\x7a"), \ - _PyASCIIObject_INIT("\x7b"), \ - _PyASCIIObject_INIT("\x7c"), \ - _PyASCIIObject_INIT("\x7d"), \ - _PyASCIIObject_INIT("\x7e"), \ - _PyASCIIObject_INIT("\x7f"), \ - }, \ - .latin1 = { \ - _PyUnicode_LATIN1_INIT("\x80"), \ - _PyUnicode_LATIN1_INIT("\x81"), \ - _PyUnicode_LATIN1_INIT("\x82"), \ - _PyUnicode_LATIN1_INIT("\x83"), \ - _PyUnicode_LATIN1_INIT("\x84"), \ - _PyUnicode_LATIN1_INIT("\x85"), \ - _PyUnicode_LATIN1_INIT("\x86"), \ - _PyUnicode_LATIN1_INIT("\x87"), \ - _PyUnicode_LATIN1_INIT("\x88"), \ - _PyUnicode_LATIN1_INIT("\x89"), \ - _PyUnicode_LATIN1_INIT("\x8a"), \ - _PyUnicode_LATIN1_INIT("\x8b"), \ - _PyUnicode_LATIN1_INIT("\x8c"), \ - _PyUnicode_LATIN1_INIT("\x8d"), \ - _PyUnicode_LATIN1_INIT("\x8e"), \ - _PyUnicode_LATIN1_INIT("\x8f"), \ - _PyUnicode_LATIN1_INIT("\x90"), \ - _PyUnicode_LATIN1_INIT("\x91"), \ - _PyUnicode_LATIN1_INIT("\x92"), \ - _PyUnicode_LATIN1_INIT("\x93"), \ - _PyUnicode_LATIN1_INIT("\x94"), \ - _PyUnicode_LATIN1_INIT("\x95"), \ - _PyUnicode_LATIN1_INIT("\x96"), \ - _PyUnicode_LATIN1_INIT("\x97"), \ - _PyUnicode_LATIN1_INIT("\x98"), \ - _PyUnicode_LATIN1_INIT("\x99"), \ - _PyUnicode_LATIN1_INIT("\x9a"), \ - _PyUnicode_LATIN1_INIT("\x9b"), \ - _PyUnicode_LATIN1_INIT("\x9c"), \ - _PyUnicode_LATIN1_INIT("\x9d"), \ - _PyUnicode_LATIN1_INIT("\x9e"), \ - _PyUnicode_LATIN1_INIT("\x9f"), \ - _PyUnicode_LATIN1_INIT("\xa0"), \ - _PyUnicode_LATIN1_INIT("\xa1"), \ - _PyUnicode_LATIN1_INIT("\xa2"), \ - _PyUnicode_LATIN1_INIT("\xa3"), \ - _PyUnicode_LATIN1_INIT("\xa4"), \ - _PyUnicode_LATIN1_INIT("\xa5"), \ - _PyUnicode_LATIN1_INIT("\xa6"), \ - _PyUnicode_LATIN1_INIT("\xa7"), \ - _PyUnicode_LATIN1_INIT("\xa8"), \ - _PyUnicode_LATIN1_INIT("\xa9"), \ - _PyUnicode_LATIN1_INIT("\xaa"), \ - _PyUnicode_LATIN1_INIT("\xab"), \ - _PyUnicode_LATIN1_INIT("\xac"), \ - _PyUnicode_LATIN1_INIT("\xad"), \ - _PyUnicode_LATIN1_INIT("\xae"), \ - _PyUnicode_LATIN1_INIT("\xaf"), \ - _PyUnicode_LATIN1_INIT("\xb0"), \ - _PyUnicode_LATIN1_INIT("\xb1"), \ - _PyUnicode_LATIN1_INIT("\xb2"), \ - _PyUnicode_LATIN1_INIT("\xb3"), \ - _PyUnicode_LATIN1_INIT("\xb4"), \ - _PyUnicode_LATIN1_INIT("\xb5"), \ - _PyUnicode_LATIN1_INIT("\xb6"), \ - _PyUnicode_LATIN1_INIT("\xb7"), \ - _PyUnicode_LATIN1_INIT("\xb8"), \ - _PyUnicode_LATIN1_INIT("\xb9"), \ - _PyUnicode_LATIN1_INIT("\xba"), \ - _PyUnicode_LATIN1_INIT("\xbb"), \ - _PyUnicode_LATIN1_INIT("\xbc"), \ - _PyUnicode_LATIN1_INIT("\xbd"), \ - _PyUnicode_LATIN1_INIT("\xbe"), \ - _PyUnicode_LATIN1_INIT("\xbf"), \ - _PyUnicode_LATIN1_INIT("\xc0"), \ - _PyUnicode_LATIN1_INIT("\xc1"), \ - _PyUnicode_LATIN1_INIT("\xc2"), \ - _PyUnicode_LATIN1_INIT("\xc3"), \ - _PyUnicode_LATIN1_INIT("\xc4"), \ - _PyUnicode_LATIN1_INIT("\xc5"), \ - _PyUnicode_LATIN1_INIT("\xc6"), \ - _PyUnicode_LATIN1_INIT("\xc7"), \ - _PyUnicode_LATIN1_INIT("\xc8"), \ - _PyUnicode_LATIN1_INIT("\xc9"), \ - _PyUnicode_LATIN1_INIT("\xca"), \ - _PyUnicode_LATIN1_INIT("\xcb"), \ - _PyUnicode_LATIN1_INIT("\xcc"), \ - _PyUnicode_LATIN1_INIT("\xcd"), \ - _PyUnicode_LATIN1_INIT("\xce"), \ - _PyUnicode_LATIN1_INIT("\xcf"), \ - _PyUnicode_LATIN1_INIT("\xd0"), \ - _PyUnicode_LATIN1_INIT("\xd1"), \ - _PyUnicode_LATIN1_INIT("\xd2"), \ - _PyUnicode_LATIN1_INIT("\xd3"), \ - _PyUnicode_LATIN1_INIT("\xd4"), \ - _PyUnicode_LATIN1_INIT("\xd5"), \ - _PyUnicode_LATIN1_INIT("\xd6"), \ - _PyUnicode_LATIN1_INIT("\xd7"), \ - _PyUnicode_LATIN1_INIT("\xd8"), \ - _PyUnicode_LATIN1_INIT("\xd9"), \ - _PyUnicode_LATIN1_INIT("\xda"), \ - _PyUnicode_LATIN1_INIT("\xdb"), \ - _PyUnicode_LATIN1_INIT("\xdc"), \ - _PyUnicode_LATIN1_INIT("\xdd"), \ - _PyUnicode_LATIN1_INIT("\xde"), \ - _PyUnicode_LATIN1_INIT("\xdf"), \ - _PyUnicode_LATIN1_INIT("\xe0"), \ - _PyUnicode_LATIN1_INIT("\xe1"), \ - _PyUnicode_LATIN1_INIT("\xe2"), \ - _PyUnicode_LATIN1_INIT("\xe3"), \ - _PyUnicode_LATIN1_INIT("\xe4"), \ - _PyUnicode_LATIN1_INIT("\xe5"), \ - _PyUnicode_LATIN1_INIT("\xe6"), \ - _PyUnicode_LATIN1_INIT("\xe7"), \ - _PyUnicode_LATIN1_INIT("\xe8"), \ - _PyUnicode_LATIN1_INIT("\xe9"), \ - _PyUnicode_LATIN1_INIT("\xea"), \ - _PyUnicode_LATIN1_INIT("\xeb"), \ - _PyUnicode_LATIN1_INIT("\xec"), \ - _PyUnicode_LATIN1_INIT("\xed"), \ - _PyUnicode_LATIN1_INIT("\xee"), \ - _PyUnicode_LATIN1_INIT("\xef"), \ - _PyUnicode_LATIN1_INIT("\xf0"), \ - _PyUnicode_LATIN1_INIT("\xf1"), \ - _PyUnicode_LATIN1_INIT("\xf2"), \ - _PyUnicode_LATIN1_INIT("\xf3"), \ - _PyUnicode_LATIN1_INIT("\xf4"), \ - _PyUnicode_LATIN1_INIT("\xf5"), \ - _PyUnicode_LATIN1_INIT("\xf6"), \ - _PyUnicode_LATIN1_INIT("\xf7"), \ - _PyUnicode_LATIN1_INIT("\xf8"), \ - _PyUnicode_LATIN1_INIT("\xf9"), \ - _PyUnicode_LATIN1_INIT("\xfa"), \ - _PyUnicode_LATIN1_INIT("\xfb"), \ - _PyUnicode_LATIN1_INIT("\xfc"), \ - _PyUnicode_LATIN1_INIT("\xfd"), \ - _PyUnicode_LATIN1_INIT("\xfe"), \ - _PyUnicode_LATIN1_INIT("\xff"), \ - }, \ - }, \ - \ - .tuple_empty = { \ - .ob_base = _PyVarObject_IMMORTAL_INIT(&PyTuple_Type, 0) \ - }, \ - }, \ -} -/* End auto-generated code */ - +#include "pycore_runtime_init_generated.h" #ifdef __cplusplus } diff --git a/src/external/windows/include/python/internal/pycore_runtime_init_generated.h b/src/external/windows/include/python/internal/pycore_runtime_init_generated.h new file mode 100644 index 00000000..5ec19c08 --- /dev/null +++ b/src/external/windows/include/python/internal/pycore_runtime_init_generated.h @@ -0,0 +1,1525 @@ +#ifndef Py_INTERNAL_RUNTIME_INIT_GENERATED_H +#define Py_INTERNAL_RUNTIME_INIT_GENERATED_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +/* The following is auto-generated by Tools/build/generate_global_objects.py. */ +#define _Py_small_ints_INIT { \ + _PyLong_DIGIT_INIT(-5), \ + _PyLong_DIGIT_INIT(-4), \ + _PyLong_DIGIT_INIT(-3), \ + _PyLong_DIGIT_INIT(-2), \ + _PyLong_DIGIT_INIT(-1), \ + _PyLong_DIGIT_INIT(0), \ + _PyLong_DIGIT_INIT(1), \ + _PyLong_DIGIT_INIT(2), \ + _PyLong_DIGIT_INIT(3), \ + _PyLong_DIGIT_INIT(4), \ + _PyLong_DIGIT_INIT(5), \ + _PyLong_DIGIT_INIT(6), \ + _PyLong_DIGIT_INIT(7), \ + _PyLong_DIGIT_INIT(8), \ + _PyLong_DIGIT_INIT(9), \ + _PyLong_DIGIT_INIT(10), \ + _PyLong_DIGIT_INIT(11), \ + _PyLong_DIGIT_INIT(12), \ + _PyLong_DIGIT_INIT(13), \ + _PyLong_DIGIT_INIT(14), \ + _PyLong_DIGIT_INIT(15), \ + _PyLong_DIGIT_INIT(16), \ + _PyLong_DIGIT_INIT(17), \ + _PyLong_DIGIT_INIT(18), \ + _PyLong_DIGIT_INIT(19), \ + _PyLong_DIGIT_INIT(20), \ + _PyLong_DIGIT_INIT(21), \ + _PyLong_DIGIT_INIT(22), \ + _PyLong_DIGIT_INIT(23), \ + _PyLong_DIGIT_INIT(24), \ + _PyLong_DIGIT_INIT(25), \ + _PyLong_DIGIT_INIT(26), \ + _PyLong_DIGIT_INIT(27), \ + _PyLong_DIGIT_INIT(28), \ + _PyLong_DIGIT_INIT(29), \ + _PyLong_DIGIT_INIT(30), \ + _PyLong_DIGIT_INIT(31), \ + _PyLong_DIGIT_INIT(32), \ + _PyLong_DIGIT_INIT(33), \ + _PyLong_DIGIT_INIT(34), \ + _PyLong_DIGIT_INIT(35), \ + _PyLong_DIGIT_INIT(36), \ + _PyLong_DIGIT_INIT(37), \ + _PyLong_DIGIT_INIT(38), \ + _PyLong_DIGIT_INIT(39), \ + _PyLong_DIGIT_INIT(40), \ + _PyLong_DIGIT_INIT(41), \ + _PyLong_DIGIT_INIT(42), \ + _PyLong_DIGIT_INIT(43), \ + _PyLong_DIGIT_INIT(44), \ + _PyLong_DIGIT_INIT(45), \ + _PyLong_DIGIT_INIT(46), \ + _PyLong_DIGIT_INIT(47), \ + _PyLong_DIGIT_INIT(48), \ + _PyLong_DIGIT_INIT(49), \ + _PyLong_DIGIT_INIT(50), \ + _PyLong_DIGIT_INIT(51), \ + _PyLong_DIGIT_INIT(52), \ + _PyLong_DIGIT_INIT(53), \ + _PyLong_DIGIT_INIT(54), \ + _PyLong_DIGIT_INIT(55), \ + _PyLong_DIGIT_INIT(56), \ + _PyLong_DIGIT_INIT(57), \ + _PyLong_DIGIT_INIT(58), \ + _PyLong_DIGIT_INIT(59), \ + _PyLong_DIGIT_INIT(60), \ + _PyLong_DIGIT_INIT(61), \ + _PyLong_DIGIT_INIT(62), \ + _PyLong_DIGIT_INIT(63), \ + _PyLong_DIGIT_INIT(64), \ + _PyLong_DIGIT_INIT(65), \ + _PyLong_DIGIT_INIT(66), \ + _PyLong_DIGIT_INIT(67), \ + _PyLong_DIGIT_INIT(68), \ + _PyLong_DIGIT_INIT(69), \ + _PyLong_DIGIT_INIT(70), \ + _PyLong_DIGIT_INIT(71), \ + _PyLong_DIGIT_INIT(72), \ + _PyLong_DIGIT_INIT(73), \ + _PyLong_DIGIT_INIT(74), \ + _PyLong_DIGIT_INIT(75), \ + _PyLong_DIGIT_INIT(76), \ + _PyLong_DIGIT_INIT(77), \ + _PyLong_DIGIT_INIT(78), \ + _PyLong_DIGIT_INIT(79), \ + _PyLong_DIGIT_INIT(80), \ + _PyLong_DIGIT_INIT(81), \ + _PyLong_DIGIT_INIT(82), \ + _PyLong_DIGIT_INIT(83), \ + _PyLong_DIGIT_INIT(84), \ + _PyLong_DIGIT_INIT(85), \ + _PyLong_DIGIT_INIT(86), \ + _PyLong_DIGIT_INIT(87), \ + _PyLong_DIGIT_INIT(88), \ + _PyLong_DIGIT_INIT(89), \ + _PyLong_DIGIT_INIT(90), \ + _PyLong_DIGIT_INIT(91), \ + _PyLong_DIGIT_INIT(92), \ + _PyLong_DIGIT_INIT(93), \ + _PyLong_DIGIT_INIT(94), \ + _PyLong_DIGIT_INIT(95), \ + _PyLong_DIGIT_INIT(96), \ + _PyLong_DIGIT_INIT(97), \ + _PyLong_DIGIT_INIT(98), \ + _PyLong_DIGIT_INIT(99), \ + _PyLong_DIGIT_INIT(100), \ + _PyLong_DIGIT_INIT(101), \ + _PyLong_DIGIT_INIT(102), \ + _PyLong_DIGIT_INIT(103), \ + _PyLong_DIGIT_INIT(104), \ + _PyLong_DIGIT_INIT(105), \ + _PyLong_DIGIT_INIT(106), \ + _PyLong_DIGIT_INIT(107), \ + _PyLong_DIGIT_INIT(108), \ + _PyLong_DIGIT_INIT(109), \ + _PyLong_DIGIT_INIT(110), \ + _PyLong_DIGIT_INIT(111), \ + _PyLong_DIGIT_INIT(112), \ + _PyLong_DIGIT_INIT(113), \ + _PyLong_DIGIT_INIT(114), \ + _PyLong_DIGIT_INIT(115), \ + _PyLong_DIGIT_INIT(116), \ + _PyLong_DIGIT_INIT(117), \ + _PyLong_DIGIT_INIT(118), \ + _PyLong_DIGIT_INIT(119), \ + _PyLong_DIGIT_INIT(120), \ + _PyLong_DIGIT_INIT(121), \ + _PyLong_DIGIT_INIT(122), \ + _PyLong_DIGIT_INIT(123), \ + _PyLong_DIGIT_INIT(124), \ + _PyLong_DIGIT_INIT(125), \ + _PyLong_DIGIT_INIT(126), \ + _PyLong_DIGIT_INIT(127), \ + _PyLong_DIGIT_INIT(128), \ + _PyLong_DIGIT_INIT(129), \ + _PyLong_DIGIT_INIT(130), \ + _PyLong_DIGIT_INIT(131), \ + _PyLong_DIGIT_INIT(132), \ + _PyLong_DIGIT_INIT(133), \ + _PyLong_DIGIT_INIT(134), \ + _PyLong_DIGIT_INIT(135), \ + _PyLong_DIGIT_INIT(136), \ + _PyLong_DIGIT_INIT(137), \ + _PyLong_DIGIT_INIT(138), \ + _PyLong_DIGIT_INIT(139), \ + _PyLong_DIGIT_INIT(140), \ + _PyLong_DIGIT_INIT(141), \ + _PyLong_DIGIT_INIT(142), \ + _PyLong_DIGIT_INIT(143), \ + _PyLong_DIGIT_INIT(144), \ + _PyLong_DIGIT_INIT(145), \ + _PyLong_DIGIT_INIT(146), \ + _PyLong_DIGIT_INIT(147), \ + _PyLong_DIGIT_INIT(148), \ + _PyLong_DIGIT_INIT(149), \ + _PyLong_DIGIT_INIT(150), \ + _PyLong_DIGIT_INIT(151), \ + _PyLong_DIGIT_INIT(152), \ + _PyLong_DIGIT_INIT(153), \ + _PyLong_DIGIT_INIT(154), \ + _PyLong_DIGIT_INIT(155), \ + _PyLong_DIGIT_INIT(156), \ + _PyLong_DIGIT_INIT(157), \ + _PyLong_DIGIT_INIT(158), \ + _PyLong_DIGIT_INIT(159), \ + _PyLong_DIGIT_INIT(160), \ + _PyLong_DIGIT_INIT(161), \ + _PyLong_DIGIT_INIT(162), \ + _PyLong_DIGIT_INIT(163), \ + _PyLong_DIGIT_INIT(164), \ + _PyLong_DIGIT_INIT(165), \ + _PyLong_DIGIT_INIT(166), \ + _PyLong_DIGIT_INIT(167), \ + _PyLong_DIGIT_INIT(168), \ + _PyLong_DIGIT_INIT(169), \ + _PyLong_DIGIT_INIT(170), \ + _PyLong_DIGIT_INIT(171), \ + _PyLong_DIGIT_INIT(172), \ + _PyLong_DIGIT_INIT(173), \ + _PyLong_DIGIT_INIT(174), \ + _PyLong_DIGIT_INIT(175), \ + _PyLong_DIGIT_INIT(176), \ + _PyLong_DIGIT_INIT(177), \ + _PyLong_DIGIT_INIT(178), \ + _PyLong_DIGIT_INIT(179), \ + _PyLong_DIGIT_INIT(180), \ + _PyLong_DIGIT_INIT(181), \ + _PyLong_DIGIT_INIT(182), \ + _PyLong_DIGIT_INIT(183), \ + _PyLong_DIGIT_INIT(184), \ + _PyLong_DIGIT_INIT(185), \ + _PyLong_DIGIT_INIT(186), \ + _PyLong_DIGIT_INIT(187), \ + _PyLong_DIGIT_INIT(188), \ + _PyLong_DIGIT_INIT(189), \ + _PyLong_DIGIT_INIT(190), \ + _PyLong_DIGIT_INIT(191), \ + _PyLong_DIGIT_INIT(192), \ + _PyLong_DIGIT_INIT(193), \ + _PyLong_DIGIT_INIT(194), \ + _PyLong_DIGIT_INIT(195), \ + _PyLong_DIGIT_INIT(196), \ + _PyLong_DIGIT_INIT(197), \ + _PyLong_DIGIT_INIT(198), \ + _PyLong_DIGIT_INIT(199), \ + _PyLong_DIGIT_INIT(200), \ + _PyLong_DIGIT_INIT(201), \ + _PyLong_DIGIT_INIT(202), \ + _PyLong_DIGIT_INIT(203), \ + _PyLong_DIGIT_INIT(204), \ + _PyLong_DIGIT_INIT(205), \ + _PyLong_DIGIT_INIT(206), \ + _PyLong_DIGIT_INIT(207), \ + _PyLong_DIGIT_INIT(208), \ + _PyLong_DIGIT_INIT(209), \ + _PyLong_DIGIT_INIT(210), \ + _PyLong_DIGIT_INIT(211), \ + _PyLong_DIGIT_INIT(212), \ + _PyLong_DIGIT_INIT(213), \ + _PyLong_DIGIT_INIT(214), \ + _PyLong_DIGIT_INIT(215), \ + _PyLong_DIGIT_INIT(216), \ + _PyLong_DIGIT_INIT(217), \ + _PyLong_DIGIT_INIT(218), \ + _PyLong_DIGIT_INIT(219), \ + _PyLong_DIGIT_INIT(220), \ + _PyLong_DIGIT_INIT(221), \ + _PyLong_DIGIT_INIT(222), \ + _PyLong_DIGIT_INIT(223), \ + _PyLong_DIGIT_INIT(224), \ + _PyLong_DIGIT_INIT(225), \ + _PyLong_DIGIT_INIT(226), \ + _PyLong_DIGIT_INIT(227), \ + _PyLong_DIGIT_INIT(228), \ + _PyLong_DIGIT_INIT(229), \ + _PyLong_DIGIT_INIT(230), \ + _PyLong_DIGIT_INIT(231), \ + _PyLong_DIGIT_INIT(232), \ + _PyLong_DIGIT_INIT(233), \ + _PyLong_DIGIT_INIT(234), \ + _PyLong_DIGIT_INIT(235), \ + _PyLong_DIGIT_INIT(236), \ + _PyLong_DIGIT_INIT(237), \ + _PyLong_DIGIT_INIT(238), \ + _PyLong_DIGIT_INIT(239), \ + _PyLong_DIGIT_INIT(240), \ + _PyLong_DIGIT_INIT(241), \ + _PyLong_DIGIT_INIT(242), \ + _PyLong_DIGIT_INIT(243), \ + _PyLong_DIGIT_INIT(244), \ + _PyLong_DIGIT_INIT(245), \ + _PyLong_DIGIT_INIT(246), \ + _PyLong_DIGIT_INIT(247), \ + _PyLong_DIGIT_INIT(248), \ + _PyLong_DIGIT_INIT(249), \ + _PyLong_DIGIT_INIT(250), \ + _PyLong_DIGIT_INIT(251), \ + _PyLong_DIGIT_INIT(252), \ + _PyLong_DIGIT_INIT(253), \ + _PyLong_DIGIT_INIT(254), \ + _PyLong_DIGIT_INIT(255), \ + _PyLong_DIGIT_INIT(256), \ +} + +#define _Py_bytes_characters_INIT { \ + _PyBytes_CHAR_INIT(0), \ + _PyBytes_CHAR_INIT(1), \ + _PyBytes_CHAR_INIT(2), \ + _PyBytes_CHAR_INIT(3), \ + _PyBytes_CHAR_INIT(4), \ + _PyBytes_CHAR_INIT(5), \ + _PyBytes_CHAR_INIT(6), \ + _PyBytes_CHAR_INIT(7), \ + _PyBytes_CHAR_INIT(8), \ + _PyBytes_CHAR_INIT(9), \ + _PyBytes_CHAR_INIT(10), \ + _PyBytes_CHAR_INIT(11), \ + _PyBytes_CHAR_INIT(12), \ + _PyBytes_CHAR_INIT(13), \ + _PyBytes_CHAR_INIT(14), \ + _PyBytes_CHAR_INIT(15), \ + _PyBytes_CHAR_INIT(16), \ + _PyBytes_CHAR_INIT(17), \ + _PyBytes_CHAR_INIT(18), \ + _PyBytes_CHAR_INIT(19), \ + _PyBytes_CHAR_INIT(20), \ + _PyBytes_CHAR_INIT(21), \ + _PyBytes_CHAR_INIT(22), \ + _PyBytes_CHAR_INIT(23), \ + _PyBytes_CHAR_INIT(24), \ + _PyBytes_CHAR_INIT(25), \ + _PyBytes_CHAR_INIT(26), \ + _PyBytes_CHAR_INIT(27), \ + _PyBytes_CHAR_INIT(28), \ + _PyBytes_CHAR_INIT(29), \ + _PyBytes_CHAR_INIT(30), \ + _PyBytes_CHAR_INIT(31), \ + _PyBytes_CHAR_INIT(32), \ + _PyBytes_CHAR_INIT(33), \ + _PyBytes_CHAR_INIT(34), \ + _PyBytes_CHAR_INIT(35), \ + _PyBytes_CHAR_INIT(36), \ + _PyBytes_CHAR_INIT(37), \ + _PyBytes_CHAR_INIT(38), \ + _PyBytes_CHAR_INIT(39), \ + _PyBytes_CHAR_INIT(40), \ + _PyBytes_CHAR_INIT(41), \ + _PyBytes_CHAR_INIT(42), \ + _PyBytes_CHAR_INIT(43), \ + _PyBytes_CHAR_INIT(44), \ + _PyBytes_CHAR_INIT(45), \ + _PyBytes_CHAR_INIT(46), \ + _PyBytes_CHAR_INIT(47), \ + _PyBytes_CHAR_INIT(48), \ + _PyBytes_CHAR_INIT(49), \ + _PyBytes_CHAR_INIT(50), \ + _PyBytes_CHAR_INIT(51), \ + _PyBytes_CHAR_INIT(52), \ + _PyBytes_CHAR_INIT(53), \ + _PyBytes_CHAR_INIT(54), \ + _PyBytes_CHAR_INIT(55), \ + _PyBytes_CHAR_INIT(56), \ + _PyBytes_CHAR_INIT(57), \ + _PyBytes_CHAR_INIT(58), \ + _PyBytes_CHAR_INIT(59), \ + _PyBytes_CHAR_INIT(60), \ + _PyBytes_CHAR_INIT(61), \ + _PyBytes_CHAR_INIT(62), \ + _PyBytes_CHAR_INIT(63), \ + _PyBytes_CHAR_INIT(64), \ + _PyBytes_CHAR_INIT(65), \ + _PyBytes_CHAR_INIT(66), \ + _PyBytes_CHAR_INIT(67), \ + _PyBytes_CHAR_INIT(68), \ + _PyBytes_CHAR_INIT(69), \ + _PyBytes_CHAR_INIT(70), \ + _PyBytes_CHAR_INIT(71), \ + _PyBytes_CHAR_INIT(72), \ + _PyBytes_CHAR_INIT(73), \ + _PyBytes_CHAR_INIT(74), \ + _PyBytes_CHAR_INIT(75), \ + _PyBytes_CHAR_INIT(76), \ + _PyBytes_CHAR_INIT(77), \ + _PyBytes_CHAR_INIT(78), \ + _PyBytes_CHAR_INIT(79), \ + _PyBytes_CHAR_INIT(80), \ + _PyBytes_CHAR_INIT(81), \ + _PyBytes_CHAR_INIT(82), \ + _PyBytes_CHAR_INIT(83), \ + _PyBytes_CHAR_INIT(84), \ + _PyBytes_CHAR_INIT(85), \ + _PyBytes_CHAR_INIT(86), \ + _PyBytes_CHAR_INIT(87), \ + _PyBytes_CHAR_INIT(88), \ + _PyBytes_CHAR_INIT(89), \ + _PyBytes_CHAR_INIT(90), \ + _PyBytes_CHAR_INIT(91), \ + _PyBytes_CHAR_INIT(92), \ + _PyBytes_CHAR_INIT(93), \ + _PyBytes_CHAR_INIT(94), \ + _PyBytes_CHAR_INIT(95), \ + _PyBytes_CHAR_INIT(96), \ + _PyBytes_CHAR_INIT(97), \ + _PyBytes_CHAR_INIT(98), \ + _PyBytes_CHAR_INIT(99), \ + _PyBytes_CHAR_INIT(100), \ + _PyBytes_CHAR_INIT(101), \ + _PyBytes_CHAR_INIT(102), \ + _PyBytes_CHAR_INIT(103), \ + _PyBytes_CHAR_INIT(104), \ + _PyBytes_CHAR_INIT(105), \ + _PyBytes_CHAR_INIT(106), \ + _PyBytes_CHAR_INIT(107), \ + _PyBytes_CHAR_INIT(108), \ + _PyBytes_CHAR_INIT(109), \ + _PyBytes_CHAR_INIT(110), \ + _PyBytes_CHAR_INIT(111), \ + _PyBytes_CHAR_INIT(112), \ + _PyBytes_CHAR_INIT(113), \ + _PyBytes_CHAR_INIT(114), \ + _PyBytes_CHAR_INIT(115), \ + _PyBytes_CHAR_INIT(116), \ + _PyBytes_CHAR_INIT(117), \ + _PyBytes_CHAR_INIT(118), \ + _PyBytes_CHAR_INIT(119), \ + _PyBytes_CHAR_INIT(120), \ + _PyBytes_CHAR_INIT(121), \ + _PyBytes_CHAR_INIT(122), \ + _PyBytes_CHAR_INIT(123), \ + _PyBytes_CHAR_INIT(124), \ + _PyBytes_CHAR_INIT(125), \ + _PyBytes_CHAR_INIT(126), \ + _PyBytes_CHAR_INIT(127), \ + _PyBytes_CHAR_INIT(128), \ + _PyBytes_CHAR_INIT(129), \ + _PyBytes_CHAR_INIT(130), \ + _PyBytes_CHAR_INIT(131), \ + _PyBytes_CHAR_INIT(132), \ + _PyBytes_CHAR_INIT(133), \ + _PyBytes_CHAR_INIT(134), \ + _PyBytes_CHAR_INIT(135), \ + _PyBytes_CHAR_INIT(136), \ + _PyBytes_CHAR_INIT(137), \ + _PyBytes_CHAR_INIT(138), \ + _PyBytes_CHAR_INIT(139), \ + _PyBytes_CHAR_INIT(140), \ + _PyBytes_CHAR_INIT(141), \ + _PyBytes_CHAR_INIT(142), \ + _PyBytes_CHAR_INIT(143), \ + _PyBytes_CHAR_INIT(144), \ + _PyBytes_CHAR_INIT(145), \ + _PyBytes_CHAR_INIT(146), \ + _PyBytes_CHAR_INIT(147), \ + _PyBytes_CHAR_INIT(148), \ + _PyBytes_CHAR_INIT(149), \ + _PyBytes_CHAR_INIT(150), \ + _PyBytes_CHAR_INIT(151), \ + _PyBytes_CHAR_INIT(152), \ + _PyBytes_CHAR_INIT(153), \ + _PyBytes_CHAR_INIT(154), \ + _PyBytes_CHAR_INIT(155), \ + _PyBytes_CHAR_INIT(156), \ + _PyBytes_CHAR_INIT(157), \ + _PyBytes_CHAR_INIT(158), \ + _PyBytes_CHAR_INIT(159), \ + _PyBytes_CHAR_INIT(160), \ + _PyBytes_CHAR_INIT(161), \ + _PyBytes_CHAR_INIT(162), \ + _PyBytes_CHAR_INIT(163), \ + _PyBytes_CHAR_INIT(164), \ + _PyBytes_CHAR_INIT(165), \ + _PyBytes_CHAR_INIT(166), \ + _PyBytes_CHAR_INIT(167), \ + _PyBytes_CHAR_INIT(168), \ + _PyBytes_CHAR_INIT(169), \ + _PyBytes_CHAR_INIT(170), \ + _PyBytes_CHAR_INIT(171), \ + _PyBytes_CHAR_INIT(172), \ + _PyBytes_CHAR_INIT(173), \ + _PyBytes_CHAR_INIT(174), \ + _PyBytes_CHAR_INIT(175), \ + _PyBytes_CHAR_INIT(176), \ + _PyBytes_CHAR_INIT(177), \ + _PyBytes_CHAR_INIT(178), \ + _PyBytes_CHAR_INIT(179), \ + _PyBytes_CHAR_INIT(180), \ + _PyBytes_CHAR_INIT(181), \ + _PyBytes_CHAR_INIT(182), \ + _PyBytes_CHAR_INIT(183), \ + _PyBytes_CHAR_INIT(184), \ + _PyBytes_CHAR_INIT(185), \ + _PyBytes_CHAR_INIT(186), \ + _PyBytes_CHAR_INIT(187), \ + _PyBytes_CHAR_INIT(188), \ + _PyBytes_CHAR_INIT(189), \ + _PyBytes_CHAR_INIT(190), \ + _PyBytes_CHAR_INIT(191), \ + _PyBytes_CHAR_INIT(192), \ + _PyBytes_CHAR_INIT(193), \ + _PyBytes_CHAR_INIT(194), \ + _PyBytes_CHAR_INIT(195), \ + _PyBytes_CHAR_INIT(196), \ + _PyBytes_CHAR_INIT(197), \ + _PyBytes_CHAR_INIT(198), \ + _PyBytes_CHAR_INIT(199), \ + _PyBytes_CHAR_INIT(200), \ + _PyBytes_CHAR_INIT(201), \ + _PyBytes_CHAR_INIT(202), \ + _PyBytes_CHAR_INIT(203), \ + _PyBytes_CHAR_INIT(204), \ + _PyBytes_CHAR_INIT(205), \ + _PyBytes_CHAR_INIT(206), \ + _PyBytes_CHAR_INIT(207), \ + _PyBytes_CHAR_INIT(208), \ + _PyBytes_CHAR_INIT(209), \ + _PyBytes_CHAR_INIT(210), \ + _PyBytes_CHAR_INIT(211), \ + _PyBytes_CHAR_INIT(212), \ + _PyBytes_CHAR_INIT(213), \ + _PyBytes_CHAR_INIT(214), \ + _PyBytes_CHAR_INIT(215), \ + _PyBytes_CHAR_INIT(216), \ + _PyBytes_CHAR_INIT(217), \ + _PyBytes_CHAR_INIT(218), \ + _PyBytes_CHAR_INIT(219), \ + _PyBytes_CHAR_INIT(220), \ + _PyBytes_CHAR_INIT(221), \ + _PyBytes_CHAR_INIT(222), \ + _PyBytes_CHAR_INIT(223), \ + _PyBytes_CHAR_INIT(224), \ + _PyBytes_CHAR_INIT(225), \ + _PyBytes_CHAR_INIT(226), \ + _PyBytes_CHAR_INIT(227), \ + _PyBytes_CHAR_INIT(228), \ + _PyBytes_CHAR_INIT(229), \ + _PyBytes_CHAR_INIT(230), \ + _PyBytes_CHAR_INIT(231), \ + _PyBytes_CHAR_INIT(232), \ + _PyBytes_CHAR_INIT(233), \ + _PyBytes_CHAR_INIT(234), \ + _PyBytes_CHAR_INIT(235), \ + _PyBytes_CHAR_INIT(236), \ + _PyBytes_CHAR_INIT(237), \ + _PyBytes_CHAR_INIT(238), \ + _PyBytes_CHAR_INIT(239), \ + _PyBytes_CHAR_INIT(240), \ + _PyBytes_CHAR_INIT(241), \ + _PyBytes_CHAR_INIT(242), \ + _PyBytes_CHAR_INIT(243), \ + _PyBytes_CHAR_INIT(244), \ + _PyBytes_CHAR_INIT(245), \ + _PyBytes_CHAR_INIT(246), \ + _PyBytes_CHAR_INIT(247), \ + _PyBytes_CHAR_INIT(248), \ + _PyBytes_CHAR_INIT(249), \ + _PyBytes_CHAR_INIT(250), \ + _PyBytes_CHAR_INIT(251), \ + _PyBytes_CHAR_INIT(252), \ + _PyBytes_CHAR_INIT(253), \ + _PyBytes_CHAR_INIT(254), \ + _PyBytes_CHAR_INIT(255), \ +} + +#define _Py_str_literals_INIT { \ + INIT_STR(anon_dictcomp, ""), \ + INIT_STR(anon_genexpr, ""), \ + INIT_STR(anon_lambda, ""), \ + INIT_STR(anon_listcomp, ""), \ + INIT_STR(anon_module, ""), \ + INIT_STR(anon_setcomp, ""), \ + INIT_STR(anon_string, ""), \ + INIT_STR(anon_unknown, ""), \ + INIT_STR(close_br, "}"), \ + INIT_STR(dbl_close_br, "}}"), \ + INIT_STR(dbl_open_br, "{{"), \ + INIT_STR(dbl_percent, "%%"), \ + INIT_STR(defaults, ".defaults"), \ + INIT_STR(dot, "."), \ + INIT_STR(dot_locals, "."), \ + INIT_STR(empty, ""), \ + INIT_STR(generic_base, ".generic_base"), \ + INIT_STR(json_decoder, "json.decoder"), \ + INIT_STR(kwdefaults, ".kwdefaults"), \ + INIT_STR(list_err, "list index out of range"), \ + INIT_STR(newline, "\n"), \ + INIT_STR(open_br, "{"), \ + INIT_STR(percent, "%"), \ + INIT_STR(shim_name, ""), \ + INIT_STR(type_params, ".type_params"), \ + INIT_STR(utf_8, "utf-8"), \ +} + +#define _Py_str_identifiers_INIT { \ + INIT_ID(CANCELLED), \ + INIT_ID(FINISHED), \ + INIT_ID(False), \ + INIT_ID(JSONDecodeError), \ + INIT_ID(PENDING), \ + INIT_ID(Py_Repr), \ + INIT_ID(TextIOWrapper), \ + INIT_ID(True), \ + INIT_ID(WarningMessage), \ + INIT_ID(_), \ + INIT_ID(_WindowsConsoleIO), \ + INIT_ID(__IOBase_closed), \ + INIT_ID(__abc_tpflags__), \ + INIT_ID(__abs__), \ + INIT_ID(__abstractmethods__), \ + INIT_ID(__add__), \ + INIT_ID(__aenter__), \ + INIT_ID(__aexit__), \ + INIT_ID(__aiter__), \ + INIT_ID(__all__), \ + INIT_ID(__and__), \ + INIT_ID(__anext__), \ + INIT_ID(__annotations__), \ + INIT_ID(__args__), \ + INIT_ID(__asyncio_running_event_loop__), \ + INIT_ID(__await__), \ + INIT_ID(__bases__), \ + INIT_ID(__bool__), \ + INIT_ID(__buffer__), \ + INIT_ID(__build_class__), \ + INIT_ID(__builtins__), \ + INIT_ID(__bytes__), \ + INIT_ID(__call__), \ + INIT_ID(__cantrace__), \ + INIT_ID(__class__), \ + INIT_ID(__class_getitem__), \ + INIT_ID(__classcell__), \ + INIT_ID(__classdict__), \ + INIT_ID(__classdictcell__), \ + INIT_ID(__complex__), \ + INIT_ID(__contains__), \ + INIT_ID(__copy__), \ + INIT_ID(__ctypes_from_outparam__), \ + INIT_ID(__del__), \ + INIT_ID(__delattr__), \ + INIT_ID(__delete__), \ + INIT_ID(__delitem__), \ + INIT_ID(__dict__), \ + INIT_ID(__dictoffset__), \ + INIT_ID(__dir__), \ + INIT_ID(__divmod__), \ + INIT_ID(__doc__), \ + INIT_ID(__enter__), \ + INIT_ID(__eq__), \ + INIT_ID(__exit__), \ + INIT_ID(__file__), \ + INIT_ID(__float__), \ + INIT_ID(__floordiv__), \ + INIT_ID(__format__), \ + INIT_ID(__fspath__), \ + INIT_ID(__ge__), \ + INIT_ID(__get__), \ + INIT_ID(__getattr__), \ + INIT_ID(__getattribute__), \ + INIT_ID(__getinitargs__), \ + INIT_ID(__getitem__), \ + INIT_ID(__getnewargs__), \ + INIT_ID(__getnewargs_ex__), \ + INIT_ID(__getstate__), \ + INIT_ID(__gt__), \ + INIT_ID(__hash__), \ + INIT_ID(__iadd__), \ + INIT_ID(__iand__), \ + INIT_ID(__ifloordiv__), \ + INIT_ID(__ilshift__), \ + INIT_ID(__imatmul__), \ + INIT_ID(__imod__), \ + INIT_ID(__import__), \ + INIT_ID(__imul__), \ + INIT_ID(__index__), \ + INIT_ID(__init__), \ + INIT_ID(__init_subclass__), \ + INIT_ID(__instancecheck__), \ + INIT_ID(__int__), \ + INIT_ID(__invert__), \ + INIT_ID(__ior__), \ + INIT_ID(__ipow__), \ + INIT_ID(__irshift__), \ + INIT_ID(__isabstractmethod__), \ + INIT_ID(__isub__), \ + INIT_ID(__iter__), \ + INIT_ID(__itruediv__), \ + INIT_ID(__ixor__), \ + INIT_ID(__le__), \ + INIT_ID(__len__), \ + INIT_ID(__length_hint__), \ + INIT_ID(__lltrace__), \ + INIT_ID(__loader__), \ + INIT_ID(__lshift__), \ + INIT_ID(__lt__), \ + INIT_ID(__main__), \ + INIT_ID(__matmul__), \ + INIT_ID(__missing__), \ + INIT_ID(__mod__), \ + INIT_ID(__module__), \ + INIT_ID(__mro_entries__), \ + INIT_ID(__mul__), \ + INIT_ID(__name__), \ + INIT_ID(__ne__), \ + INIT_ID(__neg__), \ + INIT_ID(__new__), \ + INIT_ID(__newobj__), \ + INIT_ID(__newobj_ex__), \ + INIT_ID(__next__), \ + INIT_ID(__notes__), \ + INIT_ID(__or__), \ + INIT_ID(__orig_class__), \ + INIT_ID(__origin__), \ + INIT_ID(__package__), \ + INIT_ID(__parameters__), \ + INIT_ID(__path__), \ + INIT_ID(__pos__), \ + INIT_ID(__pow__), \ + INIT_ID(__prepare__), \ + INIT_ID(__qualname__), \ + INIT_ID(__radd__), \ + INIT_ID(__rand__), \ + INIT_ID(__rdivmod__), \ + INIT_ID(__reduce__), \ + INIT_ID(__reduce_ex__), \ + INIT_ID(__release_buffer__), \ + INIT_ID(__repr__), \ + INIT_ID(__reversed__), \ + INIT_ID(__rfloordiv__), \ + INIT_ID(__rlshift__), \ + INIT_ID(__rmatmul__), \ + INIT_ID(__rmod__), \ + INIT_ID(__rmul__), \ + INIT_ID(__ror__), \ + INIT_ID(__round__), \ + INIT_ID(__rpow__), \ + INIT_ID(__rrshift__), \ + INIT_ID(__rshift__), \ + INIT_ID(__rsub__), \ + INIT_ID(__rtruediv__), \ + INIT_ID(__rxor__), \ + INIT_ID(__set__), \ + INIT_ID(__set_name__), \ + INIT_ID(__setattr__), \ + INIT_ID(__setitem__), \ + INIT_ID(__setstate__), \ + INIT_ID(__sizeof__), \ + INIT_ID(__slotnames__), \ + INIT_ID(__slots__), \ + INIT_ID(__spec__), \ + INIT_ID(__str__), \ + INIT_ID(__sub__), \ + INIT_ID(__subclasscheck__), \ + INIT_ID(__subclasshook__), \ + INIT_ID(__truediv__), \ + INIT_ID(__trunc__), \ + INIT_ID(__type_params__), \ + INIT_ID(__typing_is_unpacked_typevartuple__), \ + INIT_ID(__typing_prepare_subst__), \ + INIT_ID(__typing_subst__), \ + INIT_ID(__typing_unpacked_tuple_args__), \ + INIT_ID(__warningregistry__), \ + INIT_ID(__weaklistoffset__), \ + INIT_ID(__weakref__), \ + INIT_ID(__xor__), \ + INIT_ID(_abc_impl), \ + INIT_ID(_abstract_), \ + INIT_ID(_active), \ + INIT_ID(_annotation), \ + INIT_ID(_anonymous_), \ + INIT_ID(_argtypes_), \ + INIT_ID(_as_parameter_), \ + INIT_ID(_asyncio_future_blocking), \ + INIT_ID(_blksize), \ + INIT_ID(_bootstrap), \ + INIT_ID(_check_retval_), \ + INIT_ID(_dealloc_warn), \ + INIT_ID(_feature_version), \ + INIT_ID(_fields_), \ + INIT_ID(_finalizing), \ + INIT_ID(_find_and_load), \ + INIT_ID(_fix_up_module), \ + INIT_ID(_flags_), \ + INIT_ID(_get_sourcefile), \ + INIT_ID(_handle_fromlist), \ + INIT_ID(_initializing), \ + INIT_ID(_io), \ + INIT_ID(_is_text_encoding), \ + INIT_ID(_length_), \ + INIT_ID(_limbo), \ + INIT_ID(_lock_unlock_module), \ + INIT_ID(_loop), \ + INIT_ID(_needs_com_addref_), \ + INIT_ID(_pack_), \ + INIT_ID(_restype_), \ + INIT_ID(_showwarnmsg), \ + INIT_ID(_shutdown), \ + INIT_ID(_slotnames), \ + INIT_ID(_strptime_datetime), \ + INIT_ID(_swappedbytes_), \ + INIT_ID(_type_), \ + INIT_ID(_uninitialized_submodules), \ + INIT_ID(_warn_unawaited_coroutine), \ + INIT_ID(_xoptions), \ + INIT_ID(a), \ + INIT_ID(abs_tol), \ + INIT_ID(access), \ + INIT_ID(add), \ + INIT_ID(add_done_callback), \ + INIT_ID(after_in_child), \ + INIT_ID(after_in_parent), \ + INIT_ID(aggregate_class), \ + INIT_ID(alias), \ + INIT_ID(append), \ + INIT_ID(arg), \ + INIT_ID(argdefs), \ + INIT_ID(args), \ + INIT_ID(arguments), \ + INIT_ID(argv), \ + INIT_ID(as_integer_ratio), \ + INIT_ID(ast), \ + INIT_ID(attribute), \ + INIT_ID(authorizer_callback), \ + INIT_ID(autocommit), \ + INIT_ID(b), \ + INIT_ID(backtick), \ + INIT_ID(base), \ + INIT_ID(before), \ + INIT_ID(big), \ + INIT_ID(binary_form), \ + INIT_ID(block), \ + INIT_ID(bound), \ + INIT_ID(buffer), \ + INIT_ID(buffer_callback), \ + INIT_ID(buffer_size), \ + INIT_ID(buffering), \ + INIT_ID(buffers), \ + INIT_ID(bufsize), \ + INIT_ID(builtins), \ + INIT_ID(byteorder), \ + INIT_ID(bytes), \ + INIT_ID(bytes_per_sep), \ + INIT_ID(c), \ + INIT_ID(c_call), \ + INIT_ID(c_exception), \ + INIT_ID(c_return), \ + INIT_ID(cached_statements), \ + INIT_ID(cadata), \ + INIT_ID(cafile), \ + INIT_ID(call), \ + INIT_ID(call_exception_handler), \ + INIT_ID(call_soon), \ + INIT_ID(cancel), \ + INIT_ID(capath), \ + INIT_ID(category), \ + INIT_ID(cb_type), \ + INIT_ID(certfile), \ + INIT_ID(check_same_thread), \ + INIT_ID(clear), \ + INIT_ID(close), \ + INIT_ID(closed), \ + INIT_ID(closefd), \ + INIT_ID(closure), \ + INIT_ID(co_argcount), \ + INIT_ID(co_cellvars), \ + INIT_ID(co_code), \ + INIT_ID(co_consts), \ + INIT_ID(co_exceptiontable), \ + INIT_ID(co_filename), \ + INIT_ID(co_firstlineno), \ + INIT_ID(co_flags), \ + INIT_ID(co_freevars), \ + INIT_ID(co_kwonlyargcount), \ + INIT_ID(co_linetable), \ + INIT_ID(co_name), \ + INIT_ID(co_names), \ + INIT_ID(co_nlocals), \ + INIT_ID(co_posonlyargcount), \ + INIT_ID(co_qualname), \ + INIT_ID(co_stacksize), \ + INIT_ID(co_varnames), \ + INIT_ID(code), \ + INIT_ID(command), \ + INIT_ID(comment_factory), \ + INIT_ID(compile_mode), \ + INIT_ID(consts), \ + INIT_ID(context), \ + INIT_ID(contravariant), \ + INIT_ID(cookie), \ + INIT_ID(copy), \ + INIT_ID(copyreg), \ + INIT_ID(coro), \ + INIT_ID(count), \ + INIT_ID(covariant), \ + INIT_ID(cwd), \ + INIT_ID(d), \ + INIT_ID(data), \ + INIT_ID(database), \ + INIT_ID(decode), \ + INIT_ID(decoder), \ + INIT_ID(default), \ + INIT_ID(defaultaction), \ + INIT_ID(delete), \ + INIT_ID(depth), \ + INIT_ID(detect_types), \ + INIT_ID(deterministic), \ + INIT_ID(device), \ + INIT_ID(dict), \ + INIT_ID(dictcomp), \ + INIT_ID(difference_update), \ + INIT_ID(digest), \ + INIT_ID(digest_size), \ + INIT_ID(digestmod), \ + INIT_ID(dir_fd), \ + INIT_ID(discard), \ + INIT_ID(dispatch_table), \ + INIT_ID(displayhook), \ + INIT_ID(dklen), \ + INIT_ID(doc), \ + INIT_ID(dont_inherit), \ + INIT_ID(dst), \ + INIT_ID(dst_dir_fd), \ + INIT_ID(duration), \ + INIT_ID(e), \ + INIT_ID(eager_start), \ + INIT_ID(effective_ids), \ + INIT_ID(element_factory), \ + INIT_ID(encode), \ + INIT_ID(encoding), \ + INIT_ID(end), \ + INIT_ID(end_lineno), \ + INIT_ID(end_offset), \ + INIT_ID(endpos), \ + INIT_ID(entrypoint), \ + INIT_ID(env), \ + INIT_ID(errors), \ + INIT_ID(event), \ + INIT_ID(eventmask), \ + INIT_ID(exc_type), \ + INIT_ID(exc_value), \ + INIT_ID(excepthook), \ + INIT_ID(exception), \ + INIT_ID(existing_file_name), \ + INIT_ID(exp), \ + INIT_ID(extend), \ + INIT_ID(extra_tokens), \ + INIT_ID(facility), \ + INIT_ID(factory), \ + INIT_ID(false), \ + INIT_ID(family), \ + INIT_ID(fanout), \ + INIT_ID(fd), \ + INIT_ID(fd2), \ + INIT_ID(fdel), \ + INIT_ID(fget), \ + INIT_ID(file), \ + INIT_ID(file_actions), \ + INIT_ID(filename), \ + INIT_ID(fileno), \ + INIT_ID(filepath), \ + INIT_ID(fillvalue), \ + INIT_ID(filters), \ + INIT_ID(final), \ + INIT_ID(find_class), \ + INIT_ID(fix_imports), \ + INIT_ID(flags), \ + INIT_ID(flush), \ + INIT_ID(follow_symlinks), \ + INIT_ID(format), \ + INIT_ID(frequency), \ + INIT_ID(from_param), \ + INIT_ID(fromlist), \ + INIT_ID(fromtimestamp), \ + INIT_ID(fromutc), \ + INIT_ID(fset), \ + INIT_ID(func), \ + INIT_ID(future), \ + INIT_ID(generation), \ + INIT_ID(genexpr), \ + INIT_ID(get), \ + INIT_ID(get_debug), \ + INIT_ID(get_event_loop), \ + INIT_ID(get_loop), \ + INIT_ID(get_source), \ + INIT_ID(getattr), \ + INIT_ID(getstate), \ + INIT_ID(gid), \ + INIT_ID(globals), \ + INIT_ID(groupindex), \ + INIT_ID(groups), \ + INIT_ID(handle), \ + INIT_ID(hash_name), \ + INIT_ID(header), \ + INIT_ID(headers), \ + INIT_ID(hi), \ + INIT_ID(hook), \ + INIT_ID(id), \ + INIT_ID(ident), \ + INIT_ID(ignore), \ + INIT_ID(imag), \ + INIT_ID(importlib), \ + INIT_ID(in_fd), \ + INIT_ID(incoming), \ + INIT_ID(indexgroup), \ + INIT_ID(inf), \ + INIT_ID(infer_variance), \ + INIT_ID(inheritable), \ + INIT_ID(initial), \ + INIT_ID(initial_bytes), \ + INIT_ID(initial_value), \ + INIT_ID(initval), \ + INIT_ID(inner_size), \ + INIT_ID(input), \ + INIT_ID(insert_comments), \ + INIT_ID(insert_pis), \ + INIT_ID(instructions), \ + INIT_ID(intern), \ + INIT_ID(intersection), \ + INIT_ID(is_running), \ + INIT_ID(isatty), \ + INIT_ID(isinstance), \ + INIT_ID(isoformat), \ + INIT_ID(isolation_level), \ + INIT_ID(istext), \ + INIT_ID(item), \ + INIT_ID(items), \ + INIT_ID(iter), \ + INIT_ID(iterable), \ + INIT_ID(iterations), \ + INIT_ID(join), \ + INIT_ID(jump), \ + INIT_ID(keepends), \ + INIT_ID(key), \ + INIT_ID(keyfile), \ + INIT_ID(keys), \ + INIT_ID(kind), \ + INIT_ID(kw), \ + INIT_ID(kw1), \ + INIT_ID(kw2), \ + INIT_ID(lambda), \ + INIT_ID(last), \ + INIT_ID(last_exc), \ + INIT_ID(last_node), \ + INIT_ID(last_traceback), \ + INIT_ID(last_type), \ + INIT_ID(last_value), \ + INIT_ID(latin1), \ + INIT_ID(leaf_size), \ + INIT_ID(len), \ + INIT_ID(length), \ + INIT_ID(level), \ + INIT_ID(limit), \ + INIT_ID(line), \ + INIT_ID(line_buffering), \ + INIT_ID(lineno), \ + INIT_ID(listcomp), \ + INIT_ID(little), \ + INIT_ID(lo), \ + INIT_ID(locale), \ + INIT_ID(locals), \ + INIT_ID(logoption), \ + INIT_ID(loop), \ + INIT_ID(mapping), \ + INIT_ID(match), \ + INIT_ID(max_length), \ + INIT_ID(maxdigits), \ + INIT_ID(maxevents), \ + INIT_ID(maxmem), \ + INIT_ID(maxsplit), \ + INIT_ID(maxvalue), \ + INIT_ID(memLevel), \ + INIT_ID(memlimit), \ + INIT_ID(message), \ + INIT_ID(metaclass), \ + INIT_ID(metadata), \ + INIT_ID(method), \ + INIT_ID(mod), \ + INIT_ID(mode), \ + INIT_ID(module), \ + INIT_ID(module_globals), \ + INIT_ID(modules), \ + INIT_ID(mro), \ + INIT_ID(msg), \ + INIT_ID(mycmp), \ + INIT_ID(n), \ + INIT_ID(n_arg), \ + INIT_ID(n_fields), \ + INIT_ID(n_sequence_fields), \ + INIT_ID(n_unnamed_fields), \ + INIT_ID(name), \ + INIT_ID(name_from), \ + INIT_ID(namespace_separator), \ + INIT_ID(namespaces), \ + INIT_ID(narg), \ + INIT_ID(ndigits), \ + INIT_ID(new_file_name), \ + INIT_ID(new_limit), \ + INIT_ID(newline), \ + INIT_ID(newlines), \ + INIT_ID(next), \ + INIT_ID(nlocals), \ + INIT_ID(node_depth), \ + INIT_ID(node_offset), \ + INIT_ID(ns), \ + INIT_ID(nstype), \ + INIT_ID(nt), \ + INIT_ID(null), \ + INIT_ID(number), \ + INIT_ID(obj), \ + INIT_ID(object), \ + INIT_ID(offset), \ + INIT_ID(offset_dst), \ + INIT_ID(offset_src), \ + INIT_ID(on_type_read), \ + INIT_ID(onceregistry), \ + INIT_ID(only_keys), \ + INIT_ID(oparg), \ + INIT_ID(opcode), \ + INIT_ID(open), \ + INIT_ID(opener), \ + INIT_ID(operation), \ + INIT_ID(optimize), \ + INIT_ID(options), \ + INIT_ID(order), \ + INIT_ID(origin), \ + INIT_ID(out_fd), \ + INIT_ID(outgoing), \ + INIT_ID(overlapped), \ + INIT_ID(owner), \ + INIT_ID(p), \ + INIT_ID(pages), \ + INIT_ID(parent), \ + INIT_ID(password), \ + INIT_ID(path), \ + INIT_ID(pattern), \ + INIT_ID(peek), \ + INIT_ID(persistent_id), \ + INIT_ID(persistent_load), \ + INIT_ID(person), \ + INIT_ID(pi_factory), \ + INIT_ID(pid), \ + INIT_ID(policy), \ + INIT_ID(pos), \ + INIT_ID(pos1), \ + INIT_ID(pos2), \ + INIT_ID(posix), \ + INIT_ID(print_file_and_line), \ + INIT_ID(priority), \ + INIT_ID(progress), \ + INIT_ID(progress_handler), \ + INIT_ID(progress_routine), \ + INIT_ID(proto), \ + INIT_ID(protocol), \ + INIT_ID(ps1), \ + INIT_ID(ps2), \ + INIT_ID(query), \ + INIT_ID(quotetabs), \ + INIT_ID(r), \ + INIT_ID(raw), \ + INIT_ID(read), \ + INIT_ID(read1), \ + INIT_ID(readable), \ + INIT_ID(readall), \ + INIT_ID(readinto), \ + INIT_ID(readinto1), \ + INIT_ID(readline), \ + INIT_ID(readonly), \ + INIT_ID(real), \ + INIT_ID(reducer_override), \ + INIT_ID(registry), \ + INIT_ID(rel_tol), \ + INIT_ID(release), \ + INIT_ID(reload), \ + INIT_ID(repl), \ + INIT_ID(replace), \ + INIT_ID(reserved), \ + INIT_ID(reset), \ + INIT_ID(resetids), \ + INIT_ID(return), \ + INIT_ID(reverse), \ + INIT_ID(reversed), \ + INIT_ID(s), \ + INIT_ID(salt), \ + INIT_ID(sched_priority), \ + INIT_ID(scheduler), \ + INIT_ID(seek), \ + INIT_ID(seekable), \ + INIT_ID(selectors), \ + INIT_ID(self), \ + INIT_ID(send), \ + INIT_ID(sep), \ + INIT_ID(sequence), \ + INIT_ID(server_hostname), \ + INIT_ID(server_side), \ + INIT_ID(session), \ + INIT_ID(setcomp), \ + INIT_ID(setpgroup), \ + INIT_ID(setsid), \ + INIT_ID(setsigdef), \ + INIT_ID(setsigmask), \ + INIT_ID(setstate), \ + INIT_ID(shape), \ + INIT_ID(show_cmd), \ + INIT_ID(signed), \ + INIT_ID(size), \ + INIT_ID(sizehint), \ + INIT_ID(skip_file_prefixes), \ + INIT_ID(sleep), \ + INIT_ID(sock), \ + INIT_ID(sort), \ + INIT_ID(sound), \ + INIT_ID(source), \ + INIT_ID(source_traceback), \ + INIT_ID(src), \ + INIT_ID(src_dir_fd), \ + INIT_ID(stacklevel), \ + INIT_ID(start), \ + INIT_ID(statement), \ + INIT_ID(status), \ + INIT_ID(stderr), \ + INIT_ID(stdin), \ + INIT_ID(stdout), \ + INIT_ID(step), \ + INIT_ID(steps), \ + INIT_ID(store_name), \ + INIT_ID(strategy), \ + INIT_ID(strftime), \ + INIT_ID(strict), \ + INIT_ID(strict_mode), \ + INIT_ID(string), \ + INIT_ID(sub_key), \ + INIT_ID(symmetric_difference_update), \ + INIT_ID(tabsize), \ + INIT_ID(tag), \ + INIT_ID(target), \ + INIT_ID(target_is_directory), \ + INIT_ID(task), \ + INIT_ID(tb_frame), \ + INIT_ID(tb_lasti), \ + INIT_ID(tb_lineno), \ + INIT_ID(tb_next), \ + INIT_ID(tell), \ + INIT_ID(template), \ + INIT_ID(term), \ + INIT_ID(text), \ + INIT_ID(threading), \ + INIT_ID(throw), \ + INIT_ID(timeout), \ + INIT_ID(times), \ + INIT_ID(timetuple), \ + INIT_ID(top), \ + INIT_ID(trace_callback), \ + INIT_ID(traceback), \ + INIT_ID(trailers), \ + INIT_ID(translate), \ + INIT_ID(true), \ + INIT_ID(truncate), \ + INIT_ID(twice), \ + INIT_ID(txt), \ + INIT_ID(type), \ + INIT_ID(type_params), \ + INIT_ID(tz), \ + INIT_ID(tzname), \ + INIT_ID(uid), \ + INIT_ID(unlink), \ + INIT_ID(unraisablehook), \ + INIT_ID(uri), \ + INIT_ID(usedforsecurity), \ + INIT_ID(value), \ + INIT_ID(values), \ + INIT_ID(version), \ + INIT_ID(volume), \ + INIT_ID(warnings), \ + INIT_ID(warnoptions), \ + INIT_ID(wbits), \ + INIT_ID(week), \ + INIT_ID(weekday), \ + INIT_ID(which), \ + INIT_ID(who), \ + INIT_ID(withdata), \ + INIT_ID(writable), \ + INIT_ID(write), \ + INIT_ID(write_through), \ + INIT_ID(x), \ + INIT_ID(year), \ + INIT_ID(zdict), \ +} + +#define _Py_str_ascii_INIT { \ + _PyASCIIObject_INIT("\x00"), \ + _PyASCIIObject_INIT("\x01"), \ + _PyASCIIObject_INIT("\x02"), \ + _PyASCIIObject_INIT("\x03"), \ + _PyASCIIObject_INIT("\x04"), \ + _PyASCIIObject_INIT("\x05"), \ + _PyASCIIObject_INIT("\x06"), \ + _PyASCIIObject_INIT("\x07"), \ + _PyASCIIObject_INIT("\x08"), \ + _PyASCIIObject_INIT("\x09"), \ + _PyASCIIObject_INIT("\x0a"), \ + _PyASCIIObject_INIT("\x0b"), \ + _PyASCIIObject_INIT("\x0c"), \ + _PyASCIIObject_INIT("\x0d"), \ + _PyASCIIObject_INIT("\x0e"), \ + _PyASCIIObject_INIT("\x0f"), \ + _PyASCIIObject_INIT("\x10"), \ + _PyASCIIObject_INIT("\x11"), \ + _PyASCIIObject_INIT("\x12"), \ + _PyASCIIObject_INIT("\x13"), \ + _PyASCIIObject_INIT("\x14"), \ + _PyASCIIObject_INIT("\x15"), \ + _PyASCIIObject_INIT("\x16"), \ + _PyASCIIObject_INIT("\x17"), \ + _PyASCIIObject_INIT("\x18"), \ + _PyASCIIObject_INIT("\x19"), \ + _PyASCIIObject_INIT("\x1a"), \ + _PyASCIIObject_INIT("\x1b"), \ + _PyASCIIObject_INIT("\x1c"), \ + _PyASCIIObject_INIT("\x1d"), \ + _PyASCIIObject_INIT("\x1e"), \ + _PyASCIIObject_INIT("\x1f"), \ + _PyASCIIObject_INIT("\x20"), \ + _PyASCIIObject_INIT("\x21"), \ + _PyASCIIObject_INIT("\x22"), \ + _PyASCIIObject_INIT("\x23"), \ + _PyASCIIObject_INIT("\x24"), \ + _PyASCIIObject_INIT("\x25"), \ + _PyASCIIObject_INIT("\x26"), \ + _PyASCIIObject_INIT("\x27"), \ + _PyASCIIObject_INIT("\x28"), \ + _PyASCIIObject_INIT("\x29"), \ + _PyASCIIObject_INIT("\x2a"), \ + _PyASCIIObject_INIT("\x2b"), \ + _PyASCIIObject_INIT("\x2c"), \ + _PyASCIIObject_INIT("\x2d"), \ + _PyASCIIObject_INIT("\x2e"), \ + _PyASCIIObject_INIT("\x2f"), \ + _PyASCIIObject_INIT("\x30"), \ + _PyASCIIObject_INIT("\x31"), \ + _PyASCIIObject_INIT("\x32"), \ + _PyASCIIObject_INIT("\x33"), \ + _PyASCIIObject_INIT("\x34"), \ + _PyASCIIObject_INIT("\x35"), \ + _PyASCIIObject_INIT("\x36"), \ + _PyASCIIObject_INIT("\x37"), \ + _PyASCIIObject_INIT("\x38"), \ + _PyASCIIObject_INIT("\x39"), \ + _PyASCIIObject_INIT("\x3a"), \ + _PyASCIIObject_INIT("\x3b"), \ + _PyASCIIObject_INIT("\x3c"), \ + _PyASCIIObject_INIT("\x3d"), \ + _PyASCIIObject_INIT("\x3e"), \ + _PyASCIIObject_INIT("\x3f"), \ + _PyASCIIObject_INIT("\x40"), \ + _PyASCIIObject_INIT("\x41"), \ + _PyASCIIObject_INIT("\x42"), \ + _PyASCIIObject_INIT("\x43"), \ + _PyASCIIObject_INIT("\x44"), \ + _PyASCIIObject_INIT("\x45"), \ + _PyASCIIObject_INIT("\x46"), \ + _PyASCIIObject_INIT("\x47"), \ + _PyASCIIObject_INIT("\x48"), \ + _PyASCIIObject_INIT("\x49"), \ + _PyASCIIObject_INIT("\x4a"), \ + _PyASCIIObject_INIT("\x4b"), \ + _PyASCIIObject_INIT("\x4c"), \ + _PyASCIIObject_INIT("\x4d"), \ + _PyASCIIObject_INIT("\x4e"), \ + _PyASCIIObject_INIT("\x4f"), \ + _PyASCIIObject_INIT("\x50"), \ + _PyASCIIObject_INIT("\x51"), \ + _PyASCIIObject_INIT("\x52"), \ + _PyASCIIObject_INIT("\x53"), \ + _PyASCIIObject_INIT("\x54"), \ + _PyASCIIObject_INIT("\x55"), \ + _PyASCIIObject_INIT("\x56"), \ + _PyASCIIObject_INIT("\x57"), \ + _PyASCIIObject_INIT("\x58"), \ + _PyASCIIObject_INIT("\x59"), \ + _PyASCIIObject_INIT("\x5a"), \ + _PyASCIIObject_INIT("\x5b"), \ + _PyASCIIObject_INIT("\x5c"), \ + _PyASCIIObject_INIT("\x5d"), \ + _PyASCIIObject_INIT("\x5e"), \ + _PyASCIIObject_INIT("\x5f"), \ + _PyASCIIObject_INIT("\x60"), \ + _PyASCIIObject_INIT("\x61"), \ + _PyASCIIObject_INIT("\x62"), \ + _PyASCIIObject_INIT("\x63"), \ + _PyASCIIObject_INIT("\x64"), \ + _PyASCIIObject_INIT("\x65"), \ + _PyASCIIObject_INIT("\x66"), \ + _PyASCIIObject_INIT("\x67"), \ + _PyASCIIObject_INIT("\x68"), \ + _PyASCIIObject_INIT("\x69"), \ + _PyASCIIObject_INIT("\x6a"), \ + _PyASCIIObject_INIT("\x6b"), \ + _PyASCIIObject_INIT("\x6c"), \ + _PyASCIIObject_INIT("\x6d"), \ + _PyASCIIObject_INIT("\x6e"), \ + _PyASCIIObject_INIT("\x6f"), \ + _PyASCIIObject_INIT("\x70"), \ + _PyASCIIObject_INIT("\x71"), \ + _PyASCIIObject_INIT("\x72"), \ + _PyASCIIObject_INIT("\x73"), \ + _PyASCIIObject_INIT("\x74"), \ + _PyASCIIObject_INIT("\x75"), \ + _PyASCIIObject_INIT("\x76"), \ + _PyASCIIObject_INIT("\x77"), \ + _PyASCIIObject_INIT("\x78"), \ + _PyASCIIObject_INIT("\x79"), \ + _PyASCIIObject_INIT("\x7a"), \ + _PyASCIIObject_INIT("\x7b"), \ + _PyASCIIObject_INIT("\x7c"), \ + _PyASCIIObject_INIT("\x7d"), \ + _PyASCIIObject_INIT("\x7e"), \ + _PyASCIIObject_INIT("\x7f"), \ +} + +#define _Py_str_latin1_INIT { \ + _PyUnicode_LATIN1_INIT("\x80", "\xc2\x80"), \ + _PyUnicode_LATIN1_INIT("\x81", "\xc2\x81"), \ + _PyUnicode_LATIN1_INIT("\x82", "\xc2\x82"), \ + _PyUnicode_LATIN1_INIT("\x83", "\xc2\x83"), \ + _PyUnicode_LATIN1_INIT("\x84", "\xc2\x84"), \ + _PyUnicode_LATIN1_INIT("\x85", "\xc2\x85"), \ + _PyUnicode_LATIN1_INIT("\x86", "\xc2\x86"), \ + _PyUnicode_LATIN1_INIT("\x87", "\xc2\x87"), \ + _PyUnicode_LATIN1_INIT("\x88", "\xc2\x88"), \ + _PyUnicode_LATIN1_INIT("\x89", "\xc2\x89"), \ + _PyUnicode_LATIN1_INIT("\x8a", "\xc2\x8a"), \ + _PyUnicode_LATIN1_INIT("\x8b", "\xc2\x8b"), \ + _PyUnicode_LATIN1_INIT("\x8c", "\xc2\x8c"), \ + _PyUnicode_LATIN1_INIT("\x8d", "\xc2\x8d"), \ + _PyUnicode_LATIN1_INIT("\x8e", "\xc2\x8e"), \ + _PyUnicode_LATIN1_INIT("\x8f", "\xc2\x8f"), \ + _PyUnicode_LATIN1_INIT("\x90", "\xc2\x90"), \ + _PyUnicode_LATIN1_INIT("\x91", "\xc2\x91"), \ + _PyUnicode_LATIN1_INIT("\x92", "\xc2\x92"), \ + _PyUnicode_LATIN1_INIT("\x93", "\xc2\x93"), \ + _PyUnicode_LATIN1_INIT("\x94", "\xc2\x94"), \ + _PyUnicode_LATIN1_INIT("\x95", "\xc2\x95"), \ + _PyUnicode_LATIN1_INIT("\x96", "\xc2\x96"), \ + _PyUnicode_LATIN1_INIT("\x97", "\xc2\x97"), \ + _PyUnicode_LATIN1_INIT("\x98", "\xc2\x98"), \ + _PyUnicode_LATIN1_INIT("\x99", "\xc2\x99"), \ + _PyUnicode_LATIN1_INIT("\x9a", "\xc2\x9a"), \ + _PyUnicode_LATIN1_INIT("\x9b", "\xc2\x9b"), \ + _PyUnicode_LATIN1_INIT("\x9c", "\xc2\x9c"), \ + _PyUnicode_LATIN1_INIT("\x9d", "\xc2\x9d"), \ + _PyUnicode_LATIN1_INIT("\x9e", "\xc2\x9e"), \ + _PyUnicode_LATIN1_INIT("\x9f", "\xc2\x9f"), \ + _PyUnicode_LATIN1_INIT("\xa0", "\xc2\xa0"), \ + _PyUnicode_LATIN1_INIT("\xa1", "\xc2\xa1"), \ + _PyUnicode_LATIN1_INIT("\xa2", "\xc2\xa2"), \ + _PyUnicode_LATIN1_INIT("\xa3", "\xc2\xa3"), \ + _PyUnicode_LATIN1_INIT("\xa4", "\xc2\xa4"), \ + _PyUnicode_LATIN1_INIT("\xa5", "\xc2\xa5"), \ + _PyUnicode_LATIN1_INIT("\xa6", "\xc2\xa6"), \ + _PyUnicode_LATIN1_INIT("\xa7", "\xc2\xa7"), \ + _PyUnicode_LATIN1_INIT("\xa8", "\xc2\xa8"), \ + _PyUnicode_LATIN1_INIT("\xa9", "\xc2\xa9"), \ + _PyUnicode_LATIN1_INIT("\xaa", "\xc2\xaa"), \ + _PyUnicode_LATIN1_INIT("\xab", "\xc2\xab"), \ + _PyUnicode_LATIN1_INIT("\xac", "\xc2\xac"), \ + _PyUnicode_LATIN1_INIT("\xad", "\xc2\xad"), \ + _PyUnicode_LATIN1_INIT("\xae", "\xc2\xae"), \ + _PyUnicode_LATIN1_INIT("\xaf", "\xc2\xaf"), \ + _PyUnicode_LATIN1_INIT("\xb0", "\xc2\xb0"), \ + _PyUnicode_LATIN1_INIT("\xb1", "\xc2\xb1"), \ + _PyUnicode_LATIN1_INIT("\xb2", "\xc2\xb2"), \ + _PyUnicode_LATIN1_INIT("\xb3", "\xc2\xb3"), \ + _PyUnicode_LATIN1_INIT("\xb4", "\xc2\xb4"), \ + _PyUnicode_LATIN1_INIT("\xb5", "\xc2\xb5"), \ + _PyUnicode_LATIN1_INIT("\xb6", "\xc2\xb6"), \ + _PyUnicode_LATIN1_INIT("\xb7", "\xc2\xb7"), \ + _PyUnicode_LATIN1_INIT("\xb8", "\xc2\xb8"), \ + _PyUnicode_LATIN1_INIT("\xb9", "\xc2\xb9"), \ + _PyUnicode_LATIN1_INIT("\xba", "\xc2\xba"), \ + _PyUnicode_LATIN1_INIT("\xbb", "\xc2\xbb"), \ + _PyUnicode_LATIN1_INIT("\xbc", "\xc2\xbc"), \ + _PyUnicode_LATIN1_INIT("\xbd", "\xc2\xbd"), \ + _PyUnicode_LATIN1_INIT("\xbe", "\xc2\xbe"), \ + _PyUnicode_LATIN1_INIT("\xbf", "\xc2\xbf"), \ + _PyUnicode_LATIN1_INIT("\xc0", "\xc3\x80"), \ + _PyUnicode_LATIN1_INIT("\xc1", "\xc3\x81"), \ + _PyUnicode_LATIN1_INIT("\xc2", "\xc3\x82"), \ + _PyUnicode_LATIN1_INIT("\xc3", "\xc3\x83"), \ + _PyUnicode_LATIN1_INIT("\xc4", "\xc3\x84"), \ + _PyUnicode_LATIN1_INIT("\xc5", "\xc3\x85"), \ + _PyUnicode_LATIN1_INIT("\xc6", "\xc3\x86"), \ + _PyUnicode_LATIN1_INIT("\xc7", "\xc3\x87"), \ + _PyUnicode_LATIN1_INIT("\xc8", "\xc3\x88"), \ + _PyUnicode_LATIN1_INIT("\xc9", "\xc3\x89"), \ + _PyUnicode_LATIN1_INIT("\xca", "\xc3\x8a"), \ + _PyUnicode_LATIN1_INIT("\xcb", "\xc3\x8b"), \ + _PyUnicode_LATIN1_INIT("\xcc", "\xc3\x8c"), \ + _PyUnicode_LATIN1_INIT("\xcd", "\xc3\x8d"), \ + _PyUnicode_LATIN1_INIT("\xce", "\xc3\x8e"), \ + _PyUnicode_LATIN1_INIT("\xcf", "\xc3\x8f"), \ + _PyUnicode_LATIN1_INIT("\xd0", "\xc3\x90"), \ + _PyUnicode_LATIN1_INIT("\xd1", "\xc3\x91"), \ + _PyUnicode_LATIN1_INIT("\xd2", "\xc3\x92"), \ + _PyUnicode_LATIN1_INIT("\xd3", "\xc3\x93"), \ + _PyUnicode_LATIN1_INIT("\xd4", "\xc3\x94"), \ + _PyUnicode_LATIN1_INIT("\xd5", "\xc3\x95"), \ + _PyUnicode_LATIN1_INIT("\xd6", "\xc3\x96"), \ + _PyUnicode_LATIN1_INIT("\xd7", "\xc3\x97"), \ + _PyUnicode_LATIN1_INIT("\xd8", "\xc3\x98"), \ + _PyUnicode_LATIN1_INIT("\xd9", "\xc3\x99"), \ + _PyUnicode_LATIN1_INIT("\xda", "\xc3\x9a"), \ + _PyUnicode_LATIN1_INIT("\xdb", "\xc3\x9b"), \ + _PyUnicode_LATIN1_INIT("\xdc", "\xc3\x9c"), \ + _PyUnicode_LATIN1_INIT("\xdd", "\xc3\x9d"), \ + _PyUnicode_LATIN1_INIT("\xde", "\xc3\x9e"), \ + _PyUnicode_LATIN1_INIT("\xdf", "\xc3\x9f"), \ + _PyUnicode_LATIN1_INIT("\xe0", "\xc3\xa0"), \ + _PyUnicode_LATIN1_INIT("\xe1", "\xc3\xa1"), \ + _PyUnicode_LATIN1_INIT("\xe2", "\xc3\xa2"), \ + _PyUnicode_LATIN1_INIT("\xe3", "\xc3\xa3"), \ + _PyUnicode_LATIN1_INIT("\xe4", "\xc3\xa4"), \ + _PyUnicode_LATIN1_INIT("\xe5", "\xc3\xa5"), \ + _PyUnicode_LATIN1_INIT("\xe6", "\xc3\xa6"), \ + _PyUnicode_LATIN1_INIT("\xe7", "\xc3\xa7"), \ + _PyUnicode_LATIN1_INIT("\xe8", "\xc3\xa8"), \ + _PyUnicode_LATIN1_INIT("\xe9", "\xc3\xa9"), \ + _PyUnicode_LATIN1_INIT("\xea", "\xc3\xaa"), \ + _PyUnicode_LATIN1_INIT("\xeb", "\xc3\xab"), \ + _PyUnicode_LATIN1_INIT("\xec", "\xc3\xac"), \ + _PyUnicode_LATIN1_INIT("\xed", "\xc3\xad"), \ + _PyUnicode_LATIN1_INIT("\xee", "\xc3\xae"), \ + _PyUnicode_LATIN1_INIT("\xef", "\xc3\xaf"), \ + _PyUnicode_LATIN1_INIT("\xf0", "\xc3\xb0"), \ + _PyUnicode_LATIN1_INIT("\xf1", "\xc3\xb1"), \ + _PyUnicode_LATIN1_INIT("\xf2", "\xc3\xb2"), \ + _PyUnicode_LATIN1_INIT("\xf3", "\xc3\xb3"), \ + _PyUnicode_LATIN1_INIT("\xf4", "\xc3\xb4"), \ + _PyUnicode_LATIN1_INIT("\xf5", "\xc3\xb5"), \ + _PyUnicode_LATIN1_INIT("\xf6", "\xc3\xb6"), \ + _PyUnicode_LATIN1_INIT("\xf7", "\xc3\xb7"), \ + _PyUnicode_LATIN1_INIT("\xf8", "\xc3\xb8"), \ + _PyUnicode_LATIN1_INIT("\xf9", "\xc3\xb9"), \ + _PyUnicode_LATIN1_INIT("\xfa", "\xc3\xba"), \ + _PyUnicode_LATIN1_INIT("\xfb", "\xc3\xbb"), \ + _PyUnicode_LATIN1_INIT("\xfc", "\xc3\xbc"), \ + _PyUnicode_LATIN1_INIT("\xfd", "\xc3\xbd"), \ + _PyUnicode_LATIN1_INIT("\xfe", "\xc3\xbe"), \ + _PyUnicode_LATIN1_INIT("\xff", "\xc3\xbf"), \ +} +/* End auto-generated code */ + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_RUNTIME_INIT_GENERATED_H */ diff --git a/src/external/windows/include/python/internal/pycore_signal.h b/src/external/windows/include/python/internal/pycore_signal.h index 2f1f778f..76b3d980 100644 --- a/src/external/windows/include/python/internal/pycore_signal.h +++ b/src/external/windows/include/python/internal/pycore_signal.h @@ -10,8 +10,11 @@ extern "C" { # error "this header requires Py_BUILD_CORE define" #endif +#include "pycore_atomic.h" // _Py_atomic_address + #include // NSIG + #ifdef _SIG_MAXSIG // gh-91145: On FreeBSD, defines NSIG as 32: it doesn't include // realtime signals: [SIGRTMIN,SIGRTMAX]. Use _SIG_MAXSIG instead. For @@ -29,6 +32,66 @@ extern "C" { # define Py_NSIG 64 // Use a reasonable default value #endif +#define INVALID_FD (-1) + +struct _signals_runtime_state { + volatile struct { + _Py_atomic_int tripped; + /* func is atomic to ensure that PyErr_SetInterrupt is async-signal-safe + * (even though it would probably be otherwise, anyway). + */ + _Py_atomic_address func; + } handlers[Py_NSIG]; + + volatile struct { +#ifdef MS_WINDOWS + /* This would be "SOCKET fd" if were always included. + It isn't so we must cast to SOCKET where appropriate. */ + volatile int fd; +#elif defined(__VXWORKS__) + int fd; +#else + sig_atomic_t fd; +#endif + + int warn_on_full_buffer; +#ifdef MS_WINDOWS + int use_send; +#endif + } wakeup; + + /* Speed up sigcheck() when none tripped */ + _Py_atomic_int is_tripped; + + /* These objects necessarily belong to the main interpreter. */ + PyObject *default_handler; + PyObject *ignore_handler; + +#ifdef MS_WINDOWS + /* This would be "HANDLE sigint_event" if were always included. + It isn't so we must cast to HANDLE everywhere "sigint_event" is used. */ + void *sigint_event; +#endif + + /* True if the main interpreter thread exited due to an unhandled + * KeyboardInterrupt exception, suggesting the user pressed ^C. */ + int unhandled_keyboard_interrupt; +}; + +#ifdef MS_WINDOWS +# define _signals_WAKEUP_INIT \ + {.fd = INVALID_FD, .warn_on_full_buffer = 1, .use_send = 0} +#else +# define _signals_WAKEUP_INIT \ + {.fd = INVALID_FD, .warn_on_full_buffer = 1} +#endif + +#define _signals_RUNTIME_INIT \ + { \ + .wakeup = _signals_WAKEUP_INIT, \ + } + + #ifdef __cplusplus } #endif diff --git a/src/external/windows/include/python/internal/pycore_sliceobject.h b/src/external/windows/include/python/internal/pycore_sliceobject.h index b943594f..7d4dcff8 100644 --- a/src/external/windows/include/python/internal/pycore_sliceobject.h +++ b/src/external/windows/include/python/internal/pycore_sliceobject.h @@ -13,6 +13,8 @@ extern "C" { extern void _PySlice_Fini(PyInterpreterState *); +extern PyObject * +_PyBuildSlice_ConsumeRefs(PyObject *start, PyObject *stop); #ifdef __cplusplus } diff --git a/src/external/windows/include/python/internal/pycore_structseq.h b/src/external/windows/include/python/internal/pycore_structseq.h index 9c1f38e4..68e23e0e 100755 --- a/src/external/windows/include/python/internal/pycore_structseq.h +++ b/src/external/windows/include/python/internal/pycore_structseq.h @@ -15,12 +15,23 @@ PyAPI_FUNC(PyTypeObject *) _PyStructSequence_NewType( PyStructSequence_Desc *desc, unsigned long tp_flags); -PyAPI_FUNC(int) _PyStructSequence_InitType( +extern int _PyStructSequence_InitBuiltinWithFlags( + PyInterpreterState *interp, PyTypeObject *type, PyStructSequence_Desc *desc, unsigned long tp_flags); -extern void _PyStructSequence_FiniType(PyTypeObject *type); +static inline int +_PyStructSequence_InitBuiltin(PyInterpreterState *interp, + PyTypeObject *type, + PyStructSequence_Desc *desc) +{ + return _PyStructSequence_InitBuiltinWithFlags(interp, type, desc, 0); +} + +extern void _PyStructSequence_FiniBuiltin( + PyInterpreterState *interp, + PyTypeObject *type); #ifdef __cplusplus } diff --git a/src/external/windows/include/python/internal/pycore_symtable.h b/src/external/windows/include/python/internal/pycore_symtable.h index 0fd6ce1e..4e80bc9a 100755 --- a/src/external/windows/include/python/internal/pycore_symtable.h +++ b/src/external/windows/include/python/internal/pycore_symtable.h @@ -10,8 +10,17 @@ extern "C" { struct _mod; // Type defined in pycore_ast.h -typedef enum _block_type { FunctionBlock, ClassBlock, ModuleBlock, AnnotationBlock } - _Py_block_ty; +typedef enum _block_type { + FunctionBlock, ClassBlock, ModuleBlock, + // Used for annotations if 'from __future__ import annotations' is active. + // Annotation blocks cannot bind names and are not evaluated. + AnnotationBlock, + // Used for generics and type aliases. These work mostly like functions + // (see PEP 695 for details). The three different blocks function identically; + // they are different enum entries only so that error messages can be more + // precise. + TypeVarBoundBlock, TypeAliasBlock, TypeParamBlock +} _Py_block_ty; typedef enum _comprehension_type { NoComprehension = 0, @@ -49,7 +58,7 @@ typedef struct _symtable_entry { PyObject *ste_varnames; /* list of function parameters */ PyObject *ste_children; /* list of child blocks */ PyObject *ste_directives;/* locations of global and nonlocal statements */ - _Py_block_ty ste_type; /* module, class or function */ + _Py_block_ty ste_type; int ste_nested; /* true if block is nested */ unsigned ste_free : 1; /* true if block has free variables */ unsigned ste_child_free : 1; /* true if a child block has free vars, @@ -64,7 +73,12 @@ typedef struct _symtable_entry { unsigned ste_needs_class_closure : 1; /* for class scopes, true if a closure over __class__ should be created */ + unsigned ste_needs_classdict : 1; /* for class scopes, true if a closure + over the class dict should be created */ + unsigned ste_comp_inlined : 1; /* true if this comprehension is inlined */ unsigned ste_comp_iter_target : 1; /* true if visiting comprehension target */ + unsigned ste_can_see_class_scope : 1; /* true if this block can see names bound in an + enclosing class scope */ int ste_comp_iter_expr; /* non-zero if visiting a comprehension range expression */ int ste_lineno; /* first line of block */ int ste_col_offset; /* offset of first line of block */ @@ -77,10 +91,11 @@ typedef struct _symtable_entry { extern PyTypeObject PySTEntry_Type; -#define PySTEntry_Check(op) Py_IS_TYPE(op, &PySTEntry_Type) +#define PySTEntry_Check(op) Py_IS_TYPE((op), &PySTEntry_Type) extern long _PyST_GetSymbol(PySTEntryObject *, PyObject *); extern int _PyST_GetScope(PySTEntryObject *, PyObject *); +extern int _PyST_IsFunctionLike(PySTEntryObject *); extern struct symtable* _PySymtable_Build( struct _mod *mod, @@ -90,26 +105,30 @@ PyAPI_FUNC(PySTEntryObject *) PySymtable_Lookup(struct symtable *, void *); extern void _PySymtable_Free(struct symtable *); +extern PyObject* _Py_Mangle(PyObject *p, PyObject *name); + /* Flags for def-use information */ -#define DEF_GLOBAL 1 /* global stmt */ -#define DEF_LOCAL 2 /* assignment in code block */ -#define DEF_PARAM 2<<1 /* formal parameter */ -#define DEF_NONLOCAL 2<<2 /* nonlocal stmt */ -#define USE 2<<3 /* name is used */ -#define DEF_FREE 2<<4 /* name used but not defined in nested block */ -#define DEF_FREE_CLASS 2<<5 /* free variable from class's method */ -#define DEF_IMPORT 2<<6 /* assignment occurred via import */ -#define DEF_ANNOT 2<<7 /* this name is annotated */ -#define DEF_COMP_ITER 2<<8 /* this name is a comprehension iteration variable */ +#define DEF_GLOBAL 1 /* global stmt */ +#define DEF_LOCAL 2 /* assignment in code block */ +#define DEF_PARAM (2<<1) /* formal parameter */ +#define DEF_NONLOCAL (2<<2) /* nonlocal stmt */ +#define USE (2<<3) /* name is used */ +#define DEF_FREE (2<<4) /* name used but not defined in nested block */ +#define DEF_FREE_CLASS (2<<5) /* free variable from class's method */ +#define DEF_IMPORT (2<<6) /* assignment occurred via import */ +#define DEF_ANNOT (2<<7) /* this name is annotated */ +#define DEF_COMP_ITER (2<<8) /* this name is a comprehension iteration variable */ +#define DEF_TYPE_PARAM (2<<9) /* this name is a type parameter */ +#define DEF_COMP_CELL (2<<10) /* this name is a cell in an inlined comprehension */ #define DEF_BOUND (DEF_LOCAL | DEF_PARAM | DEF_IMPORT) /* GLOBAL_EXPLICIT and GLOBAL_IMPLICIT are used internally by the symbol table. GLOBAL is returned from PyST_GetScope() for either of them. - It is stored in ste_symbols at bits 12-15. + It is stored in ste_symbols at bits 13-16. */ -#define SCOPE_OFFSET 11 +#define SCOPE_OFFSET 12 #define SCOPE_MASK (DEF_GLOBAL | DEF_LOCAL | DEF_PARAM | DEF_NONLOCAL) #define LOCAL 1 @@ -128,6 +147,11 @@ extern struct symtable* _Py_SymtableStringObjectFlags( int start, PyCompilerFlags *flags); +int _PyFuture_FromAST( + struct _mod * mod, + PyObject *filename, + PyFutureFeatures* futures); + #ifdef __cplusplus } #endif diff --git a/src/external/windows/include/python/internal/pycore_sysmodule.h b/src/external/windows/include/python/internal/pycore_sysmodule.h index 282e863a..98e87d83 100755 --- a/src/external/windows/include/python/internal/pycore_sysmodule.h +++ b/src/external/windows/include/python/internal/pycore_sysmodule.h @@ -20,6 +20,9 @@ extern void _PySys_ClearAuditHooks(PyThreadState *tstate); PyAPI_FUNC(int) _PySys_SetAttr(PyObject *, PyObject *); +extern int _PySys_ClearAttrString(PyInterpreterState *interp, + const char *name, int verbose); + #ifdef __cplusplus } #endif diff --git a/src/external/windows/include/python/internal/pycore_time.h b/src/external/windows/include/python/internal/pycore_time.h new file mode 100644 index 00000000..15473d64 --- /dev/null +++ b/src/external/windows/include/python/internal/pycore_time.h @@ -0,0 +1,25 @@ +#ifndef Py_INTERNAL_TIME_H +#define Py_INTERNAL_TIME_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + + +struct _time_runtime_state { +#ifdef HAVE_TIMES + int ticks_per_second_initialized; + long ticks_per_second; +#else + int _not_used; +#endif +}; + + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_TIME_H */ diff --git a/src/external/windows/include/python/token.h b/src/external/windows/include/python/internal/pycore_token.h old mode 100755 new mode 100644 similarity index 68% rename from src/external/windows/include/python/token.h rename to src/external/windows/include/python/internal/pycore_token.h index 6f7ad99c..54ef7150 --- a/src/external/windows/include/python/token.h +++ b/src/external/windows/include/python/internal/pycore_token.h @@ -1,13 +1,16 @@ -/* Auto-generated by Tools/scripts/generate_token.py */ +/* Auto-generated by Tools/build/generate_token.py */ /* Token types */ -#ifndef Py_LIMITED_API -#ifndef Py_TOKEN_H -#define Py_TOKEN_H +#ifndef Py_INTERNAL_TOKEN_H +#define Py_INTERNAL_TOKEN_H #ifdef __cplusplus extern "C" { #endif +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + #undef TILDE /* Prevent clash of our definition with system macro. Ex AIX, ioctl.h */ #define ENDMARKER 0 @@ -64,14 +67,20 @@ extern "C" { #define RARROW 51 #define ELLIPSIS 52 #define COLONEQUAL 53 -#define OP 54 -#define AWAIT 55 -#define ASYNC 56 -#define TYPE_IGNORE 57 -#define TYPE_COMMENT 58 -#define SOFT_KEYWORD 59 -#define ERRORTOKEN 60 -#define N_TOKENS 64 +#define EXCLAMATION 54 +#define OP 55 +#define AWAIT 56 +#define ASYNC 57 +#define TYPE_IGNORE 58 +#define TYPE_COMMENT 59 +#define SOFT_KEYWORD 60 +#define FSTRING_START 61 +#define FSTRING_MIDDLE 62 +#define FSTRING_END 63 +#define COMMENT 64 +#define NL 65 +#define ERRORTOKEN 66 +#define N_TOKENS 68 #define NT_OFFSET 256 /* Special definitions for cooperation with parser */ @@ -83,15 +92,17 @@ extern "C" { (x) == NEWLINE || \ (x) == INDENT || \ (x) == DEDENT) +#define ISSTRINGLIT(x) ((x) == STRING || \ + (x) == FSTRING_MIDDLE) +// Symbols exported for test_peg_generator PyAPI_DATA(const char * const) _PyParser_TokenNames[]; /* Token names */ -PyAPI_FUNC(int) PyToken_OneChar(int); -PyAPI_FUNC(int) PyToken_TwoChars(int, int); -PyAPI_FUNC(int) PyToken_ThreeChars(int, int, int); +PyAPI_FUNC(int) _PyToken_OneChar(int); +PyAPI_FUNC(int) _PyToken_TwoChars(int, int); +PyAPI_FUNC(int) _PyToken_ThreeChars(int, int, int); #ifdef __cplusplus } #endif -#endif /* !Py_TOKEN_H */ -#endif /* Py_LIMITED_API */ +#endif // !Py_INTERNAL_TOKEN_H diff --git a/src/external/windows/include/python/internal/pycore_tracemalloc.h b/src/external/windows/include/python/internal/pycore_tracemalloc.h new file mode 100644 index 00000000..57ae0929 --- /dev/null +++ b/src/external/windows/include/python/internal/pycore_tracemalloc.h @@ -0,0 +1,123 @@ +#ifndef Py_INTERNAL_TRACEMALLOC_H +#define Py_INTERNAL_TRACEMALLOC_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +#include "pycore_hashtable.h" // _Py_hashtable_t + + +/* Trace memory blocks allocated by PyMem_RawMalloc() */ +#define TRACE_RAW_MALLOC + + +struct _PyTraceMalloc_Config { + /* Module initialized? + Variable protected by the GIL */ + enum { + TRACEMALLOC_NOT_INITIALIZED, + TRACEMALLOC_INITIALIZED, + TRACEMALLOC_FINALIZED + } initialized; + + /* Is tracemalloc tracing memory allocations? + Variable protected by the GIL */ + int tracing; + + /* limit of the number of frames in a traceback, 1 by default. + Variable protected by the GIL. */ + int max_nframe; +}; + + +/* Pack the frame_t structure to reduce the memory footprint on 64-bit + architectures: 12 bytes instead of 16. */ +#if defined(_MSC_VER) +#pragma pack(push, 4) +#endif + +struct +#ifdef __GNUC__ +__attribute__((packed)) +#endif +tracemalloc_frame { + /* filename cannot be NULL: "" is used if the Python frame + filename is NULL */ + PyObject *filename; + unsigned int lineno; +}; +#ifdef _MSC_VER +#pragma pack(pop) +#endif + +struct tracemalloc_traceback { + Py_uhash_t hash; + /* Number of frames stored */ + uint16_t nframe; + /* Total number of frames the traceback had */ + uint16_t total_nframe; + struct tracemalloc_frame frames[1]; +}; + + +struct _tracemalloc_runtime_state { + struct _PyTraceMalloc_Config config; + + /* Protected by the GIL */ + struct { + PyMemAllocatorEx mem; + PyMemAllocatorEx raw; + PyMemAllocatorEx obj; + } allocators; + +#if defined(TRACE_RAW_MALLOC) + PyThread_type_lock tables_lock; +#endif + /* Size in bytes of currently traced memory. + Protected by TABLES_LOCK(). */ + size_t traced_memory; + /* Peak size in bytes of traced memory. + Protected by TABLES_LOCK(). */ + size_t peak_traced_memory; + /* Hash table used as a set to intern filenames: + PyObject* => PyObject*. + Protected by the GIL */ + _Py_hashtable_t *filenames; + /* Buffer to store a new traceback in traceback_new(). + Protected by the GIL. */ + struct tracemalloc_traceback *traceback; + /* Hash table used as a set to intern tracebacks: + traceback_t* => traceback_t* + Protected by the GIL */ + _Py_hashtable_t *tracebacks; + /* pointer (void*) => trace (trace_t*). + Protected by TABLES_LOCK(). */ + _Py_hashtable_t *traces; + /* domain (unsigned int) => traces (_Py_hashtable_t). + Protected by TABLES_LOCK(). */ + _Py_hashtable_t *domains; + + struct tracemalloc_traceback empty_traceback; + + Py_tss_t reentrant_key; +}; + +#define _tracemalloc_runtime_state_INIT \ + { \ + .config = { \ + .initialized = TRACEMALLOC_NOT_INITIALIZED, \ + .tracing = 0, \ + .max_nframe = 1, \ + }, \ + .reentrant_key = Py_tss_NEEDS_INIT, \ + } + + +#ifdef __cplusplus +} +#endif +#endif // !Py_INTERNAL_TRACEMALLOC_H diff --git a/src/external/windows/include/python/internal/pycore_tuple.h b/src/external/windows/include/python/internal/pycore_tuple.h index 3e4a7f13..0623d85a 100755 --- a/src/external/windows/include/python/internal/pycore_tuple.h +++ b/src/external/windows/include/python/internal/pycore_tuple.h @@ -14,7 +14,6 @@ extern "C" { /* runtime lifecycle */ extern PyStatus _PyTuple_InitGlobalObjects(PyInterpreterState *); -extern PyStatus _PyTuple_InitTypes(PyInterpreterState *); extern void _PyTuple_Fini(PyInterpreterState *); @@ -62,11 +61,18 @@ struct _Py_tuple_state { #endif }; -#define _PyTuple_ITEMS(op) (_PyTuple_CAST(op)->ob_item) +#define _PyTuple_ITEMS(op) _Py_RVALUE(_PyTuple_CAST(op)->ob_item) extern PyObject *_PyTuple_FromArray(PyObject *const *, Py_ssize_t); extern PyObject *_PyTuple_FromArraySteal(PyObject *const *, Py_ssize_t); + +typedef struct { + PyObject_HEAD + Py_ssize_t it_index; + PyTupleObject *it_seq; /* Set to NULL when iterator is exhausted */ +} _PyTupleIterObject; + #ifdef __cplusplus } #endif diff --git a/src/external/windows/include/python/internal/pycore_typeobject.h b/src/external/windows/include/python/internal/pycore_typeobject.h index 6bfe176b..b67e7dfe 100644 --- a/src/external/windows/include/python/internal/pycore_typeobject.h +++ b/src/external/windows/include/python/internal/pycore_typeobject.h @@ -4,20 +4,25 @@ extern "C" { #endif +#include "pycore_moduleobject.h" + #ifndef Py_BUILD_CORE # error "this header requires Py_BUILD_CORE define" #endif -/* runtime lifecycle */ +/* state */ -extern PyStatus _PyTypes_InitState(PyInterpreterState *); -extern PyStatus _PyTypes_InitTypes(PyInterpreterState *); -extern void _PyTypes_FiniTypes(PyInterpreterState *); -extern void _PyTypes_Fini(PyInterpreterState *); +#define _Py_TYPE_BASE_VERSION_TAG (2<<16) +#define _Py_MAX_GLOBAL_TYPE_VERSION_TAG (_Py_TYPE_BASE_VERSION_TAG - 1) +struct _types_runtime_state { + /* Used to set PyTypeObject.tp_version_tag for core static types. */ + // bpo-42745: next_version_tag remains shared by all interpreters + // because of static types. + unsigned int next_version_tag; +}; -/* other API */ // Type attribute lookup cache: speed up attribute and method lookups, // see _PyType_Lookup(). @@ -28,21 +33,115 @@ struct type_cache_entry { }; #define MCACHE_SIZE_EXP 12 -#define MCACHE_STATS 0 struct type_cache { struct type_cache_entry hashtable[1 << MCACHE_SIZE_EXP]; -#if MCACHE_STATS - size_t hits; - size_t misses; - size_t collisions; -#endif }; -extern PyStatus _PyTypes_InitSlotDefs(void); +/* For now we hard-code this to a value for which we are confident + all the static builtin types will fit (for all builds). */ +#define _Py_MAX_STATIC_BUILTIN_TYPES 200 -extern void _PyStaticType_Dealloc(PyTypeObject *type); +typedef struct { + PyTypeObject *type; + int readying; + int ready; + // XXX tp_dict can probably be statically allocated, + // instead of dynamically and stored on the interpreter. + PyObject *tp_dict; + PyObject *tp_subclasses; + /* We never clean up weakrefs for static builtin types since + they will effectively never get triggered. However, there + are also some diagnostic uses for the list of weakrefs, + so we still keep it. */ + PyObject *tp_weaklist; +} static_builtin_state; +struct types_state { + /* Used to set PyTypeObject.tp_version_tag. + It starts at _Py_MAX_GLOBAL_TYPE_VERSION_TAG + 1, + where all those lower numbers are used for core static types. */ + unsigned int next_version_tag; + + struct type_cache type_cache; + size_t num_builtins_initialized; + static_builtin_state builtins[_Py_MAX_STATIC_BUILTIN_TYPES]; +}; + + +/* runtime lifecycle */ + +extern PyStatus _PyTypes_InitTypes(PyInterpreterState *); +extern void _PyTypes_FiniTypes(PyInterpreterState *); +extern void _PyTypes_Fini(PyInterpreterState *); + + +/* other API */ + +/* Length of array of slotdef pointers used to store slots with the + same __name__. There should be at most MAX_EQUIV-1 slotdef entries with + the same __name__, for any __name__. Since that's a static property, it is + appropriate to declare fixed-size arrays for this. */ +#define MAX_EQUIV 10 + +typedef struct wrapperbase pytype_slotdef; + + +static inline PyObject ** +_PyStaticType_GET_WEAKREFS_LISTPTR(static_builtin_state *state) +{ + assert(state != NULL); + return &state->tp_weaklist; +} + +/* Like PyType_GetModuleState, but skips verification + * that type is a heap type with an associated module */ +static inline void * +_PyType_GetModuleState(PyTypeObject *type) +{ + assert(PyType_Check(type)); + assert(type->tp_flags & Py_TPFLAGS_HEAPTYPE); + PyHeapTypeObject *et = (PyHeapTypeObject *)type; + assert(et->ht_module); + PyModuleObject *mod = (PyModuleObject *)(et->ht_module); + assert(mod != NULL); + return mod->md_state; +} + + +extern int _PyStaticType_InitBuiltin(PyInterpreterState *, PyTypeObject *type); +extern static_builtin_state * _PyStaticType_GetState(PyInterpreterState *, PyTypeObject *); +extern void _PyStaticType_ClearWeakRefs(PyInterpreterState *, PyTypeObject *type); +extern void _PyStaticType_Dealloc(PyInterpreterState *, PyTypeObject *); + +PyAPI_FUNC(PyObject *) _PyType_GetDict(PyTypeObject *); +extern PyObject * _PyType_GetBases(PyTypeObject *type); +extern PyObject * _PyType_GetMRO(PyTypeObject *type); +extern PyObject* _PyType_GetSubclasses(PyTypeObject *); +extern int _PyType_HasSubclasses(PyTypeObject *); + +// PyType_Ready() must be called if _PyType_IsReady() is false. +// See also the Py_TPFLAGS_READY flag. +static inline int +_PyType_IsReady(PyTypeObject *type) +{ + return _PyType_GetDict(type) != NULL; +} + +PyObject * +_Py_type_getattro_impl(PyTypeObject *type, PyObject *name, int *suppress_missing_attribute); +PyObject * +_Py_type_getattro(PyTypeObject *type, PyObject *name); + +extern PyObject* _Py_BaseObject_RichCompare(PyObject* self, PyObject* other, int op); + +PyObject *_Py_slot_tp_getattro(PyObject *self, PyObject *name); +PyObject *_Py_slot_tp_getattr_hook(PyObject *self, PyObject *name); + +PyAPI_DATA(PyTypeObject) _PyBufferWrapper_Type; + +PyObject * +_PySuper_Lookup(PyTypeObject *su_type, PyObject *su_obj, PyObject *name, int *meth_found); #ifdef __cplusplus } diff --git a/src/external/windows/include/python/internal/pycore_typevarobject.h b/src/external/windows/include/python/internal/pycore_typevarobject.h new file mode 100644 index 00000000..13cee2d7 --- /dev/null +++ b/src/external/windows/include/python/internal/pycore_typevarobject.h @@ -0,0 +1,24 @@ +#ifndef Py_INTERNAL_TYPEVAROBJECT_H +#define Py_INTERNAL_TYPEVAROBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +extern PyObject *_Py_make_typevar(PyObject *, PyObject *, PyObject *); +extern PyObject *_Py_make_paramspec(PyThreadState *, PyObject *); +extern PyObject *_Py_make_typevartuple(PyThreadState *, PyObject *); +extern PyObject *_Py_make_typealias(PyThreadState *, PyObject *); +extern PyObject *_Py_subscript_generic(PyThreadState *, PyObject *); +extern int _Py_initialize_generic(PyInterpreterState *); +extern void _Py_clear_generic_types(PyInterpreterState *); + +extern PyTypeObject _PyTypeAlias_Type; + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_TYPEVAROBJECT_H */ diff --git a/src/external/windows/include/python/internal/pycore_unicodeobject.h b/src/external/windows/include/python/internal/pycore_unicodeobject.h index 4a64c9d4..acef7d73 100644 --- a/src/external/windows/include/python/internal/pycore_unicodeobject.h +++ b/src/external/windows/include/python/internal/pycore_unicodeobject.h @@ -9,8 +9,10 @@ extern "C" { #endif #include "pycore_fileutils.h" // _Py_error_handler +#include "pycore_ucnhash.h" // _PyUnicode_Name_CAPI void _PyUnicode_ExactDealloc(PyObject *op); +Py_ssize_t _PyUnicode_InternedSize(void); /* runtime lifecycle */ @@ -19,7 +21,6 @@ extern PyStatus _PyUnicode_InitGlobalObjects(PyInterpreterState *); extern PyStatus _PyUnicode_InitTypes(PyInterpreterState *); extern void _PyUnicode_Fini(PyInterpreterState *); extern void _PyUnicode_FiniTypes(PyInterpreterState *); -extern void _PyStaticUnicode_Dealloc(PyObject *); extern PyTypeObject _PyUnicodeASCIIIter_Type; @@ -32,6 +33,10 @@ struct _Py_unicode_runtime_ids { Py_ssize_t next_index; }; +struct _Py_unicode_runtime_state { + struct _Py_unicode_runtime_ids ids; +}; + /* fs_codec.encoding is initialized to NULL. Later, it is set to a non-NULL string by _PyUnicode_InitEncodings(). */ struct _Py_unicode_fs_codec { @@ -49,10 +54,13 @@ struct _Py_unicode_ids { struct _Py_unicode_state { struct _Py_unicode_fs_codec fs_codec; + _PyUnicode_Name_CAPI *ucnhash_capi; + // Unicode identifiers (_Py_Identifier): see _PyUnicode_FromId() struct _Py_unicode_ids ids; }; +extern void _PyUnicode_InternInPlace(PyInterpreterState *interp, PyObject **p); extern void _PyUnicode_ClearInterned(PyInterpreterState *interp); diff --git a/src/external/windows/include/python/internal/pycore_unicodeobject_generated.h b/src/external/windows/include/python/internal/pycore_unicodeobject_generated.h new file mode 100644 index 00000000..a2d4d13e --- /dev/null +++ b/src/external/windows/include/python/internal/pycore_unicodeobject_generated.h @@ -0,0 +1,2093 @@ +#ifndef Py_INTERNAL_UNICODEOBJECT_GENERATED_H +#define Py_INTERNAL_UNICODEOBJECT_GENERATED_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_BUILD_CORE +# error "this header requires Py_BUILD_CORE define" +#endif + +/* The following is auto-generated by Tools/build/generate_global_objects.py. */ +static inline void +_PyUnicode_InitStaticStrings(PyInterpreterState *interp) { + PyObject *string; + string = &_Py_ID(CANCELLED); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(FINISHED); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(False); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(JSONDecodeError); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(PENDING); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(Py_Repr); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(TextIOWrapper); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(True); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(WarningMessage); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_WindowsConsoleIO); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__IOBase_closed); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__abc_tpflags__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__abs__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__abstractmethods__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__add__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__aenter__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__aexit__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__aiter__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__all__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__and__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__anext__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__annotations__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__args__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__asyncio_running_event_loop__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__await__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__bases__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__bool__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__buffer__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__build_class__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__builtins__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__bytes__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__call__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__cantrace__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__class__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__class_getitem__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__classcell__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__classdict__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__classdictcell__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__complex__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__contains__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__copy__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__ctypes_from_outparam__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__del__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__delattr__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__delete__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__delitem__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__dict__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__dictoffset__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__dir__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__divmod__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__doc__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__enter__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__eq__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__exit__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__file__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__float__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__floordiv__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__format__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__fspath__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__ge__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__get__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__getattr__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__getattribute__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__getinitargs__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__getitem__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__getnewargs__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__getnewargs_ex__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__getstate__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__gt__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__hash__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__iadd__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__iand__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__ifloordiv__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__ilshift__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__imatmul__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__imod__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__import__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__imul__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__index__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__init__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__init_subclass__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__instancecheck__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__int__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__invert__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__ior__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__ipow__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__irshift__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__isabstractmethod__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__isub__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__iter__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__itruediv__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__ixor__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__le__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__len__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__length_hint__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__lltrace__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__loader__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__lshift__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__lt__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__main__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__matmul__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__missing__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__mod__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__module__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__mro_entries__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__mul__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__name__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__ne__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__neg__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__new__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__newobj__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__newobj_ex__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__next__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__notes__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__or__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__orig_class__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__origin__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__package__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__parameters__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__path__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__pos__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__pow__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__prepare__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__qualname__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__radd__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__rand__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__rdivmod__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__reduce__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__reduce_ex__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__release_buffer__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__repr__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__reversed__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__rfloordiv__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__rlshift__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__rmatmul__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__rmod__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__rmul__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__ror__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__round__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__rpow__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__rrshift__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__rshift__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__rsub__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__rtruediv__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__rxor__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__set__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__set_name__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__setattr__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__setitem__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__setstate__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__sizeof__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__slotnames__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__slots__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__spec__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__str__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__sub__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__subclasscheck__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__subclasshook__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__truediv__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__trunc__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__type_params__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__typing_is_unpacked_typevartuple__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__typing_prepare_subst__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__typing_subst__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__typing_unpacked_tuple_args__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__warningregistry__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__weaklistoffset__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__weakref__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(__xor__); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_abc_impl); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_abstract_); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_active); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_annotation); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_anonymous_); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_argtypes_); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_as_parameter_); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_asyncio_future_blocking); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_blksize); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_bootstrap); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_check_retval_); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_dealloc_warn); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_feature_version); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_fields_); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_finalizing); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_find_and_load); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_fix_up_module); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_flags_); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_get_sourcefile); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_handle_fromlist); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_initializing); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_io); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_is_text_encoding); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_length_); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_limbo); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_lock_unlock_module); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_loop); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_needs_com_addref_); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_pack_); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_restype_); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_showwarnmsg); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_shutdown); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_slotnames); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_strptime_datetime); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_swappedbytes_); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_type_); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_uninitialized_submodules); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_warn_unawaited_coroutine); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(_xoptions); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(a); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(abs_tol); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(access); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(add); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(add_done_callback); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(after_in_child); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(after_in_parent); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(aggregate_class); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(alias); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(append); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(arg); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(argdefs); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(args); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(arguments); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(argv); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(as_integer_ratio); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(ast); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(attribute); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(authorizer_callback); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(autocommit); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(b); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(backtick); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(base); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(before); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(big); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(binary_form); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(block); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(bound); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(buffer); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(buffer_callback); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(buffer_size); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(buffering); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(buffers); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(bufsize); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(builtins); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(byteorder); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(bytes); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(bytes_per_sep); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(c); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(c_call); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(c_exception); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(c_return); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(cached_statements); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(cadata); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(cafile); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(call); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(call_exception_handler); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(call_soon); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(cancel); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(capath); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(category); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(cb_type); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(certfile); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(check_same_thread); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(clear); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(close); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(closed); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(closefd); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(closure); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_argcount); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_cellvars); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_code); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_consts); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_exceptiontable); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_filename); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_firstlineno); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_flags); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_freevars); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_kwonlyargcount); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_linetable); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_name); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_names); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_nlocals); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_posonlyargcount); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_qualname); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_stacksize); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(co_varnames); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(code); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(command); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(comment_factory); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(compile_mode); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(consts); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(context); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(contravariant); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(cookie); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(copy); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(copyreg); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(coro); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(count); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(covariant); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(cwd); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(d); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(data); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(database); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(decode); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(decoder); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(default); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(defaultaction); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(delete); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(depth); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(detect_types); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(deterministic); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(device); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(dict); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(dictcomp); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(difference_update); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(digest); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(digest_size); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(digestmod); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(dir_fd); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(discard); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(dispatch_table); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(displayhook); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(dklen); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(doc); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(dont_inherit); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(dst); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(dst_dir_fd); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(duration); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(e); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(eager_start); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(effective_ids); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(element_factory); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(encode); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(encoding); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(end); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(end_lineno); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(end_offset); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(endpos); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(entrypoint); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(env); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(errors); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(event); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(eventmask); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(exc_type); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(exc_value); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(excepthook); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(exception); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(existing_file_name); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(exp); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(extend); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(extra_tokens); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(facility); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(factory); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(false); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(family); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(fanout); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(fd); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(fd2); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(fdel); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(fget); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(file); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(file_actions); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(filename); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(fileno); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(filepath); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(fillvalue); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(filters); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(final); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(find_class); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(fix_imports); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(flags); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(flush); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(follow_symlinks); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(format); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(frequency); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(from_param); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(fromlist); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(fromtimestamp); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(fromutc); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(fset); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(func); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(future); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(generation); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(genexpr); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(get); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(get_debug); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(get_event_loop); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(get_loop); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(get_source); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(getattr); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(getstate); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(gid); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(globals); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(groupindex); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(groups); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(handle); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(hash_name); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(header); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(headers); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(hi); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(hook); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(id); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(ident); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(ignore); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(imag); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(importlib); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(in_fd); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(incoming); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(indexgroup); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(inf); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(infer_variance); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(inheritable); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(initial); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(initial_bytes); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(initial_value); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(initval); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(inner_size); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(input); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(insert_comments); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(insert_pis); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(instructions); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(intern); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(intersection); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(is_running); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(isatty); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(isinstance); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(isoformat); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(isolation_level); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(istext); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(item); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(items); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(iter); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(iterable); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(iterations); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(join); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(jump); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(keepends); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(key); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(keyfile); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(keys); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(kind); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(kw); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(kw1); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(kw2); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(lambda); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(last); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(last_exc); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(last_node); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(last_traceback); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(last_type); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(last_value); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(latin1); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(leaf_size); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(len); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(length); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(level); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(limit); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(line); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(line_buffering); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(lineno); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(listcomp); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(little); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(lo); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(locale); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(locals); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(logoption); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(loop); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(mapping); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(match); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(max_length); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(maxdigits); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(maxevents); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(maxmem); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(maxsplit); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(maxvalue); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(memLevel); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(memlimit); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(message); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(metaclass); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(metadata); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(method); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(mod); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(mode); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(module); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(module_globals); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(modules); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(mro); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(msg); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(mycmp); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(n); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(n_arg); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(n_fields); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(n_sequence_fields); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(n_unnamed_fields); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(name); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(name_from); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(namespace_separator); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(namespaces); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(narg); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(ndigits); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(new_file_name); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(new_limit); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(newline); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(newlines); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(next); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(nlocals); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(node_depth); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(node_offset); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(ns); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(nstype); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(nt); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(null); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(number); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(obj); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(object); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(offset); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(offset_dst); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(offset_src); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(on_type_read); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(onceregistry); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(only_keys); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(oparg); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(opcode); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(open); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(opener); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(operation); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(optimize); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(options); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(order); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(origin); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(out_fd); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(outgoing); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(overlapped); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(owner); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(p); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(pages); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(parent); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(password); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(path); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(pattern); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(peek); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(persistent_id); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(persistent_load); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(person); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(pi_factory); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(pid); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(policy); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(pos); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(pos1); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(pos2); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(posix); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(print_file_and_line); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(priority); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(progress); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(progress_handler); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(progress_routine); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(proto); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(protocol); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(ps1); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(ps2); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(query); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(quotetabs); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(r); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(raw); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(read); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(read1); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(readable); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(readall); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(readinto); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(readinto1); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(readline); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(readonly); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(real); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(reducer_override); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(registry); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(rel_tol); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(release); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(reload); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(repl); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(replace); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(reserved); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(reset); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(resetids); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(return); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(reverse); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(reversed); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(s); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(salt); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(sched_priority); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(scheduler); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(seek); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(seekable); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(selectors); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(self); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(send); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(sep); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(sequence); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(server_hostname); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(server_side); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(session); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(setcomp); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(setpgroup); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(setsid); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(setsigdef); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(setsigmask); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(setstate); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(shape); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(show_cmd); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(signed); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(size); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(sizehint); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(skip_file_prefixes); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(sleep); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(sock); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(sort); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(sound); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(source); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(source_traceback); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(src); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(src_dir_fd); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(stacklevel); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(start); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(statement); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(status); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(stderr); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(stdin); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(stdout); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(step); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(steps); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(store_name); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(strategy); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(strftime); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(strict); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(strict_mode); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(string); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(sub_key); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(symmetric_difference_update); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(tabsize); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(tag); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(target); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(target_is_directory); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(task); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(tb_frame); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(tb_lasti); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(tb_lineno); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(tb_next); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(tell); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(template); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(term); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(text); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(threading); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(throw); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(timeout); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(times); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(timetuple); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(top); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(trace_callback); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(traceback); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(trailers); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(translate); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(true); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(truncate); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(twice); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(txt); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(type); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(type_params); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(tz); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(tzname); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(uid); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(unlink); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(unraisablehook); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(uri); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(usedforsecurity); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(value); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(values); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(version); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(volume); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(warnings); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(warnoptions); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(wbits); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(week); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(weekday); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(which); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(who); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(withdata); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(writable); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(write); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(write_through); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(x); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(year); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); + string = &_Py_ID(zdict); + assert(_PyUnicode_CheckConsistency(string, 1)); + _PyUnicode_InternInPlace(interp, &string); +} +/* End auto-generated code */ +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_UNICODEOBJECT_GENERATED_H */ diff --git a/src/external/windows/include/python/internal/pycore_unionobject.h b/src/external/windows/include/python/internal/pycore_unionobject.h index 4908b0d8..785723dd 100755 --- a/src/external/windows/include/python/internal/pycore_unionobject.h +++ b/src/external/windows/include/python/internal/pycore_unionobject.h @@ -9,10 +9,10 @@ extern "C" { #endif extern PyTypeObject _PyUnion_Type; -#define _PyUnion_Check(op) Py_IS_TYPE(op, &_PyUnion_Type) +#define _PyUnion_Check(op) Py_IS_TYPE((op), &_PyUnion_Type) extern PyObject *_Py_union_type_or(PyObject *, PyObject *); -#define _PyGenericAlias_Check(op) PyObject_TypeCheck(op, &Py_GenericAliasType) +#define _PyGenericAlias_Check(op) PyObject_TypeCheck((op), &Py_GenericAliasType) extern PyObject *_Py_subs_parameters(PyObject *, PyObject *, PyObject *, PyObject *); extern PyObject *_Py_make_parameters(PyObject *); extern PyObject *_Py_union_args(PyObject *self); diff --git a/src/external/windows/include/python/interpreteridobject.h b/src/external/windows/include/python/interpreteridobject.h new file mode 100644 index 00000000..9d6f0053 --- /dev/null +++ b/src/external/windows/include/python/interpreteridobject.h @@ -0,0 +1,17 @@ +#ifndef Py_INTERPRETERIDOBJECT_H +#define Py_INTERPRETERIDOBJECT_H + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef Py_LIMITED_API +# define Py_CPYTHON_INTERPRETERIDOBJECT_H +# include "cpython/interpreteridobject.h" +# undef Py_CPYTHON_INTERPRETERIDOBJECT_H +#endif + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERPRETERIDOBJECT_H */ diff --git a/src/external/windows/include/python/iterobject.h b/src/external/windows/include/python/iterobject.h index 38ce0acf..d508b905 100755 --- a/src/external/windows/include/python/iterobject.h +++ b/src/external/windows/include/python/iterobject.h @@ -11,12 +11,12 @@ PyAPI_DATA(PyTypeObject) PyCallIter_Type; extern PyTypeObject _PyAnextAwaitable_Type; #endif -#define PySeqIter_Check(op) Py_IS_TYPE(op, &PySeqIter_Type) +#define PySeqIter_Check(op) Py_IS_TYPE((op), &PySeqIter_Type) PyAPI_FUNC(PyObject *) PySeqIter_New(PyObject *); -#define PyCallIter_Check(op) Py_IS_TYPE(op, &PyCallIter_Type) +#define PyCallIter_Check(op) Py_IS_TYPE((op), &PyCallIter_Type) PyAPI_FUNC(PyObject *) PyCallIter_New(PyObject *, PyObject *); diff --git a/src/external/windows/include/python/listobject.h b/src/external/windows/include/python/listobject.h index 6cfdb80d..a45d6933 100755 --- a/src/external/windows/include/python/listobject.h +++ b/src/external/windows/include/python/listobject.h @@ -23,7 +23,7 @@ PyAPI_DATA(PyTypeObject) PyListRevIter_Type; #define PyList_Check(op) \ PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_LIST_SUBCLASS) -#define PyList_CheckExact(op) Py_IS_TYPE(op, &PyList_Type) +#define PyList_CheckExact(op) Py_IS_TYPE((op), &PyList_Type) PyAPI_FUNC(PyObject *) PyList_New(Py_ssize_t size); PyAPI_FUNC(Py_ssize_t) PyList_Size(PyObject *); diff --git a/src/external/windows/include/python/longobject.h b/src/external/windows/include/python/longobject.h index 0748a955..7e505676 100755 --- a/src/external/windows/include/python/longobject.h +++ b/src/external/windows/include/python/longobject.h @@ -7,11 +7,11 @@ extern "C" { /* Long (arbitrary precision) integer object interface */ -PyAPI_DATA(PyTypeObject) PyLong_Type; +// PyLong_Type is declared by object.h #define PyLong_Check(op) \ PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_LONG_SUBCLASS) -#define PyLong_CheckExact(op) Py_IS_TYPE(op, &PyLong_Type) +#define PyLong_CheckExact(op) Py_IS_TYPE((op), &PyLong_Type) PyAPI_FUNC(PyObject *) PyLong_FromLong(long); PyAPI_FUNC(PyObject *) PyLong_FromUnsignedLong(unsigned long); @@ -34,7 +34,24 @@ PyAPI_FUNC(PyObject *) PyLong_GetInfo(void); #if !defined(SIZEOF_PID_T) || SIZEOF_PID_T == SIZEOF_INT #define _Py_PARSE_PID "i" #define PyLong_FromPid PyLong_FromLong -#define PyLong_AsPid PyLong_AsLong +# ifndef Py_LIMITED_API +# define PyLong_AsPid _PyLong_AsInt +# elif SIZEOF_INT == SIZEOF_LONG +# define PyLong_AsPid PyLong_AsLong +# else +static inline int +PyLong_AsPid(PyObject *obj) +{ + int overflow; + long result = PyLong_AsLongAndOverflow(obj, &overflow); + if (overflow || result > INT_MAX || result < INT_MIN) { + PyErr_SetString(PyExc_OverflowError, + "Python int too large to convert to C int"); + return -1; + } + return (int)result; +} +# endif #elif SIZEOF_PID_T == SIZEOF_LONG #define _Py_PARSE_PID "l" #define PyLong_FromPid PyLong_FromLong diff --git a/src/external/windows/include/python/memoryobject.h b/src/external/windows/include/python/memoryobject.h index 16129f46..7645539c 100755 --- a/src/external/windows/include/python/memoryobject.h +++ b/src/external/windows/include/python/memoryobject.h @@ -6,19 +6,9 @@ extern "C" { #endif -#ifndef Py_LIMITED_API -PyAPI_DATA(PyTypeObject) _PyManagedBuffer_Type; -#endif PyAPI_DATA(PyTypeObject) PyMemoryView_Type; -#define PyMemoryView_Check(op) Py_IS_TYPE(op, &PyMemoryView_Type) - -#ifndef Py_LIMITED_API -/* Get a pointer to the memoryview's private copy of the exporter's buffer. */ -#define PyMemoryView_GET_BUFFER(op) (&((PyMemoryViewObject *)(op))->view) -/* Get a pointer to the exporting object (this may be NULL!). */ -#define PyMemoryView_GET_BASE(op) (((PyMemoryViewObject *)(op))->view.obj) -#endif +#define PyMemoryView_Check(op) Py_IS_TYPE((op), &PyMemoryView_Type) PyAPI_FUNC(PyObject *) PyMemoryView_FromObject(PyObject *base); #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 @@ -32,38 +22,10 @@ PyAPI_FUNC(PyObject *) PyMemoryView_GetContiguous(PyObject *base, int buffertype, char order); - -/* The structs are declared here so that macros can work, but they shouldn't - be considered public. Don't access their fields directly, use the macros - and functions instead! */ #ifndef Py_LIMITED_API -#define _Py_MANAGED_BUFFER_RELEASED 0x001 /* access to exporter blocked */ -#define _Py_MANAGED_BUFFER_FREE_FORMAT 0x002 /* free format */ -typedef struct { - PyObject_HEAD - int flags; /* state flags */ - Py_ssize_t exports; /* number of direct memoryview exports */ - Py_buffer master; /* snapshot buffer obtained from the original exporter */ -} _PyManagedBufferObject; - - -/* memoryview state flags */ -#define _Py_MEMORYVIEW_RELEASED 0x001 /* access to master buffer blocked */ -#define _Py_MEMORYVIEW_C 0x002 /* C-contiguous layout */ -#define _Py_MEMORYVIEW_FORTRAN 0x004 /* Fortran contiguous layout */ -#define _Py_MEMORYVIEW_SCALAR 0x008 /* scalar: ndim = 0 */ -#define _Py_MEMORYVIEW_PIL 0x010 /* PIL-style layout */ - -typedef struct { - PyObject_VAR_HEAD - _PyManagedBufferObject *mbuf; /* managed buffer */ - Py_hash_t hash; /* hash value for read-only views */ - int flags; /* state flags */ - Py_ssize_t exports; /* number of buffer re-exports */ - Py_buffer view; /* private copy of the exporter's view */ - PyObject *weakreflist; - Py_ssize_t ob_array[1]; /* shape, strides, suboffsets */ -} PyMemoryViewObject; +# define Py_CPYTHON_MEMORYOBJECT_H +# include "cpython/memoryobject.h" +# undef Py_CPYTHON_MEMORYOBJECT_H #endif #ifdef __cplusplus diff --git a/src/external/windows/include/python/methodobject.h b/src/external/windows/include/python/methodobject.h index 56816e4f..f1c2a06c 100755 --- a/src/external/windows/include/python/methodobject.h +++ b/src/external/windows/include/python/methodobject.h @@ -13,8 +13,8 @@ extern "C" { PyAPI_DATA(PyTypeObject) PyCFunction_Type; -#define PyCFunction_CheckExact(op) Py_IS_TYPE(op, &PyCFunction_Type) -#define PyCFunction_Check(op) PyObject_TypeCheck(op, &PyCFunction_Type) +#define PyCFunction_CheckExact(op) Py_IS_TYPE((op), &PyCFunction_Type) +#define PyCFunction_Check(op) PyObject_TypeCheck((op), &PyCFunction_Type) typedef PyObject *(*PyCFunction)(PyObject *, PyObject *); typedef PyObject *(*_PyCFunctionFast) (PyObject *, PyObject *const *, Py_ssize_t); diff --git a/src/external/windows/include/python/modsupport.h b/src/external/windows/include/python/modsupport.h index 174503b8..4bfc0ccd 100755 --- a/src/external/windows/include/python/modsupport.h +++ b/src/external/windows/include/python/modsupport.h @@ -37,14 +37,14 @@ PyAPI_FUNC(PyObject *) Py_BuildValue(const char *, ...); PyAPI_FUNC(PyObject *) _Py_BuildValue_SizeT(const char *, ...); -#define ANY_VARARGS(n) (n == PY_SSIZE_T_MAX) - PyAPI_FUNC(PyObject *) Py_VaBuildValue(const char *, va_list); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030a0000 // Add an attribute with name 'name' and value 'obj' to the module 'mod. // On success, return 0 on success. // On error, raise an exception and return -1. PyAPI_FUNC(int) PyModule_AddObjectRef(PyObject *mod, const char *name, PyObject *value); +#endif /* Py_LIMITED_API */ // Similar to PyModule_AddObjectRef() but steal a reference to 'obj' // (Py_DECREF(obj)) on success (if it returns 0). @@ -58,8 +58,8 @@ PyAPI_FUNC(int) PyModule_AddStringConstant(PyObject *, const char *, const char PyAPI_FUNC(int) PyModule_AddType(PyObject *module, PyTypeObject *type); #endif /* Py_LIMITED_API */ -#define PyModule_AddIntMacro(m, c) PyModule_AddIntConstant(m, #c, c) -#define PyModule_AddStringMacro(m, c) PyModule_AddStringConstant(m, #c, c) +#define PyModule_AddIntMacro(m, c) PyModule_AddIntConstant((m), #c, (c)) +#define PyModule_AddStringMacro(m, c) PyModule_AddStringConstant((m), #c, (c)) #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000 /* New in 3.5 */ @@ -134,10 +134,10 @@ PyAPI_FUNC(PyObject *) PyModule_Create2(PyModuleDef*, int apiver); #ifdef Py_LIMITED_API #define PyModule_Create(module) \ - PyModule_Create2(module, PYTHON_ABI_VERSION) + PyModule_Create2((module), PYTHON_ABI_VERSION) #else #define PyModule_Create(module) \ - PyModule_Create2(module, PYTHON_API_VERSION) + PyModule_Create2((module), PYTHON_API_VERSION) #endif #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000 @@ -148,10 +148,10 @@ PyAPI_FUNC(PyObject *) PyModule_FromDefAndSpec2(PyModuleDef *def, #ifdef Py_LIMITED_API #define PyModule_FromDefAndSpec(module, spec) \ - PyModule_FromDefAndSpec2(module, spec, PYTHON_ABI_VERSION) + PyModule_FromDefAndSpec2((module), (spec), PYTHON_ABI_VERSION) #else #define PyModule_FromDefAndSpec(module, spec) \ - PyModule_FromDefAndSpec2(module, spec, PYTHON_API_VERSION) + PyModule_FromDefAndSpec2((module), (spec), PYTHON_API_VERSION) #endif /* Py_LIMITED_API */ #endif /* New in 3.5 */ diff --git a/src/external/windows/include/python/moduleobject.h b/src/external/windows/include/python/moduleobject.h index cf0d5413..bf5a5a37 100755 --- a/src/external/windows/include/python/moduleobject.h +++ b/src/external/windows/include/python/moduleobject.h @@ -9,8 +9,8 @@ extern "C" { PyAPI_DATA(PyTypeObject) PyModule_Type; -#define PyModule_Check(op) PyObject_TypeCheck(op, &PyModule_Type) -#define PyModule_CheckExact(op) Py_IS_TYPE(op, &PyModule_Type) +#define PyModule_Check(op) PyObject_TypeCheck((op), &PyModule_Type) +#define PyModule_CheckExact(op) Py_IS_TYPE((op), &PyModule_Type) #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 PyAPI_FUNC(PyObject *) PyModule_NewObject( @@ -43,8 +43,22 @@ PyAPI_DATA(PyTypeObject) PyModuleDef_Type; typedef struct PyModuleDef_Base { PyObject_HEAD + /* The function used to re-initialize the module. + This is only set for legacy (single-phase init) extension modules + and only used for those that support multiple initializations + (m_size >= 0). + It is set by _PyImport_LoadDynamicModuleWithSpec() + and _imp.create_builtin(). */ PyObject* (*m_init)(void); + /* The module's index into its interpreter's modules_by_index cache. + This is set for all extension modules but only used for legacy ones. + (See PyInterpreterState.modules_by_index for more info.) + It is set by PyModuleDef_Init(). */ Py_ssize_t m_index; + /* A copy of the module's __dict__ after the first time it was loaded. + This is only set/used for legacy modules that do not support + multiple initializations. + It is set by _PyImport_FixupExtensionObject(). */ PyObject* m_copy; } PyModuleDef_Base; @@ -64,13 +78,23 @@ struct PyModuleDef_Slot { #define Py_mod_create 1 #define Py_mod_exec 2 +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030c0000 +# define Py_mod_multiple_interpreters 3 +#endif #ifndef Py_LIMITED_API -#define _Py_mod_LAST_SLOT 2 +#define _Py_mod_LAST_SLOT 3 #endif #endif /* New in 3.5 */ +/* for Py_mod_multiple_interpreters: */ +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030c0000 +# define Py_MOD_MULTIPLE_INTERPRETERS_NOT_SUPPORTED ((void *)0) +# define Py_MOD_MULTIPLE_INTERPRETERS_SUPPORTED ((void *)1) +# define Py_MOD_PER_INTERPRETER_GIL_SUPPORTED ((void *)2) +#endif + struct PyModuleDef { PyModuleDef_Base m_base; const char* m_name; diff --git a/src/external/windows/include/python/object.h b/src/external/windows/include/python/object.h index 59f85820..eabdb293 100755 --- a/src/external/windows/include/python/object.h +++ b/src/external/windows/include/python/object.h @@ -51,6 +51,8 @@ A standard interface exists for objects that contain an array of items whose size is determined when the object is allocated. */ +#include "pystats.h" + /* Py_DEBUG implies Py_REF_DEBUG. */ #if defined(Py_DEBUG) && !defined(Py_REF_DEBUG) # define Py_REF_DEBUG @@ -76,12 +78,76 @@ whose size is determined when the object is allocated. /* PyObject_HEAD defines the initial segment of every PyObject. */ #define PyObject_HEAD PyObject ob_base; -#define PyObject_HEAD_INIT(type) \ - { _PyObject_EXTRA_INIT \ - 1, type }, +/* +Immortalization: -#define PyVarObject_HEAD_INIT(type, size) \ - { PyObject_HEAD_INIT(type) size }, +The following indicates the immortalization strategy depending on the amount +of available bits in the reference count field. All strategies are backwards +compatible but the specific reference count value or immortalization check +might change depending on the specializations for the underlying system. + +Proper deallocation of immortal instances requires distinguishing between +statically allocated immortal instances vs those promoted by the runtime to be +immortal. The latter should be the only instances that require +cleanup during runtime finalization. +*/ + +#if SIZEOF_VOID_P > 4 +/* +In 64+ bit systems, an object will be marked as immortal by setting all of the +lower 32 bits of the reference count field, which is equal to: 0xFFFFFFFF + +Using the lower 32 bits makes the value backwards compatible by allowing +C-Extensions without the updated checks in Py_INCREF and Py_DECREF to safely +increase and decrease the objects reference count. The object would lose its +immortality, but the execution would still be correct. + +Reference count increases will use saturated arithmetic, taking advantage of +having all the lower 32 bits set, which will avoid the reference count to go +beyond the refcount limit. Immortality checks for reference count decreases will +be done by checking the bit sign flag in the lower 32 bits. +*/ +#define _Py_IMMORTAL_REFCNT UINT_MAX + +#else +/* +In 32 bit systems, an object will be marked as immortal by setting all of the +lower 30 bits of the reference count field, which is equal to: 0x3FFFFFFF + +Using the lower 30 bits makes the value backwards compatible by allowing +C-Extensions without the updated checks in Py_INCREF and Py_DECREF to safely +increase and decrease the objects reference count. The object would lose its +immortality, but the execution would still be correct. + +Reference count increases and decreases will first go through an immortality +check by comparing the reference count field to the immortality reference count. +*/ +#define _Py_IMMORTAL_REFCNT (UINT_MAX >> 2) +#endif + +// Make all internal uses of PyObject_HEAD_INIT immortal while preserving the +// C-API expectation that the refcnt will be set to 1. +#ifdef Py_BUILD_CORE +#define PyObject_HEAD_INIT(type) \ + { \ + _PyObject_EXTRA_INIT \ + { _Py_IMMORTAL_REFCNT }, \ + (type) \ + }, +#else +#define PyObject_HEAD_INIT(type) \ + { \ + _PyObject_EXTRA_INIT \ + { 1 }, \ + (type) \ + }, +#endif /* Py_BUILD_CORE */ + +#define PyVarObject_HEAD_INIT(type, size) \ + { \ + PyObject_HEAD_INIT(type) \ + (size) \ + }, /* PyObject_VAR_HEAD defines the initial segment of all variable-size * container objects. These end with a declaration of an array with 1 @@ -99,7 +165,28 @@ whose size is determined when the object is allocated. */ struct _object { _PyObject_HEAD_EXTRA - Py_ssize_t ob_refcnt; + +#if (defined(__GNUC__) || defined(__clang__)) \ + && !(defined __STDC_VERSION__ && __STDC_VERSION__ >= 201112L) + // On C99 and older, anonymous union is a GCC and clang extension + __extension__ +#endif +#ifdef _MSC_VER + // Ignore MSC warning C4201: "nonstandard extension used: + // nameless struct/union" + __pragma(warning(push)) + __pragma(warning(disable: 4201)) +#endif + union { + Py_ssize_t ob_refcnt; +#if SIZEOF_VOID_P > 4 + PY_UINT32_T ob_refcnt_split[2]; +#endif + }; +#ifdef _MSC_VER + __pragma(warning(pop)) +#endif + PyTypeObject *ob_type; }; @@ -136,29 +223,49 @@ static inline PyTypeObject* Py_TYPE(PyObject *ob) { # define Py_TYPE(ob) Py_TYPE(_PyObject_CAST(ob)) #endif +PyAPI_DATA(PyTypeObject) PyLong_Type; +PyAPI_DATA(PyTypeObject) PyBool_Type; + // bpo-39573: The Py_SET_SIZE() function must be used to set an object size. static inline Py_ssize_t Py_SIZE(PyObject *ob) { - PyVarObject *var_ob = _PyVarObject_CAST(ob); - return var_ob->ob_size; + assert(ob->ob_type != &PyLong_Type); + assert(ob->ob_type != &PyBool_Type); + return _PyVarObject_CAST(ob)->ob_size; } #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 # define Py_SIZE(ob) Py_SIZE(_PyObject_CAST(ob)) #endif +static inline Py_ALWAYS_INLINE int _Py_IsImmortal(PyObject *op) +{ +#if SIZEOF_VOID_P > 4 + return _Py_CAST(PY_INT32_T, op->ob_refcnt) < 0; +#else + return op->ob_refcnt == _Py_IMMORTAL_REFCNT; +#endif +} +#define _Py_IsImmortal(op) _Py_IsImmortal(_PyObject_CAST(op)) static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) { return Py_TYPE(ob) == type; } #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 -# define Py_IS_TYPE(ob, type) Py_IS_TYPE(_PyObject_CAST(ob), type) +# define Py_IS_TYPE(ob, type) Py_IS_TYPE(_PyObject_CAST(ob), (type)) #endif static inline void Py_SET_REFCNT(PyObject *ob, Py_ssize_t refcnt) { + // This immortal check is for code that is unaware of immortal objects. + // The runtime tracks these objects and we should avoid as much + // as possible having extensions inadvertently change the refcnt + // of an immortalized object. + if (_Py_IsImmortal(ob)) { + return; + } ob->ob_refcnt = refcnt; } #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 -# define Py_SET_REFCNT(ob, refcnt) Py_SET_REFCNT(_PyObject_CAST(ob), refcnt) +# define Py_SET_REFCNT(ob, refcnt) Py_SET_REFCNT(_PyObject_CAST(ob), (refcnt)) #endif @@ -169,12 +276,13 @@ static inline void Py_SET_TYPE(PyObject *ob, PyTypeObject *type) { # define Py_SET_TYPE(ob, type) Py_SET_TYPE(_PyObject_CAST(ob), type) #endif - static inline void Py_SET_SIZE(PyVarObject *ob, Py_ssize_t size) { + assert(ob->ob_base.ob_type != &PyLong_Type); + assert(ob->ob_base.ob_type != &PyBool_Type); ob->ob_size = size; } #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 -# define Py_SET_SIZE(ob, size) Py_SET_SIZE(_PyVarObject_CAST(ob), size) +# define Py_SET_SIZE(ob, size) Py_SET_SIZE(_PyVarObject_CAST(ob), (size)) #endif @@ -226,6 +334,11 @@ typedef int (*initproc)(PyObject *, PyObject *, PyObject *); typedef PyObject *(*newfunc)(PyTypeObject *, PyObject *, PyObject *); typedef PyObject *(*allocfunc)(PyTypeObject *, Py_ssize_t); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030c0000 // 3.12 +typedef PyObject *(*vectorcallfunc)(PyObject *callable, PyObject *const *args, + size_t nargsf, PyObject *kwnames); +#endif + typedef struct{ int slot; /* slot id, see below */ void *pfunc; /* function pointer */ @@ -255,6 +368,11 @@ PyAPI_FUNC(void *) PyType_GetModuleState(PyTypeObject *); PyAPI_FUNC(PyObject *) PyType_GetName(PyTypeObject *); PyAPI_FUNC(PyObject *) PyType_GetQualName(PyTypeObject *); #endif +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030C0000 +PyAPI_FUNC(PyObject *) PyType_FromMetaclass(PyTypeObject*, PyObject*, PyType_Spec*, PyObject*); +PyAPI_FUNC(void *) PyObject_GetTypeData(PyObject *obj, PyTypeObject *cls); +PyAPI_FUNC(Py_ssize_t) PyType_GetTypeDataSize(PyTypeObject *cls); +#endif /* Generic type check */ PyAPI_FUNC(int) PyType_IsSubtype(PyTypeObject *, PyTypeObject *); @@ -263,7 +381,7 @@ static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) { return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type); } #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 -# define PyObject_TypeCheck(ob, type) PyObject_TypeCheck(_PyObject_CAST(ob), type) +# define PyObject_TypeCheck(ob, type) PyObject_TypeCheck(_PyObject_CAST(ob), (type)) #endif PyAPI_DATA(PyTypeObject) PyType_Type; /* built-in 'type' */ @@ -347,12 +465,21 @@ given type object has a specified feature. #ifndef Py_LIMITED_API +/* Track types initialized using _PyStaticType_InitBuiltin(). */ +#define _Py_TPFLAGS_STATIC_BUILTIN (1 << 1) + +/* Placement of weakref pointers are managed by the VM, not by the type. + * The VM will automatically set tp_weaklistoffset. + */ +#define Py_TPFLAGS_MANAGED_WEAKREF (1 << 3) + /* Placement of dict (and values) pointers are managed by the VM, not by the type. - * The VM will automatically set tp_dictoffset. Should not be used for variable sized - * classes, such as classes that extend tuple. + * The VM will automatically set tp_dictoffset. */ #define Py_TPFLAGS_MANAGED_DICT (1 << 4) +#define Py_TPFLAGS_PREHEADER (Py_TPFLAGS_MANAGED_WEAKREF | Py_TPFLAGS_MANAGED_DICT) + /* Set if instances of the type object are treated as sequences for pattern matching */ #define Py_TPFLAGS_SEQUENCE (1 << 5) /* Set if instances of the type object are treated as mappings for pattern matching */ @@ -373,11 +500,13 @@ given type object has a specified feature. #define Py_TPFLAGS_BASETYPE (1UL << 10) /* Set if the type implements the vectorcall protocol (PEP 590) */ -#ifndef Py_LIMITED_API +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030C0000 #define Py_TPFLAGS_HAVE_VECTORCALL (1UL << 11) +#ifndef Py_LIMITED_API // Backwards compatibility alias for API that was provisional in Python 3.8 #define _Py_TPFLAGS_HAVE_VECTORCALL Py_TPFLAGS_HAVE_VECTORCALL #endif +#endif /* Set if the type is 'ready' -- fully initialized */ #define Py_TPFLAGS_READY (1UL << 12) @@ -409,6 +538,9 @@ given type object has a specified feature. // subject itself (rather than a mapped attribute on it): #define _Py_TPFLAGS_MATCH_SELF (1UL << 22) +/* Items (ob_size*tp_itemsize) are found at the end of an instance's memory */ +#define Py_TPFLAGS_ITEMS_AT_END (1UL << 23) + /* These flags are used to determine if a type is a subclass. */ #define Py_TPFLAGS_LONG_SUBCLASS (1UL << 24) #define Py_TPFLAGS_LIST_SUBCLASS (1UL << 25) @@ -468,11 +600,12 @@ decision that's up to the implementer of each new type so if you want, you can count such references to the type object.) */ -#ifdef Py_REF_DEBUG -PyAPI_DATA(Py_ssize_t) _Py_RefTotal; +#if defined(Py_REF_DEBUG) && !defined(Py_LIMITED_API) PyAPI_FUNC(void) _Py_NegativeRefcount(const char *filename, int lineno, PyObject *op); -#endif /* Py_REF_DEBUG */ +PyAPI_FUNC(void) _Py_INCREF_IncRefTotal(void); +PyAPI_FUNC(void) _Py_DECREF_DecRefTotal(void); +#endif // Py_REF_DEBUG && !Py_LIMITED_API PyAPI_FUNC(void) _Py_Dealloc(PyObject *); @@ -488,52 +621,86 @@ PyAPI_FUNC(void) Py_DecRef(PyObject *); PyAPI_FUNC(void) _Py_IncRef(PyObject *); PyAPI_FUNC(void) _Py_DecRef(PyObject *); -static inline void Py_INCREF(PyObject *op) +static inline Py_ALWAYS_INLINE void Py_INCREF(PyObject *op) { -#if defined(Py_REF_DEBUG) && defined(Py_LIMITED_API) && Py_LIMITED_API+0 >= 0x030A0000 - // Stable ABI for Python 3.10 built in debug mode. +#if defined(Py_LIMITED_API) && (Py_LIMITED_API+0 >= 0x030c0000 || defined(Py_REF_DEBUG)) + // Stable ABI implements Py_INCREF() as a function call on limited C API + // version 3.12 and newer, and on Python built in debug mode. _Py_IncRef() + // was added to Python 3.10.0a7, use Py_IncRef() on older Python versions. + // Py_IncRef() accepts NULL whereas _Py_IncRef() doesn't. +# if Py_LIMITED_API+0 >= 0x030a00A7 _Py_IncRef(op); +# else + Py_IncRef(op); +# endif #else // Non-limited C API and limited C API for Python 3.9 and older access // directly PyObject.ob_refcnt. -#ifdef Py_REF_DEBUG - _Py_RefTotal++; -#endif +#if SIZEOF_VOID_P > 4 + // Portable saturated add, branching on the carry flag and set low bits + PY_UINT32_T cur_refcnt = op->ob_refcnt_split[PY_BIG_ENDIAN]; + PY_UINT32_T new_refcnt = cur_refcnt + 1; + if (new_refcnt == 0) { + return; + } + op->ob_refcnt_split[PY_BIG_ENDIAN] = new_refcnt; +#else + // Explicitly check immortality against the immortal value + if (_Py_IsImmortal(op)) { + return; + } op->ob_refcnt++; +#endif + _Py_INCREF_STAT_INC(); +#ifdef Py_REF_DEBUG + _Py_INCREF_IncRefTotal(); +#endif #endif } #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 # define Py_INCREF(op) Py_INCREF(_PyObject_CAST(op)) #endif - -#if defined(Py_REF_DEBUG) && defined(Py_LIMITED_API) && Py_LIMITED_API+0 >= 0x030A0000 -// Stable ABI for limited C API version 3.10 of Python debug build +#if defined(Py_LIMITED_API) && (Py_LIMITED_API+0 >= 0x030c0000 || defined(Py_REF_DEBUG)) +// Stable ABI implements Py_DECREF() as a function call on limited C API +// version 3.12 and newer, and on Python built in debug mode. _Py_DecRef() was +// added to Python 3.10.0a7, use Py_DecRef() on older Python versions. +// Py_DecRef() accepts NULL whereas _Py_IncRef() doesn't. static inline void Py_DECREF(PyObject *op) { +# if Py_LIMITED_API+0 >= 0x030a00A7 _Py_DecRef(op); +# else + Py_DecRef(op); +# endif } #define Py_DECREF(op) Py_DECREF(_PyObject_CAST(op)) #elif defined(Py_REF_DEBUG) static inline void Py_DECREF(const char *filename, int lineno, PyObject *op) { - _Py_RefTotal--; - if (--op->ob_refcnt != 0) { - if (op->ob_refcnt < 0) { - _Py_NegativeRefcount(filename, lineno, op); - } + if (op->ob_refcnt <= 0) { + _Py_NegativeRefcount(filename, lineno, op); } - else { + if (_Py_IsImmortal(op)) { + return; + } + _Py_DECREF_STAT_INC(); + _Py_DECREF_DecRefTotal(); + if (--op->ob_refcnt == 0) { _Py_Dealloc(op); } } #define Py_DECREF(op) Py_DECREF(__FILE__, __LINE__, _PyObject_CAST(op)) #else -static inline void Py_DECREF(PyObject *op) +static inline Py_ALWAYS_INLINE void Py_DECREF(PyObject *op) { // Non-limited C API and limited C API for Python 3.9 and older access // directly PyObject.ob_refcnt. + if (_Py_IsImmortal(op)) { + return; + } + _Py_DECREF_STAT_INC(); if (--op->ob_refcnt == 0) { _Py_Dealloc(op); } @@ -575,15 +742,44 @@ static inline void Py_DECREF(PyObject *op) * one of those can't cause problems -- but in part that relies on that * Python integers aren't currently weakly referencable. Best practice is * to use Py_CLEAR() even if you can't think of a reason for why you need to. + * + * gh-98724: Use a temporary variable to only evaluate the macro argument once, + * to avoid the duplication of side effects if the argument has side effects. + * + * gh-99701: If the PyObject* type is used with casting arguments to PyObject*, + * the code can be miscompiled with strict aliasing because of type punning. + * With strict aliasing, a compiler considers that two pointers of different + * types cannot read or write the same memory which enables optimization + * opportunities. + * + * If available, use _Py_TYPEOF() to use the 'op' type for temporary variables, + * and so avoid type punning. Otherwise, use memcpy() which causes type erasure + * and so prevents the compiler to reuse an old cached 'op' value after + * Py_CLEAR(). */ -#define Py_CLEAR(op) \ - do { \ - PyObject *_py_tmp = _PyObject_CAST(op); \ - if (_py_tmp != NULL) { \ - (op) = NULL; \ - Py_DECREF(_py_tmp); \ - } \ +#ifdef _Py_TYPEOF +#define Py_CLEAR(op) \ + do { \ + _Py_TYPEOF(op)* _tmp_op_ptr = &(op); \ + _Py_TYPEOF(op) _tmp_old_op = (*_tmp_op_ptr); \ + if (_tmp_old_op != NULL) { \ + *_tmp_op_ptr = _Py_NULL; \ + Py_DECREF(_tmp_old_op); \ + } \ } while (0) +#else +#define Py_CLEAR(op) \ + do { \ + PyObject **_tmp_op_ptr = _Py_CAST(PyObject**, &(op)); \ + PyObject *_tmp_old_op = (*_tmp_op_ptr); \ + if (_tmp_old_op != NULL) { \ + PyObject *_null_ptr = _Py_NULL; \ + memcpy(_tmp_op_ptr, &_null_ptr, sizeof(PyObject*)); \ + Py_DECREF(_tmp_old_op); \ + } \ + } while (0) +#endif + /* Function to use in case the object pointer can be NULL: */ static inline void Py_XINCREF(PyObject *op) @@ -651,7 +847,7 @@ PyAPI_FUNC(int) Py_IsNone(PyObject *x); #define Py_IsNone(x) Py_Is((x), Py_None) /* Macro for returning Py_None from a function */ -#define Py_RETURN_NONE return Py_NewRef(Py_None) +#define Py_RETURN_NONE return Py_None /* Py_NotImplemented is a singleton used to signal that an operation is @@ -661,7 +857,7 @@ PyAPI_DATA(PyObject) _Py_NotImplementedStruct; /* Don't use this directly */ #define Py_NotImplemented (&_Py_NotImplementedStruct) /* Macro for returning Py_NotImplemented from a function */ -#define Py_RETURN_NOTIMPLEMENTED return Py_NewRef(Py_NotImplemented) +#define Py_RETURN_NOTIMPLEMENTED return Py_NotImplemented /* Rich comparison opcodes */ #define Py_LT 0 @@ -772,7 +968,7 @@ PyType_HasFeature(PyTypeObject *type, unsigned long feature) return ((flags & feature) != 0); } -#define PyType_FastSubclass(type, flag) PyType_HasFeature(type, flag) +#define PyType_FastSubclass(type, flag) PyType_HasFeature((type), (flag)) static inline int PyType_Check(PyObject *op) { return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS); diff --git a/src/external/windows/include/python/objimpl.h b/src/external/windows/include/python/objimpl.h index 11b5c7af..2824f262 100755 --- a/src/external/windows/include/python/objimpl.h +++ b/src/external/windows/include/python/objimpl.h @@ -135,14 +135,14 @@ PyAPI_FUNC(PyVarObject *) _PyObject_NewVar(PyTypeObject *, Py_ssize_t); // Alias to PyObject_New(). In Python 3.8, PyObject_NEW() called directly // PyObject_MALLOC() with _PyObject_SIZE(). -#define PyObject_NEW(type, typeobj) PyObject_New(type, typeobj) +#define PyObject_NEW(type, typeobj) PyObject_New(type, (typeobj)) #define PyObject_NewVar(type, typeobj, n) \ ( (type *) _PyObject_NewVar((typeobj), (n)) ) // Alias to PyObject_NewVar(). In Python 3.8, PyObject_NEW_VAR() called // directly PyObject_MALLOC() with _PyObject_VAR_SIZE(). -#define PyObject_NEW_VAR(type, typeobj, n) PyObject_NewVar(type, typeobj, n) +#define PyObject_NEW_VAR(type, typeobj, n) PyObject_NewVar(type, (typeobj), (n)) /* @@ -157,6 +157,25 @@ PyAPI_FUNC(int) PyGC_Enable(void); PyAPI_FUNC(int) PyGC_Disable(void); PyAPI_FUNC(int) PyGC_IsEnabled(void); + +#if !defined(Py_LIMITED_API) +/* Visit all live GC-capable objects, similar to gc.get_objects(None). The + * supplied callback is called on every such object with the void* arg set + * to the supplied arg. Returning 0 from the callback ends iteration, returning + * 1 allows iteration to continue. Returning any other value may result in + * undefined behaviour. + * + * If new objects are (de)allocated by the callback it is undefined if they + * will be visited. + + * Garbage collection is disabled during operation. Explicitly running a + * collection in the callback may lead to undefined behaviour e.g. visiting the + * same objects multiple times or not at all. + */ +typedef int (*gcvisitobjects_t)(PyObject*, void*); +PyAPI_FUNC(void) PyUnstable_GC_VisitObjects(gcvisitobjects_t callback, void* arg); +#endif + /* Test if a type has a GC head */ #define PyType_IS_GC(t) PyType_HasFeature((t), Py_TPFLAGS_HAVE_GC) diff --git a/src/external/windows/include/python/opcode.h b/src/external/windows/include/python/opcode.h index 27cd9368..c132c99a 100755 --- a/src/external/windows/include/python/opcode.h +++ b/src/external/windows/include/python/opcode.h @@ -1,4 +1,4 @@ -// Auto-generated by Tools/scripts/generate_opcode_h.py from Lib/opcode.py +// Auto-generated by Tools/build/generate_opcode_h.py from Lib/opcode.py #ifndef Py_OPCODE_H #define Py_OPCODE_H @@ -11,12 +11,17 @@ extern "C" { #define CACHE 0 #define POP_TOP 1 #define PUSH_NULL 2 +#define INTERPRETER_EXIT 3 +#define END_FOR 4 +#define END_SEND 5 #define NOP 9 -#define UNARY_POSITIVE 10 #define UNARY_NEGATIVE 11 #define UNARY_NOT 12 #define UNARY_INVERT 15 +#define RESERVED 17 #define BINARY_SUBSCR 25 +#define BINARY_SLICE 26 +#define STORE_SLICE 27 #define GET_LEN 30 #define MATCH_MAPPING 31 #define MATCH_SEQUENCE 32 @@ -30,21 +35,17 @@ extern "C" { #define BEFORE_ASYNC_WITH 52 #define BEFORE_WITH 53 #define END_ASYNC_FOR 54 +#define CLEANUP_THROW 55 #define STORE_SUBSCR 60 #define DELETE_SUBSCR 61 #define GET_ITER 68 #define GET_YIELD_FROM_ITER 69 -#define PRINT_EXPR 70 #define LOAD_BUILD_CLASS 71 #define LOAD_ASSERTION_ERROR 74 #define RETURN_GENERATOR 75 -#define LIST_TO_TUPLE 82 #define RETURN_VALUE 83 -#define IMPORT_STAR 84 #define SETUP_ANNOTATIONS 85 -#define YIELD_VALUE 86 -#define ASYNC_GEN_WRAP 87 -#define PREP_RERAISE_STAR 88 +#define LOAD_LOCALS 87 #define POP_EXCEPT 89 #define HAVE_ARGUMENT 90 #define STORE_NAME 90 @@ -68,22 +69,22 @@ extern "C" { #define IMPORT_NAME 108 #define IMPORT_FROM 109 #define JUMP_FORWARD 110 -#define JUMP_IF_FALSE_OR_POP 111 -#define JUMP_IF_TRUE_OR_POP 112 -#define POP_JUMP_FORWARD_IF_FALSE 114 -#define POP_JUMP_FORWARD_IF_TRUE 115 +#define POP_JUMP_IF_FALSE 114 +#define POP_JUMP_IF_TRUE 115 #define LOAD_GLOBAL 116 #define IS_OP 117 #define CONTAINS_OP 118 #define RERAISE 119 #define COPY 120 +#define RETURN_CONST 121 #define BINARY_OP 122 #define SEND 123 #define LOAD_FAST 124 #define STORE_FAST 125 #define DELETE_FAST 126 -#define POP_JUMP_FORWARD_IF_NOT_NONE 128 -#define POP_JUMP_FORWARD_IF_NONE 129 +#define LOAD_FAST_CHECK 127 +#define POP_JUMP_IF_NOT_NONE 128 +#define POP_JUMP_IF_NONE 129 #define RAISE_VARARGS 130 #define GET_AWAITABLE 131 #define MAKE_FUNCTION 132 @@ -95,106 +96,141 @@ extern "C" { #define STORE_DEREF 138 #define DELETE_DEREF 139 #define JUMP_BACKWARD 140 +#define LOAD_SUPER_ATTR 141 #define CALL_FUNCTION_EX 142 +#define LOAD_FAST_AND_CLEAR 143 #define EXTENDED_ARG 144 #define LIST_APPEND 145 #define SET_ADD 146 #define MAP_ADD 147 -#define LOAD_CLASSDEREF 148 #define COPY_FREE_VARS 149 +#define YIELD_VALUE 150 #define RESUME 151 #define MATCH_CLASS 152 #define FORMAT_VALUE 155 #define BUILD_CONST_KEY_MAP 156 #define BUILD_STRING 157 -#define LOAD_METHOD 160 #define LIST_EXTEND 162 #define SET_UPDATE 163 #define DICT_MERGE 164 #define DICT_UPDATE 165 -#define PRECALL 166 #define CALL 171 #define KW_NAMES 172 -#define POP_JUMP_BACKWARD_IF_NOT_NONE 173 -#define POP_JUMP_BACKWARD_IF_NONE 174 -#define POP_JUMP_BACKWARD_IF_FALSE 175 -#define POP_JUMP_BACKWARD_IF_TRUE 176 -#define BINARY_OP_ADAPTIVE 3 -#define BINARY_OP_ADD_FLOAT 4 -#define BINARY_OP_ADD_INT 5 -#define BINARY_OP_ADD_UNICODE 6 -#define BINARY_OP_INPLACE_ADD_UNICODE 7 -#define BINARY_OP_MULTIPLY_FLOAT 8 -#define BINARY_OP_MULTIPLY_INT 13 -#define BINARY_OP_SUBTRACT_FLOAT 14 -#define BINARY_OP_SUBTRACT_INT 16 -#define BINARY_SUBSCR_ADAPTIVE 17 -#define BINARY_SUBSCR_DICT 18 -#define BINARY_SUBSCR_GETITEM 19 -#define BINARY_SUBSCR_LIST_INT 20 -#define BINARY_SUBSCR_TUPLE_INT 21 -#define CALL_ADAPTIVE 22 +#define CALL_INTRINSIC_1 173 +#define CALL_INTRINSIC_2 174 +#define LOAD_FROM_DICT_OR_GLOBALS 175 +#define LOAD_FROM_DICT_OR_DEREF 176 +#define MIN_INSTRUMENTED_OPCODE 237 +#define INSTRUMENTED_LOAD_SUPER_ATTR 237 +#define INSTRUMENTED_POP_JUMP_IF_NONE 238 +#define INSTRUMENTED_POP_JUMP_IF_NOT_NONE 239 +#define INSTRUMENTED_RESUME 240 +#define INSTRUMENTED_CALL 241 +#define INSTRUMENTED_RETURN_VALUE 242 +#define INSTRUMENTED_YIELD_VALUE 243 +#define INSTRUMENTED_CALL_FUNCTION_EX 244 +#define INSTRUMENTED_JUMP_FORWARD 245 +#define INSTRUMENTED_JUMP_BACKWARD 246 +#define INSTRUMENTED_RETURN_CONST 247 +#define INSTRUMENTED_FOR_ITER 248 +#define INSTRUMENTED_POP_JUMP_IF_FALSE 249 +#define INSTRUMENTED_POP_JUMP_IF_TRUE 250 +#define INSTRUMENTED_END_FOR 251 +#define INSTRUMENTED_END_SEND 252 +#define INSTRUMENTED_INSTRUCTION 253 +#define INSTRUMENTED_LINE 254 +#define MIN_PSEUDO_OPCODE 256 +#define SETUP_FINALLY 256 +#define SETUP_CLEANUP 257 +#define SETUP_WITH 258 +#define POP_BLOCK 259 +#define JUMP 260 +#define JUMP_NO_INTERRUPT 261 +#define LOAD_METHOD 262 +#define LOAD_SUPER_METHOD 263 +#define LOAD_ZERO_SUPER_METHOD 264 +#define LOAD_ZERO_SUPER_ATTR 265 +#define STORE_FAST_MAYBE_NULL 266 +#define MAX_PSEUDO_OPCODE 266 +#define BINARY_OP_ADD_FLOAT 6 +#define BINARY_OP_ADD_INT 7 +#define BINARY_OP_ADD_UNICODE 8 +#define BINARY_OP_INPLACE_ADD_UNICODE 10 +#define BINARY_OP_MULTIPLY_FLOAT 13 +#define BINARY_OP_MULTIPLY_INT 14 +#define BINARY_OP_SUBTRACT_FLOAT 16 +#define BINARY_OP_SUBTRACT_INT 18 +#define BINARY_SUBSCR_DICT 19 +#define BINARY_SUBSCR_GETITEM 20 +#define BINARY_SUBSCR_LIST_INT 21 +#define BINARY_SUBSCR_TUPLE_INT 22 #define CALL_PY_EXACT_ARGS 23 #define CALL_PY_WITH_DEFAULTS 24 -#define COMPARE_OP_ADAPTIVE 26 -#define COMPARE_OP_FLOAT_JUMP 27 -#define COMPARE_OP_INT_JUMP 28 -#define COMPARE_OP_STR_JUMP 29 -#define EXTENDED_ARG_QUICK 34 -#define JUMP_BACKWARD_QUICK 38 -#define LOAD_ATTR_ADAPTIVE 39 -#define LOAD_ATTR_INSTANCE_VALUE 40 -#define LOAD_ATTR_MODULE 41 -#define LOAD_ATTR_SLOT 42 -#define LOAD_ATTR_WITH_HINT 43 -#define LOAD_CONST__LOAD_FAST 44 -#define LOAD_FAST__LOAD_CONST 45 -#define LOAD_FAST__LOAD_FAST 46 -#define LOAD_GLOBAL_ADAPTIVE 47 -#define LOAD_GLOBAL_BUILTIN 48 -#define LOAD_GLOBAL_MODULE 55 -#define LOAD_METHOD_ADAPTIVE 56 -#define LOAD_METHOD_CLASS 57 -#define LOAD_METHOD_MODULE 58 -#define LOAD_METHOD_NO_DICT 59 -#define LOAD_METHOD_WITH_DICT 62 -#define LOAD_METHOD_WITH_VALUES 63 -#define PRECALL_ADAPTIVE 64 -#define PRECALL_BOUND_METHOD 65 -#define PRECALL_BUILTIN_CLASS 66 -#define PRECALL_BUILTIN_FAST_WITH_KEYWORDS 67 -#define PRECALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 72 -#define PRECALL_NO_KW_BUILTIN_FAST 73 -#define PRECALL_NO_KW_BUILTIN_O 76 -#define PRECALL_NO_KW_ISINSTANCE 77 -#define PRECALL_NO_KW_LEN 78 -#define PRECALL_NO_KW_LIST_APPEND 79 -#define PRECALL_NO_KW_METHOD_DESCRIPTOR_FAST 80 -#define PRECALL_NO_KW_METHOD_DESCRIPTOR_NOARGS 81 -#define PRECALL_NO_KW_METHOD_DESCRIPTOR_O 113 -#define PRECALL_NO_KW_STR_1 121 -#define PRECALL_NO_KW_TUPLE_1 127 -#define PRECALL_NO_KW_TYPE_1 141 -#define PRECALL_PYFUNC 143 -#define RESUME_QUICK 150 -#define STORE_ATTR_ADAPTIVE 153 -#define STORE_ATTR_INSTANCE_VALUE 154 -#define STORE_ATTR_SLOT 158 -#define STORE_ATTR_WITH_HINT 159 -#define STORE_FAST__LOAD_FAST 161 -#define STORE_FAST__STORE_FAST 167 -#define STORE_SUBSCR_ADAPTIVE 168 -#define STORE_SUBSCR_DICT 169 -#define STORE_SUBSCR_LIST_INT 170 -#define UNPACK_SEQUENCE_ADAPTIVE 177 -#define UNPACK_SEQUENCE_LIST 178 -#define UNPACK_SEQUENCE_TUPLE 179 -#define UNPACK_SEQUENCE_TWO_TUPLE 180 -#define DO_TRACING 255 +#define CALL_BOUND_METHOD_EXACT_ARGS 28 +#define CALL_BUILTIN_CLASS 29 +#define CALL_BUILTIN_FAST_WITH_KEYWORDS 34 +#define CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 38 +#define CALL_NO_KW_BUILTIN_FAST 39 +#define CALL_NO_KW_BUILTIN_O 40 +#define CALL_NO_KW_ISINSTANCE 41 +#define CALL_NO_KW_LEN 42 +#define CALL_NO_KW_LIST_APPEND 43 +#define CALL_NO_KW_METHOD_DESCRIPTOR_FAST 44 +#define CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS 45 +#define CALL_NO_KW_METHOD_DESCRIPTOR_O 46 +#define CALL_NO_KW_STR_1 47 +#define CALL_NO_KW_TUPLE_1 48 +#define CALL_NO_KW_TYPE_1 56 +#define COMPARE_OP_FLOAT 57 +#define COMPARE_OP_INT 58 +#define COMPARE_OP_STR 59 +#define FOR_ITER_LIST 62 +#define FOR_ITER_TUPLE 63 +#define FOR_ITER_RANGE 64 +#define FOR_ITER_GEN 65 +#define LOAD_SUPER_ATTR_ATTR 66 +#define LOAD_SUPER_ATTR_METHOD 67 +#define LOAD_ATTR_CLASS 70 +#define LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN 72 +#define LOAD_ATTR_INSTANCE_VALUE 73 +#define LOAD_ATTR_MODULE 76 +#define LOAD_ATTR_PROPERTY 77 +#define LOAD_ATTR_SLOT 78 +#define LOAD_ATTR_WITH_HINT 79 +#define LOAD_ATTR_METHOD_LAZY_DICT 80 +#define LOAD_ATTR_METHOD_NO_DICT 81 +#define LOAD_ATTR_METHOD_WITH_VALUES 82 +#define LOAD_CONST__LOAD_FAST 84 +#define LOAD_FAST__LOAD_CONST 86 +#define LOAD_FAST__LOAD_FAST 88 +#define LOAD_GLOBAL_BUILTIN 111 +#define LOAD_GLOBAL_MODULE 112 +#define STORE_ATTR_INSTANCE_VALUE 113 +#define STORE_ATTR_SLOT 148 +#define STORE_ATTR_WITH_HINT 153 +#define STORE_FAST__LOAD_FAST 154 +#define STORE_FAST__STORE_FAST 158 +#define STORE_SUBSCR_DICT 159 +#define STORE_SUBSCR_LIST_INT 160 +#define UNPACK_SEQUENCE_LIST 161 +#define UNPACK_SEQUENCE_TUPLE 166 +#define UNPACK_SEQUENCE_TWO_TUPLE 167 +#define SEND_GEN 168 + +#define HAS_ARG(op) ((((op) >= HAVE_ARGUMENT) && (!IS_PSEUDO_OPCODE(op)))\ + || ((op) == JUMP) \ + || ((op) == JUMP_NO_INTERRUPT) \ + || ((op) == LOAD_METHOD) \ + || ((op) == LOAD_SUPER_METHOD) \ + || ((op) == LOAD_ZERO_SUPER_METHOD) \ + || ((op) == LOAD_ZERO_SUPER_ATTR) \ + || ((op) == STORE_FAST_MAYBE_NULL) \ + ) #define HAS_CONST(op) (false\ - || ((op) == 100) \ - || ((op) == 172) \ + || ((op) == LOAD_CONST) \ + || ((op) == RETURN_CONST) \ + || ((op) == KW_NAMES) \ ) #define NB_ADD 0 @@ -224,11 +260,10 @@ extern "C" { #define NB_INPLACE_TRUE_DIVIDE 24 #define NB_INPLACE_XOR 25 -#define HAS_ARG(op) ((op) >= HAVE_ARGUMENT) +/* Defined in Lib/opcode.py */ +#define ENABLE_SPECIALIZATION 1 -/* Reserve some bytecodes for internal use in the compiler. - * The value of 240 is arbitrary. */ -#define IS_ARTIFICIAL(op) ((op) > 240) +#define IS_PSEUDO_OPCODE(op) (((op) >= MIN_PSEUDO_OPCODE) && ((op) <= MAX_PSEUDO_OPCODE)) #ifdef __cplusplus } diff --git a/src/external/windows/include/python/patchlevel.h b/src/external/windows/include/python/patchlevel.h index 240ca8d2..938ceef5 100755 --- a/src/external/windows/include/python/patchlevel.h +++ b/src/external/windows/include/python/patchlevel.h @@ -17,13 +17,13 @@ /* Version parsed out into numeric values */ /*--start constants--*/ #define PY_MAJOR_VERSION 3 -#define PY_MINOR_VERSION 11 +#define PY_MINOR_VERSION 12 #define PY_MICRO_VERSION 3 #define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_FINAL #define PY_RELEASE_SERIAL 0 /* Version as a string */ -#define PY_VERSION "3.11.3" +#define PY_VERSION "3.12.3" /*--end constants--*/ /* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2. diff --git a/src/external/windows/include/python/py_curses.h b/src/external/windows/include/python/py_curses.h index 68b847ed..3a2a1127 100755 --- a/src/external/windows/include/python/py_curses.h +++ b/src/external/windows/include/python/py_curses.h @@ -64,7 +64,7 @@ typedef struct { char *encoding; } PyCursesWindowObject; -#define PyCursesWindow_Check(v) Py_IS_TYPE(v, &PyCursesWindow_Type) +#define PyCursesWindow_Check(v) Py_IS_TYPE((v), &PyCursesWindow_Type) #define PyCurses_CAPSULE_NAME "_curses._C_API" diff --git a/src/external/windows/include/python/pybuffer.h b/src/external/windows/include/python/pybuffer.h index ec802d88..b15ec2d6 100644 --- a/src/external/windows/include/python/pybuffer.h +++ b/src/external/windows/include/python/pybuffer.h @@ -32,6 +32,9 @@ typedef struct { void *internal; } Py_buffer; +typedef int (*getbufferproc)(PyObject *, Py_buffer *, int); +typedef void (*releasebufferproc)(PyObject *, Py_buffer *); + /* Return 1 if the getbuffer function is available, otherwise return 0. */ PyAPI_FUNC(int) PyObject_CheckBuffer(PyObject *obj); @@ -101,7 +104,7 @@ PyAPI_FUNC(void) PyBuffer_Release(Py_buffer *view); /* Maximum number of dimensions */ #define PyBUF_MAX_NDIM 64 -/* Flags for getting buffers */ +/* Flags for getting buffers. Keep these in sync with inspect.BufferFlags. */ #define PyBUF_SIMPLE 0 #define PyBUF_WRITABLE 0x0001 diff --git a/src/external/windows/include/python/pycapsule.h b/src/external/windows/include/python/pycapsule.h index 9387a1c7..8164647d 100755 --- a/src/external/windows/include/python/pycapsule.h +++ b/src/external/windows/include/python/pycapsule.h @@ -22,7 +22,7 @@ PyAPI_DATA(PyTypeObject) PyCapsule_Type; typedef void (*PyCapsule_Destructor)(PyObject *); -#define PyCapsule_CheckExact(op) Py_IS_TYPE(op, &PyCapsule_Type) +#define PyCapsule_CheckExact(op) Py_IS_TYPE((op), &PyCapsule_Type) PyAPI_FUNC(PyObject *) PyCapsule_New( diff --git a/src/external/windows/include/python/pyconfig.h b/src/external/windows/include/python/pyconfig.h index b8615a7a..52b353c5 100755 --- a/src/external/windows/include/python/pyconfig.h +++ b/src/external/windows/include/python/pyconfig.h @@ -72,34 +72,51 @@ WIN32 is still required for the locale module. #define USE_SOCKET #endif +#if defined(Py_BUILD_CORE) || defined(Py_BUILD_CORE_BUILTIN) || defined(Py_BUILD_CORE_MODULE) +#include + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +#define MS_WINDOWS_DESKTOP +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) +#define MS_WINDOWS_APP +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_SYSTEM) +#define MS_WINDOWS_SYSTEM +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_GAMES) +#define MS_WINDOWS_GAMES +#endif + +/* Define to 1 if you support windows console io */ +#if defined(MS_WINDOWS_DESKTOP) || defined(MS_WINDOWS_APP) || defined(MS_WINDOWS_SYSTEM) +#define HAVE_WINDOWS_CONSOLE_IO 1 +#endif +#endif /* Py_BUILD_CORE || Py_BUILD_CORE_BUILTIN || Py_BUILD_CORE_MODULE */ /* Compiler specific defines */ /* ------------------------------------------------------------------------*/ -/* Microsoft C defines _MSC_VER */ +/* Microsoft C defines _MSC_VER, as does clang-cl.exe */ #ifdef _MSC_VER /* We want COMPILER to expand to a string containing _MSC_VER's *value*. * This is horridly tricky, because the stringization operator only works * on macro arguments, and doesn't evaluate macros passed *as* arguments. - * Attempts simpler than the following appear doomed to produce "_MSC_VER" - * literally in the string. */ #define _Py_PASTE_VERSION(SUFFIX) \ ("[MSC v." _Py_STRINGIZE(_MSC_VER) " " SUFFIX "]") /* e.g., this produces, after compile-time string catenation, - * ("[MSC v.1200 32 bit (Intel)]") + * ("[MSC v.1900 64 bit (Intel)]") * * _Py_STRINGIZE(_MSC_VER) expands to - * _Py_STRINGIZE1((_MSC_VER)) expands to - * _Py_STRINGIZE2(_MSC_VER) but as this call is the result of token-pasting - * it's scanned again for macros and so further expands to (under MSVC 6) - * _Py_STRINGIZE2(1200) which then expands to - * "1200" + * _Py_STRINGIZE1(_MSC_VER) and this second macro call is scanned + * again for macros and so further expands to + * _Py_STRINGIZE1(1900) which then expands to + * "1900" */ -#define _Py_STRINGIZE(X) _Py_STRINGIZE1((X)) -#define _Py_STRINGIZE1(X) _Py_STRINGIZE2 ## X -#define _Py_STRINGIZE2(X) #X +#define _Py_STRINGIZE(X) _Py_STRINGIZE1(X) +#define _Py_STRINGIZE1(X) #X /* MSVC defines _WINxx to differentiate the windows platform types @@ -122,13 +139,16 @@ WIN32 is still required for the locale module. */ #ifdef MS_WIN64 #if defined(_M_X64) || defined(_M_AMD64) -#if defined(__INTEL_COMPILER) +#if defined(__clang__) +#define COMPILER ("[Clang " __clang_version__ "] 64 bit (AMD64) with MSC v." _Py_STRINGIZE(_MSC_VER) " CRT]") +#define PY_SUPPORT_TIER 0 +#elif defined(__INTEL_COMPILER) #define COMPILER ("[ICC v." _Py_STRINGIZE(__INTEL_COMPILER) " 64 bit (amd64) with MSC v." _Py_STRINGIZE(_MSC_VER) " CRT]") #define PY_SUPPORT_TIER 0 #else #define COMPILER _Py_PASTE_VERSION("64 bit (AMD64)") #define PY_SUPPORT_TIER 1 -#endif /* __INTEL_COMPILER */ +#endif /* __clang__ */ #define PYD_PLATFORM_TAG "win_amd64" #elif defined(_M_ARM64) #define COMPILER _Py_PASTE_VERSION("64 bit (ARM64)") @@ -181,13 +201,16 @@ typedef _W64 int Py_ssize_t; #if defined(MS_WIN32) && !defined(MS_WIN64) #if defined(_M_IX86) -#if defined(__INTEL_COMPILER) +#if defined(__clang__) +#define COMPILER ("[Clang " __clang_version__ "] 32 bit (Intel) with MSC v." _Py_STRINGIZE(_MSC_VER) " CRT]") +#define PY_SUPPORT_TIER 0 +#elif defined(__INTEL_COMPILER) #define COMPILER ("[ICC v." _Py_STRINGIZE(__INTEL_COMPILER) " 32 bit (Intel) with MSC v." _Py_STRINGIZE(_MSC_VER) " CRT]") #define PY_SUPPORT_TIER 0 #else #define COMPILER _Py_PASTE_VERSION("32 bit (Intel)") #define PY_SUPPORT_TIER 1 -#endif /* __INTEL_COMPILER */ +#endif /* __clang__ */ #define PYD_PLATFORM_TAG "win32" #elif defined(_M_ARM) #define COMPILER _Py_PASTE_VERSION("32 bit (ARM)") @@ -209,6 +232,16 @@ typedef int pid_t; #endif /* _MSC_VER */ +/* ------------------------------------------------------------------------*/ +/* mingw and mingw-w64 define __MINGW32__ */ +#ifdef __MINGW32__ + +#ifdef _WIN64 +#define MS_WIN64 +#endif + +#endif /* __MINGW32__*/ + /* ------------------------------------------------------------------------*/ /* egcs/gnu-win32 defines __GNUC__ and _WIN32 */ #if defined(__GNUC__) && defined(_WIN32) @@ -275,17 +308,17 @@ Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */ file in their Makefile (other compilers are generally taken care of by distutils.) */ # if defined(_DEBUG) -# pragma comment(lib,"python311_d.lib") +# pragma comment(lib,"python312_d.lib") # elif defined(Py_LIMITED_API) # pragma comment(lib,"python3.lib") # else -# pragma comment(lib,"python311.lib") +# pragma comment(lib,"python312.lib") # endif /* _DEBUG */ # endif /* _MSC_VER */ # endif /* Py_BUILD_CORE */ #endif /* MS_COREDLL */ -#if defined(MS_WIN64) +#ifdef MS_WIN64 /* maintain "win32" sys.platform for backward compatibility of Python code, the Win64 API should be close enough to the Win32 API to make this preferable */ @@ -297,6 +330,7 @@ Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */ # define SIZEOF_HKEY 8 # define SIZEOF_SIZE_T 8 # define ALIGNOF_SIZE_T 8 +# define ALIGNOF_MAX_ALIGN_T 8 /* configure.ac defines HAVE_LARGEFILE_SUPPORT iff sizeof(off_t) > sizeof(long), and sizeof(long long) >= sizeof(off_t). On Win64 the second condition is not true, but if fpos_t replaces off_t @@ -318,6 +352,7 @@ Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */ # else # define SIZEOF_TIME_T 4 # endif +# define ALIGNOF_MAX_ALIGN_T 8 #endif #ifdef _DEBUG @@ -583,9 +618,6 @@ Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */ /* Define to 1 if you have the header file. */ #define HAVE_SIGNAL_H 1 -/* Define if you have the prototypes. */ -#define HAVE_STDARG_PROTOTYPES - /* Define if you have the header file. */ #define HAVE_STDDEF_H 1 diff --git a/src/external/windows/include/python/pydtrace.h b/src/external/windows/include/python/pydtrace.h index 8fac2004..abe0aee0 100755 --- a/src/external/windows/include/python/pydtrace.h +++ b/src/external/windows/include/python/pydtrace.h @@ -12,7 +12,7 @@ extern "C" { /* pydtrace_probes.h, on systems with DTrace, is auto-generated to include `PyDTrace_{PROBE}` and `PyDTrace_{PROBE}_ENABLED()` macros for every probe - defined in pydtrace_provider.d. + defined in pydtrace.d. Calling these functions must be guarded by a `PyDTrace_{PROBE}_ENABLED()` check to minimize performance impact when probing is off. For example: diff --git a/src/external/windows/include/python/pyerrors.h b/src/external/windows/include/python/pyerrors.h index 5ce49e48..650537a3 100755 --- a/src/external/windows/include/python/pyerrors.h +++ b/src/external/windows/include/python/pyerrors.h @@ -18,6 +18,8 @@ PyAPI_FUNC(PyObject *) PyErr_Occurred(void); PyAPI_FUNC(void) PyErr_Clear(void); PyAPI_FUNC(void) PyErr_Fetch(PyObject **, PyObject **, PyObject **); PyAPI_FUNC(void) PyErr_Restore(PyObject *, PyObject *, PyObject *); +PyAPI_FUNC(PyObject *) PyErr_GetRaisedException(void); +PyAPI_FUNC(void) PyErr_SetRaisedException(PyObject *); #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030b0000 PyAPI_FUNC(PyObject*) PyErr_GetHandledException(void); PyAPI_FUNC(void) PyErr_SetHandledException(PyObject *); @@ -51,6 +53,10 @@ PyAPI_FUNC(void) PyException_SetCause(PyObject *, PyObject *); PyAPI_FUNC(PyObject *) PyException_GetContext(PyObject *); PyAPI_FUNC(void) PyException_SetContext(PyObject *, PyObject *); + +PyAPI_FUNC(PyObject *) PyException_GetArgs(PyObject *); +PyAPI_FUNC(void) PyException_SetArgs(PyObject *, PyObject *); + /* */ #define PyExceptionClass_Check(x) \ @@ -62,10 +68,10 @@ PyAPI_FUNC(void) PyException_SetContext(PyObject *, PyObject *); PyAPI_FUNC(const char *) PyExceptionClass_Name(PyObject *); -#define PyExceptionInstance_Class(x) ((PyObject*)Py_TYPE(x)) +#define PyExceptionInstance_Class(x) _PyObject_CAST(Py_TYPE(x)) #define _PyBaseExceptionGroup_Check(x) \ - PyObject_TypeCheck(x, (PyTypeObject *)PyExc_BaseExceptionGroup) + PyObject_TypeCheck((x), (PyTypeObject *)PyExc_BaseExceptionGroup) /* Predefined exceptions */ diff --git a/src/external/windows/include/python/pyexpat.h b/src/external/windows/include/python/pyexpat.h index 5f5d381a..9cd10446 100755 --- a/src/external/windows/include/python/pyexpat.h +++ b/src/external/windows/include/python/pyexpat.h @@ -48,8 +48,10 @@ struct PyExpat_CAPI enum XML_Status (*SetEncoding)(XML_Parser parser, const XML_Char *encoding); int (*DefaultUnknownEncodingHandler)( void *encodingHandlerData, const XML_Char *name, XML_Encoding *info); - /* might be none for expat < 2.1.0 */ + /* might be NULL for expat < 2.1.0 */ int (*SetHashSalt)(XML_Parser parser, unsigned long hash_salt); + /* might be NULL for expat < 2.6.0 */ + XML_Bool (*SetReparseDeferralEnabled)(XML_Parser parser, XML_Bool enabled); /* always add new stuff to the end! */ }; diff --git a/src/external/windows/include/python/pymacconfig.h b/src/external/windows/include/python/pymacconfig.h index a1eccea4..06d5edbc 100755 --- a/src/external/windows/include/python/pymacconfig.h +++ b/src/external/windows/include/python/pymacconfig.h @@ -10,7 +10,9 @@ #if defined(__APPLE__) +# undef ALIGNOF_MAX_ALIGN_T # undef SIZEOF_LONG +# undef SIZEOF_LONG_DOUBLE # undef SIZEOF_PTHREAD_T # undef SIZEOF_SIZE_T # undef SIZEOF_TIME_T @@ -23,6 +25,7 @@ # undef DOUBLE_IS_BIG_ENDIAN_IEEE754 # undef DOUBLE_IS_LITTLE_ENDIAN_IEEE754 # undef HAVE_GCC_ASM_FOR_X87 +# undef HAVE_GCC_ASM_FOR_X64 # undef VA_LIST_IS_ARRAY # if defined(__LP64__) && defined(__x86_64__) @@ -80,22 +83,16 @@ #define DOUBLE_IS_LITTLE_ENDIAN_IEEE754 #endif /* __BIG_ENDIAN */ -#ifdef __i386__ +#if defined(__i386__) || defined(__x86_64__) # define HAVE_GCC_ASM_FOR_X87 +# define ALIGNOF_MAX_ALIGN_T 16 +# define HAVE_GCC_ASM_FOR_X64 1 +# define SIZEOF_LONG_DOUBLE 16 +#else +# define ALIGNOF_MAX_ALIGN_T 8 +# define SIZEOF_LONG_DOUBLE 8 #endif - /* - * The definition in pyconfig.h is only valid on the OS release - * where configure ran on and not necessarily for all systems where - * the executable can be used on. - * - * Specifically: OSX 10.4 has limited supported for '%zd', while - * 10.5 has full support for '%zd'. A binary built on 10.5 won't - * work properly on 10.4 unless we suppress the definition - * of PY_FORMAT_SIZE_T - */ -#undef PY_FORMAT_SIZE_T - #endif /* defined(_APPLE__) */ diff --git a/src/external/windows/include/python/pymacro.h b/src/external/windows/include/python/pymacro.h index c7b79218..78e9b6c8 100755 --- a/src/external/windows/include/python/pymacro.h +++ b/src/external/windows/include/python/pymacro.h @@ -3,20 +3,23 @@ // gh-91782: On FreeBSD 12, if the _POSIX_C_SOURCE and _XOPEN_SOURCE macros are // defined, disables C11 support and does not define -// the static_assert() macro. Define the static_assert() macro in Python until -// suports C11: +// the static_assert() macro. // https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=255290 -#if defined(__FreeBSD__) && !defined(static_assert) -# define static_assert _Static_assert -#endif - -// static_assert is defined in glibc from version 2.16. Before it requires -// compiler support (gcc >= 4.6) and is called _Static_assert. -// In C++ 11 static_assert is a keyword, redefining is undefined behaviour. -#if (defined(__GLIBC__) \ - && (__GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ <= 16)) \ - && !(defined(__cplusplus) && __cplusplus >= 201103L) \ - && !defined(static_assert)) +// +// macOS <= 10.10 doesn't define static_assert in assert.h at all despite +// having C11 compiler support. +// +// static_assert is defined in glibc from version 2.16. Compiler support for +// the C11 _Static_assert keyword is in gcc >= 4.6. +// +// MSVC makes static_assert a keyword in C11-17, contrary to the standards. +// +// In C++11 and C2x, static_assert is a keyword, redefining is undefined +// behaviour. So only define if building as C (if __STDC_VERSION__ is defined), +// not C++, and only for C11-17. +#if !defined(static_assert) && (defined(__GNUC__) || defined(__clang__)) \ + && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L \ + && __STDC_VERSION__ <= 201710L # define static_assert _Static_assert #endif @@ -152,4 +155,9 @@ // For example, "int x; _Py_RVALUE(x) = 1;" fails with a compiler error. #define _Py_RVALUE(EXPR) ((void)0, (EXPR)) +// Return non-zero if the type is signed, return zero if it's unsigned. +// Use "<= 0" rather than "< 0" to prevent the compiler warning: +// "comparison of unsigned expression in '< 0' is always false". +#define _Py_IS_TYPE_SIGNED(type) ((type)(-1) <= 0) + #endif /* Py_PYMACRO_H */ diff --git a/src/external/windows/include/python/pymath.h b/src/external/windows/include/python/pymath.h index b0ec907d..2cc34877 100755 --- a/src/external/windows/include/python/pymath.h +++ b/src/external/windows/include/python/pymath.h @@ -39,27 +39,24 @@ // Return 1 if float or double arg is neither infinite nor NAN, else 0. #define Py_IS_FINITE(X) isfinite(X) -/* HUGE_VAL is supposed to expand to a positive double infinity. Python - * uses Py_HUGE_VAL instead because some platforms are broken in this - * respect. We used to embed code in pyport.h to try to worm around that, - * but different platforms are broken in conflicting ways. If you're on - * a platform where HUGE_VAL is defined incorrectly, fiddle your Python - * config to #define Py_HUGE_VAL to something that works on your platform. +// Py_INFINITY: Value that evaluates to a positive double infinity. +#ifndef Py_INFINITY +# define Py_INFINITY ((double)INFINITY) +#endif + +/* Py_HUGE_VAL should always be the same as Py_INFINITY. But historically + * this was not reliable and Python did not require IEEE floats and C99 + * conformity. Prefer Py_INFINITY for new code. */ #ifndef Py_HUGE_VAL # define Py_HUGE_VAL HUGE_VAL #endif -// Py_NAN: Value that evaluates to a quiet Not-a-Number (NaN). +/* Py_NAN: Value that evaluates to a quiet Not-a-Number (NaN). The sign is + * undefined and normally not relevant, but e.g. fixed for float("nan"). + */ #if !defined(Py_NAN) -# if _Py__has_builtin(__builtin_nan) - // Built-in implementation of the ISO C99 function nan(): quiet NaN. -# define Py_NAN (__builtin_nan("")) -#else - // Use C99 NAN constant: quiet Not-A-Number. - // NAN is a float, Py_NAN is a double: cast to double. # define Py_NAN ((double)NAN) -# endif #endif #endif /* Py_PYMATH_H */ diff --git a/src/external/windows/include/python/pymem.h b/src/external/windows/include/python/pymem.h index 10b2538d..977893ec 100755 --- a/src/external/windows/include/python/pymem.h +++ b/src/external/windows/include/python/pymem.h @@ -82,13 +82,13 @@ PyAPI_FUNC(void) PyMem_Free(void *ptr); // Deprecated aliases only kept for backward compatibility. // PyMem_Del and PyMem_DEL are defined with no parameter to be able to use // them as function pointers (ex: dealloc = PyMem_Del). -#define PyMem_MALLOC(n) PyMem_Malloc(n) -#define PyMem_NEW(type, n) PyMem_New(type, n) -#define PyMem_REALLOC(p, n) PyMem_Realloc(p, n) -#define PyMem_RESIZE(p, type, n) PyMem_Resize(p, type, n) -#define PyMem_FREE(p) PyMem_Free(p) -#define PyMem_Del PyMem_Free -#define PyMem_DEL PyMem_Free +#define PyMem_MALLOC(n) PyMem_Malloc((n)) +#define PyMem_NEW(type, n) PyMem_New(type, (n)) +#define PyMem_REALLOC(p, n) PyMem_Realloc((p), (n)) +#define PyMem_RESIZE(p, type, n) PyMem_Resize((p), type, (n)) +#define PyMem_FREE(p) PyMem_Free((p)) +#define PyMem_Del(p) PyMem_Free((p)) +#define PyMem_DEL(p) PyMem_Free((p)) #ifndef Py_LIMITED_API diff --git a/src/external/windows/include/python/pyport.h b/src/external/windows/include/python/pyport.h index 2bd3d64e..2294eafc 100755 --- a/src/external/windows/include/python/pyport.h +++ b/src/external/windows/include/python/pyport.h @@ -153,32 +153,10 @@ typedef Py_ssize_t Py_ssize_clean_t; /* Largest possible value of size_t. */ #define PY_SIZE_MAX SIZE_MAX -/* Macro kept for backward compatibility: use "z" in new code. +/* Macro kept for backward compatibility: use directly "z" in new code. * - * PY_FORMAT_SIZE_T is a platform-specific modifier for use in a printf - * format to convert an argument with the width of a size_t or Py_ssize_t. - * C99 introduced "z" for this purpose, but old MSVCs had not supported it. - * Since MSVC supports "z" since (at least) 2015, we can just use "z" - * for new code. - * - * These "high level" Python format functions interpret "z" correctly on - * all platforms (Python interprets the format string itself, and does whatever - * the platform C requires to convert a size_t/Py_ssize_t argument): - * - * PyBytes_FromFormat - * PyErr_Format - * PyBytes_FromFormatV - * PyUnicode_FromFormatV - * - * Lower-level uses require that you interpolate the correct format modifier - * yourself (e.g., calling printf, fprintf, sprintf, PyOS_snprintf); for - * example, - * - * Py_ssize_t index; - * fprintf(stderr, "index %" PY_FORMAT_SIZE_T "d sucks\n", index); - * - * That will expand to %zd or to something else correct for a Py_ssize_t on - * the platform. + * PY_FORMAT_SIZE_T is a modifier for use in a printf format to convert an + * argument with the width of a size_t or Py_ssize_t: "z" (C99). */ #ifndef PY_FORMAT_SIZE_T # define PY_FORMAT_SIZE_T "z" @@ -206,7 +184,6 @@ typedef Py_ssize_t Py_ssize_clean_t; # define Py_LOCAL_INLINE(type) static inline type #endif -// bpo-28126: Py_MEMCPY is kept for backwards compatibility, #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 # define Py_MEMCPY memcpy #endif @@ -269,6 +246,10 @@ typedef Py_ssize_t Py_ssize_clean_t; #define S_ISCHR(x) (((x) & S_IFMT) == S_IFCHR) #endif +#ifndef S_ISLNK +#define S_ISLNK(x) (((x) & S_IFMT) == S_IFLNK) +#endif + #ifdef __cplusplus /* Move this down here since some C++ #include's don't like to be included inside an extern "C" */ @@ -341,6 +322,15 @@ extern "C" { #define Py_DEPRECATED(VERSION_UNUSED) #endif +// _Py_DEPRECATED_EXTERNALLY(version) +// Deprecated outside CPython core. +#ifdef Py_BUILD_CORE +#define _Py_DEPRECATED_EXTERNALLY(VERSION_UNUSED) +#else +#define _Py_DEPRECATED_EXTERNALLY(version) Py_DEPRECATED(version) +#endif + + #if defined(__clang__) #define _Py_COMP_DIAG_PUSH _Pragma("clang diagnostic push") #define _Py_COMP_DIAG_IGNORE_DEPR_DECLS \ @@ -439,11 +429,6 @@ Please be conservative with adding new ones, document them and enclose them in platform-specific #ifdefs. **************************************************************************/ -#ifdef SOLARIS -/* Unchecked */ -extern int gethostname(char *, int); -#endif - #ifdef HAVE__GETPTY #include /* we need to import mode_t */ extern char * _getpty(int *, int, mode_t, int); @@ -672,6 +657,27 @@ extern char * _getpty(int *, int, mode_t, int); # define WITH_THREAD #endif +#ifdef WITH_THREAD +# ifdef Py_BUILD_CORE +# ifdef HAVE_THREAD_LOCAL +# error "HAVE_THREAD_LOCAL is already defined" +# endif +# define HAVE_THREAD_LOCAL 1 +# ifdef thread_local +# define _Py_thread_local thread_local +# elif __STDC_VERSION__ >= 201112L && !defined(__STDC_NO_THREADS__) +# define _Py_thread_local _Thread_local +# elif defined(_MSC_VER) /* AKA NT_THREADS */ +# define _Py_thread_local __declspec(thread) +# elif defined(__GNUC__) /* includes clang */ +# define _Py_thread_local __thread +# else + // fall back to the PyThread_tss_*() API, or ignore. +# undef HAVE_THREAD_LOCAL +# endif +# endif +#endif + /* Check that ALT_SOABI is consistent with Py_TRACE_REFS: ./configure --with-trace-refs should must be used to define Py_TRACE_REFS */ #if defined(ALT_SOABI) && defined(Py_TRACE_REFS) @@ -720,6 +726,15 @@ extern char * _getpty(int *, int, mode_t, int); # define _Py__has_builtin(x) 0 #endif +// _Py_TYPEOF(expr) gets the type of an expression. +// +// Example: _Py_TYPEOF(x) x_copy = (x); +// +// The macro is only defined if GCC or clang compiler is used. +#if defined(__GNUC__) || defined(__clang__) +# define _Py_TYPEOF(expr) __typeof__(expr) +#endif + /* A convenient way for code to know if sanitizers are enabled. */ #if defined(__has_feature) @@ -733,10 +748,32 @@ extern char * _getpty(int *, int, mode_t, int); # define _Py_ADDRESS_SANITIZER # endif # endif +# if __has_feature(thread_sanitizer) +# if !defined(_Py_THREAD_SANITIZER) +# define _Py_THREAD_SANITIZER +# endif +# endif #elif defined(__GNUC__) # if defined(__SANITIZE_ADDRESS__) # define _Py_ADDRESS_SANITIZER # endif #endif + +/* AIX has __bool__ redefined in it's system header file. */ +#if defined(_AIX) && defined(__bool__) +#undef __bool__ +#endif + +// Make sure we have maximum alignment, even if the current compiler +// does not support max_align_t. Note that: +// - Autoconf reports alignment of unknown types to 0. +// - 'long double' has maximum alignment on *most* platforms, +// looks like the best we can do for pre-C11 compilers. +// - The value is tested, see test_alignof_max_align_t +#if !defined(ALIGNOF_MAX_ALIGN_T) || ALIGNOF_MAX_ALIGN_T == 0 +# undef ALIGNOF_MAX_ALIGN_T +# define ALIGNOF_MAX_ALIGN_T _Alignof(long double) +#endif + #endif /* Py_PYPORT_H */ diff --git a/src/external/windows/include/python/pystats.h b/src/external/windows/include/python/pystats.h new file mode 100644 index 00000000..f675ba8d --- /dev/null +++ b/src/external/windows/include/python/pystats.h @@ -0,0 +1,110 @@ + + +#ifndef Py_PYSTATS_H +#define Py_PYSTATS_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef Py_STATS + +#define SPECIALIZATION_FAILURE_KINDS 36 + +/* Stats for determining who is calling PyEval_EvalFrame */ +#define EVAL_CALL_TOTAL 0 +#define EVAL_CALL_VECTOR 1 +#define EVAL_CALL_GENERATOR 2 +#define EVAL_CALL_LEGACY 3 +#define EVAL_CALL_FUNCTION_VECTORCALL 4 +#define EVAL_CALL_BUILD_CLASS 5 +#define EVAL_CALL_SLOT 6 +#define EVAL_CALL_FUNCTION_EX 7 +#define EVAL_CALL_API 8 +#define EVAL_CALL_METHOD 9 + +#define EVAL_CALL_KINDS 10 + +typedef struct _specialization_stats { + uint64_t success; + uint64_t failure; + uint64_t hit; + uint64_t deferred; + uint64_t miss; + uint64_t deopt; + uint64_t failure_kinds[SPECIALIZATION_FAILURE_KINDS]; +} SpecializationStats; + +typedef struct _opcode_stats { + SpecializationStats specialization; + uint64_t execution_count; + uint64_t pair_count[256]; +} OpcodeStats; + +typedef struct _call_stats { + uint64_t inlined_py_calls; + uint64_t pyeval_calls; + uint64_t frames_pushed; + uint64_t frame_objects_created; + uint64_t eval_calls[EVAL_CALL_KINDS]; +} CallStats; + +typedef struct _object_stats { + uint64_t increfs; + uint64_t decrefs; + uint64_t interpreter_increfs; + uint64_t interpreter_decrefs; + uint64_t allocations; + uint64_t allocations512; + uint64_t allocations4k; + uint64_t allocations_big; + uint64_t frees; + uint64_t to_freelist; + uint64_t from_freelist; + uint64_t new_values; + uint64_t dict_materialized_on_request; + uint64_t dict_materialized_new_key; + uint64_t dict_materialized_too_big; + uint64_t dict_materialized_str_subclass; + uint64_t type_cache_hits; + uint64_t type_cache_misses; + uint64_t type_cache_dunder_hits; + uint64_t type_cache_dunder_misses; + uint64_t type_cache_collisions; +} ObjectStats; + +typedef struct _stats { + OpcodeStats opcode_stats[256]; + CallStats call_stats; + ObjectStats object_stats; +} PyStats; + + +PyAPI_DATA(PyStats) _py_stats_struct; +PyAPI_DATA(PyStats *) _py_stats; + +extern void _Py_StatsClear(void); +extern void _Py_PrintSpecializationStats(int to_file); + +#ifdef _PY_INTERPRETER + +#define _Py_INCREF_STAT_INC() do { if (_py_stats) _py_stats->object_stats.interpreter_increfs++; } while (0) +#define _Py_DECREF_STAT_INC() do { if (_py_stats) _py_stats->object_stats.interpreter_decrefs++; } while (0) + +#else + +#define _Py_INCREF_STAT_INC() do { if (_py_stats) _py_stats->object_stats.increfs++; } while (0) +#define _Py_DECREF_STAT_INC() do { if (_py_stats) _py_stats->object_stats.decrefs++; } while (0) + +#endif + +#else + +#define _Py_INCREF_STAT_INC() ((void)0) +#define _Py_DECREF_STAT_INC() ((void)0) + +#endif // !Py_STATS + +#ifdef __cplusplus +} +#endif +#endif /* !Py_PYSTATs_H */ diff --git a/src/external/windows/include/python/pythonrun.h b/src/external/windows/include/python/pythonrun.h index 0a896db4..75c36723 100755 --- a/src/external/windows/include/python/pythonrun.h +++ b/src/external/windows/include/python/pythonrun.h @@ -13,6 +13,10 @@ PyAPI_FUNC(void) PyErr_Print(void); PyAPI_FUNC(void) PyErr_PrintEx(int); PyAPI_FUNC(void) PyErr_Display(PyObject *, PyObject *, PyObject *); +#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030C0000 +PyAPI_FUNC(void) PyErr_DisplayException(PyObject *); +#endif + /* Stuff with no proper home (yet) */ PyAPI_DATA(int) (*PyOS_InputHook)(void); diff --git a/src/external/windows/include/python/pythread.h b/src/external/windows/include/python/pythread.h index 42ca5b0a..3d014dc4 100755 --- a/src/external/windows/include/python/pythread.h +++ b/src/external/windows/include/python/pythread.h @@ -20,7 +20,9 @@ PyAPI_FUNC(unsigned long) PyThread_start_new_thread(void (*)(void *), void *); PyAPI_FUNC(void) _Py_NO_RETURN PyThread_exit_thread(void); PyAPI_FUNC(unsigned long) PyThread_get_thread_ident(void); -#if defined(__APPLE__) || defined(__linux__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(_WIN32) || defined(_AIX) +#if (defined(__APPLE__) || defined(__linux__) || defined(_WIN32) \ + || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) \ + || defined(__DragonFly__) || defined(_AIX)) #define PY_HAVE_THREAD_NATIVE_ID PyAPI_FUNC(unsigned long) PyThread_get_thread_native_id(void); #endif diff --git a/src/external/windows/include/python/rangeobject.h b/src/external/windows/include/python/rangeobject.h index d2105d02..3f85e50f 100755 --- a/src/external/windows/include/python/rangeobject.h +++ b/src/external/windows/include/python/rangeobject.h @@ -19,7 +19,7 @@ PyAPI_DATA(PyTypeObject) PyRange_Type; PyAPI_DATA(PyTypeObject) PyRangeIter_Type; PyAPI_DATA(PyTypeObject) PyLongRangeIter_Type; -#define PyRange_Check(op) Py_IS_TYPE(op, &PyRange_Type) +#define PyRange_Check(op) Py_IS_TYPE((op), &PyRange_Type) #ifdef __cplusplus } diff --git a/src/external/windows/include/python/setobject.h b/src/external/windows/include/python/setobject.h index 52f95caa..7c9e4c3a 100755 --- a/src/external/windows/include/python/setobject.h +++ b/src/external/windows/include/python/setobject.h @@ -20,21 +20,21 @@ PyAPI_FUNC(int) PySet_Discard(PyObject *set, PyObject *key); PyAPI_FUNC(PyObject *) PySet_Pop(PyObject *set); PyAPI_FUNC(Py_ssize_t) PySet_Size(PyObject *anyset); -#define PyFrozenSet_CheckExact(ob) Py_IS_TYPE(ob, &PyFrozenSet_Type) +#define PyFrozenSet_CheckExact(ob) Py_IS_TYPE((ob), &PyFrozenSet_Type) #define PyFrozenSet_Check(ob) \ - (Py_IS_TYPE(ob, &PyFrozenSet_Type) || \ + (Py_IS_TYPE((ob), &PyFrozenSet_Type) || \ PyType_IsSubtype(Py_TYPE(ob), &PyFrozenSet_Type)) #define PyAnySet_CheckExact(ob) \ - (Py_IS_TYPE(ob, &PySet_Type) || Py_IS_TYPE(ob, &PyFrozenSet_Type)) + (Py_IS_TYPE((ob), &PySet_Type) || Py_IS_TYPE((ob), &PyFrozenSet_Type)) #define PyAnySet_Check(ob) \ - (Py_IS_TYPE(ob, &PySet_Type) || Py_IS_TYPE(ob, &PyFrozenSet_Type) || \ + (Py_IS_TYPE((ob), &PySet_Type) || Py_IS_TYPE((ob), &PyFrozenSet_Type) || \ PyType_IsSubtype(Py_TYPE(ob), &PySet_Type) || \ PyType_IsSubtype(Py_TYPE(ob), &PyFrozenSet_Type)) #define PySet_CheckExact(op) Py_IS_TYPE(op, &PySet_Type) #define PySet_Check(ob) \ - (Py_IS_TYPE(ob, &PySet_Type) || \ + (Py_IS_TYPE((ob), &PySet_Type) || \ PyType_IsSubtype(Py_TYPE(ob), &PySet_Type)) #ifndef Py_LIMITED_API diff --git a/src/external/windows/include/python/sliceobject.h b/src/external/windows/include/python/sliceobject.h index c4150604..a903c61f 100755 --- a/src/external/windows/include/python/sliceobject.h +++ b/src/external/windows/include/python/sliceobject.h @@ -28,7 +28,7 @@ typedef struct { PyAPI_DATA(PyTypeObject) PySlice_Type; PyAPI_DATA(PyTypeObject) PyEllipsis_Type; -#define PySlice_Check(op) Py_IS_TYPE(op, &PySlice_Type) +#define PySlice_Check(op) Py_IS_TYPE((op), &PySlice_Type) PyAPI_FUNC(PyObject *) PySlice_New(PyObject* start, PyObject* stop, PyObject* step); diff --git a/src/external/windows/include/python/structmember.h b/src/external/windows/include/python/structmember.h index ea0645b5..8251c02e 100755 --- a/src/external/windows/include/python/structmember.h +++ b/src/external/windows/include/python/structmember.h @@ -5,69 +5,50 @@ extern "C" { #endif -/* Interface to map C struct members to Python object attributes */ +/* Interface to map C struct members to Python object attributes + * + * This header is deprecated: new code should not use stuff from here. + * New definitions are in descrobject.h. + * + * However, there's nothing wrong with old code continuing to use it, + * and there's not much mainenance overhead in maintaining a few aliases. + * So, don't be too eager to convert old code. + * + * It uses names not prefixed with Py_. + * It is also *not* included from Python.h and must be included individually. + */ -#include /* For offsetof */ - -/* An array of PyMemberDef structures defines the name, type and offset - of selected members of a C structure. These can be read by - PyMember_GetOne() and set by PyMember_SetOne() (except if their READONLY - flag is set). The array must be terminated with an entry whose name - pointer is NULL. */ - -struct PyMemberDef { - const char *name; - int type; - Py_ssize_t offset; - int flags; - const char *doc; -}; +#include /* For offsetof (not always provided by Python.h) */ /* Types */ -#define T_SHORT 0 -#define T_INT 1 -#define T_LONG 2 -#define T_FLOAT 3 -#define T_DOUBLE 4 -#define T_STRING 5 -#define T_OBJECT 6 -/* XXX the ordering here is weird for binary compatibility */ -#define T_CHAR 7 /* 1-character string */ -#define T_BYTE 8 /* 8-bit signed int */ -/* unsigned variants: */ -#define T_UBYTE 9 -#define T_USHORT 10 -#define T_UINT 11 -#define T_ULONG 12 - -/* Added by Jack: strings contained in the structure */ -#define T_STRING_INPLACE 13 - -/* Added by Lillo: bools contained in the structure (assumed char) */ -#define T_BOOL 14 - -#define T_OBJECT_EX 16 /* Like T_OBJECT, but raises AttributeError - when the value is NULL, instead of - converting to None. */ -#define T_LONGLONG 17 -#define T_ULONGLONG 18 - -#define T_PYSSIZET 19 /* Py_ssize_t */ -#define T_NONE 20 /* Value is always None */ - +#define T_SHORT Py_T_SHORT +#define T_INT Py_T_INT +#define T_LONG Py_T_LONG +#define T_FLOAT Py_T_FLOAT +#define T_DOUBLE Py_T_DOUBLE +#define T_STRING Py_T_STRING +#define T_OBJECT _Py_T_OBJECT +#define T_CHAR Py_T_CHAR +#define T_BYTE Py_T_BYTE +#define T_UBYTE Py_T_UBYTE +#define T_USHORT Py_T_USHORT +#define T_UINT Py_T_UINT +#define T_ULONG Py_T_ULONG +#define T_STRING_INPLACE Py_T_STRING_INPLACE +#define T_BOOL Py_T_BOOL +#define T_OBJECT_EX Py_T_OBJECT_EX +#define T_LONGLONG Py_T_LONGLONG +#define T_ULONGLONG Py_T_ULONGLONG +#define T_PYSSIZET Py_T_PYSSIZET +#define T_NONE _Py_T_NONE /* Flags */ -#define READONLY 1 -#define READ_RESTRICTED 2 -#define PY_WRITE_RESTRICTED 4 +#define READONLY Py_READONLY +#define PY_AUDIT_READ Py_AUDIT_READ +#define READ_RESTRICTED Py_AUDIT_READ +#define PY_WRITE_RESTRICTED _Py_WRITE_RESTRICTED #define RESTRICTED (READ_RESTRICTED | PY_WRITE_RESTRICTED) -#define PY_AUDIT_READ READ_RESTRICTED - -/* Current API, use this */ -PyAPI_FUNC(PyObject *) PyMember_GetOne(const char *, PyMemberDef *); -PyAPI_FUNC(int) PyMember_SetOne(char *, PyMemberDef *, PyObject *); - #ifdef __cplusplus } diff --git a/src/external/windows/include/python/structseq.h b/src/external/windows/include/python/structseq.h index 034eb8f0..65f38ebe 100755 --- a/src/external/windows/include/python/structseq.h +++ b/src/external/windows/include/python/structseq.h @@ -35,9 +35,9 @@ PyAPI_FUNC(PyObject *) PyStructSequence_New(PyTypeObject* type); typedef PyTupleObject PyStructSequence; /* Macro, *only* to be used to fill in brand new objects */ -#define PyStructSequence_SET_ITEM(op, i, v) PyTuple_SET_ITEM(op, i, v) +#define PyStructSequence_SET_ITEM(op, i, v) PyTuple_SET_ITEM((op), (i), (v)) -#define PyStructSequence_GET_ITEM(op, i) PyTuple_GET_ITEM(op, i) +#define PyStructSequence_GET_ITEM(op, i) PyTuple_GET_ITEM((op), (i)) #endif PyAPI_FUNC(void) PyStructSequence_SetItem(PyObject*, Py_ssize_t, PyObject*); diff --git a/src/external/windows/include/python/sysmodule.h b/src/external/windows/include/python/sysmodule.h index 8b42b047..fd5b38c7 100755 --- a/src/external/windows/include/python/sysmodule.h +++ b/src/external/windows/include/python/sysmodule.h @@ -29,6 +29,19 @@ Py_DEPRECATED(3.11) PyAPI_FUNC(int) PySys_HasWarnOptions(void); Py_DEPRECATED(3.11) PyAPI_FUNC(void) PySys_AddXOption(const wchar_t *); PyAPI_FUNC(PyObject *) PySys_GetXOptions(void); +#if !defined(Py_LIMITED_API) +typedef struct { + FILE* perf_map; + PyThread_type_lock map_lock; +} PerfMapState; + +PyAPI_FUNC(int) PyUnstable_PerfMapState_Init(void); + +PyAPI_FUNC(int) PyUnstable_WritePerfMapEntry(const void *code_addr, unsigned int code_size, const char *entry_name); + +PyAPI_FUNC(void) PyUnstable_PerfMapState_Fini(void); +#endif + #ifndef Py_LIMITED_API # define Py_CPYTHON_SYSMODULE_H # include "cpython/sysmodule.h" diff --git a/src/external/windows/include/python/traceback.h b/src/external/windows/include/python/traceback.h index a7b6822f..fefbd4bc 100755 --- a/src/external/windows/include/python/traceback.h +++ b/src/external/windows/include/python/traceback.h @@ -11,7 +11,7 @@ PyAPI_FUNC(int) PyTraceBack_Print(PyObject *, PyObject *); /* Reveal traceback type so we can typecheck traceback objects */ PyAPI_DATA(PyTypeObject) PyTraceBack_Type; -#define PyTraceBack_Check(v) Py_IS_TYPE(v, &PyTraceBack_Type) +#define PyTraceBack_Check(v) Py_IS_TYPE((v), &PyTraceBack_Type) #ifndef Py_LIMITED_API diff --git a/src/external/windows/include/python/tracemalloc.h b/src/external/windows/include/python/tracemalloc.h index 05b4cc16..206f5777 100755 --- a/src/external/windows/include/python/tracemalloc.h +++ b/src/external/windows/include/python/tracemalloc.h @@ -33,6 +33,40 @@ PyAPI_FUNC(int) PyTraceMalloc_Untrack( PyAPI_FUNC(PyObject*) _PyTraceMalloc_GetTraceback( unsigned int domain, uintptr_t ptr); + +/* Return non-zero if tracemalloc is tracing */ +PyAPI_FUNC(int) _PyTraceMalloc_IsTracing(void); + +/* Clear the tracemalloc traces */ +PyAPI_FUNC(void) _PyTraceMalloc_ClearTraces(void); + +/* Clear the tracemalloc traces */ +PyAPI_FUNC(PyObject *) _PyTraceMalloc_GetTraces(void); + +/* Clear tracemalloc traceback for an object */ +PyAPI_FUNC(PyObject *) _PyTraceMalloc_GetObjectTraceback(PyObject *obj); + +/* Initialize tracemalloc */ +PyAPI_FUNC(int) _PyTraceMalloc_Init(void); + +/* Start tracemalloc */ +PyAPI_FUNC(int) _PyTraceMalloc_Start(int max_nframe); + +/* Stop tracemalloc */ +PyAPI_FUNC(void) _PyTraceMalloc_Stop(void); + +/* Get the tracemalloc traceback limit */ +PyAPI_FUNC(int) _PyTraceMalloc_GetTracebackLimit(void); + +/* Get the memory usage of tracemalloc in bytes */ +PyAPI_FUNC(size_t) _PyTraceMalloc_GetMemory(void); + +/* Get the current size and peak size of traced memory blocks as a 2-tuple */ +PyAPI_FUNC(PyObject *) _PyTraceMalloc_GetTracedMemory(void); + +/* Set the peak size of traced memory blocks to the current size */ +PyAPI_FUNC(void) _PyTraceMalloc_ResetPeak(void); + #endif #endif /* !Py_TRACEMALLOC_H */ diff --git a/src/external/windows/include/python/tupleobject.h b/src/external/windows/include/python/tupleobject.h index fc6917dd..4f0af164 100755 --- a/src/external/windows/include/python/tupleobject.h +++ b/src/external/windows/include/python/tupleobject.h @@ -25,7 +25,7 @@ PyAPI_DATA(PyTypeObject) PyTupleIter_Type; #define PyTuple_Check(op) \ PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TUPLE_SUBCLASS) -#define PyTuple_CheckExact(op) Py_IS_TYPE(op, &PyTuple_Type) +#define PyTuple_CheckExact(op) Py_IS_TYPE((op), &PyTuple_Type) PyAPI_FUNC(PyObject *) PyTuple_New(Py_ssize_t size); PyAPI_FUNC(Py_ssize_t) PyTuple_Size(PyObject *); diff --git a/src/external/windows/include/python/unicodeobject.h b/src/external/windows/include/python/unicodeobject.h index b10ea826..9a291907 100755 --- a/src/external/windows/include/python/unicodeobject.h +++ b/src/external/windows/include/python/unicodeobject.h @@ -113,7 +113,7 @@ PyAPI_DATA(PyTypeObject) PyUnicodeIter_Type; #define PyUnicode_Check(op) \ PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_UNICODE_SUBCLASS) -#define PyUnicode_CheckExact(op) Py_IS_TYPE(op, &PyUnicode_Type) +#define PyUnicode_CheckExact(op) Py_IS_TYPE((op), &PyUnicode_Type) /* --- Constants ---------------------------------------------------------- */ @@ -171,13 +171,6 @@ PyAPI_FUNC(Py_ssize_t) PyUnicode_GetLength( ); #endif -/* Get the number of Py_UNICODE units in the - string representation. */ - -Py_DEPRECATED(3.3) PyAPI_FUNC(Py_ssize_t) PyUnicode_GetSize( - PyObject *unicode /* Unicode object */ - ); - #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000 /* Read a character from the string. */ @@ -198,9 +191,7 @@ PyAPI_FUNC(int) PyUnicode_WriteChar( ); #endif -/* Resize a Unicode object. The length is the number of characters, except - if the kind of the string is PyUnicode_WCHAR_KIND: in this case, the length - is the number of Py_UNICODE characters. +/* Resize a Unicode object. The length is the number of codepoints. *unicode is modified to point to the new (resized) object and 0 returned on success. @@ -265,10 +256,6 @@ PyAPI_FUNC(PyObject *) PyUnicode_InternFromString( const char *u /* UTF-8 encoded string */ ); -// PyUnicode_InternImmortal() is deprecated since Python 3.10 -// and will be removed in Python 3.12. Use PyUnicode_InternInPlace() instead. -Py_DEPRECATED(3.10) PyAPI_FUNC(void) PyUnicode_InternImmortal(PyObject **); - /* --- wchar_t support for platforms which support it --------------------- */ #ifdef HAVE_WCHAR_H @@ -639,7 +626,7 @@ PyAPI_FUNC(PyObject*) PyUnicode_AsLatin1String( /* --- ASCII Codecs ------------------------------------------------------- - Only 7-bit ASCII data is excepted. All other codes generate errors. + Only 7-bit ASCII data is expected. All other codes generate errors. */ @@ -768,38 +755,22 @@ PyAPI_FUNC(int) PyUnicode_FSConverter(PyObject*, void*); PyAPI_FUNC(int) PyUnicode_FSDecoder(PyObject*, void*); -/* Decode a null-terminated string using Py_FileSystemDefaultEncoding - and the "surrogateescape" error handler. - - If Py_FileSystemDefaultEncoding is not set, fall back to the locale - encoding. - - Use PyUnicode_DecodeFSDefaultAndSize() if the string length is known. -*/ +/* Decode a null-terminated string from the Python filesystem encoding + and error handler. + If the string length is known, use PyUnicode_DecodeFSDefaultAndSize(). */ PyAPI_FUNC(PyObject*) PyUnicode_DecodeFSDefault( const char *s /* encoded string */ ); -/* Decode a string using Py_FileSystemDefaultEncoding - and the "surrogateescape" error handler. - - If Py_FileSystemDefaultEncoding is not set, fall back to the locale - encoding. -*/ - +/* Decode a string from the Python filesystem encoding and error handler. */ PyAPI_FUNC(PyObject*) PyUnicode_DecodeFSDefaultAndSize( const char *s, /* encoded string */ Py_ssize_t size /* size */ ); -/* Encode a Unicode object to Py_FileSystemDefaultEncoding with the - "surrogateescape" error handler, and return bytes. - - If Py_FileSystemDefaultEncoding is not set, fall back to the locale - encoding. -*/ - +/* Encode a Unicode object to the Python filesystem encoding and error handler. + Return bytes. */ PyAPI_FUNC(PyObject*) PyUnicode_EncodeFSDefault( PyObject *unicode ); diff --git a/src/external/windows/include/python/weakrefobject.h b/src/external/windows/include/python/weakrefobject.h index 190a8181..74e8ebc8 100755 --- a/src/external/windows/include/python/weakrefobject.h +++ b/src/external/windows/include/python/weakrefobject.h @@ -12,12 +12,12 @@ PyAPI_DATA(PyTypeObject) _PyWeakref_RefType; PyAPI_DATA(PyTypeObject) _PyWeakref_ProxyType; PyAPI_DATA(PyTypeObject) _PyWeakref_CallableProxyType; -#define PyWeakref_CheckRef(op) PyObject_TypeCheck(op, &_PyWeakref_RefType) +#define PyWeakref_CheckRef(op) PyObject_TypeCheck((op), &_PyWeakref_RefType) #define PyWeakref_CheckRefExact(op) \ - Py_IS_TYPE(op, &_PyWeakref_RefType) + Py_IS_TYPE((op), &_PyWeakref_RefType) #define PyWeakref_CheckProxy(op) \ - (Py_IS_TYPE(op, &_PyWeakref_ProxyType) || \ - Py_IS_TYPE(op, &_PyWeakref_CallableProxyType)) + (Py_IS_TYPE((op), &_PyWeakref_ProxyType) \ + || Py_IS_TYPE((op), &_PyWeakref_CallableProxyType)) #define PyWeakref_Check(op) \ (PyWeakref_CheckRef(op) || PyWeakref_CheckProxy(op)) diff --git a/src/external/windows/lib/Win32/python311.lib b/src/external/windows/lib/Win32/python311.lib deleted file mode 100644 index ca3fb02e..00000000 Binary files a/src/external/windows/lib/Win32/python311.lib and /dev/null differ diff --git a/src/external/windows/lib/Win32/python311_d.lib b/src/external/windows/lib/Win32/python311_d.lib deleted file mode 100644 index 549a1361..00000000 Binary files a/src/external/windows/lib/Win32/python311_d.lib and /dev/null differ diff --git a/src/external/windows/lib/Win32/python312.lib b/src/external/windows/lib/Win32/python312.lib new file mode 100644 index 00000000..790a31ee Binary files /dev/null and b/src/external/windows/lib/Win32/python312.lib differ diff --git a/src/external/windows/lib/Win32/python312_d.lib b/src/external/windows/lib/Win32/python312_d.lib new file mode 100644 index 00000000..3074af1a Binary files /dev/null and b/src/external/windows/lib/Win32/python312_d.lib differ diff --git a/src/external/windows/lib/x64/python311.lib b/src/external/windows/lib/x64/python311.lib deleted file mode 100644 index 528350c0..00000000 Binary files a/src/external/windows/lib/x64/python311.lib and /dev/null differ diff --git a/src/external/windows/lib/x64/python311_d.lib b/src/external/windows/lib/x64/python311_d.lib deleted file mode 100644 index c501ba87..00000000 Binary files a/src/external/windows/lib/x64/python311_d.lib and /dev/null differ diff --git a/src/external/windows/lib/x64/python312.lib b/src/external/windows/lib/x64/python312.lib new file mode 100644 index 00000000..34bca1bc Binary files /dev/null and b/src/external/windows/lib/x64/python312.lib differ diff --git a/src/external/windows/lib/x64/python312_d.lib b/src/external/windows/lib/x64/python312_d.lib new file mode 100644 index 00000000..b3faaf85 Binary files /dev/null and b/src/external/windows/lib/x64/python312_d.lib differ diff --git a/tests/test_efro/test_dataclassio.py b/tests/test_efro/test_dataclassio.py index cae090a6..64125594 100644 --- a/tests/test_efro/test_dataclassio.py +++ b/tests/test_efro/test_dataclassio.py @@ -16,11 +16,10 @@ from typing import ( Annotated, assert_type, assert_never, + override, ) -from typing_extensions import override import pytest - from efro.util import utc_now from efro.dataclassio import ( dataclass_validate, @@ -70,6 +69,8 @@ class _NestedClass: dval: dict[int, str] = field(default_factory=dict) +# We use utc_now() for a test which is deprecated. +@pytest.mark.filterwarnings('ignore::DeprecationWarning') def test_assign() -> None: """Testing various assignments.""" diff --git a/tests/test_efro/test_message.py b/tests/test_efro/test_message.py index be5cf589..4c996236 100644 --- a/tests/test_efro/test_message.py +++ b/tests/test_efro/test_message.py @@ -8,10 +8,9 @@ from __future__ import annotations import os import logging import asyncio -from typing import TYPE_CHECKING, overload, assert_type +from typing import TYPE_CHECKING, overload, assert_type, override from dataclasses import dataclass -from typing_extensions import override import pytest from efro.error import CleanError, RemoteError, CommunicationError from efro.dataclassio import ioprepped diff --git a/tools/bacloud b/tools/bacloud index 4179b057..c136123c 100755 --- a/tools/bacloud +++ b/tools/bacloud @@ -1,4 +1,4 @@ -#!/usr/bin/env python3.11 +#!/usr/bin/env python3.12 # Released under the MIT License. See LICENSE for details. # """A tool for interacting with ballistica's cloud services. diff --git a/tools/bacommon/cloud.py b/tools/bacommon/cloud.py index dd14bb5b..4ebf4a50 100644 --- a/tools/bacommon/cloud.py +++ b/tools/bacommon/cloud.py @@ -4,10 +4,9 @@ from __future__ import annotations from dataclasses import dataclass, field -from typing import TYPE_CHECKING, Annotated +from typing import TYPE_CHECKING, Annotated, override from enum import Enum -from typing_extensions import override from efro.message import Message, Response from efro.dataclassio import ioprepped, IOAttrs from bacommon.transfer import DirectoryManifest diff --git a/tools/batools/assetsmakefile.py b/tools/batools/assetsmakefile.py index 728b21ac..c477360b 100755 --- a/tools/batools/assetsmakefile.py +++ b/tools/batools/assetsmakefile.py @@ -8,11 +8,12 @@ import json import os from typing import TYPE_CHECKING +from efrotools.pyver import PYVERNODOT + if TYPE_CHECKING: pass -# Note: code below needs updating when Python version changes (currently 3.11) -PYC_SUFFIX = '.cpython-311.opt-1.pyc' +PYC_SUFFIX = f'.cpython-{PYVERNODOT}.opt-1.pyc' ASSETS_SRC = 'src/assets' BUILD_DIR = 'build/assets' diff --git a/tools/batools/build.py b/tools/batools/build.py index f20c01c3..129b9e34 100644 --- a/tools/batools/build.py +++ b/tools/batools/build.py @@ -19,56 +19,6 @@ if TYPE_CHECKING: from typing import Sequence, Any -@dataclass -class PyRequirement: - """A Python package/module required by our project.""" - - modulename: str | None = None - minversion: list[int] | None = None # None implies no min version. - pipname: str | None = None # None implies same as modulename. - - -# Note: we look directly for modules when possible instead of just pip -# entries; this accounts for manual installations or other nonstandard -# setups. - -# Note 2: That is probably unnecessary. I'm certainly not using it. We -# can probably just replace this with a simple requirements.txt file, -# can't we? Feels like we're mostly reinventing the wheel here. We just -# need a clean way to check/list missing stuff without necessarily -# installing it. And as far as manually-installed bits, pip itself must -# have some way to allow for that, right?... - -# Note 3: Have transitioned all these to pipname only; can at least -# remove our custom module based stuff soon if nobody complains, which -# would free us to theoretically move to a requirements.txt based setup. -PY_REQUIREMENTS = [ - PyRequirement(pipname='mypy', minversion=[1, 8, 0]), - PyRequirement(pipname='pylint', minversion=[3, 0, 3]), - PyRequirement(pipname='cpplint', minversion=[1, 6, 1]), - PyRequirement(pipname='pytest', minversion=[7, 4, 4]), - PyRequirement(pipname='pytz', minversion=[2023, 3]), - PyRequirement(pipname='ansiwrap', minversion=[0, 8, 4]), - PyRequirement(pipname='requests', minversion=[2, 31, 0]), - PyRequirement(pipname='pdoc', minversion=[14, 4, 0]), - PyRequirement(pipname='PyYAML', minversion=[6, 0, 1]), - PyRequirement(pipname='black', minversion=[24, 1, 1]), - PyRequirement(pipname='typing_extensions', minversion=[4, 9, 0]), - PyRequirement(pipname='types-filelock', minversion=[3, 2, 7]), - PyRequirement(pipname='types-requests', minversion=[2, 31, 0, 20240106]), - PyRequirement(pipname='types-pytz', minversion=[2023, 3, 1, 1]), - PyRequirement(pipname='types-PyYAML', minversion=[6, 0, 12, 12]), - PyRequirement(pipname='certifi', minversion=[2023, 11, 17]), - PyRequirement(pipname='types-certifi', minversion=[2021, 10, 8, 3]), - PyRequirement(pipname='pbxproj', minversion=[4, 0, 0]), - PyRequirement(pipname='filelock', minversion=[3, 13, 1]), - PyRequirement(pipname='python-daemon', minversion=[3, 0, 1]), - PyRequirement(pipname='Sphinx', minversion=[7, 2, 6]), - PyRequirement(pipname='furo', minversion=[2024, 0o1, 29]), - PyRequirement(pipname='Jinja2', minversion=[3, 1, 2]), -] - - class PrefabTarget(Enum): """Types of prefab builds able to be run.""" @@ -384,11 +334,7 @@ def _vstr(nums: Sequence[int]) -> str: def checkenv() -> None: """Check for tools necessary to build and run the app.""" - # pylint: disable=too-many-branches - # pylint: disable=too-many-statements - # pylint: disable=too-many-locals - - from efrotools import PYTHON_BIN + from efrotools.pyver import PYVER print(f'{Clr.BLD}Checking environment...{Clr.RST}', flush=True) @@ -436,15 +382,13 @@ def checkenv() -> None: ' please install it via apt, brew, etc.' ) - # Make sure they've got our target Python version. - if ( - subprocess.run( - ['which', PYTHON_BIN], check=False, capture_output=True - ).returncode - != 0 - ): + # Make sure we're running under the Python version the project + # expects. + cur_ver = f'{sys.version_info.major}.{sys.version_info.minor}' + if cur_ver != PYVER: raise CleanError( - f'{PYTHON_BIN} is required; please install it' 'via apt, brew, etc.' + f'We expect to be running under Python {PYVER},' + f' but found {cur_ver}.' ) # Make sure they've got clang-format. @@ -461,157 +405,19 @@ def checkenv() -> None: # Make sure they've got pip for that python version. if ( subprocess.run( - [PYTHON_BIN, '-m', 'pip', '--version'], + [sys.executable, '-m', 'pip', '--version'], check=False, capture_output=True, ).returncode != 0 ): raise CleanError( - f'pip (for {PYTHON_BIN}) is required; please install it.' + f'pip (for {sys.executable}) is required; please install it.' ) - # Parse package names and versions from pip. - piplist = ( - subprocess.run( - [PYTHON_BIN, '-m', 'pip', 'list'], check=True, capture_output=True - ) - .stdout.decode() - .strip() - .splitlines() - ) - assert 'Package' in piplist[0] and 'Version' in piplist[0] - assert '--------' in piplist[1] - piplist = piplist[2:] - pipvers: dict[str, list[int]] = {} - for i, line in enumerate(piplist): - try: - pname, pverraw = line.split()[:2] - pver = [int(x) if x.isdigit() else 0 for x in pverraw.split('.')] - pipvers[pname] = pver - except Exception as exc: - raise RuntimeError( - f'Error parsing version info from line {i} of:' - f'\nBEGIN\n{piplist}\nEND' - ) from exc - - # Check for some required python modules. - # - # FIXME: since all of these come from pip now, we should just use - # pip --list to check versions on everything instead of doing it - # ad-hoc. - for req in PY_REQUIREMENTS: - try: - modname = req.modulename - minver = req.minversion - pipname = req.pipname - if modname is None: - assert pipname is not None - if pipname not in pipvers: - raise CleanError( - f'{pipname} (for {PYTHON_BIN}) is required.\n' - f'To install it, try: "{PYTHON_BIN}' - f' -m pip install {pipname}"\n' - f'Alternately, "tools/pcommand install_pip_reqs"' - f' will update all pip requirements.' - ) - if minver is not None: - vnums = pipvers[pipname] - # Seeing a decent number of version lengths fluctuating - # (one day [a,b,c,d] and the next [a,b,c]) - # So let's pad with zeros to match lengths. - while len(vnums) < len(minver): - vnums.append(0) - while len(minver) < len(vnums): - minver.append(0) - assert len(vnums) == len( - minver - ), f'unexpected version format for {pipname}: {vnums}' - if vnums < minver: - raise CleanError( - f'{pipname} ver. {_vstr(minver)} or newer' - f' is required; found {_vstr(vnums)}.\n' - f'To upgrade it, try: "{PYTHON_BIN}' - f' -m pip install --upgrade {pipname}".\n' - 'Alternately, "tools/pcommand install_pip_reqs"' - ' will update all pip requirements.' - ) - else: - if pipname is None: - pipname = modname - if minver is not None: - results = subprocess.run( - f'{PYTHON_BIN} -m {modname} --version', - shell=True, - check=False, - capture_output=True, - ) - else: - results = subprocess.run( - f'{PYTHON_BIN} -c "import {modname}"', - shell=True, - check=False, - capture_output=True, - ) - if results.returncode != 0: - raise CleanError( - f'{pipname} (for {PYTHON_BIN}) is required.\n' - f'To install it, try: "{PYTHON_BIN}' - f' -m pip install {pipname}"\n' - f'Alternately, "tools/pcommand install_pip_reqs"' - f' will update all pip requirements.' - ) - if minver is not None: - # Note: some modules such as pytest print - # their version to stderr, so grab both. - verlines = ( - (results.stdout + results.stderr).decode().splitlines() - ) - if verlines[0].startswith('Cpplint fork'): - verlines = verlines[1:] - ver_line = verlines[0] - assert modname in ver_line - - # Choking on 'mypy 0.xx (compiled: yes)' - if '(compiled: ' in ver_line: - ver_line = ' '.join(ver_line.split()[:2]) - try: - vnums = [ - int(x) for x in ver_line.split()[-1].split('.') - ] - except Exception: - print( - f'ERROR PARSING VER LINE for {req}:' - f' \'{ver_line}\'' - ) - raise - assert len(vnums) == len(minver) - if vnums < minver: - raise CleanError( - f'{pipname} ver. {_vstr(minver)} or newer' - f' is required; found {_vstr(vnums)}.\n' - f'To upgrade it, try: "{PYTHON_BIN}' - f' -m pip install --upgrade {pipname}".\n' - 'Alternately, "tools/pcommand install_pip_reqs"' - ' will update all pip requirements.' - ) - except Exception: - print(f'ERROR CHECKING PIP REQ \'{req}\'') - raise - print(f'{Clr.BLD}Environment ok.{Clr.RST}', flush=True) -def get_pip_reqs() -> list[str]: - """Return the pip requirements needed to build/run stuff.""" - out: list[str] = [] - for req in PY_REQUIREMENTS: - name = req.modulename if req.pipname is None else req.pipname - assert isinstance(name, str) - out.append(name) - return out - - def _get_server_config_raw_contents(projroot: str) -> str: import textwrap @@ -737,7 +543,8 @@ def cmake_prep_dir(dirname: str, verbose: bool = False) -> None: """ # pylint: disable=too-many-locals import json - from efrotools import PYVER + + from efrotools.pyver import PYVER @dataclass class Entry: diff --git a/tools/batools/dummymodule.py b/tools/batools/dummymodule.py index 0b45a489..5b98372f 100755 --- a/tools/batools/dummymodule.py +++ b/tools/batools/dummymodule.py @@ -1,5 +1,7 @@ # Released under the MIT License. See LICENSE for details. # +# pylint: disable=too-many-lines + """Generates dummy .py modules based on binary modules. This allows us to use code introspection tools such as pylint without spinning @@ -14,6 +16,7 @@ import os import types import textwrap import subprocess +from pathlib import Path from typing import TYPE_CHECKING from efro.error import CleanError @@ -778,14 +781,15 @@ def _writeclasses(module: ModuleType, classnames: Sequence[str]) -> str: class Generator: """Context for a module generation pass.""" - def __init__(self, modulename: str, outfilename: str): + def __init__(self, projroot: str, modulename: str, outfilename: str): + self.projroot = projroot self.mname = modulename self.outfilename = outfilename def run(self) -> None: """Run the actual generation from within the app context.""" - from efrotools import get_public_license + from efrotools.project import get_public_legal_notice from efrotools.code import format_python_str module = __import__(self.mname) @@ -813,12 +817,12 @@ class Generator: funcnames.sort() classnames.sort() typing_imports = ( - 'TYPE_CHECKING, overload, Sequence, TypeVar' + 'TYPE_CHECKING, overload, override, Sequence, TypeVar' if self.mname == '_babase' else ( - 'TYPE_CHECKING, overload, TypeVar' + 'TYPE_CHECKING, overload, override, TypeVar' if self.mname == '_bascenev1' - else 'TYPE_CHECKING, TypeVar' + else 'TYPE_CHECKING, override, TypeVar' ) ) typing_imports_tc = ( @@ -851,7 +855,7 @@ class Generator: else '' if self.mname == '_bascenev1' else '' ) out = ( - get_public_license('python') + '\n' + get_public_legal_notice('python') + '\n' '#\n' f'"""A dummy stub module for the real {self.mname}.\n' '\n' @@ -893,8 +897,6 @@ class Generator: '\n' f'from typing import {typing_imports}\n' '\n' - f'from typing_extensions import override\n' - '\n' f'{enum_import_lines}' 'if TYPE_CHECKING:\n' f' from typing import {typing_imports_tc}\n' @@ -918,7 +920,7 @@ class Generator: ) # Lastly format it. - out = format_python_str(out) + out = format_python_str(Path(self.projroot), out) os.makedirs(os.path.dirname(self.outfilename), exist_ok=True) with open(self.outfilename, 'w', encoding='utf-8') as outfile: @@ -945,10 +947,18 @@ def generate_dummy_modules(projroot: str) -> None: assets=True, purpose='dummy-module generation' ) + # We need access to things like black that are installed into the project + # venv. + venvpath = '.venv/bin' + if not os.path.isdir(venvpath): + raise RuntimeError( + f'Expected project venv binary path not found: "{venvpath}".' + ) pycmd = ( f'import sys\n' f'sys.path.append("build/assets/ba_data/python")\n' f'sys.path.append("{toolsdir}")\n' + # f'sys.path.append("{venvpath}")\n' f'from batools import dummymodule\n' ) @@ -967,7 +977,7 @@ def generate_dummy_modules(projroot: str) -> None: os.path.join(projroot, builddir, f'{mname}.py') ) pycmd += ( - f'dummymodule.Generator(modulename="{mname}",' + f'dummymodule.Generator(projroot=".", modulename="{mname}",' f' outfilename="{outfilename}").run()\n' ) @@ -978,11 +988,20 @@ def generate_dummy_modules(projroot: str) -> None: flush=True, ) try: - # Note: Ask Python to kindly not scatter __pycache__ files + # Note: Ask Python to kindly *not* scatter __pycache__ files # throughout our build output. + # + # Also pass our .venv path so any recursive invocations of Python + # will properly pick up our modules (for things like black formatting). + + # pylint: disable=inconsistent-quotes subprocess.run( [binary_path, '--command', pycmd], - env=dict(os.environ, PYTHONDONTWRITEBYTECODE='1'), + env=dict( + os.environ, + PYTHONDONTWRITEBYTECODE='1', + PATH=f'.venv/bin:{os.environ["PATH"]}', + ), check=True, ) print( @@ -991,7 +1010,12 @@ def generate_dummy_modules(projroot: str) -> None: flush=True, ) - except Exception as exc2: + except Exception as exc: + if bool(False): + import logging + + logging.exception('ERROR') + # Keep our error simple here; we want focus to be on what went - # wrong withing BallisticaKit. - raise CleanError('Dummy-module generation failed.') from exc2 + # wrong within BallisticaKit. + raise CleanError('Dummy-module generation failed.') from exc diff --git a/tools/pcommand b/tools/batools/pcommandmain.py old mode 100755 new mode 100644 similarity index 97% rename from tools/pcommand rename to tools/batools/pcommandmain.py index 8493c487..278bbd6a --- a/tools/pcommand +++ b/tools/batools/pcommandmain.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3.11 # Released under the MIT License. See LICENSE for details. # """A collection of commands for use with this project. @@ -56,6 +55,7 @@ from efrotools.pcommands import ( tweak_empty_py_files, make_ensure, make_target_debug, + pur, ) from efrotools.pcommands2 import ( with_build_lock, @@ -99,8 +99,6 @@ from batools.pcommands import ( warm_start_asset_build, gen_docs_pdoc, gen_docs_sphinx, - list_pip_reqs, - install_pip_reqs, checkenv, prefab_platform, ensure_prefab_platform, @@ -141,5 +139,6 @@ from batools.pcommands2 import ( # pylint: enable=unused-import -if __name__ == '__main__': +def run_pcommand_main() -> None: + """Do the thing.""" pcommand.pcommand_main(globals()) diff --git a/tools/batools/pcommands.py b/tools/batools/pcommands.py index 79add57c..b8eca720 100644 --- a/tools/batools/pcommands.py +++ b/tools/batools/pcommands.py @@ -541,36 +541,6 @@ def gen_docs_sphinx() -> None: batools.docs.generate_sphinxdoc() -def list_pip_reqs() -> None: - """List Python Pip packages needed for this project.""" - from batools.build import get_pip_reqs - - pcommand.disallow_in_batch() - - print(' '.join(get_pip_reqs())) - - -def install_pip_reqs() -> None: - """Install Python Pip packages needed for this project.""" - import subprocess - from efrotools import PYTHON_BIN - from efro.terminal import Clr - from batools.build import get_pip_reqs - - pcommand.disallow_in_batch() - - # Make sure pip itself is up to date first. - subprocess.run( - [PYTHON_BIN, '-m', 'pip', 'install', '--upgrade', 'pip'], check=True - ) - - subprocess.run( - [PYTHON_BIN, '-m', 'pip', 'install', '--upgrade'] + get_pip_reqs(), - check=True, - ) - print(f'{Clr.GRN}All pip requirements installed!{Clr.RST}') - - def checkenv() -> None: """Check for tools necessary to build and run the app.""" import batools.build diff --git a/tools/batools/project/_checks.py b/tools/batools/project/_checks.py index 85694c8c..f1612d79 100755 --- a/tools/batools/project/_checks.py +++ b/tools/batools/project/_checks.py @@ -11,22 +11,17 @@ import os from efro.error import CleanError from efro.terminal import Clr -from efrotools import get_public_license, PYVER +from efrotools.project import ( + get_public_legal_notice, + get_non_public_legal_notice, + get_non_public_legal_notice_prev, +) +from efrotools.pyver import PYVER, PYVERNODOT if TYPE_CHECKING: from batools.project._updater import ProjectUpdater -def _get_legal_notice_private() -> str: - """Return the one line legal notice we expect private files to have.""" - return 'Copyright (c) 2011-2024 Eric Froemling' - - -def _get_legal_notice_private_prev() -> str: - """Allows us to auto-update.""" - return 'Copyright (c) 2011-2023 Eric Froemling' - - def check_source_files(self: ProjectUpdater) -> None: """Check project source files.""" for fsrc in self.source_files: @@ -214,9 +209,9 @@ def _check_c_license( ) -> None: # Look for public license line (public or private repo) or private # license line (private repo only) - line_private = '// ' + _get_legal_notice_private() - line_private_prev = '// ' + _get_legal_notice_private_prev() - line_public = get_public_license('c++') + line_private = '// ' + get_non_public_legal_notice() + line_private_prev = '// ' + get_non_public_legal_notice_prev() + line_public = get_public_legal_notice('c++') lnum = 0 if self.public: @@ -266,14 +261,14 @@ def check_makefiles(self: ProjectUpdater) -> None: # Make sure public repo is public-license only. if self.public: - public_license = get_public_license('makefile') + public_license = get_public_legal_notice('makefile') if public_license not in makefile: raise CleanError(f'Pub license not found in {fpath}.') # Allow both public and private license in private repo. else: if ( - _get_legal_notice_private() not in makefile - and get_public_license('makefile') not in makefile + get_non_public_legal_notice() not in makefile + and get_public_legal_notice('makefile') not in makefile ): raise CleanError(f'Priv or pub legal not found in {fpath}.') @@ -467,9 +462,9 @@ def _check_python_file_license( # In all cases, look for our one-line legal notice. # In the public case, look for the rest of our public license too. if self.license_line_checks: - public_license = get_public_license('python') - private_license = '# ' + _get_legal_notice_private() - private_license_prev = '# ' + _get_legal_notice_private_prev() + public_license = get_public_legal_notice('python') + private_license = '# ' + get_non_public_legal_notice() + private_license_prev = '# ' + get_non_public_legal_notice_prev() lnum = copyrightline if len(lines) < lnum + 1: raise RuntimeError('Not enough lines in file:', fname) @@ -592,6 +587,7 @@ def check_sync_states(self: ProjectUpdater) -> None: def check_misc(self: ProjectUpdater) -> None: """Check misc project stuff.""" + from efrotools import readfile, replace_exact # Make sure we're set to prod master server. (but ONLY when # checking; still want to be able to run updates). @@ -612,3 +608,54 @@ def check_misc(self: ProjectUpdater) -> None: != '1' ): raise CleanError('Not using prod v2 master server.') + + # Make sure we've got the right Python version in a few files. + if not self.public: + + # Make sure android cmake stuff links against current python version. + fpath = ( + 'ballisticakit-android/BallisticaKit/src/main/cpp/CMakeLists.txt' + ) + contents = readfile(os.path.join(self.projroot, fpath)) + _ = replace_exact(contents, f'libpython{PYVER}d.a', 'DUMMYVAL') + _ = replace_exact(contents, f'libpython{PYVER}.a', 'DUMMYVAL') + + # Make sure assets Makefile is compiling pyc files for current + # Python version. + contents = readfile(os.path.join(self.projroot, 'src/assets/Makefile')) + _ = replace_exact( + contents, + f'$1: $$(subst /__pycache__,,$$(subst .cpython-{PYVERNODOT}' + f'.opt-1.pyc,.py,$1))', + 'DUMMYVAL', + ) + + # Make sure staged wrapper script is invoking current Python version + # on modular builds. + contents = readfile(os.path.join(self.projroot, 'tools/batools/staging.py')) + _ = replace_exact( + contents, + f'exec python{PYVER} ba_data/python/baenv.py "$@"\\n', + 'DUMMYVAL', + ) + + # Our XCode project should refer to the current Python lib serveral times. + if not self.public: + contents = readfile( + os.path.join( + self.projroot, + 'ballisticakit-xcode/BallisticaKit.xcodeproj/project.pbxproj', + ) + ) + _ = replace_exact( + contents, + '"-lpython3.12d",', + 'DUMMYVAL', + count=7, + ) + _ = replace_exact( + contents, + '"-lpython3.12",', + 'DUMMYVAL', + count=7, + ) diff --git a/tools/batools/project/_updater.py b/tools/batools/project/_updater.py index 5d820d92..885c0738 100755 --- a/tools/batools/project/_updater.py +++ b/tools/batools/project/_updater.py @@ -426,8 +426,7 @@ class ProjectUpdater: # from batools.xcode import update_xcode_project for projpath in [ - # 'ballisticakit-ios.xcodeproj/project.pbxproj', - 'ballisticakit-xcode/BallisticaKit.xcodeproj/project.pbxproj', + 'ballisticakit-xcode/BallisticaKit.xcodeproj/project.pbxproj' ]: # These currently aren't bundled in public. if self.public: diff --git a/tools/batools/pythonenumsmodule.py b/tools/batools/pythonenumsmodule.py index e7cf4cbf..daaa42c8 100755 --- a/tools/batools/pythonenumsmodule.py +++ b/tools/batools/pythonenumsmodule.py @@ -12,7 +12,7 @@ import os from typing import TYPE_CHECKING from efro.terminal import Clr -from efrotools import get_public_license +from efrotools.project import get_public_legal_notice if TYPE_CHECKING: pass @@ -155,7 +155,7 @@ def generate(projroot: str, infilename: str, outfilename: str) -> None: from batools.project import project_centric_path out = ( - get_public_license('python') + get_public_legal_notice('python') + f'\n"""Enum vals generated by {__name__}; do not edit by hand."""' f'\n\nfrom enum import Enum\n' ) diff --git a/tools/batools/spinoff/_context.py b/tools/batools/spinoff/_context.py index d61b7486..849a1ce6 100644 --- a/tools/batools/spinoff/_context.py +++ b/tools/batools/spinoff/_context.py @@ -1052,7 +1052,7 @@ class SpinoffContext: src_path.endswith('.py') or src_path in {'tools/cloudshell'} ) and out != text: self._ensure_parent_repo_tool_configs_exist() - out = format_python_str(out) + out = format_python_str(projroot=self._src_root, code=out) # Ditto for .cc if src_path.endswith('.cc') and out != text: diff --git a/tools/batools/spinoff/_main.py b/tools/batools/spinoff/_main.py index db0fa80e..eeb08eef 100644 --- a/tools/batools/spinoff/_main.py +++ b/tools/batools/spinoff/_main.py @@ -223,7 +223,9 @@ def _do_create(src_root: str | None, dst_root: str) -> None: template = replace_exact( template, '# __SRC_FEATURE_SETS__', - format_python_str(f'ctx.src_feature_sets = {featuresets!r}'), + format_python_str( + projroot=dst_root, code=f'ctx.src_feature_sets = {featuresets!r}' + ), ) with open( diff --git a/tools/batools/spinoff/_test.py b/tools/batools/spinoff/_test.py index 096f2015..3587b7cb 100644 --- a/tools/batools/spinoff/_test.py +++ b/tools/batools/spinoff/_test.py @@ -47,6 +47,7 @@ def spinoff_test(args: list[str]) -> None: featuresets = {fs.name: fs for fs in FeatureSet.get_all_for_project('.')} testtype = args[0] + assert testtype if testtype in featuresets: path = f'build/spinofftest/{testtype}' print( diff --git a/tools/batools/staging.py b/tools/batools/staging.py index 20b92523..a63436d0 100755 --- a/tools/batools/staging.py +++ b/tools/batools/staging.py @@ -12,7 +12,8 @@ from functools import partial from typing import TYPE_CHECKING from efro.terminal import Clr -from efrotools import PYVER, extract_arg, extract_flag +from efrotools import extract_arg, extract_flag +from efrotools.pyver import PYVER if TYPE_CHECKING: pass @@ -351,8 +352,8 @@ class AssetStager: # tidier. dbgsfx = '_d' if self.debug else '' - # Note: Needs updating when Python version changes (currently 3.11). - toplevelfiles: list[str] = [f'python311{dbgsfx}.dll'] + # Note: Needs updating when Python version changes (currently 3.12). + toplevelfiles: list[str] = [f'python312{dbgsfx}.dll'] if self.win_type == 'win': toplevelfiles += [ @@ -542,7 +543,7 @@ class AssetStager: '# Basically this will do:\n' '# import baenv; baenv.configure();' ' import babase; babase.app.run().\n' - 'exec python3.11 ba_data/python/baenv.py "$@"\n' + 'exec python3.12 ba_data/python/baenv.py "$@"\n' ) subprocess.run(['chmod', '+x', path], check=True) diff --git a/tools/batools/xcodeproject.py b/tools/batools/xcodeproject.py index 3a15fcad..c26042f8 100644 --- a/tools/batools/xcodeproject.py +++ b/tools/batools/xcodeproject.py @@ -36,37 +36,17 @@ def update_xcode_project( ) -> str: """Given an xcode project, update it for the current set of files.""" - pbasename = os.path.basename(path) - if pbasename.endswith('-mac.xcodeproj') or pbasename.endswith( - '-ios.xcodeproj' - ): - suffixes = ['.cc', '.h', '.m', '.mm'] - updater = Updater( - projroot, - path, - existing_data, - sorted( - p - for p in all_source_files - if os.path.splitext(p)[1] in suffixes - ), - # has_app_delegate_mm=True, - projname=projname, - ) - else: - suffixes = ['.cc', '.h', '.m', '.mm', '.swift'] - updater = Updater( - projroot, - path, - existing_data, - sorted( - p - for p in all_source_files - if os.path.splitext(p)[1] in suffixes - ), - # has_app_delegate_mm=True, - projname=projname, - ) + suffixes = ['.cc', '.h', '.m', '.mm', '.swift'] + updater = Updater( + projroot, + path, + existing_data, + sorted( + p for p in all_source_files if os.path.splitext(p)[1] in suffixes + ), + # has_app_delegate_mm=True, + projname=projname, + ) return updater.run(force=force) diff --git a/tools/efro/dataclassio/extras.py b/tools/efro/dataclassio/extras.py index c54b0c0d..b92788f7 100644 --- a/tools/efro/dataclassio/extras.py +++ b/tools/efro/dataclassio/extras.py @@ -5,9 +5,7 @@ from __future__ import annotations import dataclasses -from typing import TYPE_CHECKING - -from typing_extensions import override +from typing import TYPE_CHECKING, override if TYPE_CHECKING: from typing import Any diff --git a/tools/efro/error.py b/tools/efro/error.py index f0e561b7..5bf8bee5 100644 --- a/tools/efro/error.py +++ b/tools/efro/error.py @@ -3,11 +3,9 @@ """Common errors and related functionality.""" from __future__ import annotations -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override import errno -from typing_extensions import override - if TYPE_CHECKING: from typing import Any diff --git a/tools/efro/log.py b/tools/efro/log.py index e33e10a1..0c1cf9a9 100644 --- a/tools/efro/log.py +++ b/tools/efro/log.py @@ -12,10 +12,9 @@ import itertools from enum import Enum from collections import deque from dataclasses import dataclass, field -from typing import TYPE_CHECKING, Annotated +from typing import TYPE_CHECKING, Annotated, override from threading import Thread, current_thread, Lock -from typing_extensions import override from efro.util import utc_now from efro.call import tpartial from efro.terminal import Clr diff --git a/tools/efro/message/_protocol.py b/tools/efro/message/_protocol.py index 57dd80a2..b9b01440 100644 --- a/tools/efro/message/_protocol.py +++ b/tools/efro/message/_protocol.py @@ -386,7 +386,6 @@ class MessageProtocol: f'\n' f'from typing import TYPE_CHECKING{ovld}{ovld2}\n' f'\n' - # f'from typing_extensions import override\n' f'{import_lines}' f'\n' f'if TYPE_CHECKING:\n' diff --git a/tools/efrotools/__init__.py b/tools/efrotools/__init__.py index 33cc1aa5..5b678587 100644 --- a/tools/efrotools/__init__.py +++ b/tools/efrotools/__init__.py @@ -12,22 +12,14 @@ live client or server code. from __future__ import annotations import os -import sys import json from pathlib import Path from typing import TYPE_CHECKING, overload + if TYPE_CHECKING: from typing import Sequence, Any, Literal -# Python major version we're using for all this stuff. -PYVER = '3.11' - -# Python binary assumed by these tools. -# PYTHON_BIN = f 'python{PYVER}' if platform.system() != 'Windows' else 'python' -# Update; just using the same executable used to launch us. -PYTHON_BIN = sys.executable - # Cache these since we may repeatedly fetch these in batch mode. _g_project_configs: dict[str, dict[str, Any]] = {} _g_local_configs: dict[str, dict[str, Any]] = {} @@ -173,26 +165,6 @@ def replace_section( return f'{before_begin}{replace_text}{after_end}' -def get_public_license(style: str) -> str: - """Return the license notice as used for our public facing stuff. - - 'style' arg can be 'python', 'c++', or 'makefile, or 'raw'. - """ - if style == 'raw': - return 'Released under the MIT License. See LICENSE for details.' - if style == 'python': - # Add a line at the bottom since our python-formatters tend to smush - # our code up against the license; this keeps things a bit more - # visually separated. - return '# Released under the MIT License. See LICENSE for details.' - if style == 'makefile': - # Basically same as python except without the last line. - return '# Released under the MIT License. See LICENSE for details.' - if style == 'c++': - return '// Released under the MIT License. See LICENSE for details.' - raise RuntimeError(f'Invalid style: {style}') - - def readfile(path: str | Path) -> str: """Read a utf-8 text file into a string.""" with open(path, encoding='utf-8') as infile: diff --git a/tools/efrotools/code.py b/tools/efrotools/code.py index 762c0961..06ca91dc 100644 --- a/tools/efrotools/code.py +++ b/tools/efrotools/code.py @@ -137,7 +137,7 @@ def check_cpplint(projroot: Path, full: bool) -> None: from concurrent.futures import ThreadPoolExecutor from multiprocessing import cpu_count - from efrotools import getprojectconfig, PYVER + from efrotools import getprojectconfig from efro.terminal import Clr os.chdir(projroot) @@ -183,7 +183,7 @@ def check_cpplint(projroot: Path, full: bool) -> None: def lint_file(filename: str) -> None: result = subprocess.call( [ - f'python{PYVER}', + sys.executable, # Currently (May 2023) seeing a bunch of warnings # about 'sre_compile deprecated'. Ignoring them. '-W', @@ -250,16 +250,16 @@ def get_code_filenames(projroot: Path, include_generated: bool) -> list[str]: return out -def black_base_args() -> list[str]: +def black_base_args(projroot: Path) -> list[str]: """Build base args for running black Python formatting.""" - from efrotools import PYVER + from efrotools.pyver import PYVER, get_project_python_executable pyver = 'py' + PYVER.replace('.', '') if len(pyver) != 5: raise RuntimeError('Py version filtering err.') return [ - f'python{PYVER}', + get_project_python_executable(projroot), '-m', 'black', '--target-version', @@ -283,14 +283,14 @@ def format_project_python_files(projroot: Path, full: bool) -> None: filenames = get_script_filenames(projroot) # Calc a config hash so we redo formatting after it changes. - confighash = get_string_hash(' '.join(black_base_args())) + confighash = get_string_hash(' '.join(black_base_args(projroot))) cache.update(filenames, confighash) dirtyfiles = cache.get_dirty_files() if dirtyfiles: # Run a single black command to batch everything. - cmd = black_base_args() + list(dirtyfiles) + cmd = black_base_args(projroot) + list(dirtyfiles) if subprocess.run(cmd, check=False).returncode != 0: raise CleanError( f'Black formatting failed for {len(dirtyfiles)} files.' @@ -307,14 +307,20 @@ def format_project_python_files(projroot: Path, full: bool) -> None: ) -def format_python_str(code: str) -> str: +def format_python_str(projroot: Path | str, code: str) -> str: """Run our Python formatting on the provided inline code.""" + if isinstance(projroot, str): + projroot = Path(projroot) - return subprocess.run( - black_base_args() + ['--code', code], - capture_output=True, - check=True, - ).stdout.decode() + cmd = black_base_args(projroot) + ['--code', code] + results = subprocess.run(cmd, capture_output=True, check=False) + if results.returncode == 0: + return results.stdout.decode() + + cmdprint = cmd[:-1] + [''] + raise RuntimeError( + f'Black command failed: {cmdprint}. stderr: {results.stderr.decode()}' + ) def _should_include_script(fnamefull: str) -> bool: diff --git a/tools/efrotools/genwrapper.py b/tools/efrotools/genwrapper.py new file mode 100644 index 00000000..36921296 --- /dev/null +++ b/tools/efrotools/genwrapper.py @@ -0,0 +1,79 @@ +# Released under the MIT License. See LICENSE for details. +# +"""Functionality related to android builds.""" +from __future__ import annotations + +import os +import sys +import stat +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + pass + +if __name__ == '__main__': + if len(sys.argv) not in (3, 4): + raise RuntimeError('Expected 2 args') + + from efrotools import getprojectconfig + from efrotools.project import ( + get_public_legal_notice, + get_non_public_legal_notice, + ) + + gentype = sys.argv[1] + path = sys.argv[2] + module = sys.argv[3] if len(sys.argv) > 3 else None + + # We technically could stick the 'python' or 'python3' path in, but + # let's go with the full versioned one just to keep it clear what + # we're using currently. Just need to make sure this gets re-run + # when that changes. + pybinpath = os.path.join( + os.path.abspath(os.getcwd()), '.venv', 'bin', 'python3.12' + ) + + public = getprojectconfig(projroot='.').get('public', False) + assert isinstance(public, bool) + + legalnotice: str = ( + get_public_legal_notice('raw') + if public + else get_non_public_legal_notice() + ) + if gentype == 'pcommand': + assert module is not None + contents = ( + f'#!{pybinpath}\n' + f'# {legalnotice}\n' + '# This file is autogenerated; do not hand edit.\n' + '#\n' + '"""Simple wrapper so pcommand uses our internal virtual' + ' environment."""\n' + f'from {module} import run_pcommand_main\n' + '\n' + 'if __name__ == "__main__":\n' + ' run_pcommand_main()\n' + ) + + elif gentype == 'cloudshell': + contents = ( + f'#!{pybinpath}\n' + f'# {legalnotice}\n' + '# This file is autogenerated; do not hand edit.\n' + '#\n' + '"""Simple wrapper so cloudshell uses our' + ' internal virtual environment."""\n' + 'from efrotoolsinternal.cloudshell import run_cloudshell_main\n' + '\n' + 'if __name__ == "__main__":\n' + ' run_cloudshell_main()\n' + ) + else: + raise RuntimeError(f'Unsupported gentype: {gentype}') + + with open(path, 'w', encoding='utf-8') as outfile: + outfile.write(contents) + os.chmod( + path, os.stat(path).st_mode | stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH + ) diff --git a/tools/efrotools/jsontools.py b/tools/efrotools/jsontools.py index 708bf382..bc140a50 100644 --- a/tools/efrotools/jsontools.py +++ b/tools/efrotools/jsontools.py @@ -5,9 +5,7 @@ from __future__ import annotations import json -from typing import TYPE_CHECKING - -from typing_extensions import override +from typing import TYPE_CHECKING, override if TYPE_CHECKING: from typing import Any diff --git a/tools/efrotools/message.py b/tools/efrotools/message.py index df77e936..e3a8b191 100644 --- a/tools/efrotools/message.py +++ b/tools/efrotools/message.py @@ -15,6 +15,7 @@ if TYPE_CHECKING: def standard_message_sender_gen_pcommand( + projroot: Path, basename: str, source_module: str, enable_sync_sends: bool, @@ -72,7 +73,7 @@ def standard_message_sender_gen_pcommand( enable_sync_sends=enable_sync_sends, enable_async_sends=enable_async_sends, ) - out = format_python_str(out) + out = format_python_str(projroot, out) print(f'Meta-building {Clr.BLD}{dst}{Clr.RST}') Path(dst).parent.mkdir(parents=True, exist_ok=True) @@ -81,6 +82,7 @@ def standard_message_sender_gen_pcommand( def standard_message_receiver_gen_pcommand( + projroot: Path, basename: str, source_module: str, is_async: bool, @@ -88,6 +90,7 @@ def standard_message_receiver_gen_pcommand( embedded: bool = False, ) -> None: """Used by pcommands generating efro.message receiver modules.""" + # pylint: disable=too-many-locals import efro.message from efro.terminal import Clr @@ -137,7 +140,7 @@ def standard_message_receiver_gen_pcommand( build_time_protocol_create_code=build_time_protocol_create_code, is_async=is_async, ) - out = format_python_str(out) + out = format_python_str(projroot, out) print(f'Meta-building {Clr.BLD}{dst}{Clr.RST}') Path(dst).parent.mkdir(parents=True, exist_ok=True) diff --git a/tools/efrotools/pcommands.py b/tools/efrotools/pcommands.py index 52e9440c..a5cbee2b 100644 --- a/tools/efrotools/pcommands.py +++ b/tools/efrotools/pcommands.py @@ -138,7 +138,7 @@ def xcoderun() -> None: def pyver() -> None: """Prints the Python version used by this project.""" - from efrotools import PYVER + from efrotools.pyver import PYVER pcommand.disallow_in_batch() @@ -625,7 +625,7 @@ def pytest() -> None: import os import platform import subprocess - from efrotools import getprojectconfig, PYTHON_BIN + from efrotools import getprojectconfig from efro.error import CleanError pcommand.disallow_in_batch() @@ -648,7 +648,7 @@ def pytest() -> None: # Do the thing. results = subprocess.run( - [PYTHON_BIN, '-m', 'pytest'] + sys.argv[2:], check=False + [sys.executable, '-m', 'pytest'] + sys.argv[2:], check=False ) if results.returncode != 0: sys.exit(results.returncode) diff --git a/tools/efrotools/project.py b/tools/efrotools/project.py new file mode 100644 index 00000000..b2587c8f --- /dev/null +++ b/tools/efrotools/project.py @@ -0,0 +1,42 @@ +# Released under the MIT License. See LICENSE for details. +# +"""Project related functionality.""" + +from __future__ import annotations + +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from typing import Literal + + +def get_public_legal_notice( + style: Literal['python', 'c++', 'makefile', 'raw'] +) -> str: + """Return the license notice as used for our public facing stuff. + + 'style' arg can be 'python', 'c++', or 'makefile, or 'raw'. + """ + # FIXME: Probably don't need style here for the minimal amount we're + # doing with it now. + if style == 'raw': + return 'Released under the MIT License. See LICENSE for details.' + if style == 'python': + return '# Released under the MIT License. See LICENSE for details.' + if style == 'makefile': + return '# Released under the MIT License. See LICENSE for details.' + if style == 'c++': + return '// Released under the MIT License. See LICENSE for details.' + raise RuntimeError(f'Invalid style: {style}') + + +def get_non_public_legal_notice() -> str: + """Return the one line legal notice we expect private repo files to have.""" + # TODO: Move this to project config or somewhere not hard-coded. + return 'Copyright (c) 2011-2024 Eric Froemling' + + +def get_non_public_legal_notice_prev() -> str: + """Allows us to auto-update.""" + # TODO: Move this to project config or somewhere not hard-coded. + return 'Copyright (c) 2011-2023 Eric Froemling' diff --git a/tools/efrotools/pybuild.py b/tools/efrotools/pybuild.py index 6e7117e6..a06ff671 100644 --- a/tools/efrotools/pybuild.py +++ b/tools/efrotools/pybuild.py @@ -271,7 +271,7 @@ def build_apple(arch: str, debug: bool = False) -> None: '\t# Apply target Python patches\n' f'\tcd $$(PYTHON_SRCDIR-$({tword})) && ' 'patch -p1 < $(PROJECT_DIR)/patch/Python/Python.patch\n' - f'\t/opt/homebrew/opt/python@3.11/bin/python3.11' + f'\t/opt/homebrew/opt/python@3.12/bin/python3.12' ' ../../tools/pcommand python_apple_patch' f' $$(PYTHON_SRCDIR-$({tword}))\n' ), @@ -957,6 +957,12 @@ def gather(do_android: bool, do_apple: bool) -> None: # pylint: disable=too-many-statements # pylint: disable=too-many-branches + # Currently need to avoid using nested identical quotes in fstrings + # because black chokes on them, even though pylint wants us to. + # + # https://github.com/psf/black/issues/3746 + # pylint: disable=inconsistent-quotes + class CompileArch(Enum): """The exhaustive set of single architectures we build for. @@ -970,10 +976,10 @@ def gather(do_android: bool, do_apple: bool) -> None: ANDROID_X86_64 = 'android_x86_64' IOS_ARM64 = 'ios_arm64' IOS_SIM_ARM64 = 'ios_simulator_arm64' - IOS_SIM_X86_64 = 'ios_simulator_x86_64' + # IOS_SIM_X86_64 = 'ios_simulator_x86_64' TVOS_ARM64 = 'tvos_arm64' TVOS_SIM_ARM64 = 'tvos_simulator_arm64' - TVOS_SIM_X86_64 = 'tvos_simulator_x86_64' + # TVOS_SIM_X86_64 = 'tvos_simulator_x86_64' MAC_ARM64 = 'mac_arm64' MAC_X86_64 = 'mac_x86_64' @@ -1035,15 +1041,29 @@ def gather(do_android: bool, do_apple: bool) -> None: } # Where some support libraries got built to. + # NOTE: Mac builds here are universal which covers x86_64 and arm64, + # but for ios/tvos/etc. we just go with arm64. The only thing that + # leaves out these days is x86_64 simulator, but we don't need to care + # about that so it's not worth the complicated lipo setup to merge + # things. bases2 = { - 'mac': f'{bases["mac"]}/merge/macOS/macosx', - 'ios': f'{bases["ios"]}/merge/iOS/iphoneos', + # 'mac': f'{bases["mac"]}/merge/macOS/macosx', + 'mac': f'{bases["mac"]}/install/macOS/macosx', + # 'ios': f'{bases["ios"]}/merge/iOS/iphoneos', + 'ios': f'{bases["ios"]}/install/iOS/iphoneos.arm64', + # 'ios_simulator': ( + # f'{bases["ios_simulator"]}/merge/iOS/iphonesimulator' + # ), 'ios_simulator': ( - f'{bases["ios_simulator"]}/merge/iOS/iphonesimulator' + f'{bases["ios_simulator"]}/install/iOS/iphonesimulator.arm64' ), - 'tvos': f'{bases["tvos"]}/merge/tvOS/appletvos', + # 'tvos': f'{bases["tvos"]}/merge/tvOS/appletvos', + 'tvos': f'{bases["tvos"]}/install/tvOS/appletvos.arm64', + # 'tvos_simulator': ( + # f'{bases["tvos_simulator"]}/merge/tvOS/appletvsimulator' + # ), 'tvos_simulator': ( - f'{bases["tvos_simulator"]}/merge/tvOS/appletvsimulator' + f'{bases["tvos_simulator"]}/install/tvOS/appletvsimulator.arm64' ), 'android_arm': f'build/python_android_arm{bsuffix}/{apost2}', 'android_arm64': f'build/python_android_arm64{bsuffix}/{apost2}', @@ -1051,8 +1071,9 @@ def gather(do_android: bool, do_apple: bool) -> None: 'android_x86_64': f'build/python_android_x86_64{bsuffix}/{apost2}', } - # Groups should point to base sets of headers and pylibs that are - # used by all builds in the group. + # Groups should point to base sets of headers and pylibs that + # are used by all builds in the group. + # # Note we point to a bunch of bases here but that is only for # sanity check purposes (to make sure they are all identical); # only the first actually gets used. @@ -1128,7 +1149,8 @@ def gather(do_android: bool, do_apple: bool) -> None: out = [ ( f'{bases2[base]}/python-{PY_VER_EXACT_APPLE}' - f'/libPython{PY_VER_APPLE}.a' + # f'/libPython{PY_VER_APPLE}.a' + f'/lib/libpython{PY_VER_APPLE}{debug_d}.a' ), f'{bases2[base]}/openssl-{OPENSSL_VER_APPLE}/lib/libssl.a', f'{bases2[base]}/openssl-{OPENSSL_VER_APPLE}/lib/libcrypto.a', @@ -1162,13 +1184,17 @@ def gather(do_android: bool, do_apple: bool) -> None: # that seems odd but I guess it's right?... config_headers={ CompileArch.MAC_ARM64: bases2['mac'] - + f'/python-{PY_VER_EXACT_APPLE}/Headers/pyconfig.h', + # + f'/python-{PY_VER_EXACT_APPLE}/Headers/pyconfig.h', + + f'/python-{PY_VER_EXACT_APPLE}/' + f'include/python{PY_VER_APPLE}{debug_d}/pyconfig.h', CompileArch.MAC_X86_64: bases2['mac'] - + f'/python-{PY_VER_EXACT_APPLE}/Headers/pyconfig.h', + # + f'/python-{PY_VER_EXACT_APPLE}/Headers/pyconfig.h', + + f'/python-{PY_VER_EXACT_APPLE}/' + f'include/python{PY_VER_APPLE}{debug_d}/pyconfig.h', }, sys_config_scripts=[ bases2['mac'] - + f'/python-{PY_VER_EXACT_APPLE}/python-stdlib/' + + f'/python-{PY_VER_EXACT_APPLE}/lib/python{PY_VER_APPLE}/' f'_sysconfigdata_{debug_d}_darwin_darwin.py' ], libs=_apple_libs('mac'), @@ -1178,15 +1204,19 @@ def gather(do_android: bool, do_apple: bool) -> None: group=groups['apple'], config_headers={ CompileArch.IOS_ARM64: bases2['ios'] - + f'/python-{PY_VER_EXACT_APPLE}/Headers/pyconfig-arm64.h', + # + f'/python-{PY_VER_EXACT_APPLE}/' + # f'Headers/pyconfig-arm64.h', + + f'/python-{PY_VER_EXACT_APPLE}/' + f'include/python{PY_VER_APPLE}{debug_d}/pyconfig.h', }, sys_config_scripts=[ - bases2['ios'] - + f'/python-{PY_VER_EXACT_APPLE}/python-stdlib/' - f'_sysconfigdata_{debug_d}_ios_iphoneos.py', - bases2['ios'] - + f'/python-{PY_VER_EXACT_APPLE}/python-stdlib/' - f'_sysconfigdata_{debug_d}_ios_iphoneos_arm64.py', + # bases2['ios'] + # + f'/python-{PY_VER_EXACT_APPLE}/' + # f'lib/python{PY_VER_APPLE}/' + # f'_sysconfigdata_{debug_d}_ios_iphoneos.py', + bases2['ios'] + f'/python-{PY_VER_EXACT_APPLE}/' + f'lib/python{PY_VER_APPLE}/' + f'_sysconfigdata_{debug_d}_ios_iphoneos-arm64.py', ], libs=_apple_libs('ios'), ), @@ -1195,20 +1225,24 @@ def gather(do_android: bool, do_apple: bool) -> None: group=groups['apple'], config_headers={ CompileArch.IOS_SIM_ARM64: bases2['ios_simulator'] - + f'/python-{PY_VER_EXACT_APPLE}/Headers/pyconfig-arm64.h', - CompileArch.IOS_SIM_X86_64: bases2['ios_simulator'] - + f'/python-{PY_VER_EXACT_APPLE}/Headers/pyconfig-x86_64.h', + # + f'/python-{PY_VER_EXACT_APPLE}/' + # 'Headers/pyconfig-arm64.h', + + f'/python-{PY_VER_EXACT_APPLE}/' + f'include/python{PY_VER_APPLE}{debug_d}/pyconfig.h', + # CompileArch.IOS_SIM_X86_64: bases2['ios_simulator'] + # + f'/python-{PY_VER_EXACT_APPLE}/' + # 'Headers/pyconfig-x86_64.h', }, sys_config_scripts=[ - bases2['ios_simulator'] - + f'/python-{PY_VER_EXACT_APPLE}/python-stdlib/' - f'_sysconfigdata_{debug_d}_ios_iphonesimulator.py', - bases2['ios_simulator'] - + f'/python-{PY_VER_EXACT_APPLE}/python-stdlib/' - f'_sysconfigdata_{debug_d}_ios_iphonesimulator_arm64.py', - bases2['ios_simulator'] - + f'/python-{PY_VER_EXACT_APPLE}/python-stdlib/' - f'_sysconfigdata_{debug_d}_ios_iphonesimulator_x86_64.py', + # bases2['ios_simulator'] + # + f'/python-{PY_VER_EXACT_APPLE}/python-stdlib/' + # f'_sysconfigdata_{debug_d}_ios_iphonesimulator.py', + bases2['ios_simulator'] + f'/python-{PY_VER_EXACT_APPLE}/' + f'lib/python{PY_VER_APPLE}/' + f'_sysconfigdata_{debug_d}_ios_iphonesimulator-arm64.py', + # bases2['ios_simulator'] + # + f'/python-{PY_VER_EXACT_APPLE}/python-stdlib/' + # f'_sysconfigdata_{debug_d}_ios_iphonesimulator_x86_64.py', ], libs=_apple_libs('ios_simulator'), ), @@ -1217,15 +1251,18 @@ def gather(do_android: bool, do_apple: bool) -> None: group=groups['apple'], config_headers={ CompileArch.TVOS_ARM64: bases2['tvos'] - + f'/python-{PY_VER_EXACT_APPLE}/Headers/pyconfig-arm64.h', + + f'/python-{PY_VER_EXACT_APPLE}/' + f'include/python{PY_VER_APPLE}{debug_d}/pyconfig.h', + # + f'/python-{PY_VER_EXACT_APPLE}/ + # Headers/pyconfig-arm64.h', }, sys_config_scripts=[ - bases2['tvos'] - + f'/python-{PY_VER_EXACT_APPLE}/python-stdlib/' - f'_sysconfigdata_{debug_d}_tvos_appletvos.py', - bases2['tvos'] - + f'/python-{PY_VER_EXACT_APPLE}/python-stdlib/' - f'_sysconfigdata_{debug_d}_tvos_appletvos_arm64.py', + # bases2['tvos'] + # + f'/python-{PY_VER_EXACT_APPLE}/python-stdlib/' + # f'_sysconfigdata_{debug_d}_tvos_appletvos.py', + bases2['tvos'] + f'/python-{PY_VER_EXACT_APPLE}/' + f'lib/python{PY_VER_APPLE}/' + f'_sysconfigdata_{debug_d}_tvos_appletvos-arm64.py', ], libs=_apple_libs('tvos'), ), @@ -1234,20 +1271,23 @@ def gather(do_android: bool, do_apple: bool) -> None: group=groups['apple'], config_headers={ CompileArch.TVOS_SIM_ARM64: bases2['tvos_simulator'] - + f'/python-{PY_VER_EXACT_APPLE}/Headers/pyconfig-arm64.h', - CompileArch.TVOS_SIM_X86_64: bases2['ios_simulator'] - + f'/python-{PY_VER_EXACT_APPLE}/Headers/pyconfig-x86_64.h', + + f'/python-{PY_VER_EXACT_APPLE}/' + f'include/python{PY_VER_APPLE}{debug_d}/pyconfig.h', + # CompileArch.TVOS_SIM_X86_64: bases2['ios_simulator'] + # + f'/python-{PY_VER_EXACT_APPLE}/' + # f'Headers/pyconfig-x86_64.h', }, sys_config_scripts=[ - bases2['tvos_simulator'] - + f'/python-{PY_VER_EXACT_APPLE}/python-stdlib/' - f'_sysconfigdata_{debug_d}_tvos_appletvsimulator.py', - bases2['tvos_simulator'] - + f'/python-{PY_VER_EXACT_APPLE}/python-stdlib/' - f'_sysconfigdata_{debug_d}_tvos_appletvsimulator_arm64.py', - bases2['tvos_simulator'] - + f'/python-{PY_VER_EXACT_APPLE}/python-stdlib/' - f'_sysconfigdata_{debug_d}_tvos_appletvsimulator_x86_64.py', + # bases2['tvos_simulator'] + # + f'/python-{PY_VER_EXACT_APPLE}/python-stdlib/' + # f'_sysconfigdata_{debug_d}_tvos_appletvsimulator.py', + bases2['tvos_simulator'] + f'/python-{PY_VER_EXACT_APPLE}/' + f'lib/python{PY_VER_APPLE}/' + f'_sysconfigdata_{debug_d}_tvos_appletvsimulator-arm64.py', + # bases2['tvos_simulator'] + # + f'/python-{PY_VER_EXACT_APPLE}/python-stdlib/' + # f'_sysconfigdata_{debug_d}' + # '_tvos_appletvsimulator_x86_64.py', ], libs=_apple_libs('tvos_simulator'), ), @@ -1259,8 +1299,10 @@ def gather(do_android: bool, do_apple: bool) -> None: + f'/usr/include/{alibname}/pyconfig.h' }, sys_config_scripts=[ - bases['android_arm'] + f'/usr/lib/python{PY_VER_ANDROID}/' - f'_sysconfigdata_{debug_d}_linux_arm-linux-androideabi.py' + bases['android_arm'] + + f'/usr/lib/python{PY_VER_ANDROID}/' + # f'_sysconfigdata_{debug_d}_linux_arm-linux-androideabi.py' + f'_sysconfigdata_{debug_d}_linux_.py' ], libs=_android_libs('android_arm'), libinst='android_armeabi-v7a', @@ -1275,7 +1317,8 @@ def gather(do_android: bool, do_apple: bool) -> None: sys_config_scripts=[ bases['android_arm64'] + f'/usr/lib/python{PY_VER_ANDROID}/' f'_sysconfigdata_{debug_d}' - f'_linux_aarch64-linux-android.py' + # f'_linux_aarch64-linux-android.py' + f'_linux_.py' ], libs=_android_libs('android_arm64'), libinst='android_arm64-v8a', @@ -1290,7 +1333,8 @@ def gather(do_android: bool, do_apple: bool) -> None: sys_config_scripts=[ bases['android_x86'] + f'/usr/lib/python{PY_VER_ANDROID}/' f'_sysconfigdata_{debug_d}' - f'_linux_i686-linux-android.py' + # f'_linux_i686-linux-android.py' + f'_linux_.py' ], libs=_android_libs('android_x86'), libinst='android_x86', @@ -1306,13 +1350,29 @@ def gather(do_android: bool, do_apple: bool) -> None: bases['android_x86_64'] + f'/usr/lib/python{PY_VER_ANDROID}/' f'_sysconfigdata_{debug_d}' - f'_linux_x86_64-linux-android.py' + # f'_linux_x86_64-linux-android.py' + f'_linux_.py' ], libs=_android_libs('android_x86_64'), libinst='android_x86_64', ), ] + # if do_apple: + # # The default apple builds spit out static libs which are + # # then linked into shared libs that python loads + # # dynamically. We, however, want to build everything + # # statically, so we need to use lipo to combine some + # # architectures such as x86_64/arm64 simulator builds. XCode + # # allows specifying paths per architecture in some cases but + # # not all, which is why we need this. + # print('LIPO-ING STANDALONE LIBS') + # subprocess.run( + # ['rm', '-rf', bases2['mac'] + '/efromerge'], check=True + # ) + # subprocess.run(['mkdir', bases2['mac'] + # + '/efromerge'], check=True) + # Assemble per-group stuff. for grpname, grp in groups.items(): if not do_android and grpname == 'android': @@ -1381,7 +1441,8 @@ def gather(do_android: bool, do_apple: bool) -> None: f'\n' f'#elif BA_OSTYPE_IOS and defined(__x86_64__)\n' f'#if TARGET_OS_SIMULATOR\n' - f'#include "pyconfig_{CompileArch.IOS_SIM_X86_64.value}.h"\n' + f'#error x86 simulator no longer supported here.\n' + # f'#include "pyconfig_{CompileArch.IOS_SIM_X86_64.value}.h"\n' f'#else\n' f'#error this platform combo should not be possible\n' f'#endif // TARGET_OS_SIMULATOR\n' @@ -1395,7 +1456,8 @@ def gather(do_android: bool, do_apple: bool) -> None: f'\n' f'#elif BA_OSTYPE_TVOS and defined(__x86_64__)\n' f'#if TARGET_OS_SIMULATOR\n' - f'#include "pyconfig_{CompileArch.TVOS_SIM_X86_64.value}.h"\n' + f'#error x86 simulator no longer supported here.\n' + # f'#include "pyconfig_{CompileArch.TVOS_SIM_X86_64.value}.h"\n' f'#else\n' f'#error this platform combo should not be possible\n' f'#endif // TARGET_OS_SIMULATOR\n' @@ -1500,10 +1562,14 @@ def gather(do_android: bool, do_apple: bool) -> None: pylib_dst, os.path.basename(script) ) if os.path.exists(scriptdst): - raise RuntimeError( - 'Multiple sys-config-scripts trying to write' - f" to '{scriptdst}'." + print( + 'WARNING TEMPORARILY ALLOWING' + ' REPEAT SYS CONFIG SCRIPTS' ) + # raise RuntimeError( + # 'Multiple sys-config-scripts trying to write' + # f" to '{scriptdst}'." + # ) subprocess.run(['cp', script, pylib_dst], check=True) # Copy in this build's libs. diff --git a/tools/efrotools/pyver.py b/tools/efrotools/pyver.py new file mode 100644 index 00000000..5722dd49 --- /dev/null +++ b/tools/efrotools/pyver.py @@ -0,0 +1,81 @@ +# Released under the MIT License. See LICENSE for details. +# +"""This module defines the major Python version we are using in the project. + +Tools that need to do some work or regenerate files when this changes can +add this submodule file as a dependency. +""" +from pathlib import Path + +# import subprocess + +PYVER = '3.12' +PYVERNODOT = PYVER.replace('.', '') + +_checked_valid_sys_executable = False # pylint: disable=invalid-name +_valid_sys_executable: str | None = None + + +# def get_valid_sys_executable() -> str: +# """Attempt to get a valid Python interpreter path. + +# Using sys.executable for this purpose may return the path to the +# executable containing the embedded Python, which may not be a standard +# iterpreter. +# """ + +# pyverstr = f'{sys.version_info.major}.{sys.version_info.minor}' + +# global _checked_valid_sys_executable +# global _valid_sys_executable +# if not _checked_valid_sys_executable: + +# # First look at sys.executable to see if it seems like a standard +# # python interpreter. +# try: +# output = subprocess.run( +# [sys.executable, '--version'], check=True, capture_output=True +# ).stdout.decode() +# if output.startswith(f'Python {pyverstr}'): +# _valid_sys_executable = sys.executable +# except Exception: +# import logging + +# logging.exception( +# 'Error checking sys.executable in get_valid_sys_executable' +# ) + +# if _valid_sys_executable is None: +# # For now, as a fallback, just go with 'pythonX.Y'. +# _valid_sys_executable = f'python{pyverstr}' + +# # As a fallback, look for bin/pythonX.Y under our sys.prefix. +# # prefixpath = os.path.join( +# sys.prefix, 'bin', f'python{pyverstr}') +# # if os.path.exists(prefixpath): +# # _valid_sys_executable = prefixpath + +# _checked_valid_sys_executable = True + +# if _valid_sys_executable is None: +# raise RuntimeError('Have no valid sys executable.') + +# return _valid_sys_executable + + +def get_project_python_executable(projroot: Path | str) -> str: + """Return the path to a standalone Python interpreter for this project. + + In some cases, using sys.executable will return an executable such as + a game binary that contains an embedded Python but is not actually a + standard interpreter. Tool functionality can use this instead when an + interpreter is needed. + """ + if isinstance(projroot, str): + projroot = Path(projroot) + path = Path(projroot, f'.venv/bin/python{PYVER}') + if not path.exists(): + raise RuntimeError( + f"Expected project Python executable not found at '{path}'." + ) + return str(path) diff --git a/tools/efrotools/toolconfig.py b/tools/efrotools/toolconfig.py index bb993a5c..0610ad77 100644 --- a/tools/efrotools/toolconfig.py +++ b/tools/efrotools/toolconfig.py @@ -10,6 +10,7 @@ for some tool defaults across all my projects. from __future__ import annotations +from pathlib import Path from typing import TYPE_CHECKING from efro.terminal import Clr @@ -67,7 +68,8 @@ def _filter_tool_config(projroot: Path, cfg: str) -> str: # pylint: disable=too-many-locals import textwrap - from efrotools import getprojectconfig, PYVER + from efrotools import getprojectconfig + from efrotools.pyver import PYVER # Emacs dir-locals defaults. Note that these contain other # replacements so need to be at the top. @@ -118,15 +120,15 @@ def _filter_tool_config(projroot: Path, cfg: str) -> str: # Stick project-root wherever they want. cfg = cfg.replace('__EFRO_PROJECT_ROOT__', str(projroot)) - # Project Python version; '3.11', etc. + # Project Python version; '3.12', etc. name = '__EFRO_PY_VER__' if name in cfg: cfg = cfg.replace(name, PYVER) - # Project Python version as a binary name; 'python3.11', etc. + # Project Python version as a binary name; 'python3.12', etc. name = '__EFRO_PY_BIN__' if name in cfg: - cfg = cfg.replace(name, f'python{PYVER}') + cfg = cfg.replace(name, str(Path(projroot, '.venv', 'bin', 'python'))) # Colon-separated list of project Python paths. name = '__EFRO_PYTHON_PATHS__' @@ -192,7 +194,7 @@ truthy-function, unused-awaitable, explicit-override if name in cfg: from efrotools.code import black_base_args - bargs = black_base_args() + bargs = black_base_args(projroot) assert bargs[2] == 'black' cfg = cfg.replace( name, '(' + ' '.join(f'"{b}"' for b in bargs[3:]) + ')' diff --git a/tools/spinoff b/tools/spinoff index eff7f42e..15b9f8fe 100755 --- a/tools/spinoff +++ b/tools/spinoff @@ -1,12 +1,45 @@ -#!/usr/bin/env python3.11 +#!/usr/bin/env python3.12 # Released under the MIT License. See LICENSE for details. # """Command line wrapper for the spinoff system.""" from __future__ import annotations +import os +import sys +import subprocess if __name__ == '__main__': from batools.spinoff import spinoff_main - spinoff_main() + # Our initial invocation actually just sets up the env for our + # *real* invocation (so we can run under our desired venv/etc.) + if os.environ.get('BA_SPINOFF_HAVE_ENV') != '1': + + # Our shebang line gives us a generic 'pythonX.Y' environment, but + # we actually want to run under the virtual-env of the source + # project so we have all the pip stuff we expect. So if we are + # getting invoked via a symlink we assume it points to the source + # project, and if not then we assume we are the source project. + if os.path.islink(sys.argv[0]): + src_spinoff_path = os.path.realpath(sys.argv[0]) + else: + src_spinoff_path = sys.argv[0] + + src_proj_root = os.path.abspath( + os.path.join(os.path.dirname(src_spinoff_path), '..') + ) + src_proj_python = os.path.join(src_proj_root, '.venv/bin/python3.12') + + cmd = [src_proj_python, sys.argv[0]] + sys.argv[1:] + + # Make sure the src project is properly bootstrapped. + subprocess.run(['make', 'prereqs'], check=True, cwd=src_proj_root) + + # Finally, run for realz. + subprocess.run( + cmd, check=True, env=dict(os.environ, BA_SPINOFF_HAVE_ENV='1') + ) + + else: + spinoff_main()