py2docfx 0.1.9.dev1886355__py3-none-any.whl → 0.1.9.dev1897607__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- py2docfx/__main__.py +15 -90
- py2docfx/convert_prepare/constants.py +3 -0
- py2docfx/convert_prepare/environment.py +1 -1
- py2docfx/convert_prepare/generate_document.py +2 -15
- py2docfx/convert_prepare/get_source.py +5 -23
- py2docfx/convert_prepare/git.py +0 -1
- py2docfx/convert_prepare/pack.py +0 -1
- py2docfx/convert_prepare/sphinx_caller.py +23 -39
- py2docfx/convert_prepare/tests/test_environment.py +53 -0
- py2docfx/convert_prepare/tests/test_generate_document.py +2 -0
- py2docfx/convert_prepare/tests/test_sphinx_caller.py +2 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/build_meta.py +32 -8
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/bdist_wheel.py +21 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/egg_info.py +5 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/dist.py +69 -28
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_bdist_wheel.py +25 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_dist.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/__init__.py +81 -0
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/ado_consts.py +281 -0
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/adodbapi.py +1157 -0
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/apibase.py +724 -0
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/db_print.py +72 -0
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/db_table_names.py +21 -0
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/xls_read.py +41 -0
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/xls_write.py +41 -0
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/is64bit.py +34 -0
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/process_connect_string.py +137 -0
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/schema_table.py +16 -0
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/setup.py +68 -0
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/adodbapitest.py +1599 -0
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/adodbapitestconfig.py +184 -0
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/dbapi20.py +885 -0
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/is64bit.py +34 -0
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/setuptestframework.py +97 -0
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/test_adodbapi_dbapi20.py +195 -0
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/tryconnection.py +30 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/__init__.py +43 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/_azure_clouds.py +41 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/_enum_meta.py +66 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/_match_conditions.py +46 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/_pipeline_client.py +201 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/_pipeline_client_async.py +289 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/_version.py +12 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/async_paging.py +151 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/configuration.py +148 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/credentials.py +250 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/credentials_async.py +84 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/exceptions.py +579 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/messaging.py +229 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/paging.py +125 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/__init__.py +189 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/_base.py +229 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/_base_async.py +219 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/_tools.py +84 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/_tools_async.py +73 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/__init__.py +76 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_authentication.py +270 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_authentication_async.py +188 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_base.py +140 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_base_async.py +57 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_custom_hook.py +79 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_distributed_tracing.py +147 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_redirect.py +211 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_redirect_async.py +87 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_retry.py +563 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_retry_async.py +215 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_sensitive_header_cleanup_policy.py +77 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_universal.py +750 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_utils.py +104 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/__init__.py +120 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_aiohttp.py +564 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_base.py +863 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_base_async.py +169 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_base_requests_async.py +55 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_bigger_block_size_http_adapters.py +48 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_requests_asyncio.py +297 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_requests_basic.py +413 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_requests_trio.py +303 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/polling/__init__.py +42 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/polling/_async_poller.py +208 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/polling/_poller.py +303 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/polling/async_base_polling.py +180 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/polling/base_polling.py +857 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/__init__.py +36 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_aiohttp.py +228 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_helpers.py +421 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_http_response_impl.py +475 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_http_response_impl_async.py +155 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_requests_asyncio.py +47 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_requests_basic.py +102 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_requests_trio.py +42 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_rest_py3.py +418 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/serialization.py +125 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/settings.py +520 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/__init__.py +12 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/_abstract_span.py +311 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/common.py +108 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/decorator.py +109 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/decorator_async.py +109 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/ext/opencensus_span/__init__.py +303 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/ext/opencensus_span/_version.py +6 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/__init__.py +35 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_connection_string_parser.py +44 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_messaging_shared.py +46 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_pipeline_transport_rest_shared.py +420 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_pipeline_transport_rest_shared_async.py +62 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_utils.py +188 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/__init__.py +66 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_auth_record.py +114 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_bearer_token_provider.py +46 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_constants.py +67 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/__init__.py +47 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/app_service.py +39 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/application.py +119 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/authorization_code.py +141 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/azd_cli.py +284 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/azure_arc.py +123 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/azure_cli.py +258 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/azure_ml.py +80 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/azure_pipelines.py +176 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/azure_powershell.py +265 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/browser.py +157 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/certificate.py +182 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/chained.py +219 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/client_assertion.py +77 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/client_secret.py +53 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/cloud_shell.py +47 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/default.py +257 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/device_code.py +118 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/environment.py +183 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/imds.py +129 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/managed_identity.py +185 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/on_behalf_of.py +168 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/service_fabric.py +39 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/shared_cache.py +202 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/silent.py +224 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/user_password.py +79 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/vscode.py +216 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/workload_identity.py +97 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_enums.py +67 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_exceptions.py +50 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/__init__.py +56 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/aad_client.py +77 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/aad_client_base.py +420 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/aadclient_certificate.py +46 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/auth_code_redirect_handler.py +62 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/client_credential_base.py +57 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/decorators.py +74 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/get_token_mixin.py +165 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/interactive.py +302 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/linux_vscode_adapter.py +100 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/macos_vscode_adapter.py +34 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/managed_identity_base.py +61 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/managed_identity_client.py +151 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/msal_client.py +145 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/msal_credentials.py +147 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/msal_managed_identity_client.py +210 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/pipeline.py +94 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/shared_token_cache.py +291 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/user_agent.py +9 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/utils.py +120 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/win_vscode_adapter.py +77 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_persistent_cache.py +116 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_version.py +5 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/__init__.py +46 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_bearer_token_provider.py +47 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/__init__.py +40 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/app_service.py +20 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/application.py +121 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/authorization_code.py +147 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/azd_cli.py +232 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/azure_arc.py +45 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/azure_cli.py +209 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/azure_ml.py +20 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/azure_pipelines.py +146 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/azure_powershell.py +186 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/certificate.py +77 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/chained.py +192 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/client_assertion.py +75 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/client_secret.py +67 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/cloud_shell.py +29 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/default.py +242 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/environment.py +153 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/imds.py +85 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/managed_identity.py +170 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/on_behalf_of.py +135 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/service_fabric.py +20 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/shared_cache.py +154 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/vscode.py +127 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/workload_identity.py +77 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_internal/__init__.py +32 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_internal/aad_client.py +97 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_internal/decorators.py +74 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_internal/get_token_mixin.py +165 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_internal/managed_identity_base.py +68 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_internal/managed_identity_client.py +39 -0
- py2docfx/venv/venv1/Lib/site-packages/cachetools/__init__.py +859 -0
- py2docfx/venv/venv1/Lib/site-packages/cachetools/func.py +121 -0
- py2docfx/venv/venv1/Lib/site-packages/cachetools/keys.py +62 -0
- py2docfx/venv/venv1/Lib/site-packages/certifi/__init__.py +4 -0
- py2docfx/venv/venv1/Lib/site-packages/certifi/__main__.py +12 -0
- py2docfx/venv/venv1/Lib/site-packages/certifi/core.py +114 -0
- py2docfx/venv/venv1/Lib/site-packages/cffi/__init__.py +14 -0
- py2docfx/venv/venv1/Lib/site-packages/cffi/_imp_emulation.py +83 -0
- py2docfx/venv/venv1/Lib/site-packages/cffi/_shimmed_dist_utils.py +45 -0
- py2docfx/venv/venv1/Lib/site-packages/cffi/api.py +967 -0
- py2docfx/venv/venv1/Lib/site-packages/cffi/backend_ctypes.py +1121 -0
- py2docfx/venv/venv1/Lib/site-packages/cffi/cffi_opcode.py +187 -0
- py2docfx/venv/venv1/Lib/site-packages/cffi/commontypes.py +82 -0
- py2docfx/venv/venv1/Lib/site-packages/cffi/cparser.py +1015 -0
- py2docfx/venv/venv1/Lib/site-packages/cffi/error.py +31 -0
- py2docfx/venv/venv1/Lib/site-packages/cffi/ffiplatform.py +113 -0
- py2docfx/venv/venv1/Lib/site-packages/cffi/lock.py +30 -0
- py2docfx/venv/venv1/Lib/site-packages/cffi/model.py +618 -0
- py2docfx/venv/venv1/Lib/site-packages/cffi/pkgconfig.py +121 -0
- py2docfx/venv/venv1/Lib/site-packages/cffi/recompiler.py +1598 -0
- py2docfx/venv/venv1/Lib/site-packages/cffi/setuptools_ext.py +216 -0
- py2docfx/venv/venv1/Lib/site-packages/cffi/vengine_cpy.py +1084 -0
- py2docfx/venv/venv1/Lib/site-packages/cffi/vengine_gen.py +679 -0
- py2docfx/venv/venv1/Lib/site-packages/cffi/verifier.py +306 -0
- py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/__init__.py +46 -0
- py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/__main__.py +4 -0
- py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/api.py +668 -0
- py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/cd.py +395 -0
- py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/cli/__init__.py +6 -0
- py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/cli/__main__.py +320 -0
- py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/constant.py +1997 -0
- py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/legacy.py +65 -0
- py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/md.py +628 -0
- py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/models.py +359 -0
- py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/utils.py +421 -0
- py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/version.py +6 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/__about__.py +17 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/__init__.py +13 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/exceptions.py +52 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/fernet.py +215 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/__init__.py +13 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/_oid.py +313 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/backends/__init__.py +13 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/backends/openssl/__init__.py +9 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/backends/openssl/backend.py +291 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/__init__.py +3 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/openssl/__init__.py +3 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/openssl/_conditional.py +183 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/openssl/binding.py +121 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/decrepit/__init__.py +5 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/decrepit/ciphers/__init__.py +5 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py +107 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/__init__.py +3 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/_asymmetric.py +19 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/_cipheralgorithm.py +58 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/_serialization.py +169 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/__init__.py +3 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/dh.py +135 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/dsa.py +154 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/ec.py +403 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py +116 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/ed448.py +118 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/padding.py +113 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/rsa.py +260 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/types.py +111 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/utils.py +24 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/x25519.py +109 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/x448.py +112 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/ciphers/__init__.py +27 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/ciphers/aead.py +23 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/ciphers/algorithms.py +177 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/ciphers/base.py +145 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/ciphers/modes.py +268 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/cmac.py +10 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/constant_time.py +14 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/hashes.py +242 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/hmac.py +13 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/__init__.py +23 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/concatkdf.py +124 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/hkdf.py +101 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/kbkdf.py +302 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/pbkdf2.py +62 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/scrypt.py +80 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/x963kdf.py +61 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/keywrap.py +177 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/padding.py +204 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/poly1305.py +11 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/serialization/__init__.py +63 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/serialization/base.py +14 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/serialization/pkcs12.py +156 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/serialization/pkcs7.py +336 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/serialization/ssh.py +1569 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/twofactor/__init__.py +9 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/twofactor/hotp.py +92 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/twofactor/totp.py +50 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/utils.py +127 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/__init__.py +259 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/base.py +1226 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/certificate_transparency.py +97 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/extensions.py +2196 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/general_name.py +281 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/name.py +465 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/ocsp.py +678 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/oid.py +35 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/verification.py +28 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/annotations_pb2.py +46 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/auth_pb2.py +52 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/backend_pb2.py +52 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/billing_pb2.py +44 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/client_pb2.py +93 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/config_change_pb2.py +48 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/consumer_pb2.py +46 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/context_pb2.py +44 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/control_pb2.py +45 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/distribution_pb2.py +60 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/documentation_pb2.py +48 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/endpoint_pb2.py +42 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/error_reason_pb2.py +44 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/field_behavior_pb2.py +49 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/field_info_pb2.py +51 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/http_pb2.py +46 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/httpbody_pb2.py +45 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/label_pb2.py +44 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/launch_stage_pb2.py +44 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/log_pb2.py +45 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/logging_pb2.py +44 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/metric_pb2.py +65 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/monitored_resource_pb2.py +61 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/monitoring_pb2.py +46 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/policy_pb2.py +47 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/quota_pb2.py +54 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/resource_pb2.py +51 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/routing_pb2.py +47 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/service_pb2.py +67 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/source_info_pb2.py +47 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/system_parameter_pb2.py +48 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/usage_pb2.py +44 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/visibility_pb2.py +49 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/__init__.py +22 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/_rest_streaming_base.py +118 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/bidi.py +743 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/client_info.py +108 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/client_options.py +137 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/datetime_helpers.py +298 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/exceptions.py +670 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/extended_operation.py +225 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/future/__init__.py +19 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/future/_helpers.py +39 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/future/async_future.py +162 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/future/base.py +64 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/future/polling.py +323 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/gapic_v1/__init__.py +29 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/gapic_v1/client_info.py +57 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/gapic_v1/config.py +175 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/gapic_v1/config_async.py +42 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/gapic_v1/method.py +253 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/gapic_v1/method_async.py +59 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/gapic_v1/routing_header.py +87 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/general_helpers.py +16 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/grpc_helpers.py +622 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/grpc_helpers_async.py +331 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/iam.py +427 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/operation.py +365 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/operation_async.py +225 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/__init__.py +40 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/abstract_operations_base_client.py +370 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/abstract_operations_client.py +387 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/operations_async_client.py +364 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/operations_client.py +378 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/operations_client_config.py +60 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/operations_rest_client_async.py +345 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/pagers.py +67 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/pagers_async.py +71 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/pagers_base.py +73 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/transports/__init__.py +39 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/transports/base.py +282 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/transports/rest.py +473 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/transports/rest_asyncio.py +560 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/page_iterator.py +571 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/page_iterator_async.py +285 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/path_template.py +346 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/protobuf_helpers.py +373 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/rest_helpers.py +109 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/rest_streaming.py +66 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/rest_streaming_async.py +89 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/__init__.py +52 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_base.py +361 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_streaming.py +263 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_streaming_async.py +325 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_unary.py +301 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_unary_async.py +238 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry_async.py +34 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/timeout.py +284 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/universe.py +82 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/version.py +15 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/version_header.py +29 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/__init__.py +53 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/_cloud_sdk.py +153 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/_credentials_async.py +171 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/_credentials_base.py +75 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/_default.py +693 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/_default_async.py +282 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/_exponential_backoff.py +164 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/_helpers.py +273 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/_jwt_async.py +164 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/_oauth2client.py +167 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/_refresh_worker.py +109 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/_service_account_info.py +80 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/aio/__init__.py +25 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/aio/credentials.py +143 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/aio/transport/__init__.py +144 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/aio/transport/aiohttp.py +184 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/aio/transport/sessions.py +268 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/api_key.py +76 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/app_engine.py +180 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/aws.py +861 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/compute_engine/__init__.py +22 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/compute_engine/_metadata.py +367 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/compute_engine/credentials.py +496 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/credentials.py +522 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/crypt/__init__.py +98 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/crypt/_cryptography_rsa.py +151 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/crypt/_python_rsa.py +175 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/crypt/base.py +127 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/crypt/es256.py +175 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/crypt/rsa.py +30 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/downscoped.py +512 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/environment_vars.py +84 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/exceptions.py +108 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/external_account.py +628 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/external_account_authorized_user.py +380 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/iam.py +114 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/identity_pool.py +439 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/impersonated_credentials.py +462 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/jwt.py +878 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/metrics.py +154 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/pluggable.py +429 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/__init__.py +103 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/_aiohttp_requests.py +391 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/_custom_tls_signer.py +283 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/_http_client.py +113 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/_mtls_helper.py +407 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/_requests_base.py +52 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/grpc.py +343 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/mtls.py +112 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/requests.py +600 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/urllib3.py +444 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/version.py +15 -0
- py2docfx/venv/venv1/Lib/site-packages/google/cloud/extended_operations_pb2.py +47 -0
- py2docfx/venv/venv1/Lib/site-packages/google/cloud/location/locations_pb2.py +71 -0
- py2docfx/venv/venv1/Lib/site-packages/google/gapic/metadata/gapic_metadata_pb2.py +62 -0
- py2docfx/venv/venv1/Lib/site-packages/google/logging/type/http_request_pb2.py +47 -0
- py2docfx/venv/venv1/Lib/site-packages/google/logging/type/log_severity_pb2.py +44 -0
- py2docfx/venv/venv1/Lib/site-packages/google/longrunning/operations_grpc.py +19 -0
- py2docfx/venv/venv1/Lib/site-packages/google/longrunning/operations_grpc_pb2.py +15 -0
- py2docfx/venv/venv1/Lib/site-packages/google/longrunning/operations_pb2.py +42 -0
- py2docfx/venv/venv1/Lib/site-packages/google/longrunning/operations_pb2_grpc.py +341 -0
- py2docfx/venv/venv1/Lib/site-packages/google/longrunning/operations_proto.py +5 -0
- py2docfx/venv/venv1/Lib/site-packages/google/longrunning/operations_proto_pb2.py +95 -0
- py2docfx/venv/venv1/Lib/site-packages/google/oauth2/__init__.py +36 -0
- py2docfx/venv/venv1/Lib/site-packages/google/oauth2/_client.py +500 -0
- py2docfx/venv/venv1/Lib/site-packages/google/oauth2/_client_async.py +286 -0
- py2docfx/venv/venv1/Lib/site-packages/google/oauth2/_credentials_async.py +118 -0
- py2docfx/venv/venv1/Lib/site-packages/google/oauth2/_id_token_async.py +285 -0
- py2docfx/venv/venv1/Lib/site-packages/google/oauth2/_reauth_async.py +328 -0
- py2docfx/venv/venv1/Lib/site-packages/google/oauth2/_service_account_async.py +132 -0
- py2docfx/venv/venv1/Lib/site-packages/google/oauth2/challenges.py +281 -0
- py2docfx/venv/venv1/Lib/site-packages/google/oauth2/credentials.py +614 -0
- py2docfx/venv/venv1/Lib/site-packages/google/oauth2/gdch_credentials.py +251 -0
- py2docfx/venv/venv1/Lib/site-packages/google/oauth2/id_token.py +340 -0
- py2docfx/venv/venv1/Lib/site-packages/google/oauth2/reauth.py +369 -0
- py2docfx/venv/venv1/Lib/site-packages/google/oauth2/service_account.py +846 -0
- py2docfx/venv/venv1/Lib/site-packages/google/oauth2/sts.py +176 -0
- py2docfx/venv/venv1/Lib/site-packages/google/oauth2/utils.py +168 -0
- py2docfx/venv/venv1/Lib/site-packages/google/oauth2/webauthn_handler.py +82 -0
- py2docfx/venv/venv1/Lib/site-packages/google/oauth2/webauthn_handler_factory.py +16 -0
- py2docfx/venv/venv1/Lib/site-packages/google/oauth2/webauthn_types.py +156 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/__init__.py +10 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/any_pb2.py +37 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/api_pb2.py +43 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/compiler/plugin_pb2.py +46 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor.py +1511 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor_database.py +154 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor_pb2.py +3169 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor_pool.py +1355 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/duration_pb2.py +37 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/empty_pb2.py +37 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/field_mask_pb2.py +37 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/__init__.py +7 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/_parameterized.py +420 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/api_implementation.py +142 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/builder.py +117 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/containers.py +677 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/decoder.py +1036 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/encoder.py +806 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/enum_type_wrapper.py +112 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/extension_dict.py +194 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/field_mask.py +310 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/message_listener.py +55 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/python_edition_defaults.py +5 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/python_message.py +1580 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/testing_refleaks.py +119 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/type_checkers.py +408 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/well_known_types.py +678 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/wire_format.py +245 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/json_format.py +1069 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/message.py +422 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/message_factory.py +237 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/proto.py +116 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/proto_builder.py +111 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/proto_json.py +83 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/pyext/cpp_message.py +49 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/reflection.py +85 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/runtime_version.py +117 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/service.py +213 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/service_reflection.py +272 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/source_context_pb2.py +37 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/struct_pb2.py +47 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/symbol_database.py +197 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/text_encoding.py +106 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/text_format.py +1864 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/timestamp_pb2.py +37 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/type_pb2.py +53 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/unknown_fields.py +97 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/wrappers_pb2.py +53 -0
- py2docfx/venv/venv1/Lib/site-packages/google/rpc/code_pb2.py +42 -0
- py2docfx/venv/venv1/Lib/site-packages/google/rpc/context/attribute_context_pb2.py +82 -0
- py2docfx/venv/venv1/Lib/site-packages/google/rpc/context/audit_context_pb2.py +47 -0
- py2docfx/venv/venv1/Lib/site-packages/google/rpc/error_details_pb2.py +77 -0
- py2docfx/venv/venv1/Lib/site-packages/google/rpc/http_pb2.py +46 -0
- py2docfx/venv/venv1/Lib/site-packages/google/rpc/status_pb2.py +45 -0
- py2docfx/venv/venv1/Lib/site-packages/google/type/calendar_period_pb2.py +44 -0
- py2docfx/venv/venv1/Lib/site-packages/google/type/color_pb2.py +45 -0
- py2docfx/venv/venv1/Lib/site-packages/google/type/date_pb2.py +42 -0
- py2docfx/venv/venv1/Lib/site-packages/google/type/datetime_pb2.py +49 -0
- py2docfx/venv/venv1/Lib/site-packages/google/type/dayofweek_pb2.py +44 -0
- py2docfx/venv/venv1/Lib/site-packages/google/type/decimal_pb2.py +42 -0
- py2docfx/venv/venv1/Lib/site-packages/google/type/expr_pb2.py +42 -0
- py2docfx/venv/venv1/Lib/site-packages/google/type/fraction_pb2.py +44 -0
- py2docfx/venv/venv1/Lib/site-packages/google/type/interval_pb2.py +47 -0
- py2docfx/venv/venv1/Lib/site-packages/google/type/latlng_pb2.py +42 -0
- py2docfx/venv/venv1/Lib/site-packages/google/type/localized_text_pb2.py +44 -0
- py2docfx/venv/venv1/Lib/site-packages/google/type/money_pb2.py +42 -0
- py2docfx/venv/venv1/Lib/site-packages/google/type/month_pb2.py +42 -0
- py2docfx/venv/venv1/Lib/site-packages/google/type/phone_number_pb2.py +46 -0
- py2docfx/venv/venv1/Lib/site-packages/google/type/postal_address_pb2.py +44 -0
- py2docfx/venv/venv1/Lib/site-packages/google/type/quaternion_pb2.py +44 -0
- py2docfx/venv/venv1/Lib/site-packages/google/type/timeofday_pb2.py +44 -0
- py2docfx/venv/venv1/Lib/site-packages/idna/__init__.py +45 -0
- py2docfx/venv/venv1/Lib/site-packages/idna/codec.py +122 -0
- py2docfx/venv/venv1/Lib/site-packages/idna/compat.py +15 -0
- py2docfx/venv/venv1/Lib/site-packages/idna/core.py +437 -0
- py2docfx/venv/venv1/Lib/site-packages/idna/idnadata.py +4243 -0
- py2docfx/venv/venv1/Lib/site-packages/idna/intranges.py +57 -0
- py2docfx/venv/venv1/Lib/site-packages/idna/package_data.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/idna/uts46data.py +8681 -0
- py2docfx/venv/venv1/Lib/site-packages/isapi/__init__.py +39 -0
- py2docfx/venv/venv1/Lib/site-packages/isapi/install.py +812 -0
- py2docfx/venv/venv1/Lib/site-packages/isapi/isapicon.py +121 -0
- py2docfx/venv/venv1/Lib/site-packages/isapi/samples/advanced.py +218 -0
- py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector.py +116 -0
- py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector_asynch.py +85 -0
- py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector_with_filter.py +161 -0
- py2docfx/venv/venv1/Lib/site-packages/isapi/samples/test.py +195 -0
- py2docfx/venv/venv1/Lib/site-packages/isapi/simple.py +72 -0
- py2docfx/venv/venv1/Lib/site-packages/isapi/test/extension_simple.py +114 -0
- py2docfx/venv/venv1/Lib/site-packages/isapi/threaded_extension.py +190 -0
- py2docfx/venv/venv1/Lib/site-packages/jwt/__init__.py +74 -0
- py2docfx/venv/venv1/Lib/site-packages/jwt/algorithms.py +860 -0
- py2docfx/venv/venv1/Lib/site-packages/jwt/api_jwk.py +144 -0
- py2docfx/venv/venv1/Lib/site-packages/jwt/api_jws.py +335 -0
- py2docfx/venv/venv1/Lib/site-packages/jwt/api_jwt.py +377 -0
- py2docfx/venv/venv1/Lib/site-packages/jwt/exceptions.py +74 -0
- py2docfx/venv/venv1/Lib/site-packages/jwt/help.py +64 -0
- py2docfx/venv/venv1/Lib/site-packages/jwt/jwk_set_cache.py +31 -0
- py2docfx/venv/venv1/Lib/site-packages/jwt/jwks_client.py +124 -0
- py2docfx/venv/venv1/Lib/site-packages/jwt/types.py +5 -0
- py2docfx/venv/venv1/Lib/site-packages/jwt/utils.py +145 -0
- py2docfx/venv/venv1/Lib/site-packages/jwt/warnings.py +2 -0
- py2docfx/venv/venv1/Lib/site-packages/msal/__init__.py +48 -0
- py2docfx/venv/venv1/Lib/site-packages/msal/__main__.py +343 -0
- py2docfx/venv/venv1/Lib/site-packages/msal/application.py +2432 -0
- py2docfx/venv/venv1/Lib/site-packages/msal/auth_scheme.py +34 -0
- py2docfx/venv/venv1/Lib/site-packages/msal/authority.py +225 -0
- py2docfx/venv/venv1/Lib/site-packages/msal/broker.py +265 -0
- py2docfx/venv/venv1/Lib/site-packages/msal/cloudshell.py +122 -0
- py2docfx/venv/venv1/Lib/site-packages/msal/exceptions.py +38 -0
- py2docfx/venv/venv1/Lib/site-packages/msal/individual_cache.py +286 -0
- py2docfx/venv/venv1/Lib/site-packages/msal/managed_identity.py +649 -0
- py2docfx/venv/venv1/Lib/site-packages/msal/mex.py +137 -0
- py2docfx/venv/venv1/Lib/site-packages/msal/oauth2cli/__init__.py +7 -0
- py2docfx/venv/venv1/Lib/site-packages/msal/oauth2cli/assertion.py +137 -0
- py2docfx/venv/venv1/Lib/site-packages/msal/oauth2cli/authcode.py +379 -0
- py2docfx/venv/venv1/Lib/site-packages/msal/oauth2cli/http.py +74 -0
- py2docfx/venv/venv1/Lib/site-packages/msal/oauth2cli/oauth2.py +865 -0
- py2docfx/venv/venv1/Lib/site-packages/msal/oauth2cli/oidc.py +338 -0
- py2docfx/venv/venv1/Lib/site-packages/msal/region.py +45 -0
- py2docfx/venv/venv1/Lib/site-packages/msal/telemetry.py +78 -0
- py2docfx/venv/venv1/Lib/site-packages/msal/throttled_http_client.py +148 -0
- py2docfx/venv/venv1/Lib/site-packages/msal/token_cache.py +418 -0
- py2docfx/venv/venv1/Lib/site-packages/msal/wstrust_request.py +129 -0
- py2docfx/venv/venv1/Lib/site-packages/msal/wstrust_response.py +94 -0
- py2docfx/venv/venv1/Lib/site-packages/msal_extensions/__init__.py +13 -0
- py2docfx/venv/venv1/Lib/site-packages/msal_extensions/cache_lock.py +71 -0
- py2docfx/venv/venv1/Lib/site-packages/msal_extensions/libsecret.py +134 -0
- py2docfx/venv/venv1/Lib/site-packages/msal_extensions/osx.py +252 -0
- py2docfx/venv/venv1/Lib/site-packages/msal_extensions/persistence.py +344 -0
- py2docfx/venv/venv1/Lib/site-packages/msal_extensions/token_cache.py +88 -0
- py2docfx/venv/venv1/Lib/site-packages/msal_extensions/windows.py +123 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/__init__.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/common/__init__.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/common/backports/__init__.py +79 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/common/configuration/__init__.py +46 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/common/http_handler/__init__.py +43 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/common/monitored_resource/aws_identity_doc_utils.py +95 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/common/monitored_resource/gcp_metadata_config.py +115 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/common/monitored_resource/k8s_utils.py +64 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/common/monitored_resource/monitored_resource.py +68 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/common/resource/__init__.py +218 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/common/runtime_context/__init__.py +177 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/common/runtime_context/version.py +15 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/common/schedule/__init__.py +149 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/common/transports/__init__.py +13 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/common/transports/async_.py +231 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/common/transports/base.py +31 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/common/transports/sync.py +28 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/common/utils/__init__.py +131 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/common/version/__init__.py +15 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/__init__.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/__init__.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/__init__.py +138 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/exporter.py +93 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/processor.py +63 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/protocol.py +206 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/storage.py +205 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/transport.py +358 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/utils.py +79 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/version.py +15 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/log_exporter/__init__.py +314 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/__init__.py +190 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/standard_metrics/__init__.py +62 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/standard_metrics/cpu.py +50 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/standard_metrics/http_requests.py +176 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/standard_metrics/memory.py +42 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/standard_metrics/process.py +87 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/statsbeat/__init__.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/statsbeat/state.py +50 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/statsbeat/statsbeat.py +100 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/statsbeat/statsbeat_metrics.py +480 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/trace_exporter/__init__.py +236 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/threading/__init__.py +13 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/threading/trace.py +154 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/log/__init__.py +115 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/export/cumulative.py +87 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/export/gauge.py +513 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/export/metric.py +79 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/export/metric_descriptor.py +174 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/export/metric_producer.py +81 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/export/point.py +47 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/export/summary.py +144 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/export/time_series.py +90 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/export/value.py +307 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/label_key.py +51 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/label_value.py +42 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/transport.py +145 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/__init__.py +13 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/aggregation.py +144 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/aggregation_data.py +399 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/base_exporter.py +42 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/bucket_boundaries.py +41 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/execution_context.py +32 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/measure.py +60 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/measure_to_view_map.py +163 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/measurement.py +50 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/measurement_map.py +118 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/metric_utils.py +79 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/stats.py +43 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/stats_recorder.py +34 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/view.py +106 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/view_data.py +96 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/view_manager.py +55 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/tags/__init__.py +23 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/tags/propagation/__init__.py +13 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/tags/propagation/binary_serializer.py +109 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/tags/tag.py +38 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/tags/tag_key.py +35 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/tags/tag_map.py +104 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/tags/tag_value.py +35 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/tags/validation.py +42 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/__init__.py +17 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/attributes.py +74 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/attributes_helper.py +43 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/base_exporter.py +43 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/base_span.py +109 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/blank_span.py +165 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/config_integration.py +38 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/exceptions_status.py +25 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/execution_context.py +89 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/file_exporter.py +71 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/integrations.py +52 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/link.py +71 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/logging_exporter.py +85 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/print_exporter.py +51 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/propagation/__init__.py +13 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/propagation/b3_format.py +117 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/propagation/binary_format.py +168 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/propagation/google_cloud_format.py +128 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/propagation/text_format.py +85 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/propagation/trace_context_http_header_format.py +115 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/propagation/tracestate_string_format.py +43 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/samplers/__init__.py +94 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/span.py +457 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/span_context.py +168 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/span_data.py +184 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/stack_trace.py +189 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/status.py +84 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/time_event.py +117 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/trace_options.py +78 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/tracer.py +144 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/tracers/__init__.py +13 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/tracers/base.py +82 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/tracers/context_tracer.py +176 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/tracers/noop_tracer.py +85 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/tracestate.py +65 -0
- py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/utils.py +128 -0
- py2docfx/venv/venv1/Lib/site-packages/portalocker/__about__.py +6 -0
- py2docfx/venv/venv1/Lib/site-packages/portalocker/__init__.py +79 -0
- py2docfx/venv/venv1/Lib/site-packages/portalocker/__main__.py +122 -0
- py2docfx/venv/venv1/Lib/site-packages/portalocker/constants.py +59 -0
- py2docfx/venv/venv1/Lib/site-packages/portalocker/exceptions.py +27 -0
- py2docfx/venv/venv1/Lib/site-packages/portalocker/portalocker.py +154 -0
- py2docfx/venv/venv1/Lib/site-packages/portalocker/redis.py +236 -0
- py2docfx/venv/venv1/Lib/site-packages/portalocker/utils.py +569 -0
- py2docfx/venv/venv1/Lib/site-packages/proto/__init__.py +72 -0
- py2docfx/venv/venv1/Lib/site-packages/proto/_file_info.py +196 -0
- py2docfx/venv/venv1/Lib/site-packages/proto/_package_info.py +50 -0
- py2docfx/venv/venv1/Lib/site-packages/proto/datetime_helpers.py +225 -0
- py2docfx/venv/venv1/Lib/site-packages/proto/enums.py +161 -0
- py2docfx/venv/venv1/Lib/site-packages/proto/fields.py +165 -0
- py2docfx/venv/venv1/Lib/site-packages/proto/marshal/__init__.py +18 -0
- py2docfx/venv/venv1/Lib/site-packages/proto/marshal/collections/__init__.py +24 -0
- py2docfx/venv/venv1/Lib/site-packages/proto/marshal/collections/maps.py +82 -0
- py2docfx/venv/venv1/Lib/site-packages/proto/marshal/collections/repeated.py +184 -0
- py2docfx/venv/venv1/Lib/site-packages/proto/marshal/compat.py +67 -0
- py2docfx/venv/venv1/Lib/site-packages/proto/marshal/marshal.py +297 -0
- py2docfx/venv/venv1/Lib/site-packages/proto/marshal/rules/__init__.py +13 -0
- py2docfx/venv/venv1/Lib/site-packages/proto/marshal/rules/bytes.py +44 -0
- py2docfx/venv/venv1/Lib/site-packages/proto/marshal/rules/dates.py +85 -0
- py2docfx/venv/venv1/Lib/site-packages/proto/marshal/rules/enums.py +59 -0
- py2docfx/venv/venv1/Lib/site-packages/proto/marshal/rules/field_mask.py +36 -0
- py2docfx/venv/venv1/Lib/site-packages/proto/marshal/rules/message.py +48 -0
- py2docfx/venv/venv1/Lib/site-packages/proto/marshal/rules/stringy_numbers.py +71 -0
- py2docfx/venv/venv1/Lib/site-packages/proto/marshal/rules/struct.py +143 -0
- py2docfx/venv/venv1/Lib/site-packages/proto/marshal/rules/wrappers.py +84 -0
- py2docfx/venv/venv1/Lib/site-packages/proto/message.py +998 -0
- py2docfx/venv/venv1/Lib/site-packages/proto/modules.py +50 -0
- py2docfx/venv/venv1/Lib/site-packages/proto/primitives.py +38 -0
- py2docfx/venv/venv1/Lib/site-packages/proto/utils.py +58 -0
- py2docfx/venv/venv1/Lib/site-packages/proto/version.py +15 -0
- py2docfx/venv/venv1/Lib/site-packages/psutil/__init__.py +2486 -0
- py2docfx/venv/venv1/Lib/site-packages/psutil/_common.py +994 -0
- py2docfx/venv/venv1/Lib/site-packages/psutil/_compat.py +477 -0
- py2docfx/venv/venv1/Lib/site-packages/psutil/_psaix.py +579 -0
- py2docfx/venv/venv1/Lib/site-packages/psutil/_psbsd.py +985 -0
- py2docfx/venv/venv1/Lib/site-packages/psutil/_pslinux.py +2375 -0
- py2docfx/venv/venv1/Lib/site-packages/psutil/_psosx.py +552 -0
- py2docfx/venv/venv1/Lib/site-packages/psutil/_psposix.py +243 -0
- py2docfx/venv/venv1/Lib/site-packages/psutil/_pssunos.py +753 -0
- py2docfx/venv/venv1/Lib/site-packages/psutil/_pswindows.py +1174 -0
- py2docfx/venv/venv1/Lib/site-packages/psutil/tests/__init__.py +2113 -0
- py2docfx/venv/venv1/Lib/site-packages/psutil/tests/__main__.py +12 -0
- py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_aix.py +115 -0
- py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_bsd.py +592 -0
- py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_connections.py +567 -0
- py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_contracts.py +339 -0
- py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_linux.py +2348 -0
- py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_memleaks.py +493 -0
- py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_misc.py +1058 -0
- py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_osx.py +192 -0
- py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_posix.py +496 -0
- py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_process.py +1746 -0
- py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_process_all.py +543 -0
- py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_sunos.py +39 -0
- py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_system.py +987 -0
- py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_testutils.py +587 -0
- py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_unicode.py +369 -0
- py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_windows.py +934 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1/__init__.py +2 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/__init__.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/ber/__init__.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/ber/decoder.py +2189 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/ber/encoder.py +954 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/ber/eoo.py +28 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/cer/__init__.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/cer/decoder.py +149 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/cer/encoder.py +331 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/der/__init__.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/der/decoder.py +120 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/der/encoder.py +126 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/native/__init__.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/native/decoder.py +244 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/native/encoder.py +285 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/streaming.py +234 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1/compat/__init__.py +4 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1/compat/integer.py +13 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1/debug.py +146 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1/error.py +116 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/__init__.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/base.py +699 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/char.py +288 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/constraint.py +751 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/error.py +11 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/namedtype.py +550 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/namedval.py +192 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/opentype.py +104 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/tag.py +335 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/tagmap.py +96 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/univ.py +3327 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/useful.py +189 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/__init__.py +2 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/pem.py +58 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc1155.py +96 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc1157.py +126 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc1901.py +22 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc1902.py +129 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc1905.py +135 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2251.py +563 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2314.py +48 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2315.py +294 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2437.py +69 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2459.py +1339 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2511.py +258 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2560.py +225 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2631.py +37 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2634.py +336 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2876.py +56 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2985.py +588 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2986.py +75 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3058.py +42 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3114.py +77 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3125.py +469 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3161.py +142 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3274.py +59 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3279.py +260 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3280.py +1543 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3281.py +331 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3370.py +146 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3412.py +53 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3414.py +28 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3447.py +45 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3537.py +34 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3560.py +74 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3565.py +57 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3657.py +66 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3709.py +207 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3739.py +203 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3770.py +75 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3779.py +137 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3820.py +65 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3852.py +706 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4010.py +58 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4043.py +43 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4055.py +258 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4073.py +59 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4108.py +350 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4210.py +803 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4211.py +396 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4334.py +75 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4357.py +477 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4387.py +23 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4476.py +93 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4490.py +113 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4491.py +44 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4683.py +72 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4985.py +49 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5035.py +199 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5083.py +52 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5084.py +97 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5126.py +577 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5208.py +56 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5275.py +404 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5280.py +1658 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5480.py +190 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5636.py +113 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5639.py +49 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5649.py +33 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5652.py +761 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5697.py +70 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5751.py +124 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5752.py +49 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5753.py +157 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5755.py +398 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5913.py +44 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5914.py +119 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5915.py +32 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5916.py +35 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5917.py +55 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5924.py +19 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5934.py +786 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5940.py +59 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5958.py +98 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5990.py +237 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6010.py +88 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6019.py +45 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6031.py +469 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6032.py +68 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6120.py +43 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6170.py +17 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6187.py +22 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6210.py +42 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6211.py +72 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6402.py +628 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6482.py +74 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6486.py +68 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6487.py +22 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6664.py +147 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6955.py +108 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6960.py +223 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7030.py +66 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7191.py +261 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7229.py +29 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7292.py +357 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7296.py +32 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7508.py +90 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7585.py +50 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7633.py +38 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7773.py +52 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7894.py +92 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7906.py +736 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7914.py +49 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8017.py +153 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8018.py +260 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8103.py +36 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8209.py +20 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8226.py +149 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8358.py +50 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8360.py +44 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8398.py +52 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8410.py +43 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8418.py +36 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8419.py +68 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8479.py +45 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8494.py +80 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8520.py +63 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8619.py +45 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8649.py +40 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8692.py +79 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8696.py +104 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8702.py +105 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8708.py +41 -0
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8769.py +21 -0
- py2docfx/venv/venv1/Lib/site-packages/pycparser/__init__.py +93 -0
- py2docfx/venv/venv1/Lib/site-packages/pycparser/_ast_gen.py +336 -0
- py2docfx/venv/venv1/Lib/site-packages/pycparser/_build_tables.py +40 -0
- py2docfx/venv/venv1/Lib/site-packages/pycparser/ast_transforms.py +164 -0
- py2docfx/venv/venv1/Lib/site-packages/pycparser/c_ast.py +1125 -0
- py2docfx/venv/venv1/Lib/site-packages/pycparser/c_generator.py +502 -0
- py2docfx/venv/venv1/Lib/site-packages/pycparser/c_lexer.py +555 -0
- py2docfx/venv/venv1/Lib/site-packages/pycparser/c_parser.py +1950 -0
- py2docfx/venv/venv1/Lib/site-packages/pycparser/lextab.py +10 -0
- py2docfx/venv/venv1/Lib/site-packages/pycparser/ply/__init__.py +5 -0
- py2docfx/venv/venv1/Lib/site-packages/pycparser/ply/cpp.py +905 -0
- py2docfx/venv/venv1/Lib/site-packages/pycparser/ply/ctokens.py +133 -0
- py2docfx/venv/venv1/Lib/site-packages/pycparser/ply/lex.py +1099 -0
- py2docfx/venv/venv1/Lib/site-packages/pycparser/ply/yacc.py +3494 -0
- py2docfx/venv/venv1/Lib/site-packages/pycparser/ply/ygen.py +74 -0
- py2docfx/venv/venv1/Lib/site-packages/pycparser/plyparser.py +133 -0
- py2docfx/venv/venv1/Lib/site-packages/pycparser/yacctab.py +369 -0
- py2docfx/venv/venv1/Lib/site-packages/pythoncom.py +4 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/basictimerapp.py +258 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/customprint.py +185 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/demoutils.py +65 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/dlgappdemo.py +51 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/dojobapp.py +71 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/helloapp.py +53 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/cmdserver.py +116 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/createwin.py +114 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/demoutils.py +65 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/dibdemo.py +73 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/dlgtest.py +145 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/dyndlg.py +104 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/fontdemo.py +85 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/guidemo.py +80 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/hiertest.py +138 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/menutest.py +13 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/objdoc.py +57 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/demoutils.py +65 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/flash.py +95 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/msoffice.py +159 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/ocxserialtest.py +133 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/ocxtest.py +244 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/webbrowser.py +72 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/openGLDemo.py +370 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/progressbar.py +105 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/sliderdemo.py +76 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/splittst.py +79 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/threadedgui.py +189 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/toolbar.py +106 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/__init__.py +3 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/__init__.py +133 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/configui.py +34 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/dbgcon.py +32 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/dbgpyapp.py +48 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/debugger.py +1098 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/fail.py +54 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/ideoptions.py +139 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/list.py +143 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/login.py +156 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/status.py +242 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/docking/DockingBar.py +677 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/app.py +414 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/bitmap.py +168 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/cmdline.py +54 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/dbgcommands.py +189 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/dlgappcore.py +76 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/ModuleBrowser.py +235 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/__init__.py +103 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/color/coloreditor.py +646 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/configui.py +299 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/document.py +380 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/editor.py +511 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/frame.py +74 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/template.py +59 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/vss.py +104 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/help.py +172 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/interact.py +995 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/intpyapp.py +554 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/intpydde.py +60 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/mdi_pychecker.py +850 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/scriptutils.py +686 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/sgrepmdi.py +758 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/startup.py +70 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/stdin.py +171 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/toolmenu.py +281 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/window.py +14 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/winout.py +589 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/AutoExpand.py +95 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/AutoIndent.py +536 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/CallTips.py +218 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/FormatParagraph.py +166 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/IdleHistory.py +87 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/PyParse.py +585 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/__init__.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/activex.py +80 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/afxres.py +501 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/dialog.py +280 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/docview.py +151 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/object.py +66 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/thread.py +25 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/window.py +50 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/IDLEenvironment.py +597 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/__init__.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/bindings.py +178 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/config.py +365 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/configui.py +292 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/control.py +565 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/document.py +312 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/find.py +511 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/formatter.py +704 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/keycodes.py +190 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/scintillacon.py +1983 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/view.py +845 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/TraceCollector.py +79 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/browseProjects.py +323 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/browser.py +506 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/hierlist.py +353 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/regedit.py +382 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/regpy.py +80 -0
- py2docfx/venv/venv1/Lib/site-packages/requests/__init__.py +184 -0
- py2docfx/venv/venv1/Lib/site-packages/requests/__version__.py +14 -0
- py2docfx/venv/venv1/Lib/site-packages/requests/_internal_utils.py +50 -0
- py2docfx/venv/venv1/Lib/site-packages/requests/adapters.py +719 -0
- py2docfx/venv/venv1/Lib/site-packages/requests/api.py +157 -0
- py2docfx/venv/venv1/Lib/site-packages/requests/auth.py +314 -0
- py2docfx/venv/venv1/Lib/site-packages/requests/certs.py +17 -0
- py2docfx/venv/venv1/Lib/site-packages/requests/compat.py +94 -0
- py2docfx/venv/venv1/Lib/site-packages/requests/cookies.py +561 -0
- py2docfx/venv/venv1/Lib/site-packages/requests/exceptions.py +151 -0
- py2docfx/venv/venv1/Lib/site-packages/requests/help.py +134 -0
- py2docfx/venv/venv1/Lib/site-packages/requests/hooks.py +33 -0
- py2docfx/venv/venv1/Lib/site-packages/requests/models.py +1037 -0
- py2docfx/venv/venv1/Lib/site-packages/requests/packages.py +23 -0
- py2docfx/venv/venv1/Lib/site-packages/requests/sessions.py +831 -0
- py2docfx/venv/venv1/Lib/site-packages/requests/status_codes.py +128 -0
- py2docfx/venv/venv1/Lib/site-packages/requests/structures.py +99 -0
- py2docfx/venv/venv1/Lib/site-packages/requests/utils.py +1096 -0
- py2docfx/venv/venv1/Lib/site-packages/rsa/__init__.py +60 -0
- py2docfx/venv/venv1/Lib/site-packages/rsa/asn1.py +52 -0
- py2docfx/venv/venv1/Lib/site-packages/rsa/cli.py +321 -0
- py2docfx/venv/venv1/Lib/site-packages/rsa/common.py +184 -0
- py2docfx/venv/venv1/Lib/site-packages/rsa/core.py +53 -0
- py2docfx/venv/venv1/Lib/site-packages/rsa/key.py +858 -0
- py2docfx/venv/venv1/Lib/site-packages/rsa/parallel.py +96 -0
- py2docfx/venv/venv1/Lib/site-packages/rsa/pem.py +134 -0
- py2docfx/venv/venv1/Lib/site-packages/rsa/pkcs1.py +485 -0
- py2docfx/venv/venv1/Lib/site-packages/rsa/pkcs1_v2.py +100 -0
- py2docfx/venv/venv1/Lib/site-packages/rsa/prime.py +198 -0
- py2docfx/venv/venv1/Lib/site-packages/rsa/randnum.py +95 -0
- py2docfx/venv/venv1/Lib/site-packages/rsa/transform.py +72 -0
- py2docfx/venv/venv1/Lib/site-packages/rsa/util.py +97 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data01/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data01/subdirectory/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/one/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/two/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/inflect/compat/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/vendored/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/zipp/compat/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/build_meta.py +554 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/bdist_wheel.py +653 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/egg_info.py +721 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/compat/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/dist.py +996 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/compat/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/integration/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_bdist_wheel.py +646 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_dist.py +280 -0
- py2docfx/venv/venv1/Lib/site-packages/six.py +998 -0
- py2docfx/venv/venv1/Lib/site-packages/typing_extensions.py +3641 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/__init__.py +211 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/_base_connection.py +172 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/_collections.py +483 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/_request_methods.py +278 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/_version.py +16 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/connection.py +1033 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/connectionpool.py +1182 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/contrib/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/contrib/emscripten/__init__.py +16 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/contrib/emscripten/connection.py +254 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/contrib/emscripten/fetch.py +418 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/contrib/emscripten/request.py +22 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/contrib/emscripten/response.py +285 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/contrib/pyopenssl.py +552 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/contrib/socks.py +228 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/exceptions.py +321 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/fields.py +341 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/filepost.py +89 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/http2/__init__.py +53 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/http2/connection.py +356 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/http2/probe.py +87 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/poolmanager.py +637 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/response.py +1265 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/util/__init__.py +42 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/util/connection.py +137 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/util/proxy.py +43 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/util/request.py +256 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/util/response.py +101 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/util/retry.py +533 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/util/ssl_.py +513 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/util/ssl_match_hostname.py +159 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/util/ssltransport.py +276 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/util/timeout.py +275 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/util/url.py +471 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/util/util.py +42 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/util/wait.py +124 -0
- py2docfx/venv/venv1/Lib/site-packages/wheel/vendored/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/wheel/vendored/packaging/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/BackupRead_BackupWrite.py +119 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/BackupSeek_streamheaders.py +137 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/CopyFileEx.py +57 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/CreateFileTransacted_MiniVersion.py +122 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/EvtFormatMessage.py +83 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/EvtSubscribe_pull.py +28 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/EvtSubscribe_push.py +25 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/FileSecurityTest.py +137 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/GetSaveFileName.py +43 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/NetValidatePasswordPolicy.py +127 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/OpenEncryptedFileRaw.py +66 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/RegCreateKeyTransacted.py +60 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/RegRestoreKey.py +71 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/SystemParametersInfo.py +210 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/c_extension/setup.py +26 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/dde/ddeclient.py +18 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/dde/ddeserver.py +42 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/desktopmanager.py +246 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/eventLogDemo.py +143 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/getfilever.py +33 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/mmapfile_demo.py +101 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/pipes/cat.py +17 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/pipes/runproc.py +114 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/print_desktop.py +113 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/rastest.py +168 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/GetTokenInformation.py +110 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/account_rights.py +51 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/explicit_entries.py +171 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/get_policy_info.py +42 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/list_rights.py +37 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/localized_names.py +65 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/lsaregevent.py +14 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/lsastore.py +12 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/query_information.py +25 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/regsave_sa.py +61 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/regsecurity.py +36 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sa_inherit.py +8 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/security_enums.py +336 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_file_audit.py +107 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_file_owner.py +74 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_policy_info.py +28 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setkernelobjectsecurity.py +135 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setnamedsecurityinfo.py +131 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setsecurityinfo.py +132 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setuserobjectsecurity.py +103 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/fetch_url.py +158 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/simple_auth.py +72 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/socket_server.py +200 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/validate_password.py +41 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/nativePipeTestService.py +63 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/pipeTestService.py +184 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/pipeTestServiceClient.py +155 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/serviceEvents.py +98 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/timer_demo.py +72 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32clipboardDemo.py +143 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32clipboard_bitmapdemo.py +117 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32comport_demo.py +144 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32console_demo.py +135 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32cred_demo.py +82 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32fileDemo.py +41 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_demo.py +177 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_devicenotify.py +107 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_dialog.py +445 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_menu.py +409 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_taskbar.py +136 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32netdemo.py +275 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32rcparser_demo.py +86 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32servicedemo.py +23 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32ts_logoff_disconnected.py +25 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32wnet/testwnet.py +123 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32wnet/winnetwk.py +100 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/winprocess.py +230 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/_win32verstamp_pywin32ctypes.py +164 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/afxres.py +8 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/commctrl.py +1551 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/mmsystem.py +956 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/netbios.py +295 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/ntsecuritycon.py +731 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywin32_bootstrap.py +29 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywin32_testutil.py +291 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywintypes.py +124 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/rasutil.py +40 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/regcheck.py +161 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/regutil.py +395 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/sspi.py +413 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/sspicon.py +477 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win2kras.py +7 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32con.py +5083 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32cryptcon.py +1925 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32evtlogutil.py +226 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32gui_struct.py +957 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32inetcon.py +1086 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32netcon.py +627 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32pdhquery.py +571 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32pdhutil.py +212 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32rcparser.py +673 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32serviceutil.py +1075 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32timezone.py +1018 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32traceutil.py +59 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32verstamp.py +235 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/winerror.py +3040 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/winioctlcon.py +1079 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/winnt.py +1347 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/winperf.py +236 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/winxptheme.py +8 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/ControlService.py +594 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/VersionStamp/BrandProject.py +97 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/VersionStamp/bulkstamp.py +156 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/VersionStamp/vssutil.py +201 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/backupEventLog.py +46 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/killProcName.py +62 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/rasutil.py +98 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/regsetup.py +610 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/setup_d.py +111 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/test/handles.py +167 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_clipboard.py +126 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_exceptions.py +213 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_odbc.py +264 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_pywintypes.py +111 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_security.py +166 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_sspi.py +229 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32api.py +269 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32clipboard.py +60 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32cred.py +92 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32crypt.py +131 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32event.py +119 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32file.py +1080 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32gui.py +228 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32guistruct.py +336 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32inet.py +91 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32net.py +24 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32pipe.py +148 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32print.py +24 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32profile.py +19 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32rcparser.py +70 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32timezone.py +16 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32trace.py +366 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32wnet.py +174 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/test/testall.py +223 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/winxpgui.py +21 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/__init__.py +134 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/CLSIDToClass.py +58 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/__init__.py +685 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/build.py +771 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/combrowse.py +620 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/connect.py +48 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/dynamic.py +699 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/gencache.py +807 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/genpy.py +1398 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/makepy.py +449 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/selecttlb.py +183 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/tlbrowse.py +277 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/util.py +103 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/connect.py +96 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/dump_clipboard.py +74 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/eventsApartmentThreaded.py +98 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/eventsFreeThreaded.py +92 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/excelAddin.py +169 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/excelRTDServer.py +434 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/iebutton.py +217 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/ietoolbar.py +368 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/outlookAddin.py +137 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/trybag.py +78 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/__init__.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegw.py +626 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegwenum.py +335 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegwparse.py +1019 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/olectl.py +70 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/__init__.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/connect.py +85 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/dispatcher.py +243 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/exception.py +99 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/factory.py +26 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/localserver.py +53 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/policy.py +817 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/register.py +678 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/util.py +229 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/servers/PythonTools.py +47 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/servers/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/servers/dictionary.py +136 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/servers/interp.py +59 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/servers/perfmon.py +36 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/servers/test_pycomtest.py +182 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/storagecon.py +142 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/GenTestScripts.py +97 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/__init__.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/daodump.py +88 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/errorSemantics.py +243 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/pippo_server.py +99 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/policySemantics.py +115 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testADOEvents.py +100 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testAXScript.py +45 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testAccess.py +185 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testArrays.py +99 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testClipboard.py +169 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testCollections.py +159 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testConversionErrors.py +35 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDCOM.py +50 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDates.py +74 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDictionary.py +100 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDynamic.py +85 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testExchange.py +126 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testExplorer.py +139 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testGIT.py +142 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testGatewayAddresses.py +149 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testIterators.py +140 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testMSOffice.py +201 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testMSOfficeEvents.py +138 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testMarshal.py +160 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testNetscape.py +24 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPersist.py +227 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPippo.py +81 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPyComTest.py +782 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testROT.py +29 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testServers.py +52 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testShell.py +272 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testStorage.py +88 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testStreams.py +147 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testWMI.py +18 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testall.py +321 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testmakepy.py +55 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testvb.py +579 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testvbscript_regexp.py +40 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testxslt.py +34 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/util.py +264 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/universal.py +226 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/util.py +35 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/__init__.py +113 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/adsicon.py +340 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/objectPicker.py +68 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/scp.py +565 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/search.py +152 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/test.py +274 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/authorization/__init__.py +6 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/authorization/demos/EditSecurity.py +252 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/authorization/demos/EditServiceSecurity.py +239 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axcontrol/__init__.py +4 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/__init__.py +4 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/adb.py +473 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/codecontainer.py +275 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/contexts.py +60 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/debugger.py +238 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/documents.py +136 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/dump.py +59 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/expressions.py +212 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/gateways.py +583 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/stackframe.py +178 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/util.py +105 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/__init__.py +4 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/asputil.py +13 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/__init__.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/debug.py +235 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/error.py +263 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/framework.py +1291 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/pydumper.py +79 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/pyscript.py +443 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/pyscript_rexec.py +54 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/scriptdispatch.py +104 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/server/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/server/axsite.py +146 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/test/leakTest.py +186 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/test/testHost.py +240 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/test/testHost4Dbg.py +86 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/bits/__init__.py +6 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/bits/test/show_all_jobs.py +48 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/bits/test/test_bits.py +119 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/directsound/__init__.py +4 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/directsound/test/__init__.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/directsound/test/ds_record.py +60 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/directsound/test/ds_test.py +402 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/ifilter/__init__.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/ifilter/demo/filterDemo.py +300 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/ifilter/ifiltercon.py +110 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/internet/__init__.py +4 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/internet/inetcon.py +261 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/__init__.py +21 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/demos/mapisend.py +98 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/emsabtags.py +874 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/mapitags.py +1025 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/mapiutil.py +211 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/propsys/__init__.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/propsys/pscon.py +838 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/propsys/test/testpropsys.py +5 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/__init__.py +4 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IActiveDesktop.py +83 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IFileOperationProgressSink.py +179 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IShellLinkDataList.py +67 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/ITransferAdviseSink.py +91 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IUniformResourceLocator.py +56 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/browse_for_folder.py +45 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/create_link.py +73 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/dump_link.py +58 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/explorer_browser.py +143 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/column_provider.py +126 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/context_menu.py +122 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/copy_hook.py +84 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/empty_volume_cache.py +188 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/folder_view.py +866 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/icon_handler.py +82 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/shell_view.py +972 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/shellexecuteex.py +19 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/viewstate.py +68 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/walk_shell_folders.py +24 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/shellcon.py +1615 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/test/testSHFileOperation.py +75 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/test/testShellFolder.py +21 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/test/testShellItem.py +69 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/__init__.py +6 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_addtask.py +66 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_addtask_1.py +68 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_addtask_2.py +50 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_localsystem.py +3 -0
- py2docfx/venv/venv1/Scripts/pywin32_postinstall.py +778 -0
- py2docfx/venv/venv1/Scripts/pywin32_testall.py +125 -0
- py2docfx-0.1.9.dev1897607.dist-info/METADATA +16 -0
- py2docfx-0.1.9.dev1897607.dist-info/RECORD +4241 -0
- py2docfx/venv/venv0/Lib/site-packages/setuptools/build_meta.py +0 -530
- py2docfx/venv/venv0/Lib/site-packages/setuptools/command/bdist_wheel.py +0 -635
- py2docfx/venv/venv0/Lib/site-packages/setuptools/command/egg_info.py +0 -717
- py2docfx/venv/venv0/Lib/site-packages/setuptools/dist.py +0 -955
- py2docfx/venv/venv0/Lib/site-packages/setuptools/tests/test_bdist_wheel.py +0 -621
- py2docfx/venv/venv0/Lib/site-packages/setuptools/tests/test_dist.py +0 -280
- py2docfx-0.1.9.dev1886355.dist-info/METADATA +0 -16
- py2docfx-0.1.9.dev1886355.dist-info/RECORD +0 -2791
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/_distutils_hack/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/_distutils_hack/override.py +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/pip/_internal/operations → venv1/Lib/site-packages/azure/core/tracing/ext}/__init__.py +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/pip/_internal/operations/build/__init__.py → venv1/Lib/site-packages/google/auth/crypt/_helpers.py} +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/pip/_internal/resolution → venv1/Lib/site-packages/google/protobuf/compiler}/__init__.py +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/pip/_internal/resolution/legacy → venv1/Lib/site-packages/google/protobuf/pyext}/__init__.py +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/pip/_internal/resolution/resolvelib → venv1/Lib/site-packages/google/protobuf/testdata}/__init__.py +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/pip/_internal/utils → venv1/Lib/site-packages/google/protobuf/util}/__init__.py +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/pip/_vendor/chardet/cli → venv1/Lib/site-packages/opencensus/common/monitored_resource}/__init__.py +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/pip/_vendor/chardet/metadata → venv1/Lib/site-packages/opencensus/metrics}/__init__.py +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/pip/_vendor/resolvelib/compat → venv1/Lib/site-packages/opencensus/metrics/export}/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/__main__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/__pip-runner__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/build_env.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cache.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/autocompletion.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/base_command.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/cmdoptions.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/command_context.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/main.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/main_parser.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/parser.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/progress_bars.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/req_command.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/spinners.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/status_codes.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/cache.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/check.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/completion.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/configuration.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/debug.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/download.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/freeze.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/hash.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/help.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/index.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/inspect.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/install.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/list.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/search.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/show.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/uninstall.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/wheel.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/configuration.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/distributions/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/distributions/base.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/distributions/installed.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/distributions/sdist.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/distributions/wheel.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/exceptions.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/index/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/index/collector.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/index/package_finder.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/index/sources.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/locations/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/locations/_distutils.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/locations/_sysconfig.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/locations/base.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/main.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/metadata/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/metadata/_json.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/metadata/base.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/metadata/importlib/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/metadata/importlib/_compat.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/metadata/importlib/_dists.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/metadata/importlib/_envs.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/metadata/pkg_resources.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/candidate.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/direct_url.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/format_control.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/index.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/installation_report.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/link.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/scheme.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/search_scope.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/selection_prefs.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/target_python.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/wheel.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/network/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/network/auth.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/network/cache.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/network/download.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/network/lazy_wheel.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/network/session.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/network/utils.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/network/xmlrpc.py +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/pip/_vendor/urllib3/contrib → venv1/Lib/site-packages/pip/_internal/operations}/__init__.py +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport → venv1/Lib/site-packages/pip/_internal/operations/build}/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/build/build_tracker.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/build/metadata.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/build/metadata_editable.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/build/metadata_legacy.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/build/wheel.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/build/wheel_editable.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/build/wheel_legacy.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/check.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/freeze.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/install/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/install/editable_legacy.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/install/wheel.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/prepare.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/pyproject.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/req/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/req/constructors.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/req/req_file.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/req/req_install.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/req/req_set.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/req/req_uninstall.py +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/pip/_vendor/urllib3/packages → venv1/Lib/site-packages/pip/_internal/resolution}/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/resolution/base.py +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/pip/_vendor/urllib3/packages/backports → venv1/Lib/site-packages/pip/_internal/resolution/legacy}/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/resolution/legacy/resolver.py +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/pkg_resources/tests → venv1/Lib/site-packages/pip/_internal/resolution/resolvelib}/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/resolution/resolvelib/base.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/resolution/resolvelib/candidates.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/resolution/resolvelib/factory.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/resolution/resolvelib/provider.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/resolution/resolvelib/reporter.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/resolution/resolvelib/requirements.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/resolution/resolvelib/resolver.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/self_outdated_check.py +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_distutils/tests/compat → venv1/Lib/site-packages/pip/_internal/utils}/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/_jaraco_text.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/_log.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/appdirs.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/compat.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/compatibility_tags.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/datetime.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/deprecation.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/direct_url_helpers.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/egg_link.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/encoding.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/entrypoints.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/filesystem.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/filetypes.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/glibc.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/hashes.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/logging.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/misc.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/models.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/packaging.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/setuptools_build.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/subprocess.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/temp_dir.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/unpacking.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/urls.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/virtualenv.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/wheel.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/vcs/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/vcs/bazaar.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/vcs/git.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/vcs/mercurial.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/vcs/subversion.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/vcs/versioncontrol.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/wheel_builder.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/_cmd.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/adapter.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/cache.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/controller.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/filewrapper.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/heuristics.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/serialize.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/wrapper.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/certifi/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/certifi/__main__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/certifi/core.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/big5freq.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/big5prober.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/chardistribution.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/charsetgroupprober.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/charsetprober.py +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/backports/tarfile/compat → venv1/Lib/site-packages/pip/_vendor/chardet/cli}/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/cli/chardetect.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/codingstatemachine.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/codingstatemachinedict.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/cp949prober.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/enums.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/escprober.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/escsm.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/eucjpprober.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/euckrfreq.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/euckrprober.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/euctwfreq.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/euctwprober.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/gb2312freq.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/gb2312prober.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/hebrewprober.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/jisfreq.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/johabfreq.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/johabprober.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/jpcntx.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/langbulgarianmodel.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/langgreekmodel.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/langhebrewmodel.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/langhungarianmodel.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/langrussianmodel.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/langthaimodel.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/langturkishmodel.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/latin1prober.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/macromanprober.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/mbcharsetprober.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/mbcsgroupprober.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/mbcssm.py +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/importlib_metadata/compat → venv1/Lib/site-packages/pip/_vendor/chardet/metadata}/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/metadata/languages.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/resultdict.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/sbcharsetprober.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/sbcsgroupprober.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/sjisprober.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/universaldetector.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/utf1632prober.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/utf8prober.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/version.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/ansi.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/ansitowin32.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/initialise.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/tests/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/tests/ansi_test.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/tests/ansitowin32_test.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/tests/initialise_test.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/tests/isatty_test.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/tests/utils.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/tests/winterm_test.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/win32.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/winterm.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/compat.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/database.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/index.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/locators.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/manifest.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/markers.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/metadata.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/resources.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/scripts.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/util.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/version.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/wheel.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distro/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distro/__main__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distro/distro.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/idna/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/idna/codec.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/idna/compat.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/idna/core.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/idna/idnadata.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/idna/intranges.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/idna/package_data.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/idna/uts46data.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/msgpack/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/msgpack/exceptions.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/msgpack/ext.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/msgpack/fallback.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/packaging/__about__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/packaging/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/packaging/_manylinux.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/packaging/_musllinux.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/packaging/_structures.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/packaging/markers.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/packaging/requirements.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/packaging/specifiers.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/packaging/tags.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/packaging/utils.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/packaging/version.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pkg_resources/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/platformdirs/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/platformdirs/__main__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/platformdirs/android.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/platformdirs/api.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/platformdirs/macos.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/platformdirs/unix.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/platformdirs/version.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/platformdirs/windows.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/__main__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/cmdline.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/console.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/filter.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/filters/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatter.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/_mapping.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/bbcode.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/groff.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/html.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/img.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/irc.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/latex.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/other.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/pangomarkup.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/rtf.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/svg.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/terminal.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/terminal256.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/lexer.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/lexers/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/lexers/_mapping.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/lexers/python.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/modeline.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/plugin.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/regexopt.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/scanner.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/sphinxext.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/style.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/styles/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/token.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/unistring.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/util.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyparsing/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyparsing/actions.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyparsing/common.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyparsing/core.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyparsing/diagram/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyparsing/exceptions.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyparsing/helpers.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyparsing/results.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyparsing/testing.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyparsing/unicode.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyparsing/util.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyproject_hooks/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyproject_hooks/_compat.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyproject_hooks/_impl.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyproject_hooks/_in_process/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/__version__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/_internal_utils.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/adapters.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/api.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/auth.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/certs.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/compat.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/cookies.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/exceptions.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/help.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/hooks.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/models.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/packages.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/sessions.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/status_codes.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/structures.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/utils.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/resolvelib/__init__.py +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/importlib_resources → venv1/Lib/site-packages/pip/_vendor/resolvelib}/compat/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/resolvelib/compat/collections_abc.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/resolvelib/providers.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/resolvelib/reporters.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/resolvelib/resolvers.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/resolvelib/structs.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/__main__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_cell_widths.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_emoji_codes.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_emoji_replace.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_export_format.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_extension.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_fileno.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_inspect.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_log_render.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_loop.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_null_file.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_palettes.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_pick.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_ratio.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_spinners.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_stack.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_timer.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_win32_console.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_windows.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_windows_renderer.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_wrap.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/abc.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/align.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/ansi.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/bar.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/box.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/cells.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/color.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/color_triplet.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/columns.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/console.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/constrain.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/containers.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/control.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/default_styles.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/diagnose.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/emoji.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/errors.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/file_proxy.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/filesize.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/highlighter.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/json.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/jupyter.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/layout.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/live.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/live_render.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/logging.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/markup.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/measure.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/padding.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/pager.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/palette.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/panel.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/pretty.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/progress.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/progress_bar.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/prompt.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/protocol.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/region.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/repr.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/rule.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/scope.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/screen.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/segment.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/spinner.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/status.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/style.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/styled.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/syntax.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/table.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/terminal_theme.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/text.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/theme.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/themes.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/traceback.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/tree.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/six.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tenacity/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tenacity/_asyncio.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tenacity/_utils.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tenacity/after.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tenacity/before.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tenacity/before_sleep.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tenacity/nap.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tenacity/retry.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tenacity/stop.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tenacity/tornadoweb.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tenacity/wait.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tomli/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tomli/_parser.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tomli/_re.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tomli/_types.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/truststore/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/truststore/_api.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/truststore/_macos.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/truststore/_openssl.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/truststore/_ssl_constants.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/truststore/_windows.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/typing_extensions.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/_collections.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/_version.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/connection.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/connectionpool.py +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/importlib_resources/future → venv1/Lib/site-packages/pip/_vendor/urllib3/contrib}/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/importlib_resources/tests → venv1/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport}/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/contrib/appengine.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/contrib/securetransport.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/contrib/socks.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/exceptions.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/fields.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/filepost.py +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat → venv1/Lib/site-packages/pip/_vendor/urllib3/packages}/__init__.py +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data01 → venv1/Lib/site-packages/pip/_vendor/urllib3/packages/backports}/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/packages/backports/weakref_finalize.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/packages/six.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/poolmanager.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/request.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/response.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/connection.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/proxy.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/queue.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/request.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/response.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/retry.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/ssl_.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/ssl_match_hostname.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/ssltransport.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/timeout.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/url.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/wait.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/webencodings/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/webencodings/labels.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/webencodings/mklabels.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/webencodings/tests.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/webencodings/x_user_defined.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pkg_resources/__init__.py +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data01/subdirectory → venv1/Lib/site-packages/pkg_resources/tests}/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pkg_resources/tests/data/my-test-package-source/setup.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pkg_resources/tests/test_find_distributions.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pkg_resources/tests/test_integration_zope_interface.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pkg_resources/tests/test_markers.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pkg_resources/tests/test_pkg_resources.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pkg_resources/tests/test_resources.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pkg_resources/tests/test_working_set.py +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02 → venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx}/__init__.py +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/one → venv1/Lib/site-packages/pythonwin/pywin/dialogs}/__init__.py +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/two → venv1/Lib/site-packages/pythonwin/pywin/docking}/__init__.py +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/inflect/compat → venv1/Lib/site-packages/pythonwin/pywin/framework}/__init__.py +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/wheel/vendored → venv1/Lib/site-packages/pythonwin/pywin/framework/editor/color}/__init__.py +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging → venv1/Lib/site-packages/pythonwin/pywin/mfc}/__init__.py +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/zipp/compat → venv1/Lib/site-packages/pythonwin/pywin/tools}/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_core_metadata.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/_log.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/_macos_compat.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/_modified.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/_msvccompiler.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/archive_util.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/ccompiler.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/cmd.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/_framework_compat.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/bdist.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/bdist_dumb.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/bdist_rpm.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/build.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/build_clib.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/build_ext.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/build_py.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/build_scripts.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/check.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/clean.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/config.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/install.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/install_data.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/install_egg_info.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/install_headers.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/install_lib.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/install_scripts.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/sdist.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/compat/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/compat/py38.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/compat/py39.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/core.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/cygwinccompiler.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/debug.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/dep_util.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/dir_util.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/dist.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/errors.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/extension.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/fancy_getopt.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/file_util.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/filelist.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/log.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/spawn.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/sysconfig.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/__init__.py +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/setuptools → venv1/Lib/site-packages/setuptools/_distutils/tests}/compat/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/compat/py38.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/support.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_archive_util.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_bdist.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_bdist_dumb.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_bdist_rpm.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_build.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_build_clib.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_build_ext.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_build_py.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_build_scripts.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_ccompiler.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_check.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_clean.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_cmd.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_config_cmd.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_core.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_cygwinccompiler.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_dir_util.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_dist.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_extension.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_file_util.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_filelist.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_install.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_install_data.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_install_headers.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_install_lib.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_install_scripts.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_log.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_mingwccompiler.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_modified.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_msvccompiler.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_sdist.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_spawn.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_sysconfig.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_text_file.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_unixccompiler.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_util.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_version.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_versionpredicate.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/unix_compat.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/text_file.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/unixccompiler.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/util.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/version.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/versionpredicate.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/zosccompiler.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_entry_points.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_imp.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_importlib.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_itertools.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_normalization.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_path.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_reqs.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/autocommand/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/autocommand/autoasync.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/autocommand/autocommand.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/autocommand/automain.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/autocommand/autoparse.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/autocommand/errors.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/backports/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/backports/tarfile/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/backports/tarfile/__main__.py +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/setuptools/tests → venv1/Lib/site-packages/setuptools/_vendor/backports/tarfile}/compat/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/backports/tarfile/compat/py38.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_metadata/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_metadata/_adapters.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_metadata/_collections.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_metadata/_compat.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_metadata/_functools.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_metadata/_itertools.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_metadata/_meta.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_metadata/_text.py +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/setuptools/tests/config → venv1/Lib/site-packages/setuptools/_vendor/importlib_metadata/compat}/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_metadata/compat/py311.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_metadata/compat/py39.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_metadata/diagnose.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/_adapters.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/_common.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/_itertools.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/abc.py +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/setuptools/tests/integration → venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/compat}/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/py38.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/py39.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/functional.py +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/wheel/vendored → venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/future}/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/future/adapters.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/readers.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/simple.py +0 -0
- /py2docfx/venv/{venv0/Lib/site-packages/wheel/vendored/packaging → venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests}/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/_path.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/py312.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/py39.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_compatibilty_files.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_contents.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_custom.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_files.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_functional.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_open.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_path.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_read.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_reader.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_resource.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/util.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/zip.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/inflect/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/inflect/compat/py38.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/jaraco/collections/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/jaraco/context.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/jaraco/functools/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/jaraco/text/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/jaraco/text/layouts.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/jaraco/text/show-newlines.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/jaraco/text/strip-prefix.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/jaraco/text/to-dvorak.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/jaraco/text/to-qwerty.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/more_itertools/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/more_itertools/more.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/more_itertools/recipes.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/_elffile.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/_manylinux.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/_musllinux.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/_parser.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/_structures.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/_tokenizer.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/markers.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/metadata.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/requirements.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/specifiers.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/tags.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/utils.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/version.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/platformdirs/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/platformdirs/__main__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/platformdirs/android.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/platformdirs/api.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/platformdirs/macos.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/platformdirs/unix.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/platformdirs/version.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/platformdirs/windows.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/tomli/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/tomli/_parser.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/tomli/_re.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/tomli/_types.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_checkers.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_config.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_decorators.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_exceptions.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_functions.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_importhook.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_memo.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_pytest_plugin.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_suppression.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_transformer.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_union_transformer.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_utils.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typing_extensions.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/__main__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/_setuptools_logging.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/bdist_wheel.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/cli/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/cli/convert.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/cli/pack.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/cli/tags.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/cli/unpack.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/macosx_libfile.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/metadata.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/util.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_elffile.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_manylinux.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_musllinux.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_parser.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_structures.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_tokenizer.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/markers.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/requirements.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/specifiers.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/tags.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/utils.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/version.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/wheelfile.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/zipp/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/zipp/compat/py310.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/zipp/glob.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/archive_util.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/_requirestxt.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/alias.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/bdist_egg.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/bdist_rpm.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/build.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/build_clib.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/build_ext.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/build_py.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/develop.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/dist_info.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/easy_install.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/editable_wheel.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/install.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/install_egg_info.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/install_lib.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/install_scripts.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/rotate.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/saveopts.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/sdist.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/setopt.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/test.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/compat/py310.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/compat/py311.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/compat/py312.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/compat/py39.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/config/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/config/_apply_pyprojecttoml.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/config/_validate_pyproject/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/config/_validate_pyproject/error_reporting.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/config/_validate_pyproject/extra_validations.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_exceptions.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_validations.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/config/_validate_pyproject/formats.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/config/expand.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/config/pyprojecttoml.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/config/setupcfg.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/depends.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/discovery.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/errors.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/extension.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/glob.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/installer.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/launch.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/logging.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/modified.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/monkey.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/msvc.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/namespaces.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/package_index.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/sandbox.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/compat/py39.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/config/downloads/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/config/downloads/preload.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/config/test_apply_pyprojecttoml.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/config/test_expand.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/config/test_pyprojecttoml.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/config/test_pyprojecttoml_dynamic_deps.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/config/test_setupcfg.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/contexts.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/environment.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/fixtures.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/integration/helpers.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/integration/test_pip_install_sdist.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/mod_with_constant.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/namespaces.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/script-with-bom.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/server.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_archive_util.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_bdist_deprecations.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_bdist_egg.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_build.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_build_clib.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_build_ext.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_build_meta.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_build_py.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_config_discovery.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_core_metadata.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_depends.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_develop.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_dist_info.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_distutils_adoption.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_easy_install.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_editable_install.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_egg_info.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_extern.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_find_packages.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_find_py_modules.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_glob.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_install_scripts.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_logging.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_manifest.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_namespaces.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_packageindex.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_sandbox.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_sdist.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_setopt.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_setuptools.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_unicode_utils.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_virtualenv.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_warnings.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_wheel.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_windows_wrappers.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/text.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/textwrap.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/unicode_utils.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/version.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/warnings.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/wheel.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/windows_support.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/__main__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/_bdist_wheel.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/_setuptools_logging.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/bdist_wheel.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/cli/__init__.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/cli/convert.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/cli/pack.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/cli/tags.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/cli/unpack.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/macosx_libfile.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/metadata.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/util.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/_elffile.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/_manylinux.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/_musllinux.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/_parser.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/_structures.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/_tokenizer.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/markers.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/requirements.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/specifiers.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/tags.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/utils.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/version.py +0 -0
- /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/wheelfile.py +0 -0
- {py2docfx-0.1.9.dev1886355.dist-info → py2docfx-0.1.9.dev1897607.dist-info}/WHEEL +0 -0
- {py2docfx-0.1.9.dev1886355.dist-info → py2docfx-0.1.9.dev1897607.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,3327 @@
|
|
1
|
+
#
|
2
|
+
# This file is part of pyasn1 software.
|
3
|
+
#
|
4
|
+
# Copyright (c) 2005-2020, Ilya Etingof <etingof@gmail.com>
|
5
|
+
# License: https://pyasn1.readthedocs.io/en/latest/license.html
|
6
|
+
#
|
7
|
+
import math
|
8
|
+
import sys
|
9
|
+
|
10
|
+
from pyasn1 import error
|
11
|
+
from pyasn1.codec.ber import eoo
|
12
|
+
from pyasn1.compat import integer
|
13
|
+
from pyasn1.type import base
|
14
|
+
from pyasn1.type import constraint
|
15
|
+
from pyasn1.type import namedtype
|
16
|
+
from pyasn1.type import namedval
|
17
|
+
from pyasn1.type import tag
|
18
|
+
from pyasn1.type import tagmap
|
19
|
+
|
20
|
+
NoValue = base.NoValue
|
21
|
+
noValue = NoValue()
|
22
|
+
|
23
|
+
__all__ = ['Integer', 'Boolean', 'BitString', 'OctetString', 'Null',
|
24
|
+
'ObjectIdentifier', 'Real', 'Enumerated',
|
25
|
+
'SequenceOfAndSetOfBase', 'SequenceOf', 'SetOf',
|
26
|
+
'SequenceAndSetBase', 'Sequence', 'Set', 'Choice', 'Any',
|
27
|
+
'NoValue', 'noValue']
|
28
|
+
|
29
|
+
# "Simple" ASN.1 types (yet incomplete)
|
30
|
+
|
31
|
+
|
32
|
+
class Integer(base.SimpleAsn1Type):
|
33
|
+
"""Create |ASN.1| schema or value object.
|
34
|
+
|
35
|
+
|ASN.1| class is based on :class:`~pyasn1.type.base.SimpleAsn1Type`, its
|
36
|
+
objects are immutable and duck-type Python :class:`int` objects.
|
37
|
+
|
38
|
+
Keyword Args
|
39
|
+
------------
|
40
|
+
value: :class:`int`, :class:`str` or |ASN.1| object
|
41
|
+
Python :class:`int` or :class:`str` literal or |ASN.1| class
|
42
|
+
instance. If `value` is not given, schema object will be created.
|
43
|
+
|
44
|
+
tagSet: :py:class:`~pyasn1.type.tag.TagSet`
|
45
|
+
Object representing non-default ASN.1 tag(s)
|
46
|
+
|
47
|
+
subtypeSpec: :py:class:`~pyasn1.type.constraint.ConstraintsIntersection`
|
48
|
+
Object representing non-default ASN.1 subtype constraint(s). Constraints
|
49
|
+
verification for |ASN.1| type occurs automatically on object
|
50
|
+
instantiation.
|
51
|
+
|
52
|
+
namedValues: :py:class:`~pyasn1.type.namedval.NamedValues`
|
53
|
+
Object representing non-default symbolic aliases for numbers
|
54
|
+
|
55
|
+
Raises
|
56
|
+
------
|
57
|
+
~pyasn1.error.ValueConstraintError, ~pyasn1.error.PyAsn1Error
|
58
|
+
On constraint violation or bad initializer.
|
59
|
+
|
60
|
+
Examples
|
61
|
+
--------
|
62
|
+
|
63
|
+
.. code-block:: python
|
64
|
+
|
65
|
+
class ErrorCode(Integer):
|
66
|
+
'''
|
67
|
+
ASN.1 specification:
|
68
|
+
|
69
|
+
ErrorCode ::=
|
70
|
+
INTEGER { disk-full(1), no-disk(-1),
|
71
|
+
disk-not-formatted(2) }
|
72
|
+
|
73
|
+
error ErrorCode ::= disk-full
|
74
|
+
'''
|
75
|
+
namedValues = NamedValues(
|
76
|
+
('disk-full', 1), ('no-disk', -1),
|
77
|
+
('disk-not-formatted', 2)
|
78
|
+
)
|
79
|
+
|
80
|
+
error = ErrorCode('disk-full')
|
81
|
+
"""
|
82
|
+
#: Set (on class, not on instance) or return a
|
83
|
+
#: :py:class:`~pyasn1.type.tag.TagSet` object representing ASN.1 tag(s)
|
84
|
+
#: associated with |ASN.1| type.
|
85
|
+
tagSet = tag.initTagSet(
|
86
|
+
tag.Tag(tag.tagClassUniversal, tag.tagFormatSimple, 0x02)
|
87
|
+
)
|
88
|
+
|
89
|
+
#: Set (on class, not on instance) or return a
|
90
|
+
#: :py:class:`~pyasn1.type.constraint.ConstraintsIntersection` object
|
91
|
+
#: imposing constraints on |ASN.1| type initialization values.
|
92
|
+
subtypeSpec = constraint.ConstraintsIntersection()
|
93
|
+
|
94
|
+
#: Default :py:class:`~pyasn1.type.namedval.NamedValues` object
|
95
|
+
#: representing symbolic aliases for numbers
|
96
|
+
namedValues = namedval.NamedValues()
|
97
|
+
|
98
|
+
# Optimization for faster codec lookup
|
99
|
+
typeId = base.SimpleAsn1Type.getTypeId()
|
100
|
+
|
101
|
+
def __init__(self, value=noValue, **kwargs):
|
102
|
+
if 'namedValues' not in kwargs:
|
103
|
+
kwargs['namedValues'] = self.namedValues
|
104
|
+
|
105
|
+
base.SimpleAsn1Type.__init__(self, value, **kwargs)
|
106
|
+
|
107
|
+
def __and__(self, value):
|
108
|
+
return self.clone(self._value & value)
|
109
|
+
|
110
|
+
def __rand__(self, value):
|
111
|
+
return self.clone(value & self._value)
|
112
|
+
|
113
|
+
def __or__(self, value):
|
114
|
+
return self.clone(self._value | value)
|
115
|
+
|
116
|
+
def __ror__(self, value):
|
117
|
+
return self.clone(value | self._value)
|
118
|
+
|
119
|
+
def __xor__(self, value):
|
120
|
+
return self.clone(self._value ^ value)
|
121
|
+
|
122
|
+
def __rxor__(self, value):
|
123
|
+
return self.clone(value ^ self._value)
|
124
|
+
|
125
|
+
def __lshift__(self, value):
|
126
|
+
return self.clone(self._value << value)
|
127
|
+
|
128
|
+
def __rshift__(self, value):
|
129
|
+
return self.clone(self._value >> value)
|
130
|
+
|
131
|
+
def __add__(self, value):
|
132
|
+
return self.clone(self._value + value)
|
133
|
+
|
134
|
+
def __radd__(self, value):
|
135
|
+
return self.clone(value + self._value)
|
136
|
+
|
137
|
+
def __sub__(self, value):
|
138
|
+
return self.clone(self._value - value)
|
139
|
+
|
140
|
+
def __rsub__(self, value):
|
141
|
+
return self.clone(value - self._value)
|
142
|
+
|
143
|
+
def __mul__(self, value):
|
144
|
+
return self.clone(self._value * value)
|
145
|
+
|
146
|
+
def __rmul__(self, value):
|
147
|
+
return self.clone(value * self._value)
|
148
|
+
|
149
|
+
def __mod__(self, value):
|
150
|
+
return self.clone(self._value % value)
|
151
|
+
|
152
|
+
def __rmod__(self, value):
|
153
|
+
return self.clone(value % self._value)
|
154
|
+
|
155
|
+
def __pow__(self, value, modulo=None):
|
156
|
+
return self.clone(pow(self._value, value, modulo))
|
157
|
+
|
158
|
+
def __rpow__(self, value):
|
159
|
+
return self.clone(pow(value, self._value))
|
160
|
+
|
161
|
+
def __floordiv__(self, value):
|
162
|
+
return self.clone(self._value // value)
|
163
|
+
|
164
|
+
def __rfloordiv__(self, value):
|
165
|
+
return self.clone(value // self._value)
|
166
|
+
|
167
|
+
def __truediv__(self, value):
|
168
|
+
return Real(self._value / value)
|
169
|
+
|
170
|
+
def __rtruediv__(self, value):
|
171
|
+
return Real(value / self._value)
|
172
|
+
|
173
|
+
def __divmod__(self, value):
|
174
|
+
return self.clone(divmod(self._value, value))
|
175
|
+
|
176
|
+
def __rdivmod__(self, value):
|
177
|
+
return self.clone(divmod(value, self._value))
|
178
|
+
|
179
|
+
__hash__ = base.SimpleAsn1Type.__hash__
|
180
|
+
|
181
|
+
def __int__(self):
|
182
|
+
return int(self._value)
|
183
|
+
|
184
|
+
def __float__(self):
|
185
|
+
return float(self._value)
|
186
|
+
|
187
|
+
def __abs__(self):
|
188
|
+
return self.clone(abs(self._value))
|
189
|
+
|
190
|
+
def __index__(self):
|
191
|
+
return int(self._value)
|
192
|
+
|
193
|
+
def __pos__(self):
|
194
|
+
return self.clone(+self._value)
|
195
|
+
|
196
|
+
def __neg__(self):
|
197
|
+
return self.clone(-self._value)
|
198
|
+
|
199
|
+
def __invert__(self):
|
200
|
+
return self.clone(~self._value)
|
201
|
+
|
202
|
+
def __round__(self, n=0):
|
203
|
+
r = round(self._value, n)
|
204
|
+
if n:
|
205
|
+
return self.clone(r)
|
206
|
+
else:
|
207
|
+
return r
|
208
|
+
|
209
|
+
def __floor__(self):
|
210
|
+
return math.floor(self._value)
|
211
|
+
|
212
|
+
def __ceil__(self):
|
213
|
+
return math.ceil(self._value)
|
214
|
+
|
215
|
+
def __trunc__(self):
|
216
|
+
return self.clone(math.trunc(self._value))
|
217
|
+
|
218
|
+
def __lt__(self, value):
|
219
|
+
return self._value < value
|
220
|
+
|
221
|
+
def __le__(self, value):
|
222
|
+
return self._value <= value
|
223
|
+
|
224
|
+
def __eq__(self, value):
|
225
|
+
return self._value == value
|
226
|
+
|
227
|
+
def __ne__(self, value):
|
228
|
+
return self._value != value
|
229
|
+
|
230
|
+
def __gt__(self, value):
|
231
|
+
return self._value > value
|
232
|
+
|
233
|
+
def __ge__(self, value):
|
234
|
+
return self._value >= value
|
235
|
+
|
236
|
+
def prettyIn(self, value):
|
237
|
+
try:
|
238
|
+
return int(value)
|
239
|
+
|
240
|
+
except ValueError:
|
241
|
+
try:
|
242
|
+
return self.namedValues[value]
|
243
|
+
|
244
|
+
except KeyError as exc:
|
245
|
+
raise error.PyAsn1Error(
|
246
|
+
'Can\'t coerce %r into integer: %s' % (value, exc)
|
247
|
+
)
|
248
|
+
|
249
|
+
def prettyOut(self, value):
|
250
|
+
try:
|
251
|
+
return str(self.namedValues[value])
|
252
|
+
|
253
|
+
except KeyError:
|
254
|
+
return str(value)
|
255
|
+
|
256
|
+
# backward compatibility
|
257
|
+
|
258
|
+
def getNamedValues(self):
|
259
|
+
return self.namedValues
|
260
|
+
|
261
|
+
|
262
|
+
class Boolean(Integer):
|
263
|
+
"""Create |ASN.1| schema or value object.
|
264
|
+
|
265
|
+
|ASN.1| class is based on :class:`~pyasn1.type.base.SimpleAsn1Type`, its
|
266
|
+
objects are immutable and duck-type Python :class:`int` objects.
|
267
|
+
|
268
|
+
Keyword Args
|
269
|
+
------------
|
270
|
+
value: :class:`int`, :class:`str` or |ASN.1| object
|
271
|
+
Python :class:`int` or :class:`str` literal or |ASN.1| class
|
272
|
+
instance. If `value` is not given, schema object will be created.
|
273
|
+
|
274
|
+
tagSet: :py:class:`~pyasn1.type.tag.TagSet`
|
275
|
+
Object representing non-default ASN.1 tag(s)
|
276
|
+
|
277
|
+
subtypeSpec: :py:class:`~pyasn1.type.constraint.ConstraintsIntersection`
|
278
|
+
Object representing non-default ASN.1 subtype constraint(s).Constraints
|
279
|
+
verification for |ASN.1| type occurs automatically on object
|
280
|
+
instantiation.
|
281
|
+
|
282
|
+
namedValues: :py:class:`~pyasn1.type.namedval.NamedValues`
|
283
|
+
Object representing non-default symbolic aliases for numbers
|
284
|
+
|
285
|
+
Raises
|
286
|
+
------
|
287
|
+
~pyasn1.error.ValueConstraintError, ~pyasn1.error.PyAsn1Error
|
288
|
+
On constraint violation or bad initializer.
|
289
|
+
|
290
|
+
Examples
|
291
|
+
--------
|
292
|
+
.. code-block:: python
|
293
|
+
|
294
|
+
class RoundResult(Boolean):
|
295
|
+
'''
|
296
|
+
ASN.1 specification:
|
297
|
+
|
298
|
+
RoundResult ::= BOOLEAN
|
299
|
+
|
300
|
+
ok RoundResult ::= TRUE
|
301
|
+
ko RoundResult ::= FALSE
|
302
|
+
'''
|
303
|
+
ok = RoundResult(True)
|
304
|
+
ko = RoundResult(False)
|
305
|
+
"""
|
306
|
+
#: Set (on class, not on instance) or return a
|
307
|
+
#: :py:class:`~pyasn1.type.tag.TagSet` object representing ASN.1 tag(s)
|
308
|
+
#: associated with |ASN.1| type.
|
309
|
+
tagSet = tag.initTagSet(
|
310
|
+
tag.Tag(tag.tagClassUniversal, tag.tagFormatSimple, 0x01),
|
311
|
+
)
|
312
|
+
|
313
|
+
#: Set (on class, not on instance) or return a
|
314
|
+
#: :py:class:`~pyasn1.type.constraint.ConstraintsIntersection` object
|
315
|
+
#: imposing constraints on |ASN.1| type initialization values.
|
316
|
+
subtypeSpec = Integer.subtypeSpec + constraint.SingleValueConstraint(0, 1)
|
317
|
+
|
318
|
+
#: Default :py:class:`~pyasn1.type.namedval.NamedValues` object
|
319
|
+
#: representing symbolic aliases for numbers
|
320
|
+
namedValues = namedval.NamedValues(('False', 0), ('True', 1))
|
321
|
+
|
322
|
+
# Optimization for faster codec lookup
|
323
|
+
typeId = Integer.getTypeId()
|
324
|
+
|
325
|
+
|
326
|
+
class SizedInteger(int):
|
327
|
+
bitLength = leadingZeroBits = None
|
328
|
+
|
329
|
+
def setBitLength(self, bitLength):
|
330
|
+
self.bitLength = bitLength
|
331
|
+
self.leadingZeroBits = max(bitLength - self.bit_length(), 0)
|
332
|
+
return self
|
333
|
+
|
334
|
+
def __len__(self):
|
335
|
+
if self.bitLength is None:
|
336
|
+
self.setBitLength(self.bit_length())
|
337
|
+
|
338
|
+
return self.bitLength
|
339
|
+
|
340
|
+
|
341
|
+
class BitString(base.SimpleAsn1Type):
|
342
|
+
"""Create |ASN.1| schema or value object.
|
343
|
+
|
344
|
+
|ASN.1| class is based on :class:`~pyasn1.type.base.SimpleAsn1Type`, its
|
345
|
+
objects are immutable and duck-type both Python :class:`tuple` (as a tuple
|
346
|
+
of bits) and :class:`int` objects.
|
347
|
+
|
348
|
+
Keyword Args
|
349
|
+
------------
|
350
|
+
value: :class:`int`, :class:`str` or |ASN.1| object
|
351
|
+
Python :class:`int` or :class:`str` literal representing binary
|
352
|
+
or hexadecimal number or sequence of integer bits or |ASN.1| object.
|
353
|
+
If `value` is not given, schema object will be created.
|
354
|
+
|
355
|
+
tagSet: :py:class:`~pyasn1.type.tag.TagSet`
|
356
|
+
Object representing non-default ASN.1 tag(s)
|
357
|
+
|
358
|
+
subtypeSpec: :py:class:`~pyasn1.type.constraint.ConstraintsIntersection`
|
359
|
+
Object representing non-default ASN.1 subtype constraint(s). Constraints
|
360
|
+
verification for |ASN.1| type occurs automatically on object
|
361
|
+
instantiation.
|
362
|
+
|
363
|
+
namedValues: :py:class:`~pyasn1.type.namedval.NamedValues`
|
364
|
+
Object representing non-default symbolic aliases for numbers
|
365
|
+
|
366
|
+
binValue: :py:class:`str`
|
367
|
+
Binary string initializer to use instead of the *value*.
|
368
|
+
Example: '10110011'.
|
369
|
+
|
370
|
+
hexValue: :py:class:`str`
|
371
|
+
Hexadecimal string initializer to use instead of the *value*.
|
372
|
+
Example: 'DEADBEEF'.
|
373
|
+
|
374
|
+
Raises
|
375
|
+
------
|
376
|
+
~pyasn1.error.ValueConstraintError, ~pyasn1.error.PyAsn1Error
|
377
|
+
On constraint violation or bad initializer.
|
378
|
+
|
379
|
+
Examples
|
380
|
+
--------
|
381
|
+
.. code-block:: python
|
382
|
+
|
383
|
+
class Rights(BitString):
|
384
|
+
'''
|
385
|
+
ASN.1 specification:
|
386
|
+
|
387
|
+
Rights ::= BIT STRING { user-read(0), user-write(1),
|
388
|
+
group-read(2), group-write(3),
|
389
|
+
other-read(4), other-write(5) }
|
390
|
+
|
391
|
+
group1 Rights ::= { group-read, group-write }
|
392
|
+
group2 Rights ::= '0011'B
|
393
|
+
group3 Rights ::= '3'H
|
394
|
+
'''
|
395
|
+
namedValues = NamedValues(
|
396
|
+
('user-read', 0), ('user-write', 1),
|
397
|
+
('group-read', 2), ('group-write', 3),
|
398
|
+
('other-read', 4), ('other-write', 5)
|
399
|
+
)
|
400
|
+
|
401
|
+
group1 = Rights(('group-read', 'group-write'))
|
402
|
+
group2 = Rights('0011')
|
403
|
+
group3 = Rights(0x3)
|
404
|
+
"""
|
405
|
+
#: Set (on class, not on instance) or return a
|
406
|
+
#: :py:class:`~pyasn1.type.tag.TagSet` object representing ASN.1 tag(s)
|
407
|
+
#: associated with |ASN.1| type.
|
408
|
+
tagSet = tag.initTagSet(
|
409
|
+
tag.Tag(tag.tagClassUniversal, tag.tagFormatSimple, 0x03)
|
410
|
+
)
|
411
|
+
|
412
|
+
#: Set (on class, not on instance) or return a
|
413
|
+
#: :py:class:`~pyasn1.type.constraint.ConstraintsIntersection` object
|
414
|
+
#: imposing constraints on |ASN.1| type initialization values.
|
415
|
+
subtypeSpec = constraint.ConstraintsIntersection()
|
416
|
+
|
417
|
+
#: Default :py:class:`~pyasn1.type.namedval.NamedValues` object
|
418
|
+
#: representing symbolic aliases for numbers
|
419
|
+
namedValues = namedval.NamedValues()
|
420
|
+
|
421
|
+
# Optimization for faster codec lookup
|
422
|
+
typeId = base.SimpleAsn1Type.getTypeId()
|
423
|
+
|
424
|
+
defaultBinValue = defaultHexValue = noValue
|
425
|
+
|
426
|
+
def __init__(self, value=noValue, **kwargs):
|
427
|
+
if value is noValue:
|
428
|
+
if kwargs:
|
429
|
+
try:
|
430
|
+
value = self.fromBinaryString(kwargs.pop('binValue'), internalFormat=True)
|
431
|
+
|
432
|
+
except KeyError:
|
433
|
+
pass
|
434
|
+
|
435
|
+
try:
|
436
|
+
value = self.fromHexString(kwargs.pop('hexValue'), internalFormat=True)
|
437
|
+
|
438
|
+
except KeyError:
|
439
|
+
pass
|
440
|
+
|
441
|
+
if value is noValue:
|
442
|
+
if self.defaultBinValue is not noValue:
|
443
|
+
value = self.fromBinaryString(self.defaultBinValue, internalFormat=True)
|
444
|
+
|
445
|
+
elif self.defaultHexValue is not noValue:
|
446
|
+
value = self.fromHexString(self.defaultHexValue, internalFormat=True)
|
447
|
+
|
448
|
+
if 'namedValues' not in kwargs:
|
449
|
+
kwargs['namedValues'] = self.namedValues
|
450
|
+
|
451
|
+
base.SimpleAsn1Type.__init__(self, value, **kwargs)
|
452
|
+
|
453
|
+
def __str__(self):
|
454
|
+
return self.asBinary()
|
455
|
+
|
456
|
+
def __eq__(self, other):
|
457
|
+
other = self.prettyIn(other)
|
458
|
+
return self is other or self._value == other and len(self._value) == len(other)
|
459
|
+
|
460
|
+
def __ne__(self, other):
|
461
|
+
other = self.prettyIn(other)
|
462
|
+
return self._value != other or len(self._value) != len(other)
|
463
|
+
|
464
|
+
def __lt__(self, other):
|
465
|
+
other = self.prettyIn(other)
|
466
|
+
return len(self._value) < len(other) or len(self._value) == len(other) and self._value < other
|
467
|
+
|
468
|
+
def __le__(self, other):
|
469
|
+
other = self.prettyIn(other)
|
470
|
+
return len(self._value) <= len(other) or len(self._value) == len(other) and self._value <= other
|
471
|
+
|
472
|
+
def __gt__(self, other):
|
473
|
+
other = self.prettyIn(other)
|
474
|
+
return len(self._value) > len(other) or len(self._value) == len(other) and self._value > other
|
475
|
+
|
476
|
+
def __ge__(self, other):
|
477
|
+
other = self.prettyIn(other)
|
478
|
+
return len(self._value) >= len(other) or len(self._value) == len(other) and self._value >= other
|
479
|
+
|
480
|
+
# Immutable sequence object protocol
|
481
|
+
|
482
|
+
def __len__(self):
|
483
|
+
return len(self._value)
|
484
|
+
|
485
|
+
def __getitem__(self, i):
|
486
|
+
if i.__class__ is slice:
|
487
|
+
return self.clone([self[x] for x in range(*i.indices(len(self)))])
|
488
|
+
else:
|
489
|
+
length = len(self._value) - 1
|
490
|
+
if i > length or i < 0:
|
491
|
+
raise IndexError('bit index out of range')
|
492
|
+
return (self._value >> (length - i)) & 1
|
493
|
+
|
494
|
+
def __iter__(self):
|
495
|
+
length = len(self._value)
|
496
|
+
while length:
|
497
|
+
length -= 1
|
498
|
+
yield (self._value >> length) & 1
|
499
|
+
|
500
|
+
def __reversed__(self):
|
501
|
+
return reversed(tuple(self))
|
502
|
+
|
503
|
+
# arithmetic operators
|
504
|
+
|
505
|
+
def __add__(self, value):
|
506
|
+
value = self.prettyIn(value)
|
507
|
+
return self.clone(SizedInteger(self._value << len(value) | value).setBitLength(len(self._value) + len(value)))
|
508
|
+
|
509
|
+
def __radd__(self, value):
|
510
|
+
value = self.prettyIn(value)
|
511
|
+
return self.clone(SizedInteger(value << len(self._value) | self._value).setBitLength(len(self._value) + len(value)))
|
512
|
+
|
513
|
+
def __mul__(self, value):
|
514
|
+
bitString = self._value
|
515
|
+
while value > 1:
|
516
|
+
bitString <<= len(self._value)
|
517
|
+
bitString |= self._value
|
518
|
+
value -= 1
|
519
|
+
return self.clone(bitString)
|
520
|
+
|
521
|
+
def __rmul__(self, value):
|
522
|
+
return self * value
|
523
|
+
|
524
|
+
def __lshift__(self, count):
|
525
|
+
return self.clone(SizedInteger(self._value << count).setBitLength(len(self._value) + count))
|
526
|
+
|
527
|
+
def __rshift__(self, count):
|
528
|
+
return self.clone(SizedInteger(self._value >> count).setBitLength(max(0, len(self._value) - count)))
|
529
|
+
|
530
|
+
def __int__(self):
|
531
|
+
return int(self._value)
|
532
|
+
|
533
|
+
def __float__(self):
|
534
|
+
return float(self._value)
|
535
|
+
|
536
|
+
def asNumbers(self):
|
537
|
+
"""Get |ASN.1| value as a sequence of 8-bit integers.
|
538
|
+
|
539
|
+
If |ASN.1| object length is not a multiple of 8, result
|
540
|
+
will be left-padded with zeros.
|
541
|
+
"""
|
542
|
+
return tuple(self.asOctets())
|
543
|
+
|
544
|
+
def asOctets(self):
|
545
|
+
"""Get |ASN.1| value as a sequence of octets.
|
546
|
+
|
547
|
+
If |ASN.1| object length is not a multiple of 8, result
|
548
|
+
will be left-padded with zeros.
|
549
|
+
"""
|
550
|
+
return integer.to_bytes(self._value, length=len(self))
|
551
|
+
|
552
|
+
def asInteger(self):
|
553
|
+
"""Get |ASN.1| value as a single integer value.
|
554
|
+
"""
|
555
|
+
return self._value
|
556
|
+
|
557
|
+
def asBinary(self):
|
558
|
+
"""Get |ASN.1| value as a text string of bits.
|
559
|
+
"""
|
560
|
+
binString = bin(self._value)[2:]
|
561
|
+
return '0' * (len(self._value) - len(binString)) + binString
|
562
|
+
|
563
|
+
@classmethod
|
564
|
+
def fromHexString(cls, value, internalFormat=False, prepend=None):
|
565
|
+
"""Create a |ASN.1| object initialized from the hex string.
|
566
|
+
|
567
|
+
Parameters
|
568
|
+
----------
|
569
|
+
value: :class:`str`
|
570
|
+
Text string like 'DEADBEEF'
|
571
|
+
"""
|
572
|
+
try:
|
573
|
+
value = SizedInteger(value, 16).setBitLength(len(value) * 4)
|
574
|
+
|
575
|
+
except ValueError as exc:
|
576
|
+
raise error.PyAsn1Error('%s.fromHexString() error: %s' % (cls.__name__, exc))
|
577
|
+
|
578
|
+
if prepend is not None:
|
579
|
+
value = SizedInteger(
|
580
|
+
(SizedInteger(prepend) << len(value)) | value
|
581
|
+
).setBitLength(len(prepend) + len(value))
|
582
|
+
|
583
|
+
if not internalFormat:
|
584
|
+
value = cls(value)
|
585
|
+
|
586
|
+
return value
|
587
|
+
|
588
|
+
@classmethod
|
589
|
+
def fromBinaryString(cls, value, internalFormat=False, prepend=None):
|
590
|
+
"""Create a |ASN.1| object initialized from a string of '0' and '1'.
|
591
|
+
|
592
|
+
Parameters
|
593
|
+
----------
|
594
|
+
value: :class:`str`
|
595
|
+
Text string like '1010111'
|
596
|
+
"""
|
597
|
+
try:
|
598
|
+
value = SizedInteger(value or '0', 2).setBitLength(len(value))
|
599
|
+
|
600
|
+
except ValueError as exc:
|
601
|
+
raise error.PyAsn1Error('%s.fromBinaryString() error: %s' % (cls.__name__, exc))
|
602
|
+
|
603
|
+
if prepend is not None:
|
604
|
+
value = SizedInteger(
|
605
|
+
(SizedInteger(prepend) << len(value)) | value
|
606
|
+
).setBitLength(len(prepend) + len(value))
|
607
|
+
|
608
|
+
if not internalFormat:
|
609
|
+
value = cls(value)
|
610
|
+
|
611
|
+
return value
|
612
|
+
|
613
|
+
@classmethod
|
614
|
+
def fromOctetString(cls, value, internalFormat=False, prepend=None, padding=0):
|
615
|
+
"""Create a |ASN.1| object initialized from a string.
|
616
|
+
|
617
|
+
Parameters
|
618
|
+
----------
|
619
|
+
value: :class:`bytes`
|
620
|
+
Text string like b'\\\\x01\\\\xff'
|
621
|
+
"""
|
622
|
+
value = SizedInteger(int.from_bytes(bytes(value), 'big') >> padding).setBitLength(len(value) * 8 - padding)
|
623
|
+
|
624
|
+
if prepend is not None:
|
625
|
+
value = SizedInteger(
|
626
|
+
(SizedInteger(prepend) << len(value)) | value
|
627
|
+
).setBitLength(len(prepend) + len(value))
|
628
|
+
|
629
|
+
if not internalFormat:
|
630
|
+
value = cls(value)
|
631
|
+
|
632
|
+
return value
|
633
|
+
|
634
|
+
def prettyIn(self, value):
|
635
|
+
if isinstance(value, SizedInteger):
|
636
|
+
return value
|
637
|
+
elif isinstance(value, str):
|
638
|
+
if not value:
|
639
|
+
return SizedInteger(0).setBitLength(0)
|
640
|
+
|
641
|
+
elif value[0] == '\'': # "'1011'B" -- ASN.1 schema representation (deprecated)
|
642
|
+
if value[-2:] == '\'B':
|
643
|
+
return self.fromBinaryString(value[1:-2], internalFormat=True)
|
644
|
+
elif value[-2:] == '\'H':
|
645
|
+
return self.fromHexString(value[1:-2], internalFormat=True)
|
646
|
+
else:
|
647
|
+
raise error.PyAsn1Error(
|
648
|
+
'Bad BIT STRING value notation %s' % (value,)
|
649
|
+
)
|
650
|
+
|
651
|
+
elif self.namedValues and not value.isdigit(): # named bits like 'Urgent, Active'
|
652
|
+
names = [x.strip() for x in value.split(',')]
|
653
|
+
|
654
|
+
try:
|
655
|
+
|
656
|
+
bitPositions = [self.namedValues[name] for name in names]
|
657
|
+
|
658
|
+
except KeyError:
|
659
|
+
raise error.PyAsn1Error('unknown bit name(s) in %r' % (names,))
|
660
|
+
|
661
|
+
rightmostPosition = max(bitPositions)
|
662
|
+
|
663
|
+
number = 0
|
664
|
+
for bitPosition in bitPositions:
|
665
|
+
number |= 1 << (rightmostPosition - bitPosition)
|
666
|
+
|
667
|
+
return SizedInteger(number).setBitLength(rightmostPosition + 1)
|
668
|
+
|
669
|
+
elif value.startswith('0x'):
|
670
|
+
return self.fromHexString(value[2:], internalFormat=True)
|
671
|
+
|
672
|
+
elif value.startswith('0b'):
|
673
|
+
return self.fromBinaryString(value[2:], internalFormat=True)
|
674
|
+
|
675
|
+
else: # assume plain binary string like '1011'
|
676
|
+
return self.fromBinaryString(value, internalFormat=True)
|
677
|
+
|
678
|
+
elif isinstance(value, (tuple, list)):
|
679
|
+
return self.fromBinaryString(''.join([b and '1' or '0' for b in value]), internalFormat=True)
|
680
|
+
|
681
|
+
elif isinstance(value, BitString):
|
682
|
+
return SizedInteger(value).setBitLength(len(value))
|
683
|
+
|
684
|
+
elif isinstance(value, int):
|
685
|
+
return SizedInteger(value)
|
686
|
+
|
687
|
+
else:
|
688
|
+
raise error.PyAsn1Error(
|
689
|
+
'Bad BitString initializer type \'%s\'' % (value,)
|
690
|
+
)
|
691
|
+
|
692
|
+
|
693
|
+
class OctetString(base.SimpleAsn1Type):
|
694
|
+
"""Create |ASN.1| schema or value object.
|
695
|
+
|
696
|
+
|ASN.1| class is based on :class:`~pyasn1.type.base.SimpleAsn1Type`, its
|
697
|
+
objects are immutable and duck-type :class:`bytes`.
|
698
|
+
When used in Unicode context, |ASN.1| type
|
699
|
+
assumes "|encoding|" serialisation.
|
700
|
+
|
701
|
+
Keyword Args
|
702
|
+
------------
|
703
|
+
value: :class:`unicode`, :class:`str`, :class:`bytes` or |ASN.1| object
|
704
|
+
:class:`bytes`, alternatively :class:`str`
|
705
|
+
representing character string to be serialised into octets
|
706
|
+
(note `encoding` parameter) or |ASN.1| object.
|
707
|
+
If `value` is not given, schema object will be created.
|
708
|
+
|
709
|
+
tagSet: :py:class:`~pyasn1.type.tag.TagSet`
|
710
|
+
Object representing non-default ASN.1 tag(s)
|
711
|
+
|
712
|
+
subtypeSpec: :py:class:`~pyasn1.type.constraint.ConstraintsIntersection`
|
713
|
+
Object representing non-default ASN.1 subtype constraint(s). Constraints
|
714
|
+
verification for |ASN.1| type occurs automatically on object
|
715
|
+
instantiation.
|
716
|
+
|
717
|
+
encoding: :py:class:`str`
|
718
|
+
Unicode codec ID to encode/decode
|
719
|
+
:class:`str` the payload when |ASN.1| object is used
|
720
|
+
in text string context.
|
721
|
+
|
722
|
+
binValue: :py:class:`str`
|
723
|
+
Binary string initializer to use instead of the *value*.
|
724
|
+
Example: '10110011'.
|
725
|
+
|
726
|
+
hexValue: :py:class:`str`
|
727
|
+
Hexadecimal string initializer to use instead of the *value*.
|
728
|
+
Example: 'DEADBEEF'.
|
729
|
+
|
730
|
+
Raises
|
731
|
+
------
|
732
|
+
~pyasn1.error.ValueConstraintError, ~pyasn1.error.PyAsn1Error
|
733
|
+
On constraint violation or bad initializer.
|
734
|
+
|
735
|
+
Examples
|
736
|
+
--------
|
737
|
+
.. code-block:: python
|
738
|
+
|
739
|
+
class Icon(OctetString):
|
740
|
+
'''
|
741
|
+
ASN.1 specification:
|
742
|
+
|
743
|
+
Icon ::= OCTET STRING
|
744
|
+
|
745
|
+
icon1 Icon ::= '001100010011001000110011'B
|
746
|
+
icon2 Icon ::= '313233'H
|
747
|
+
'''
|
748
|
+
icon1 = Icon.fromBinaryString('001100010011001000110011')
|
749
|
+
icon2 = Icon.fromHexString('313233')
|
750
|
+
"""
|
751
|
+
#: Set (on class, not on instance) or return a
|
752
|
+
#: :py:class:`~pyasn1.type.tag.TagSet` object representing ASN.1 tag(s)
|
753
|
+
#: associated with |ASN.1| type.
|
754
|
+
tagSet = tag.initTagSet(
|
755
|
+
tag.Tag(tag.tagClassUniversal, tag.tagFormatSimple, 0x04)
|
756
|
+
)
|
757
|
+
|
758
|
+
#: Set (on class, not on instance) or return a
|
759
|
+
#: :py:class:`~pyasn1.type.constraint.ConstraintsIntersection` object
|
760
|
+
#: imposing constraints on |ASN.1| type initialization values.
|
761
|
+
subtypeSpec = constraint.ConstraintsIntersection()
|
762
|
+
|
763
|
+
# Optimization for faster codec lookup
|
764
|
+
typeId = base.SimpleAsn1Type.getTypeId()
|
765
|
+
|
766
|
+
defaultBinValue = defaultHexValue = noValue
|
767
|
+
encoding = 'iso-8859-1'
|
768
|
+
|
769
|
+
def __init__(self, value=noValue, **kwargs):
|
770
|
+
if kwargs:
|
771
|
+
if value is noValue:
|
772
|
+
try:
|
773
|
+
value = self.fromBinaryString(kwargs.pop('binValue'))
|
774
|
+
|
775
|
+
except KeyError:
|
776
|
+
pass
|
777
|
+
|
778
|
+
try:
|
779
|
+
value = self.fromHexString(kwargs.pop('hexValue'))
|
780
|
+
|
781
|
+
except KeyError:
|
782
|
+
pass
|
783
|
+
|
784
|
+
if value is noValue:
|
785
|
+
if self.defaultBinValue is not noValue:
|
786
|
+
value = self.fromBinaryString(self.defaultBinValue)
|
787
|
+
|
788
|
+
elif self.defaultHexValue is not noValue:
|
789
|
+
value = self.fromHexString(self.defaultHexValue)
|
790
|
+
|
791
|
+
if 'encoding' not in kwargs:
|
792
|
+
kwargs['encoding'] = self.encoding
|
793
|
+
|
794
|
+
base.SimpleAsn1Type.__init__(self, value, **kwargs)
|
795
|
+
|
796
|
+
def prettyIn(self, value):
|
797
|
+
if isinstance(value, bytes):
|
798
|
+
return value
|
799
|
+
|
800
|
+
elif isinstance(value, str):
|
801
|
+
try:
|
802
|
+
return value.encode(self.encoding)
|
803
|
+
|
804
|
+
except UnicodeEncodeError as exc:
|
805
|
+
raise error.PyAsn1UnicodeEncodeError(
|
806
|
+
"Can't encode string '%s' with '%s' "
|
807
|
+
"codec" % (value, self.encoding), exc
|
808
|
+
)
|
809
|
+
elif isinstance(value, OctetString): # a shortcut, bytes() would work the same way
|
810
|
+
return value.asOctets()
|
811
|
+
|
812
|
+
elif isinstance(value, base.SimpleAsn1Type): # this mostly targets Integer objects
|
813
|
+
return self.prettyIn(str(value))
|
814
|
+
|
815
|
+
elif isinstance(value, (tuple, list)):
|
816
|
+
return self.prettyIn(bytes(value))
|
817
|
+
|
818
|
+
else:
|
819
|
+
return bytes(value)
|
820
|
+
|
821
|
+
def __str__(self):
|
822
|
+
try:
|
823
|
+
return self._value.decode(self.encoding)
|
824
|
+
|
825
|
+
except UnicodeDecodeError as exc:
|
826
|
+
raise error.PyAsn1UnicodeDecodeError(
|
827
|
+
"Can't decode string '%s' with '%s' codec at "
|
828
|
+
"'%s'" % (self._value, self.encoding,
|
829
|
+
self.__class__.__name__), exc
|
830
|
+
)
|
831
|
+
|
832
|
+
def __bytes__(self):
|
833
|
+
return bytes(self._value)
|
834
|
+
|
835
|
+
def asOctets(self):
|
836
|
+
return bytes(self._value)
|
837
|
+
|
838
|
+
def asNumbers(self):
|
839
|
+
return tuple(self._value)
|
840
|
+
|
841
|
+
#
|
842
|
+
# Normally, `.prettyPrint()` is called from `__str__()`. Historically,
|
843
|
+
# OctetString.prettyPrint() used to return hexified payload
|
844
|
+
# representation in cases when non-printable content is present. At the
|
845
|
+
# same time `str()` used to produce either octet-stream (Py2) or
|
846
|
+
# text (Py3) representations.
|
847
|
+
#
|
848
|
+
# Therefore `OctetString.__str__()` -> `.prettyPrint()` call chain is
|
849
|
+
# reversed to preserve the original behaviour.
|
850
|
+
#
|
851
|
+
# Eventually we should deprecate `.prettyPrint()` / `.prettyOut()` harness
|
852
|
+
# and end up with just `__str__()` producing hexified representation while
|
853
|
+
# both text and octet-stream representation should only be requested via
|
854
|
+
# the `.asOctets()` method.
|
855
|
+
#
|
856
|
+
# Note: ASN.1 OCTET STRING is never mean to contain text!
|
857
|
+
#
|
858
|
+
|
859
|
+
def prettyOut(self, value):
|
860
|
+
return value
|
861
|
+
|
862
|
+
def prettyPrint(self, scope=0):
|
863
|
+
# first see if subclass has its own .prettyOut()
|
864
|
+
value = self.prettyOut(self._value)
|
865
|
+
|
866
|
+
if value is not self._value:
|
867
|
+
return value
|
868
|
+
|
869
|
+
numbers = self.asNumbers()
|
870
|
+
|
871
|
+
for x in numbers:
|
872
|
+
# hexify if needed
|
873
|
+
if x < 32 or x > 126:
|
874
|
+
return '0x' + ''.join(('%.2x' % x for x in numbers))
|
875
|
+
else:
|
876
|
+
# this prevents infinite recursion
|
877
|
+
return OctetString.__str__(self)
|
878
|
+
|
879
|
+
@staticmethod
|
880
|
+
def fromBinaryString(value):
|
881
|
+
"""Create a |ASN.1| object initialized from a string of '0' and '1'.
|
882
|
+
|
883
|
+
Parameters
|
884
|
+
----------
|
885
|
+
value: :class:`str`
|
886
|
+
Text string like '1010111'
|
887
|
+
"""
|
888
|
+
bitNo = 8
|
889
|
+
byte = 0
|
890
|
+
r = []
|
891
|
+
for v in value:
|
892
|
+
if bitNo:
|
893
|
+
bitNo -= 1
|
894
|
+
else:
|
895
|
+
bitNo = 7
|
896
|
+
r.append(byte)
|
897
|
+
byte = 0
|
898
|
+
if v in ('0', '1'):
|
899
|
+
v = int(v)
|
900
|
+
else:
|
901
|
+
raise error.PyAsn1Error(
|
902
|
+
'Non-binary OCTET STRING initializer %s' % (v,)
|
903
|
+
)
|
904
|
+
byte |= v << bitNo
|
905
|
+
|
906
|
+
r.append(byte)
|
907
|
+
|
908
|
+
return bytes(r)
|
909
|
+
|
910
|
+
@staticmethod
|
911
|
+
def fromHexString(value):
|
912
|
+
"""Create a |ASN.1| object initialized from the hex string.
|
913
|
+
|
914
|
+
Parameters
|
915
|
+
----------
|
916
|
+
value: :class:`str`
|
917
|
+
Text string like 'DEADBEEF'
|
918
|
+
"""
|
919
|
+
r = []
|
920
|
+
p = []
|
921
|
+
for v in value:
|
922
|
+
if p:
|
923
|
+
r.append(int(p + v, 16))
|
924
|
+
p = None
|
925
|
+
else:
|
926
|
+
p = v
|
927
|
+
if p:
|
928
|
+
r.append(int(p + '0', 16))
|
929
|
+
|
930
|
+
return bytes(r)
|
931
|
+
|
932
|
+
# Immutable sequence object protocol
|
933
|
+
|
934
|
+
def __len__(self):
|
935
|
+
return len(self._value)
|
936
|
+
|
937
|
+
def __getitem__(self, i):
|
938
|
+
if i.__class__ is slice:
|
939
|
+
return self.clone(self._value[i])
|
940
|
+
else:
|
941
|
+
return self._value[i]
|
942
|
+
|
943
|
+
def __iter__(self):
|
944
|
+
return iter(self._value)
|
945
|
+
|
946
|
+
def __contains__(self, value):
|
947
|
+
return value in self._value
|
948
|
+
|
949
|
+
def __add__(self, value):
|
950
|
+
return self.clone(self._value + self.prettyIn(value))
|
951
|
+
|
952
|
+
def __radd__(self, value):
|
953
|
+
return self.clone(self.prettyIn(value) + self._value)
|
954
|
+
|
955
|
+
def __mul__(self, value):
|
956
|
+
return self.clone(self._value * value)
|
957
|
+
|
958
|
+
def __rmul__(self, value):
|
959
|
+
return self * value
|
960
|
+
|
961
|
+
def __int__(self):
|
962
|
+
return int(self._value)
|
963
|
+
|
964
|
+
def __float__(self):
|
965
|
+
return float(self._value)
|
966
|
+
|
967
|
+
def __reversed__(self):
|
968
|
+
return reversed(self._value)
|
969
|
+
|
970
|
+
|
971
|
+
class Null(OctetString):
|
972
|
+
"""Create |ASN.1| schema or value object.
|
973
|
+
|
974
|
+
|ASN.1| class is based on :class:`~pyasn1.type.base.SimpleAsn1Type`, its
|
975
|
+
objects are immutable and duck-type Python :class:`str` objects
|
976
|
+
(always empty).
|
977
|
+
|
978
|
+
Keyword Args
|
979
|
+
------------
|
980
|
+
value: :class:`str` or |ASN.1| object
|
981
|
+
Python empty :class:`str` literal or any object that evaluates to :obj:`False`
|
982
|
+
If `value` is not given, schema object will be created.
|
983
|
+
|
984
|
+
tagSet: :py:class:`~pyasn1.type.tag.TagSet`
|
985
|
+
Object representing non-default ASN.1 tag(s)
|
986
|
+
|
987
|
+
Raises
|
988
|
+
------
|
989
|
+
~pyasn1.error.ValueConstraintError, ~pyasn1.error.PyAsn1Error
|
990
|
+
On constraint violation or bad initializer.
|
991
|
+
|
992
|
+
Examples
|
993
|
+
--------
|
994
|
+
.. code-block:: python
|
995
|
+
|
996
|
+
class Ack(Null):
|
997
|
+
'''
|
998
|
+
ASN.1 specification:
|
999
|
+
|
1000
|
+
Ack ::= NULL
|
1001
|
+
'''
|
1002
|
+
ack = Ack('')
|
1003
|
+
"""
|
1004
|
+
|
1005
|
+
#: Set (on class, not on instance) or return a
|
1006
|
+
#: :py:class:`~pyasn1.type.tag.TagSet` object representing ASN.1 tag(s)
|
1007
|
+
#: associated with |ASN.1| type.
|
1008
|
+
tagSet = tag.initTagSet(
|
1009
|
+
tag.Tag(tag.tagClassUniversal, tag.tagFormatSimple, 0x05)
|
1010
|
+
)
|
1011
|
+
subtypeSpec = OctetString.subtypeSpec + constraint.SingleValueConstraint(b'')
|
1012
|
+
|
1013
|
+
# Optimization for faster codec lookup
|
1014
|
+
typeId = OctetString.getTypeId()
|
1015
|
+
|
1016
|
+
def prettyIn(self, value):
|
1017
|
+
if value:
|
1018
|
+
return value
|
1019
|
+
|
1020
|
+
return b''
|
1021
|
+
|
1022
|
+
|
1023
|
+
class ObjectIdentifier(base.SimpleAsn1Type):
|
1024
|
+
"""Create |ASN.1| schema or value object.
|
1025
|
+
|
1026
|
+
|ASN.1| class is based on :class:`~pyasn1.type.base.SimpleAsn1Type`, its
|
1027
|
+
objects are immutable and duck-type Python :class:`tuple` objects
|
1028
|
+
(tuple of non-negative integers).
|
1029
|
+
|
1030
|
+
Keyword Args
|
1031
|
+
------------
|
1032
|
+
value: :class:`tuple`, :class:`str` or |ASN.1| object
|
1033
|
+
Python sequence of :class:`int` or :class:`str` literal or |ASN.1| object.
|
1034
|
+
If `value` is not given, schema object will be created.
|
1035
|
+
|
1036
|
+
tagSet: :py:class:`~pyasn1.type.tag.TagSet`
|
1037
|
+
Object representing non-default ASN.1 tag(s)
|
1038
|
+
|
1039
|
+
subtypeSpec: :py:class:`~pyasn1.type.constraint.ConstraintsIntersection`
|
1040
|
+
Object representing non-default ASN.1 subtype constraint(s). Constraints
|
1041
|
+
verification for |ASN.1| type occurs automatically on object
|
1042
|
+
instantiation.
|
1043
|
+
|
1044
|
+
Raises
|
1045
|
+
------
|
1046
|
+
~pyasn1.error.ValueConstraintError, ~pyasn1.error.PyAsn1Error
|
1047
|
+
On constraint violation or bad initializer.
|
1048
|
+
|
1049
|
+
Examples
|
1050
|
+
--------
|
1051
|
+
.. code-block:: python
|
1052
|
+
|
1053
|
+
class ID(ObjectIdentifier):
|
1054
|
+
'''
|
1055
|
+
ASN.1 specification:
|
1056
|
+
|
1057
|
+
ID ::= OBJECT IDENTIFIER
|
1058
|
+
|
1059
|
+
id-edims ID ::= { joint-iso-itu-t mhs-motif(6) edims(7) }
|
1060
|
+
id-bp ID ::= { id-edims 11 }
|
1061
|
+
'''
|
1062
|
+
id_edims = ID('2.6.7')
|
1063
|
+
id_bp = id_edims + (11,)
|
1064
|
+
"""
|
1065
|
+
#: Set (on class, not on instance) or return a
|
1066
|
+
#: :py:class:`~pyasn1.type.tag.TagSet` object representing ASN.1 tag(s)
|
1067
|
+
#: associated with |ASN.1| type.
|
1068
|
+
tagSet = tag.initTagSet(
|
1069
|
+
tag.Tag(tag.tagClassUniversal, tag.tagFormatSimple, 0x06)
|
1070
|
+
)
|
1071
|
+
|
1072
|
+
#: Set (on class, not on instance) or return a
|
1073
|
+
#: :py:class:`~pyasn1.type.constraint.ConstraintsIntersection` object
|
1074
|
+
#: imposing constraints on |ASN.1| type initialization values.
|
1075
|
+
subtypeSpec = constraint.ConstraintsIntersection()
|
1076
|
+
|
1077
|
+
# Optimization for faster codec lookup
|
1078
|
+
typeId = base.SimpleAsn1Type.getTypeId()
|
1079
|
+
|
1080
|
+
def __add__(self, other):
|
1081
|
+
return self.clone(self._value + other)
|
1082
|
+
|
1083
|
+
def __radd__(self, other):
|
1084
|
+
return self.clone(other + self._value)
|
1085
|
+
|
1086
|
+
def asTuple(self):
|
1087
|
+
return self._value
|
1088
|
+
|
1089
|
+
# Sequence object protocol
|
1090
|
+
|
1091
|
+
def __len__(self):
|
1092
|
+
return len(self._value)
|
1093
|
+
|
1094
|
+
def __getitem__(self, i):
|
1095
|
+
if i.__class__ is slice:
|
1096
|
+
return self.clone(self._value[i])
|
1097
|
+
else:
|
1098
|
+
return self._value[i]
|
1099
|
+
|
1100
|
+
def __iter__(self):
|
1101
|
+
return iter(self._value)
|
1102
|
+
|
1103
|
+
def __contains__(self, value):
|
1104
|
+
return value in self._value
|
1105
|
+
|
1106
|
+
def index(self, suboid):
|
1107
|
+
return self._value.index(suboid)
|
1108
|
+
|
1109
|
+
def isPrefixOf(self, other):
|
1110
|
+
"""Indicate if this |ASN.1| object is a prefix of other |ASN.1| object.
|
1111
|
+
|
1112
|
+
Parameters
|
1113
|
+
----------
|
1114
|
+
other: |ASN.1| object
|
1115
|
+
|ASN.1| object
|
1116
|
+
|
1117
|
+
Returns
|
1118
|
+
-------
|
1119
|
+
: :class:`bool`
|
1120
|
+
:obj:`True` if this |ASN.1| object is a parent (e.g. prefix) of the other |ASN.1| object
|
1121
|
+
or :obj:`False` otherwise.
|
1122
|
+
"""
|
1123
|
+
l = len(self)
|
1124
|
+
if l <= len(other):
|
1125
|
+
if self._value[:l] == other[:l]:
|
1126
|
+
return True
|
1127
|
+
return False
|
1128
|
+
|
1129
|
+
def prettyIn(self, value):
|
1130
|
+
if isinstance(value, ObjectIdentifier):
|
1131
|
+
return tuple(value)
|
1132
|
+
elif isinstance(value, str):
|
1133
|
+
if '-' in value:
|
1134
|
+
raise error.PyAsn1Error(
|
1135
|
+
# sys.exc_info in case prettyIn was called while handling an exception
|
1136
|
+
'Malformed Object ID %s at %s: %s' % (value, self.__class__.__name__, sys.exc_info()[1])
|
1137
|
+
)
|
1138
|
+
try:
|
1139
|
+
return tuple([int(subOid) for subOid in value.split('.') if subOid])
|
1140
|
+
except ValueError as exc:
|
1141
|
+
raise error.PyAsn1Error(
|
1142
|
+
'Malformed Object ID %s at %s: %s' % (value, self.__class__.__name__, exc)
|
1143
|
+
)
|
1144
|
+
|
1145
|
+
try:
|
1146
|
+
tupleOfInts = tuple([int(subOid) for subOid in value if subOid >= 0])
|
1147
|
+
|
1148
|
+
except (ValueError, TypeError) as exc:
|
1149
|
+
raise error.PyAsn1Error(
|
1150
|
+
'Malformed Object ID %s at %s: %s' % (value, self.__class__.__name__, exc)
|
1151
|
+
)
|
1152
|
+
|
1153
|
+
if len(tupleOfInts) == len(value):
|
1154
|
+
return tupleOfInts
|
1155
|
+
|
1156
|
+
raise error.PyAsn1Error('Malformed Object ID %s at %s' % (value, self.__class__.__name__))
|
1157
|
+
|
1158
|
+
def prettyOut(self, value):
|
1159
|
+
return '.'.join([str(x) for x in value])
|
1160
|
+
|
1161
|
+
|
1162
|
+
class RelativeOID(base.SimpleAsn1Type):
|
1163
|
+
"""Create |ASN.1| schema or value object.
|
1164
|
+
|ASN.1| class is based on :class:`~pyasn1.type.base.SimpleAsn1Type`, its
|
1165
|
+
objects are immutable and duck-type Python :class:`tuple` objects
|
1166
|
+
(tuple of non-negative integers).
|
1167
|
+
Keyword Args
|
1168
|
+
------------
|
1169
|
+
value: :class:`tuple`, :class:`str` or |ASN.1| object
|
1170
|
+
Python sequence of :class:`int` or :class:`str` literal or |ASN.1| object.
|
1171
|
+
If `value` is not given, schema object will be created.
|
1172
|
+
tagSet: :py:class:`~pyasn1.type.tag.TagSet`
|
1173
|
+
Object representing non-default ASN.1 tag(s)
|
1174
|
+
subtypeSpec: :py:class:`~pyasn1.type.constraint.ConstraintsIntersection`
|
1175
|
+
Object representing non-default ASN.1 subtype constraint(s). Constraints
|
1176
|
+
verification for |ASN.1| type occurs automatically on object
|
1177
|
+
instantiation.
|
1178
|
+
Raises
|
1179
|
+
------
|
1180
|
+
~pyasn1.error.ValueConstraintError, ~pyasn1.error.PyAsn1Error
|
1181
|
+
On constraint violation or bad initializer.
|
1182
|
+
Examples
|
1183
|
+
--------
|
1184
|
+
.. code-block:: python
|
1185
|
+
class RelOID(RelativeOID):
|
1186
|
+
'''
|
1187
|
+
ASN.1 specification:
|
1188
|
+
id-pad-null RELATIVE-OID ::= { 0 }
|
1189
|
+
id-pad-once RELATIVE-OID ::= { 5 6 }
|
1190
|
+
id-pad-twice RELATIVE-OID ::= { 5 6 7 }
|
1191
|
+
'''
|
1192
|
+
id_pad_null = RelOID('0')
|
1193
|
+
id_pad_once = RelOID('5.6')
|
1194
|
+
id_pad_twice = id_pad_once + (7,)
|
1195
|
+
"""
|
1196
|
+
#: Set (on class, not on instance) or return a
|
1197
|
+
#: :py:class:`~pyasn1.type.tag.TagSet` object representing ASN.1 tag(s)
|
1198
|
+
#: associated with |ASN.1| type.
|
1199
|
+
tagSet = tag.initTagSet(
|
1200
|
+
tag.Tag(tag.tagClassUniversal, tag.tagFormatSimple, 0x0d)
|
1201
|
+
)
|
1202
|
+
|
1203
|
+
#: Set (on class, not on instance) or return a
|
1204
|
+
#: :py:class:`~pyasn1.type.constraint.ConstraintsIntersection` object
|
1205
|
+
#: imposing constraints on |ASN.1| type initialization values.
|
1206
|
+
subtypeSpec = constraint.ConstraintsIntersection()
|
1207
|
+
|
1208
|
+
# Optimization for faster codec lookup
|
1209
|
+
typeId = base.SimpleAsn1Type.getTypeId()
|
1210
|
+
|
1211
|
+
def __add__(self, other):
|
1212
|
+
return self.clone(self._value + other)
|
1213
|
+
|
1214
|
+
def __radd__(self, other):
|
1215
|
+
return self.clone(other + self._value)
|
1216
|
+
|
1217
|
+
def asTuple(self):
|
1218
|
+
return self._value
|
1219
|
+
|
1220
|
+
# Sequence object protocol
|
1221
|
+
|
1222
|
+
def __len__(self):
|
1223
|
+
return len(self._value)
|
1224
|
+
|
1225
|
+
def __getitem__(self, i):
|
1226
|
+
if i.__class__ is slice:
|
1227
|
+
return self.clone(self._value[i])
|
1228
|
+
else:
|
1229
|
+
return self._value[i]
|
1230
|
+
|
1231
|
+
def __iter__(self):
|
1232
|
+
return iter(self._value)
|
1233
|
+
|
1234
|
+
def __contains__(self, value):
|
1235
|
+
return value in self._value
|
1236
|
+
|
1237
|
+
def index(self, suboid):
|
1238
|
+
return self._value.index(suboid)
|
1239
|
+
|
1240
|
+
def isPrefixOf(self, other):
|
1241
|
+
"""Indicate if this |ASN.1| object is a prefix of other |ASN.1| object.
|
1242
|
+
Parameters
|
1243
|
+
----------
|
1244
|
+
other: |ASN.1| object
|
1245
|
+
|ASN.1| object
|
1246
|
+
Returns
|
1247
|
+
-------
|
1248
|
+
: :class:`bool`
|
1249
|
+
:obj:`True` if this |ASN.1| object is a parent (e.g. prefix) of the other |ASN.1| object
|
1250
|
+
or :obj:`False` otherwise.
|
1251
|
+
"""
|
1252
|
+
l = len(self)
|
1253
|
+
if l <= len(other):
|
1254
|
+
if self._value[:l] == other[:l]:
|
1255
|
+
return True
|
1256
|
+
return False
|
1257
|
+
|
1258
|
+
def prettyIn(self, value):
|
1259
|
+
if isinstance(value, RelativeOID):
|
1260
|
+
return tuple(value)
|
1261
|
+
elif isinstance(value, str):
|
1262
|
+
if '-' in value:
|
1263
|
+
raise error.PyAsn1Error(
|
1264
|
+
# sys.exc_info in case prettyIn was called while handling an exception
|
1265
|
+
'Malformed RELATIVE-OID %s at %s: %s' % (value, self.__class__.__name__, sys.exc_info()[1])
|
1266
|
+
)
|
1267
|
+
try:
|
1268
|
+
return tuple([int(subOid) for subOid in value.split('.') if subOid])
|
1269
|
+
except ValueError as exc:
|
1270
|
+
raise error.PyAsn1Error(
|
1271
|
+
'Malformed RELATIVE-OID %s at %s: %s' % (value, self.__class__.__name__, exc)
|
1272
|
+
)
|
1273
|
+
|
1274
|
+
try:
|
1275
|
+
tupleOfInts = tuple([int(subOid) for subOid in value if subOid >= 0])
|
1276
|
+
|
1277
|
+
except (ValueError, TypeError) as exc:
|
1278
|
+
raise error.PyAsn1Error(
|
1279
|
+
'Malformed RELATIVE-OID %s at %s: %s' % (value, self.__class__.__name__, exc)
|
1280
|
+
)
|
1281
|
+
|
1282
|
+
if len(tupleOfInts) == len(value):
|
1283
|
+
return tupleOfInts
|
1284
|
+
|
1285
|
+
raise error.PyAsn1Error('Malformed RELATIVE-OID %s at %s' % (value, self.__class__.__name__))
|
1286
|
+
|
1287
|
+
def prettyOut(self, value):
|
1288
|
+
return '.'.join([str(x) for x in value])
|
1289
|
+
|
1290
|
+
|
1291
|
+
class Real(base.SimpleAsn1Type):
|
1292
|
+
"""Create |ASN.1| schema or value object.
|
1293
|
+
|
1294
|
+
|ASN.1| class is based on :class:`~pyasn1.type.base.SimpleAsn1Type`, its
|
1295
|
+
objects are immutable and duck-type Python :class:`float` objects.
|
1296
|
+
Additionally, |ASN.1| objects behave like a :class:`tuple` in which case its
|
1297
|
+
elements are mantissa, base and exponent.
|
1298
|
+
|
1299
|
+
Keyword Args
|
1300
|
+
------------
|
1301
|
+
value: :class:`tuple`, :class:`float` or |ASN.1| object
|
1302
|
+
Python sequence of :class:`int` (representing mantissa, base and
|
1303
|
+
exponent) or :class:`float` instance or |ASN.1| object.
|
1304
|
+
If `value` is not given, schema object will be created.
|
1305
|
+
|
1306
|
+
tagSet: :py:class:`~pyasn1.type.tag.TagSet`
|
1307
|
+
Object representing non-default ASN.1 tag(s)
|
1308
|
+
|
1309
|
+
subtypeSpec: :py:class:`~pyasn1.type.constraint.ConstraintsIntersection`
|
1310
|
+
Object representing non-default ASN.1 subtype constraint(s). Constraints
|
1311
|
+
verification for |ASN.1| type occurs automatically on object
|
1312
|
+
instantiation.
|
1313
|
+
|
1314
|
+
Raises
|
1315
|
+
------
|
1316
|
+
~pyasn1.error.ValueConstraintError, ~pyasn1.error.PyAsn1Error
|
1317
|
+
On constraint violation or bad initializer.
|
1318
|
+
|
1319
|
+
Examples
|
1320
|
+
--------
|
1321
|
+
.. code-block:: python
|
1322
|
+
|
1323
|
+
class Pi(Real):
|
1324
|
+
'''
|
1325
|
+
ASN.1 specification:
|
1326
|
+
|
1327
|
+
Pi ::= REAL
|
1328
|
+
|
1329
|
+
pi Pi ::= { mantissa 314159, base 10, exponent -5 }
|
1330
|
+
|
1331
|
+
'''
|
1332
|
+
pi = Pi((314159, 10, -5))
|
1333
|
+
"""
|
1334
|
+
binEncBase = None # binEncBase = 16 is recommended for large numbers
|
1335
|
+
|
1336
|
+
try:
|
1337
|
+
_plusInf = float('inf')
|
1338
|
+
_minusInf = float('-inf')
|
1339
|
+
_inf = _plusInf, _minusInf
|
1340
|
+
|
1341
|
+
except ValueError:
|
1342
|
+
# Infinity support is platform and Python dependent
|
1343
|
+
_plusInf = _minusInf = None
|
1344
|
+
_inf = ()
|
1345
|
+
|
1346
|
+
#: Set (on class, not on instance) or return a
|
1347
|
+
#: :py:class:`~pyasn1.type.tag.TagSet` object representing ASN.1 tag(s)
|
1348
|
+
#: associated with |ASN.1| type.
|
1349
|
+
tagSet = tag.initTagSet(
|
1350
|
+
tag.Tag(tag.tagClassUniversal, tag.tagFormatSimple, 0x09)
|
1351
|
+
)
|
1352
|
+
|
1353
|
+
#: Set (on class, not on instance) or return a
|
1354
|
+
#: :py:class:`~pyasn1.type.constraint.ConstraintsIntersection` object
|
1355
|
+
#: imposing constraints on |ASN.1| type initialization values.
|
1356
|
+
subtypeSpec = constraint.ConstraintsIntersection()
|
1357
|
+
|
1358
|
+
# Optimization for faster codec lookup
|
1359
|
+
typeId = base.SimpleAsn1Type.getTypeId()
|
1360
|
+
|
1361
|
+
@staticmethod
|
1362
|
+
def __normalizeBase10(value):
|
1363
|
+
m, b, e = value
|
1364
|
+
while m and m % 10 == 0:
|
1365
|
+
m /= 10
|
1366
|
+
e += 1
|
1367
|
+
return m, b, e
|
1368
|
+
|
1369
|
+
def prettyIn(self, value):
|
1370
|
+
if isinstance(value, tuple) and len(value) == 3:
|
1371
|
+
if (not isinstance(value[0], (int, float)) or
|
1372
|
+
not isinstance(value[1], int) or
|
1373
|
+
not isinstance(value[2], int)):
|
1374
|
+
raise error.PyAsn1Error('Lame Real value syntax: %s' % (value,))
|
1375
|
+
if (isinstance(value[0], float) and
|
1376
|
+
self._inf and value[0] in self._inf):
|
1377
|
+
return value[0]
|
1378
|
+
if value[1] not in (2, 10):
|
1379
|
+
raise error.PyAsn1Error(
|
1380
|
+
'Prohibited base for Real value: %s' % (value[1],)
|
1381
|
+
)
|
1382
|
+
if value[1] == 10:
|
1383
|
+
value = self.__normalizeBase10(value)
|
1384
|
+
return value
|
1385
|
+
elif isinstance(value, int):
|
1386
|
+
return self.__normalizeBase10((value, 10, 0))
|
1387
|
+
elif isinstance(value, float) or isinstance(value, str):
|
1388
|
+
if isinstance(value, str):
|
1389
|
+
try:
|
1390
|
+
value = float(value)
|
1391
|
+
except ValueError:
|
1392
|
+
raise error.PyAsn1Error(
|
1393
|
+
'Bad real value syntax: %s' % (value,)
|
1394
|
+
)
|
1395
|
+
if self._inf and value in self._inf:
|
1396
|
+
return value
|
1397
|
+
else:
|
1398
|
+
e = 0
|
1399
|
+
while int(value) != value:
|
1400
|
+
value *= 10
|
1401
|
+
e -= 1
|
1402
|
+
return self.__normalizeBase10((int(value), 10, e))
|
1403
|
+
elif isinstance(value, Real):
|
1404
|
+
return tuple(value)
|
1405
|
+
raise error.PyAsn1Error(
|
1406
|
+
'Bad real value syntax: %s' % (value,)
|
1407
|
+
)
|
1408
|
+
|
1409
|
+
def prettyPrint(self, scope=0):
|
1410
|
+
try:
|
1411
|
+
return self.prettyOut(float(self))
|
1412
|
+
|
1413
|
+
except OverflowError:
|
1414
|
+
return '<overflow>'
|
1415
|
+
|
1416
|
+
@property
|
1417
|
+
def isPlusInf(self):
|
1418
|
+
"""Indicate PLUS-INFINITY object value
|
1419
|
+
|
1420
|
+
Returns
|
1421
|
+
-------
|
1422
|
+
: :class:`bool`
|
1423
|
+
:obj:`True` if calling object represents plus infinity
|
1424
|
+
or :obj:`False` otherwise.
|
1425
|
+
|
1426
|
+
"""
|
1427
|
+
return self._value == self._plusInf
|
1428
|
+
|
1429
|
+
@property
|
1430
|
+
def isMinusInf(self):
|
1431
|
+
"""Indicate MINUS-INFINITY object value
|
1432
|
+
|
1433
|
+
Returns
|
1434
|
+
-------
|
1435
|
+
: :class:`bool`
|
1436
|
+
:obj:`True` if calling object represents minus infinity
|
1437
|
+
or :obj:`False` otherwise.
|
1438
|
+
"""
|
1439
|
+
return self._value == self._minusInf
|
1440
|
+
|
1441
|
+
@property
|
1442
|
+
def isInf(self):
|
1443
|
+
return self._value in self._inf
|
1444
|
+
|
1445
|
+
def __add__(self, value):
|
1446
|
+
return self.clone(float(self) + value)
|
1447
|
+
|
1448
|
+
def __radd__(self, value):
|
1449
|
+
return self + value
|
1450
|
+
|
1451
|
+
def __mul__(self, value):
|
1452
|
+
return self.clone(float(self) * value)
|
1453
|
+
|
1454
|
+
def __rmul__(self, value):
|
1455
|
+
return self * value
|
1456
|
+
|
1457
|
+
def __sub__(self, value):
|
1458
|
+
return self.clone(float(self) - value)
|
1459
|
+
|
1460
|
+
def __rsub__(self, value):
|
1461
|
+
return self.clone(value - float(self))
|
1462
|
+
|
1463
|
+
def __mod__(self, value):
|
1464
|
+
return self.clone(float(self) % value)
|
1465
|
+
|
1466
|
+
def __rmod__(self, value):
|
1467
|
+
return self.clone(value % float(self))
|
1468
|
+
|
1469
|
+
def __pow__(self, value, modulo=None):
|
1470
|
+
return self.clone(pow(float(self), value, modulo))
|
1471
|
+
|
1472
|
+
def __rpow__(self, value):
|
1473
|
+
return self.clone(pow(value, float(self)))
|
1474
|
+
|
1475
|
+
def __truediv__(self, value):
|
1476
|
+
return self.clone(float(self) / value)
|
1477
|
+
|
1478
|
+
def __rtruediv__(self, value):
|
1479
|
+
return self.clone(value / float(self))
|
1480
|
+
|
1481
|
+
def __divmod__(self, value):
|
1482
|
+
return self.clone(float(self) // value)
|
1483
|
+
|
1484
|
+
def __rdivmod__(self, value):
|
1485
|
+
return self.clone(value // float(self))
|
1486
|
+
|
1487
|
+
def __int__(self):
|
1488
|
+
return int(float(self))
|
1489
|
+
|
1490
|
+
def __float__(self):
|
1491
|
+
if self._value in self._inf:
|
1492
|
+
return self._value
|
1493
|
+
else:
|
1494
|
+
return float(
|
1495
|
+
self._value[0] * pow(self._value[1], self._value[2])
|
1496
|
+
)
|
1497
|
+
|
1498
|
+
def __abs__(self):
|
1499
|
+
return self.clone(abs(float(self)))
|
1500
|
+
|
1501
|
+
def __pos__(self):
|
1502
|
+
return self.clone(+float(self))
|
1503
|
+
|
1504
|
+
def __neg__(self):
|
1505
|
+
return self.clone(-float(self))
|
1506
|
+
|
1507
|
+
def __round__(self, n=0):
|
1508
|
+
r = round(float(self), n)
|
1509
|
+
if n:
|
1510
|
+
return self.clone(r)
|
1511
|
+
else:
|
1512
|
+
return r
|
1513
|
+
|
1514
|
+
def __floor__(self):
|
1515
|
+
return self.clone(math.floor(float(self)))
|
1516
|
+
|
1517
|
+
def __ceil__(self):
|
1518
|
+
return self.clone(math.ceil(float(self)))
|
1519
|
+
|
1520
|
+
def __trunc__(self):
|
1521
|
+
return self.clone(math.trunc(float(self)))
|
1522
|
+
|
1523
|
+
def __lt__(self, value):
|
1524
|
+
return float(self) < value
|
1525
|
+
|
1526
|
+
def __le__(self, value):
|
1527
|
+
return float(self) <= value
|
1528
|
+
|
1529
|
+
def __eq__(self, value):
|
1530
|
+
return float(self) == value
|
1531
|
+
|
1532
|
+
def __ne__(self, value):
|
1533
|
+
return float(self) != value
|
1534
|
+
|
1535
|
+
def __gt__(self, value):
|
1536
|
+
return float(self) > value
|
1537
|
+
|
1538
|
+
def __ge__(self, value):
|
1539
|
+
return float(self) >= value
|
1540
|
+
|
1541
|
+
def __bool__(self):
|
1542
|
+
return bool(float(self))
|
1543
|
+
|
1544
|
+
__hash__ = base.SimpleAsn1Type.__hash__
|
1545
|
+
|
1546
|
+
def __getitem__(self, idx):
|
1547
|
+
if self._value in self._inf:
|
1548
|
+
raise error.PyAsn1Error('Invalid infinite value operation')
|
1549
|
+
else:
|
1550
|
+
return self._value[idx]
|
1551
|
+
|
1552
|
+
# compatibility stubs
|
1553
|
+
|
1554
|
+
def isPlusInfinity(self):
|
1555
|
+
return self.isPlusInf
|
1556
|
+
|
1557
|
+
def isMinusInfinity(self):
|
1558
|
+
return self.isMinusInf
|
1559
|
+
|
1560
|
+
def isInfinity(self):
|
1561
|
+
return self.isInf
|
1562
|
+
|
1563
|
+
|
1564
|
+
class Enumerated(Integer):
|
1565
|
+
"""Create |ASN.1| schema or value object.
|
1566
|
+
|
1567
|
+
|ASN.1| class is based on :class:`~pyasn1.type.base.SimpleAsn1Type`, its
|
1568
|
+
objects are immutable and duck-type Python :class:`int` objects.
|
1569
|
+
|
1570
|
+
Keyword Args
|
1571
|
+
------------
|
1572
|
+
value: :class:`int`, :class:`str` or |ASN.1| object
|
1573
|
+
Python :class:`int` or :class:`str` literal or |ASN.1| object.
|
1574
|
+
If `value` is not given, schema object will be created.
|
1575
|
+
|
1576
|
+
tagSet: :py:class:`~pyasn1.type.tag.TagSet`
|
1577
|
+
Object representing non-default ASN.1 tag(s)
|
1578
|
+
|
1579
|
+
subtypeSpec: :py:class:`~pyasn1.type.constraint.ConstraintsIntersection`
|
1580
|
+
Object representing non-default ASN.1 subtype constraint(s). Constraints
|
1581
|
+
verification for |ASN.1| type occurs automatically on object
|
1582
|
+
instantiation.
|
1583
|
+
|
1584
|
+
namedValues: :py:class:`~pyasn1.type.namedval.NamedValues`
|
1585
|
+
Object representing non-default symbolic aliases for numbers
|
1586
|
+
|
1587
|
+
Raises
|
1588
|
+
------
|
1589
|
+
~pyasn1.error.ValueConstraintError, ~pyasn1.error.PyAsn1Error
|
1590
|
+
On constraint violation or bad initializer.
|
1591
|
+
|
1592
|
+
Examples
|
1593
|
+
--------
|
1594
|
+
|
1595
|
+
.. code-block:: python
|
1596
|
+
|
1597
|
+
class RadioButton(Enumerated):
|
1598
|
+
'''
|
1599
|
+
ASN.1 specification:
|
1600
|
+
|
1601
|
+
RadioButton ::= ENUMERATED { button1(0), button2(1),
|
1602
|
+
button3(2) }
|
1603
|
+
|
1604
|
+
selected-by-default RadioButton ::= button1
|
1605
|
+
'''
|
1606
|
+
namedValues = NamedValues(
|
1607
|
+
('button1', 0), ('button2', 1),
|
1608
|
+
('button3', 2)
|
1609
|
+
)
|
1610
|
+
|
1611
|
+
selected_by_default = RadioButton('button1')
|
1612
|
+
"""
|
1613
|
+
#: Set (on class, not on instance) or return a
|
1614
|
+
#: :py:class:`~pyasn1.type.tag.TagSet` object representing ASN.1 tag(s)
|
1615
|
+
#: associated with |ASN.1| type.
|
1616
|
+
tagSet = tag.initTagSet(
|
1617
|
+
tag.Tag(tag.tagClassUniversal, tag.tagFormatSimple, 0x0A)
|
1618
|
+
)
|
1619
|
+
|
1620
|
+
#: Set (on class, not on instance) or return a
|
1621
|
+
#: :py:class:`~pyasn1.type.constraint.ConstraintsIntersection` object
|
1622
|
+
#: imposing constraints on |ASN.1| type initialization values.
|
1623
|
+
subtypeSpec = constraint.ConstraintsIntersection()
|
1624
|
+
|
1625
|
+
# Optimization for faster codec lookup
|
1626
|
+
typeId = Integer.getTypeId()
|
1627
|
+
|
1628
|
+
#: Default :py:class:`~pyasn1.type.namedval.NamedValues` object
|
1629
|
+
#: representing symbolic aliases for numbers
|
1630
|
+
namedValues = namedval.NamedValues()
|
1631
|
+
|
1632
|
+
|
1633
|
+
# "Structured" ASN.1 types
|
1634
|
+
|
1635
|
+
class SequenceOfAndSetOfBase(base.ConstructedAsn1Type):
|
1636
|
+
"""Create |ASN.1| schema or value object.
|
1637
|
+
|
1638
|
+
|ASN.1| class is based on :class:`~pyasn1.type.base.ConstructedAsn1Type`,
|
1639
|
+
its objects are mutable and duck-type Python :class:`list` objects.
|
1640
|
+
|
1641
|
+
Keyword Args
|
1642
|
+
------------
|
1643
|
+
componentType : :py:class:`~pyasn1.type.base.PyAsn1Item` derivative
|
1644
|
+
A pyasn1 object representing ASN.1 type allowed within |ASN.1| type
|
1645
|
+
|
1646
|
+
tagSet: :py:class:`~pyasn1.type.tag.TagSet`
|
1647
|
+
Object representing non-default ASN.1 tag(s)
|
1648
|
+
|
1649
|
+
subtypeSpec: :py:class:`~pyasn1.type.constraint.ConstraintsIntersection`
|
1650
|
+
Object representing non-default ASN.1 subtype constraint(s). Constraints
|
1651
|
+
verification for |ASN.1| type can only occur on explicit
|
1652
|
+
`.isInconsistent` call.
|
1653
|
+
|
1654
|
+
Examples
|
1655
|
+
--------
|
1656
|
+
|
1657
|
+
.. code-block:: python
|
1658
|
+
|
1659
|
+
class LotteryDraw(SequenceOf): # SetOf is similar
|
1660
|
+
'''
|
1661
|
+
ASN.1 specification:
|
1662
|
+
|
1663
|
+
LotteryDraw ::= SEQUENCE OF INTEGER
|
1664
|
+
'''
|
1665
|
+
componentType = Integer()
|
1666
|
+
|
1667
|
+
lotteryDraw = LotteryDraw()
|
1668
|
+
lotteryDraw.extend([123, 456, 789])
|
1669
|
+
"""
|
1670
|
+
def __init__(self, *args, **kwargs):
|
1671
|
+
# support positional params for backward compatibility
|
1672
|
+
if args:
|
1673
|
+
for key, value in zip(('componentType', 'tagSet',
|
1674
|
+
'subtypeSpec'), args):
|
1675
|
+
if key in kwargs:
|
1676
|
+
raise error.PyAsn1Error('Conflicting positional and keyword params!')
|
1677
|
+
kwargs['componentType'] = value
|
1678
|
+
|
1679
|
+
self._componentValues = noValue
|
1680
|
+
|
1681
|
+
base.ConstructedAsn1Type.__init__(self, **kwargs)
|
1682
|
+
|
1683
|
+
# Python list protocol
|
1684
|
+
|
1685
|
+
def __getitem__(self, idx):
|
1686
|
+
try:
|
1687
|
+
return self.getComponentByPosition(idx)
|
1688
|
+
|
1689
|
+
except error.PyAsn1Error as exc:
|
1690
|
+
raise IndexError(exc)
|
1691
|
+
|
1692
|
+
def __setitem__(self, idx, value):
|
1693
|
+
try:
|
1694
|
+
self.setComponentByPosition(idx, value)
|
1695
|
+
|
1696
|
+
except error.PyAsn1Error as exc:
|
1697
|
+
raise IndexError(exc)
|
1698
|
+
|
1699
|
+
def append(self, value):
|
1700
|
+
if self._componentValues is noValue:
|
1701
|
+
pos = 0
|
1702
|
+
|
1703
|
+
else:
|
1704
|
+
pos = len(self._componentValues)
|
1705
|
+
|
1706
|
+
self[pos] = value
|
1707
|
+
|
1708
|
+
def count(self, value):
|
1709
|
+
return list(self._componentValues.values()).count(value)
|
1710
|
+
|
1711
|
+
def extend(self, values):
|
1712
|
+
for value in values:
|
1713
|
+
self.append(value)
|
1714
|
+
|
1715
|
+
if self._componentValues is noValue:
|
1716
|
+
self._componentValues = {}
|
1717
|
+
|
1718
|
+
def index(self, value, start=0, stop=None):
|
1719
|
+
if stop is None:
|
1720
|
+
stop = len(self)
|
1721
|
+
|
1722
|
+
indices, values = zip(*self._componentValues.items())
|
1723
|
+
|
1724
|
+
# TODO: remove when Py2.5 support is gone
|
1725
|
+
values = list(values)
|
1726
|
+
|
1727
|
+
try:
|
1728
|
+
return indices[values.index(value, start, stop)]
|
1729
|
+
|
1730
|
+
except error.PyAsn1Error as exc:
|
1731
|
+
raise ValueError(exc)
|
1732
|
+
|
1733
|
+
def reverse(self):
|
1734
|
+
self._componentValues.reverse()
|
1735
|
+
|
1736
|
+
def sort(self, key=None, reverse=False):
|
1737
|
+
self._componentValues = dict(
|
1738
|
+
enumerate(sorted(self._componentValues.values(),
|
1739
|
+
key=key, reverse=reverse)))
|
1740
|
+
|
1741
|
+
def __len__(self):
|
1742
|
+
if self._componentValues is noValue or not self._componentValues:
|
1743
|
+
return 0
|
1744
|
+
|
1745
|
+
return max(self._componentValues) + 1
|
1746
|
+
|
1747
|
+
def __iter__(self):
|
1748
|
+
for idx in range(0, len(self)):
|
1749
|
+
yield self.getComponentByPosition(idx)
|
1750
|
+
|
1751
|
+
def _cloneComponentValues(self, myClone, cloneValueFlag):
|
1752
|
+
for idx, componentValue in self._componentValues.items():
|
1753
|
+
if componentValue is not noValue:
|
1754
|
+
if isinstance(componentValue, base.ConstructedAsn1Type):
|
1755
|
+
myClone.setComponentByPosition(
|
1756
|
+
idx, componentValue.clone(cloneValueFlag=cloneValueFlag)
|
1757
|
+
)
|
1758
|
+
else:
|
1759
|
+
myClone.setComponentByPosition(idx, componentValue.clone())
|
1760
|
+
|
1761
|
+
def getComponentByPosition(self, idx, default=noValue, instantiate=True):
|
1762
|
+
"""Return |ASN.1| type component value by position.
|
1763
|
+
|
1764
|
+
Equivalent to Python sequence subscription operation (e.g. `[]`).
|
1765
|
+
|
1766
|
+
Parameters
|
1767
|
+
----------
|
1768
|
+
idx : :class:`int`
|
1769
|
+
Component index (zero-based). Must either refer to an existing
|
1770
|
+
component or to N+1 component (if *componentType* is set). In the latter
|
1771
|
+
case a new component type gets instantiated and appended to the |ASN.1|
|
1772
|
+
sequence.
|
1773
|
+
|
1774
|
+
Keyword Args
|
1775
|
+
------------
|
1776
|
+
default: :class:`object`
|
1777
|
+
If set and requested component is a schema object, return the `default`
|
1778
|
+
object instead of the requested component.
|
1779
|
+
|
1780
|
+
instantiate: :class:`bool`
|
1781
|
+
If :obj:`True` (default), inner component will be automatically instantiated.
|
1782
|
+
If :obj:`False` either existing component or the :class:`NoValue` object will be
|
1783
|
+
returned.
|
1784
|
+
|
1785
|
+
Returns
|
1786
|
+
-------
|
1787
|
+
: :py:class:`~pyasn1.type.base.PyAsn1Item`
|
1788
|
+
Instantiate |ASN.1| component type or return existing component value
|
1789
|
+
|
1790
|
+
Examples
|
1791
|
+
--------
|
1792
|
+
|
1793
|
+
.. code-block:: python
|
1794
|
+
|
1795
|
+
# can also be SetOf
|
1796
|
+
class MySequenceOf(SequenceOf):
|
1797
|
+
componentType = OctetString()
|
1798
|
+
|
1799
|
+
s = MySequenceOf()
|
1800
|
+
|
1801
|
+
# returns component #0 with `.isValue` property False
|
1802
|
+
s.getComponentByPosition(0)
|
1803
|
+
|
1804
|
+
# returns None
|
1805
|
+
s.getComponentByPosition(0, default=None)
|
1806
|
+
|
1807
|
+
s.clear()
|
1808
|
+
|
1809
|
+
# returns noValue
|
1810
|
+
s.getComponentByPosition(0, instantiate=False)
|
1811
|
+
|
1812
|
+
# sets component #0 to OctetString() ASN.1 schema
|
1813
|
+
# object and returns it
|
1814
|
+
s.getComponentByPosition(0, instantiate=True)
|
1815
|
+
|
1816
|
+
# sets component #0 to ASN.1 value object
|
1817
|
+
s.setComponentByPosition(0, 'ABCD')
|
1818
|
+
|
1819
|
+
# returns OctetString('ABCD') value object
|
1820
|
+
s.getComponentByPosition(0, instantiate=False)
|
1821
|
+
|
1822
|
+
s.clear()
|
1823
|
+
|
1824
|
+
# returns noValue
|
1825
|
+
s.getComponentByPosition(0, instantiate=False)
|
1826
|
+
"""
|
1827
|
+
if isinstance(idx, slice):
|
1828
|
+
indices = tuple(range(len(self)))
|
1829
|
+
return [self.getComponentByPosition(subidx, default, instantiate)
|
1830
|
+
for subidx in indices[idx]]
|
1831
|
+
|
1832
|
+
if idx < 0:
|
1833
|
+
idx = len(self) + idx
|
1834
|
+
if idx < 0:
|
1835
|
+
raise error.PyAsn1Error(
|
1836
|
+
'SequenceOf/SetOf index is out of range')
|
1837
|
+
|
1838
|
+
try:
|
1839
|
+
componentValue = self._componentValues[idx]
|
1840
|
+
|
1841
|
+
except (KeyError, error.PyAsn1Error):
|
1842
|
+
if not instantiate:
|
1843
|
+
return default
|
1844
|
+
|
1845
|
+
self.setComponentByPosition(idx)
|
1846
|
+
|
1847
|
+
componentValue = self._componentValues[idx]
|
1848
|
+
|
1849
|
+
if default is noValue or componentValue.isValue:
|
1850
|
+
return componentValue
|
1851
|
+
else:
|
1852
|
+
return default
|
1853
|
+
|
1854
|
+
def setComponentByPosition(self, idx, value=noValue,
|
1855
|
+
verifyConstraints=True,
|
1856
|
+
matchTags=True,
|
1857
|
+
matchConstraints=True):
|
1858
|
+
"""Assign |ASN.1| type component by position.
|
1859
|
+
|
1860
|
+
Equivalent to Python sequence item assignment operation (e.g. `[]`)
|
1861
|
+
or list.append() (when idx == len(self)).
|
1862
|
+
|
1863
|
+
Parameters
|
1864
|
+
----------
|
1865
|
+
idx: :class:`int`
|
1866
|
+
Component index (zero-based). Must either refer to existing
|
1867
|
+
component or to N+1 component. In the latter case a new component
|
1868
|
+
type gets instantiated (if *componentType* is set, or given ASN.1
|
1869
|
+
object is taken otherwise) and appended to the |ASN.1| sequence.
|
1870
|
+
|
1871
|
+
Keyword Args
|
1872
|
+
------------
|
1873
|
+
value: :class:`object` or :py:class:`~pyasn1.type.base.PyAsn1Item` derivative
|
1874
|
+
A Python value to initialize |ASN.1| component with (if *componentType* is set)
|
1875
|
+
or ASN.1 value object to assign to |ASN.1| component.
|
1876
|
+
If `value` is not given, schema object will be set as a component.
|
1877
|
+
|
1878
|
+
verifyConstraints: :class:`bool`
|
1879
|
+
If :obj:`False`, skip constraints validation
|
1880
|
+
|
1881
|
+
matchTags: :class:`bool`
|
1882
|
+
If :obj:`False`, skip component tags matching
|
1883
|
+
|
1884
|
+
matchConstraints: :class:`bool`
|
1885
|
+
If :obj:`False`, skip component constraints matching
|
1886
|
+
|
1887
|
+
Returns
|
1888
|
+
-------
|
1889
|
+
self
|
1890
|
+
|
1891
|
+
Raises
|
1892
|
+
------
|
1893
|
+
~pyasn1.error.ValueConstraintError, ~pyasn1.error.PyAsn1Error
|
1894
|
+
On constraint violation or bad initializer
|
1895
|
+
IndexError
|
1896
|
+
When idx > len(self)
|
1897
|
+
"""
|
1898
|
+
if isinstance(idx, slice):
|
1899
|
+
indices = tuple(range(len(self)))
|
1900
|
+
startIdx = indices and indices[idx][0] or 0
|
1901
|
+
for subIdx, subValue in enumerate(value):
|
1902
|
+
self.setComponentByPosition(
|
1903
|
+
startIdx + subIdx, subValue, verifyConstraints,
|
1904
|
+
matchTags, matchConstraints)
|
1905
|
+
return self
|
1906
|
+
|
1907
|
+
if idx < 0:
|
1908
|
+
idx = len(self) + idx
|
1909
|
+
if idx < 0:
|
1910
|
+
raise error.PyAsn1Error(
|
1911
|
+
'SequenceOf/SetOf index is out of range')
|
1912
|
+
|
1913
|
+
componentType = self.componentType
|
1914
|
+
|
1915
|
+
if self._componentValues is noValue:
|
1916
|
+
componentValues = {}
|
1917
|
+
|
1918
|
+
else:
|
1919
|
+
componentValues = self._componentValues
|
1920
|
+
|
1921
|
+
currentValue = componentValues.get(idx, noValue)
|
1922
|
+
|
1923
|
+
if value is noValue:
|
1924
|
+
if componentType is not None:
|
1925
|
+
value = componentType.clone()
|
1926
|
+
|
1927
|
+
elif currentValue is noValue:
|
1928
|
+
raise error.PyAsn1Error('Component type not defined')
|
1929
|
+
|
1930
|
+
elif not isinstance(value, base.Asn1Item):
|
1931
|
+
if (componentType is not None and
|
1932
|
+
isinstance(componentType, base.SimpleAsn1Type)):
|
1933
|
+
value = componentType.clone(value=value)
|
1934
|
+
|
1935
|
+
elif (currentValue is not noValue and
|
1936
|
+
isinstance(currentValue, base.SimpleAsn1Type)):
|
1937
|
+
value = currentValue.clone(value=value)
|
1938
|
+
|
1939
|
+
else:
|
1940
|
+
raise error.PyAsn1Error(
|
1941
|
+
'Non-ASN.1 value %r and undefined component'
|
1942
|
+
' type at %r' % (value, self))
|
1943
|
+
|
1944
|
+
elif componentType is not None and (matchTags or matchConstraints):
|
1945
|
+
subtypeChecker = (
|
1946
|
+
self.strictConstraints and
|
1947
|
+
componentType.isSameTypeWith or
|
1948
|
+
componentType.isSuperTypeOf)
|
1949
|
+
|
1950
|
+
if not subtypeChecker(value, verifyConstraints and matchTags,
|
1951
|
+
verifyConstraints and matchConstraints):
|
1952
|
+
# TODO: we should wrap componentType with UnnamedType to carry
|
1953
|
+
# additional properties associated with componentType
|
1954
|
+
if componentType.typeId != Any.typeId:
|
1955
|
+
raise error.PyAsn1Error(
|
1956
|
+
'Component value is tag-incompatible: %r vs '
|
1957
|
+
'%r' % (value, componentType))
|
1958
|
+
|
1959
|
+
componentValues[idx] = value
|
1960
|
+
|
1961
|
+
self._componentValues = componentValues
|
1962
|
+
|
1963
|
+
return self
|
1964
|
+
|
1965
|
+
@property
|
1966
|
+
def componentTagMap(self):
|
1967
|
+
if self.componentType is not None:
|
1968
|
+
return self.componentType.tagMap
|
1969
|
+
|
1970
|
+
@property
|
1971
|
+
def components(self):
|
1972
|
+
return [self._componentValues[idx]
|
1973
|
+
for idx in sorted(self._componentValues)]
|
1974
|
+
|
1975
|
+
def clear(self):
|
1976
|
+
"""Remove all components and become an empty |ASN.1| value object.
|
1977
|
+
|
1978
|
+
Has the same effect on |ASN.1| object as it does on :class:`list`
|
1979
|
+
built-in.
|
1980
|
+
"""
|
1981
|
+
self._componentValues = {}
|
1982
|
+
return self
|
1983
|
+
|
1984
|
+
def reset(self):
|
1985
|
+
"""Remove all components and become a |ASN.1| schema object.
|
1986
|
+
|
1987
|
+
See :meth:`isValue` property for more information on the
|
1988
|
+
distinction between value and schema objects.
|
1989
|
+
"""
|
1990
|
+
self._componentValues = noValue
|
1991
|
+
return self
|
1992
|
+
|
1993
|
+
def prettyPrint(self, scope=0):
|
1994
|
+
scope += 1
|
1995
|
+
representation = self.__class__.__name__ + ':\n'
|
1996
|
+
|
1997
|
+
if not self.isValue:
|
1998
|
+
return representation
|
1999
|
+
|
2000
|
+
for idx, componentValue in enumerate(self):
|
2001
|
+
representation += ' ' * scope
|
2002
|
+
if (componentValue is noValue and
|
2003
|
+
self.componentType is not None):
|
2004
|
+
representation += '<empty>'
|
2005
|
+
else:
|
2006
|
+
representation += componentValue.prettyPrint(scope)
|
2007
|
+
|
2008
|
+
return representation
|
2009
|
+
|
2010
|
+
def prettyPrintType(self, scope=0):
|
2011
|
+
scope += 1
|
2012
|
+
representation = '%s -> %s {\n' % (self.tagSet, self.__class__.__name__)
|
2013
|
+
if self.componentType is not None:
|
2014
|
+
representation += ' ' * scope
|
2015
|
+
representation += self.componentType.prettyPrintType(scope)
|
2016
|
+
return representation + '\n' + ' ' * (scope - 1) + '}'
|
2017
|
+
|
2018
|
+
|
2019
|
+
@property
|
2020
|
+
def isValue(self):
|
2021
|
+
"""Indicate that |ASN.1| object represents ASN.1 value.
|
2022
|
+
|
2023
|
+
If *isValue* is :obj:`False` then this object represents just ASN.1 schema.
|
2024
|
+
|
2025
|
+
If *isValue* is :obj:`True` then, in addition to its ASN.1 schema features,
|
2026
|
+
this object can also be used like a Python built-in object
|
2027
|
+
(e.g. :class:`int`, :class:`str`, :class:`dict` etc.).
|
2028
|
+
|
2029
|
+
Returns
|
2030
|
+
-------
|
2031
|
+
: :class:`bool`
|
2032
|
+
:obj:`False` if object represents just ASN.1 schema.
|
2033
|
+
:obj:`True` if object represents ASN.1 schema and can be used as a normal value.
|
2034
|
+
|
2035
|
+
Note
|
2036
|
+
----
|
2037
|
+
There is an important distinction between PyASN1 schema and value objects.
|
2038
|
+
The PyASN1 schema objects can only participate in ASN.1 schema-related
|
2039
|
+
operations (e.g. defining or testing the structure of the data). Most
|
2040
|
+
obvious uses of ASN.1 schema is to guide serialisation codecs whilst
|
2041
|
+
encoding/decoding serialised ASN.1 contents.
|
2042
|
+
|
2043
|
+
The PyASN1 value objects can **additionally** participate in many operations
|
2044
|
+
involving regular Python objects (e.g. arithmetic, comprehension etc).
|
2045
|
+
"""
|
2046
|
+
if self._componentValues is noValue:
|
2047
|
+
return False
|
2048
|
+
|
2049
|
+
if len(self._componentValues) != len(self):
|
2050
|
+
return False
|
2051
|
+
|
2052
|
+
for componentValue in self._componentValues.values():
|
2053
|
+
if componentValue is noValue or not componentValue.isValue:
|
2054
|
+
return False
|
2055
|
+
|
2056
|
+
return True
|
2057
|
+
|
2058
|
+
@property
|
2059
|
+
def isInconsistent(self):
|
2060
|
+
"""Run necessary checks to ensure |ASN.1| object consistency.
|
2061
|
+
|
2062
|
+
Default action is to verify |ASN.1| object against constraints imposed
|
2063
|
+
by `subtypeSpec`.
|
2064
|
+
|
2065
|
+
Raises
|
2066
|
+
------
|
2067
|
+
:py:class:`~pyasn1.error.PyAsn1tError` on any inconsistencies found
|
2068
|
+
"""
|
2069
|
+
if self.componentType is noValue or not self.subtypeSpec:
|
2070
|
+
return False
|
2071
|
+
|
2072
|
+
if self._componentValues is noValue:
|
2073
|
+
return True
|
2074
|
+
|
2075
|
+
mapping = {}
|
2076
|
+
|
2077
|
+
for idx, value in self._componentValues.items():
|
2078
|
+
# Absent fields are not in the mapping
|
2079
|
+
if value is noValue:
|
2080
|
+
continue
|
2081
|
+
|
2082
|
+
mapping[idx] = value
|
2083
|
+
|
2084
|
+
try:
|
2085
|
+
# Represent SequenceOf/SetOf as a bare dict to constraints chain
|
2086
|
+
self.subtypeSpec(mapping)
|
2087
|
+
|
2088
|
+
except error.PyAsn1Error as exc:
|
2089
|
+
return exc
|
2090
|
+
|
2091
|
+
return False
|
2092
|
+
|
2093
|
+
class SequenceOf(SequenceOfAndSetOfBase):
|
2094
|
+
__doc__ = SequenceOfAndSetOfBase.__doc__
|
2095
|
+
|
2096
|
+
#: Set (on class, not on instance) or return a
|
2097
|
+
#: :py:class:`~pyasn1.type.tag.TagSet` object representing ASN.1 tag(s)
|
2098
|
+
#: associated with |ASN.1| type.
|
2099
|
+
tagSet = tag.initTagSet(
|
2100
|
+
tag.Tag(tag.tagClassUniversal, tag.tagFormatConstructed, 0x10)
|
2101
|
+
)
|
2102
|
+
|
2103
|
+
#: Default :py:class:`~pyasn1.type.base.PyAsn1Item` derivative
|
2104
|
+
#: object representing ASN.1 type allowed within |ASN.1| type
|
2105
|
+
componentType = None
|
2106
|
+
|
2107
|
+
#: Set (on class, not on instance) or return a
|
2108
|
+
#: :py:class:`~pyasn1.type.constraint.ConstraintsIntersection` object
|
2109
|
+
#: imposing constraints on |ASN.1| type initialization values.
|
2110
|
+
subtypeSpec = constraint.ConstraintsIntersection()
|
2111
|
+
|
2112
|
+
# Disambiguation ASN.1 types identification
|
2113
|
+
typeId = SequenceOfAndSetOfBase.getTypeId()
|
2114
|
+
|
2115
|
+
|
2116
|
+
class SetOf(SequenceOfAndSetOfBase):
|
2117
|
+
__doc__ = SequenceOfAndSetOfBase.__doc__
|
2118
|
+
|
2119
|
+
#: Set (on class, not on instance) or return a
|
2120
|
+
#: :py:class:`~pyasn1.type.tag.TagSet` object representing ASN.1 tag(s)
|
2121
|
+
#: associated with |ASN.1| type.
|
2122
|
+
tagSet = tag.initTagSet(
|
2123
|
+
tag.Tag(tag.tagClassUniversal, tag.tagFormatConstructed, 0x11)
|
2124
|
+
)
|
2125
|
+
|
2126
|
+
#: Default :py:class:`~pyasn1.type.base.PyAsn1Item` derivative
|
2127
|
+
#: object representing ASN.1 type allowed within |ASN.1| type
|
2128
|
+
componentType = None
|
2129
|
+
|
2130
|
+
#: Set (on class, not on instance) or return a
|
2131
|
+
#: :py:class:`~pyasn1.type.constraint.ConstraintsIntersection` object
|
2132
|
+
#: imposing constraints on |ASN.1| type initialization values.
|
2133
|
+
subtypeSpec = constraint.ConstraintsIntersection()
|
2134
|
+
|
2135
|
+
# Disambiguation ASN.1 types identification
|
2136
|
+
typeId = SequenceOfAndSetOfBase.getTypeId()
|
2137
|
+
|
2138
|
+
|
2139
|
+
class SequenceAndSetBase(base.ConstructedAsn1Type):
|
2140
|
+
"""Create |ASN.1| schema or value object.
|
2141
|
+
|
2142
|
+
|ASN.1| class is based on :class:`~pyasn1.type.base.ConstructedAsn1Type`,
|
2143
|
+
its objects are mutable and duck-type Python :class:`dict` objects.
|
2144
|
+
|
2145
|
+
Keyword Args
|
2146
|
+
------------
|
2147
|
+
componentType: :py:class:`~pyasn1.type.namedtype.NamedType`
|
2148
|
+
Object holding named ASN.1 types allowed within this collection
|
2149
|
+
|
2150
|
+
tagSet: :py:class:`~pyasn1.type.tag.TagSet`
|
2151
|
+
Object representing non-default ASN.1 tag(s)
|
2152
|
+
|
2153
|
+
subtypeSpec: :py:class:`~pyasn1.type.constraint.ConstraintsIntersection`
|
2154
|
+
Object representing non-default ASN.1 subtype constraint(s). Constraints
|
2155
|
+
verification for |ASN.1| type can only occur on explicit
|
2156
|
+
`.isInconsistent` call.
|
2157
|
+
|
2158
|
+
Examples
|
2159
|
+
--------
|
2160
|
+
|
2161
|
+
.. code-block:: python
|
2162
|
+
|
2163
|
+
class Description(Sequence): # Set is similar
|
2164
|
+
'''
|
2165
|
+
ASN.1 specification:
|
2166
|
+
|
2167
|
+
Description ::= SEQUENCE {
|
2168
|
+
surname IA5String,
|
2169
|
+
first-name IA5String OPTIONAL,
|
2170
|
+
age INTEGER DEFAULT 40
|
2171
|
+
}
|
2172
|
+
'''
|
2173
|
+
componentType = NamedTypes(
|
2174
|
+
NamedType('surname', IA5String()),
|
2175
|
+
OptionalNamedType('first-name', IA5String()),
|
2176
|
+
DefaultedNamedType('age', Integer(40))
|
2177
|
+
)
|
2178
|
+
|
2179
|
+
descr = Description()
|
2180
|
+
descr['surname'] = 'Smith'
|
2181
|
+
descr['first-name'] = 'John'
|
2182
|
+
"""
|
2183
|
+
#: Default :py:class:`~pyasn1.type.namedtype.NamedTypes`
|
2184
|
+
#: object representing named ASN.1 types allowed within |ASN.1| type
|
2185
|
+
componentType = namedtype.NamedTypes()
|
2186
|
+
|
2187
|
+
|
2188
|
+
class DynamicNames(object):
|
2189
|
+
"""Fields names/positions mapping for component-less objects"""
|
2190
|
+
def __init__(self):
|
2191
|
+
self._keyToIdxMap = {}
|
2192
|
+
self._idxToKeyMap = {}
|
2193
|
+
|
2194
|
+
def __len__(self):
|
2195
|
+
return len(self._keyToIdxMap)
|
2196
|
+
|
2197
|
+
def __contains__(self, item):
|
2198
|
+
return item in self._keyToIdxMap or item in self._idxToKeyMap
|
2199
|
+
|
2200
|
+
def __iter__(self):
|
2201
|
+
return (self._idxToKeyMap[idx] for idx in range(len(self._idxToKeyMap)))
|
2202
|
+
|
2203
|
+
def __getitem__(self, item):
|
2204
|
+
try:
|
2205
|
+
return self._keyToIdxMap[item]
|
2206
|
+
|
2207
|
+
except KeyError:
|
2208
|
+
return self._idxToKeyMap[item]
|
2209
|
+
|
2210
|
+
def getNameByPosition(self, idx):
|
2211
|
+
try:
|
2212
|
+
return self._idxToKeyMap[idx]
|
2213
|
+
|
2214
|
+
except KeyError:
|
2215
|
+
raise error.PyAsn1Error('Type position out of range')
|
2216
|
+
|
2217
|
+
def getPositionByName(self, name):
|
2218
|
+
try:
|
2219
|
+
return self._keyToIdxMap[name]
|
2220
|
+
|
2221
|
+
except KeyError:
|
2222
|
+
raise error.PyAsn1Error('Name %s not found' % (name,))
|
2223
|
+
|
2224
|
+
def addField(self, idx):
|
2225
|
+
self._keyToIdxMap['field-%d' % idx] = idx
|
2226
|
+
self._idxToKeyMap[idx] = 'field-%d' % idx
|
2227
|
+
|
2228
|
+
|
2229
|
+
def __init__(self, **kwargs):
|
2230
|
+
base.ConstructedAsn1Type.__init__(self, **kwargs)
|
2231
|
+
self._componentTypeLen = len(self.componentType)
|
2232
|
+
if self._componentTypeLen:
|
2233
|
+
self._componentValues = []
|
2234
|
+
else:
|
2235
|
+
self._componentValues = noValue
|
2236
|
+
self._dynamicNames = self._componentTypeLen or self.DynamicNames()
|
2237
|
+
|
2238
|
+
def __getitem__(self, idx):
|
2239
|
+
if isinstance(idx, str):
|
2240
|
+
try:
|
2241
|
+
return self.getComponentByName(idx)
|
2242
|
+
|
2243
|
+
except error.PyAsn1Error as exc:
|
2244
|
+
# duck-typing dict
|
2245
|
+
raise KeyError(exc)
|
2246
|
+
|
2247
|
+
else:
|
2248
|
+
try:
|
2249
|
+
return self.getComponentByPosition(idx)
|
2250
|
+
|
2251
|
+
except error.PyAsn1Error as exc:
|
2252
|
+
# duck-typing list
|
2253
|
+
raise IndexError(exc)
|
2254
|
+
|
2255
|
+
def __setitem__(self, idx, value):
|
2256
|
+
if isinstance(idx, str):
|
2257
|
+
try:
|
2258
|
+
self.setComponentByName(idx, value)
|
2259
|
+
|
2260
|
+
except error.PyAsn1Error as exc:
|
2261
|
+
# duck-typing dict
|
2262
|
+
raise KeyError(exc)
|
2263
|
+
|
2264
|
+
else:
|
2265
|
+
try:
|
2266
|
+
self.setComponentByPosition(idx, value)
|
2267
|
+
|
2268
|
+
except error.PyAsn1Error as exc:
|
2269
|
+
# duck-typing list
|
2270
|
+
raise IndexError(exc)
|
2271
|
+
|
2272
|
+
def __contains__(self, key):
|
2273
|
+
if self._componentTypeLen:
|
2274
|
+
return key in self.componentType
|
2275
|
+
else:
|
2276
|
+
return key in self._dynamicNames
|
2277
|
+
|
2278
|
+
def __len__(self):
|
2279
|
+
return len(self._componentValues)
|
2280
|
+
|
2281
|
+
def __iter__(self):
|
2282
|
+
return iter(self.componentType or self._dynamicNames)
|
2283
|
+
|
2284
|
+
# Python dict protocol
|
2285
|
+
|
2286
|
+
def values(self):
|
2287
|
+
for idx in range(self._componentTypeLen or len(self._dynamicNames)):
|
2288
|
+
yield self[idx]
|
2289
|
+
|
2290
|
+
def keys(self):
|
2291
|
+
return iter(self)
|
2292
|
+
|
2293
|
+
def items(self):
|
2294
|
+
for idx in range(self._componentTypeLen or len(self._dynamicNames)):
|
2295
|
+
if self._componentTypeLen:
|
2296
|
+
yield self.componentType[idx].name, self[idx]
|
2297
|
+
else:
|
2298
|
+
yield self._dynamicNames[idx], self[idx]
|
2299
|
+
|
2300
|
+
def update(self, *iterValue, **mappingValue):
|
2301
|
+
for k, v in iterValue:
|
2302
|
+
self[k] = v
|
2303
|
+
for k in mappingValue:
|
2304
|
+
self[k] = mappingValue[k]
|
2305
|
+
|
2306
|
+
def clear(self):
|
2307
|
+
"""Remove all components and become an empty |ASN.1| value object.
|
2308
|
+
|
2309
|
+
Has the same effect on |ASN.1| object as it does on :class:`dict`
|
2310
|
+
built-in.
|
2311
|
+
"""
|
2312
|
+
self._componentValues = []
|
2313
|
+
self._dynamicNames = self.DynamicNames()
|
2314
|
+
return self
|
2315
|
+
|
2316
|
+
def reset(self):
|
2317
|
+
"""Remove all components and become a |ASN.1| schema object.
|
2318
|
+
|
2319
|
+
See :meth:`isValue` property for more information on the
|
2320
|
+
distinction between value and schema objects.
|
2321
|
+
"""
|
2322
|
+
self._componentValues = noValue
|
2323
|
+
self._dynamicNames = self.DynamicNames()
|
2324
|
+
return self
|
2325
|
+
|
2326
|
+
@property
|
2327
|
+
def components(self):
|
2328
|
+
return self._componentValues
|
2329
|
+
|
2330
|
+
def _cloneComponentValues(self, myClone, cloneValueFlag):
|
2331
|
+
if self._componentValues is noValue:
|
2332
|
+
return
|
2333
|
+
|
2334
|
+
for idx, componentValue in enumerate(self._componentValues):
|
2335
|
+
if componentValue is not noValue:
|
2336
|
+
if isinstance(componentValue, base.ConstructedAsn1Type):
|
2337
|
+
myClone.setComponentByPosition(
|
2338
|
+
idx, componentValue.clone(cloneValueFlag=cloneValueFlag)
|
2339
|
+
)
|
2340
|
+
else:
|
2341
|
+
myClone.setComponentByPosition(idx, componentValue.clone())
|
2342
|
+
|
2343
|
+
def getComponentByName(self, name, default=noValue, instantiate=True):
|
2344
|
+
"""Returns |ASN.1| type component by name.
|
2345
|
+
|
2346
|
+
Equivalent to Python :class:`dict` subscription operation (e.g. `[]`).
|
2347
|
+
|
2348
|
+
Parameters
|
2349
|
+
----------
|
2350
|
+
name: :class:`str`
|
2351
|
+
|ASN.1| type component name
|
2352
|
+
|
2353
|
+
Keyword Args
|
2354
|
+
------------
|
2355
|
+
default: :class:`object`
|
2356
|
+
If set and requested component is a schema object, return the `default`
|
2357
|
+
object instead of the requested component.
|
2358
|
+
|
2359
|
+
instantiate: :class:`bool`
|
2360
|
+
If :obj:`True` (default), inner component will be automatically
|
2361
|
+
instantiated.
|
2362
|
+
If :obj:`False` either existing component or the :class:`NoValue`
|
2363
|
+
object will be returned.
|
2364
|
+
|
2365
|
+
Returns
|
2366
|
+
-------
|
2367
|
+
: :py:class:`~pyasn1.type.base.PyAsn1Item`
|
2368
|
+
Instantiate |ASN.1| component type or return existing
|
2369
|
+
component value
|
2370
|
+
"""
|
2371
|
+
if self._componentTypeLen:
|
2372
|
+
idx = self.componentType.getPositionByName(name)
|
2373
|
+
else:
|
2374
|
+
try:
|
2375
|
+
idx = self._dynamicNames.getPositionByName(name)
|
2376
|
+
|
2377
|
+
except KeyError:
|
2378
|
+
raise error.PyAsn1Error('Name %s not found' % (name,))
|
2379
|
+
|
2380
|
+
return self.getComponentByPosition(idx, default=default, instantiate=instantiate)
|
2381
|
+
|
2382
|
+
def setComponentByName(self, name, value=noValue,
|
2383
|
+
verifyConstraints=True,
|
2384
|
+
matchTags=True,
|
2385
|
+
matchConstraints=True):
|
2386
|
+
"""Assign |ASN.1| type component by name.
|
2387
|
+
|
2388
|
+
Equivalent to Python :class:`dict` item assignment operation (e.g. `[]`).
|
2389
|
+
|
2390
|
+
Parameters
|
2391
|
+
----------
|
2392
|
+
name: :class:`str`
|
2393
|
+
|ASN.1| type component name
|
2394
|
+
|
2395
|
+
Keyword Args
|
2396
|
+
------------
|
2397
|
+
value: :class:`object` or :py:class:`~pyasn1.type.base.PyAsn1Item` derivative
|
2398
|
+
A Python value to initialize |ASN.1| component with (if *componentType* is set)
|
2399
|
+
or ASN.1 value object to assign to |ASN.1| component.
|
2400
|
+
If `value` is not given, schema object will be set as a component.
|
2401
|
+
|
2402
|
+
verifyConstraints: :class:`bool`
|
2403
|
+
If :obj:`False`, skip constraints validation
|
2404
|
+
|
2405
|
+
matchTags: :class:`bool`
|
2406
|
+
If :obj:`False`, skip component tags matching
|
2407
|
+
|
2408
|
+
matchConstraints: :class:`bool`
|
2409
|
+
If :obj:`False`, skip component constraints matching
|
2410
|
+
|
2411
|
+
Returns
|
2412
|
+
-------
|
2413
|
+
self
|
2414
|
+
"""
|
2415
|
+
if self._componentTypeLen:
|
2416
|
+
idx = self.componentType.getPositionByName(name)
|
2417
|
+
else:
|
2418
|
+
try:
|
2419
|
+
idx = self._dynamicNames.getPositionByName(name)
|
2420
|
+
|
2421
|
+
except KeyError:
|
2422
|
+
raise error.PyAsn1Error('Name %s not found' % (name,))
|
2423
|
+
|
2424
|
+
return self.setComponentByPosition(
|
2425
|
+
idx, value, verifyConstraints, matchTags, matchConstraints
|
2426
|
+
)
|
2427
|
+
|
2428
|
+
def getComponentByPosition(self, idx, default=noValue, instantiate=True):
|
2429
|
+
"""Returns |ASN.1| type component by index.
|
2430
|
+
|
2431
|
+
Equivalent to Python sequence subscription operation (e.g. `[]`).
|
2432
|
+
|
2433
|
+
Parameters
|
2434
|
+
----------
|
2435
|
+
idx: :class:`int`
|
2436
|
+
Component index (zero-based). Must either refer to an existing
|
2437
|
+
component or (if *componentType* is set) new ASN.1 schema object gets
|
2438
|
+
instantiated.
|
2439
|
+
|
2440
|
+
Keyword Args
|
2441
|
+
------------
|
2442
|
+
default: :class:`object`
|
2443
|
+
If set and requested component is a schema object, return the `default`
|
2444
|
+
object instead of the requested component.
|
2445
|
+
|
2446
|
+
instantiate: :class:`bool`
|
2447
|
+
If :obj:`True` (default), inner component will be automatically
|
2448
|
+
instantiated.
|
2449
|
+
If :obj:`False` either existing component or the :class:`NoValue`
|
2450
|
+
object will be returned.
|
2451
|
+
|
2452
|
+
Returns
|
2453
|
+
-------
|
2454
|
+
: :py:class:`~pyasn1.type.base.PyAsn1Item`
|
2455
|
+
a PyASN1 object
|
2456
|
+
|
2457
|
+
Examples
|
2458
|
+
--------
|
2459
|
+
|
2460
|
+
.. code-block:: python
|
2461
|
+
|
2462
|
+
# can also be Set
|
2463
|
+
class MySequence(Sequence):
|
2464
|
+
componentType = NamedTypes(
|
2465
|
+
NamedType('id', OctetString())
|
2466
|
+
)
|
2467
|
+
|
2468
|
+
s = MySequence()
|
2469
|
+
|
2470
|
+
# returns component #0 with `.isValue` property False
|
2471
|
+
s.getComponentByPosition(0)
|
2472
|
+
|
2473
|
+
# returns None
|
2474
|
+
s.getComponentByPosition(0, default=None)
|
2475
|
+
|
2476
|
+
s.clear()
|
2477
|
+
|
2478
|
+
# returns noValue
|
2479
|
+
s.getComponentByPosition(0, instantiate=False)
|
2480
|
+
|
2481
|
+
# sets component #0 to OctetString() ASN.1 schema
|
2482
|
+
# object and returns it
|
2483
|
+
s.getComponentByPosition(0, instantiate=True)
|
2484
|
+
|
2485
|
+
# sets component #0 to ASN.1 value object
|
2486
|
+
s.setComponentByPosition(0, 'ABCD')
|
2487
|
+
|
2488
|
+
# returns OctetString('ABCD') value object
|
2489
|
+
s.getComponentByPosition(0, instantiate=False)
|
2490
|
+
|
2491
|
+
s.clear()
|
2492
|
+
|
2493
|
+
# returns noValue
|
2494
|
+
s.getComponentByPosition(0, instantiate=False)
|
2495
|
+
"""
|
2496
|
+
try:
|
2497
|
+
if self._componentValues is noValue:
|
2498
|
+
componentValue = noValue
|
2499
|
+
|
2500
|
+
else:
|
2501
|
+
componentValue = self._componentValues[idx]
|
2502
|
+
|
2503
|
+
except IndexError:
|
2504
|
+
componentValue = noValue
|
2505
|
+
|
2506
|
+
if not instantiate:
|
2507
|
+
if componentValue is noValue or not componentValue.isValue:
|
2508
|
+
return default
|
2509
|
+
else:
|
2510
|
+
return componentValue
|
2511
|
+
|
2512
|
+
if componentValue is noValue:
|
2513
|
+
self.setComponentByPosition(idx)
|
2514
|
+
|
2515
|
+
componentValue = self._componentValues[idx]
|
2516
|
+
|
2517
|
+
if default is noValue or componentValue.isValue:
|
2518
|
+
return componentValue
|
2519
|
+
else:
|
2520
|
+
return default
|
2521
|
+
|
2522
|
+
def setComponentByPosition(self, idx, value=noValue,
|
2523
|
+
verifyConstraints=True,
|
2524
|
+
matchTags=True,
|
2525
|
+
matchConstraints=True):
|
2526
|
+
"""Assign |ASN.1| type component by position.
|
2527
|
+
|
2528
|
+
Equivalent to Python sequence item assignment operation (e.g. `[]`).
|
2529
|
+
|
2530
|
+
Parameters
|
2531
|
+
----------
|
2532
|
+
idx : :class:`int`
|
2533
|
+
Component index (zero-based). Must either refer to existing
|
2534
|
+
component (if *componentType* is set) or to N+1 component
|
2535
|
+
otherwise. In the latter case a new component of given ASN.1
|
2536
|
+
type gets instantiated and appended to |ASN.1| sequence.
|
2537
|
+
|
2538
|
+
Keyword Args
|
2539
|
+
------------
|
2540
|
+
value: :class:`object` or :py:class:`~pyasn1.type.base.PyAsn1Item` derivative
|
2541
|
+
A Python value to initialize |ASN.1| component with (if *componentType* is set)
|
2542
|
+
or ASN.1 value object to assign to |ASN.1| component.
|
2543
|
+
If `value` is not given, schema object will be set as a component.
|
2544
|
+
|
2545
|
+
verifyConstraints : :class:`bool`
|
2546
|
+
If :obj:`False`, skip constraints validation
|
2547
|
+
|
2548
|
+
matchTags: :class:`bool`
|
2549
|
+
If :obj:`False`, skip component tags matching
|
2550
|
+
|
2551
|
+
matchConstraints: :class:`bool`
|
2552
|
+
If :obj:`False`, skip component constraints matching
|
2553
|
+
|
2554
|
+
Returns
|
2555
|
+
-------
|
2556
|
+
self
|
2557
|
+
"""
|
2558
|
+
componentType = self.componentType
|
2559
|
+
componentTypeLen = self._componentTypeLen
|
2560
|
+
|
2561
|
+
if self._componentValues is noValue:
|
2562
|
+
componentValues = []
|
2563
|
+
|
2564
|
+
else:
|
2565
|
+
componentValues = self._componentValues
|
2566
|
+
|
2567
|
+
try:
|
2568
|
+
currentValue = componentValues[idx]
|
2569
|
+
|
2570
|
+
except IndexError:
|
2571
|
+
currentValue = noValue
|
2572
|
+
if componentTypeLen:
|
2573
|
+
if componentTypeLen < idx:
|
2574
|
+
raise error.PyAsn1Error('component index out of range')
|
2575
|
+
|
2576
|
+
componentValues = [noValue] * componentTypeLen
|
2577
|
+
|
2578
|
+
if value is noValue:
|
2579
|
+
if componentTypeLen:
|
2580
|
+
value = componentType.getTypeByPosition(idx)
|
2581
|
+
if isinstance(value, base.ConstructedAsn1Type):
|
2582
|
+
value = value.clone(cloneValueFlag=componentType[idx].isDefaulted)
|
2583
|
+
|
2584
|
+
elif currentValue is noValue:
|
2585
|
+
raise error.PyAsn1Error('Component type not defined')
|
2586
|
+
|
2587
|
+
elif not isinstance(value, base.Asn1Item):
|
2588
|
+
if componentTypeLen:
|
2589
|
+
subComponentType = componentType.getTypeByPosition(idx)
|
2590
|
+
if isinstance(subComponentType, base.SimpleAsn1Type):
|
2591
|
+
value = subComponentType.clone(value=value)
|
2592
|
+
|
2593
|
+
else:
|
2594
|
+
raise error.PyAsn1Error('%s can cast only scalar values' % componentType.__class__.__name__)
|
2595
|
+
|
2596
|
+
elif currentValue is not noValue and isinstance(currentValue, base.SimpleAsn1Type):
|
2597
|
+
value = currentValue.clone(value=value)
|
2598
|
+
|
2599
|
+
else:
|
2600
|
+
raise error.PyAsn1Error('%s undefined component type' % componentType.__class__.__name__)
|
2601
|
+
|
2602
|
+
elif ((verifyConstraints or matchTags or matchConstraints) and
|
2603
|
+
componentTypeLen):
|
2604
|
+
subComponentType = componentType.getTypeByPosition(idx)
|
2605
|
+
if subComponentType is not noValue:
|
2606
|
+
subtypeChecker = (self.strictConstraints and
|
2607
|
+
subComponentType.isSameTypeWith or
|
2608
|
+
subComponentType.isSuperTypeOf)
|
2609
|
+
|
2610
|
+
if not subtypeChecker(value, verifyConstraints and matchTags,
|
2611
|
+
verifyConstraints and matchConstraints):
|
2612
|
+
if not componentType[idx].openType:
|
2613
|
+
raise error.PyAsn1Error('Component value is tag-incompatible: %r vs %r' % (value, componentType))
|
2614
|
+
|
2615
|
+
if componentTypeLen or idx in self._dynamicNames:
|
2616
|
+
componentValues[idx] = value
|
2617
|
+
|
2618
|
+
elif len(componentValues) == idx:
|
2619
|
+
componentValues.append(value)
|
2620
|
+
self._dynamicNames.addField(idx)
|
2621
|
+
|
2622
|
+
else:
|
2623
|
+
raise error.PyAsn1Error('Component index out of range')
|
2624
|
+
|
2625
|
+
self._componentValues = componentValues
|
2626
|
+
|
2627
|
+
return self
|
2628
|
+
|
2629
|
+
@property
|
2630
|
+
def isValue(self):
|
2631
|
+
"""Indicate that |ASN.1| object represents ASN.1 value.
|
2632
|
+
|
2633
|
+
If *isValue* is :obj:`False` then this object represents just ASN.1 schema.
|
2634
|
+
|
2635
|
+
If *isValue* is :obj:`True` then, in addition to its ASN.1 schema features,
|
2636
|
+
this object can also be used like a Python built-in object (e.g.
|
2637
|
+
:class:`int`, :class:`str`, :class:`dict` etc.).
|
2638
|
+
|
2639
|
+
Returns
|
2640
|
+
-------
|
2641
|
+
: :class:`bool`
|
2642
|
+
:obj:`False` if object represents just ASN.1 schema.
|
2643
|
+
:obj:`True` if object represents ASN.1 schema and can be used as a
|
2644
|
+
normal value.
|
2645
|
+
|
2646
|
+
Note
|
2647
|
+
----
|
2648
|
+
There is an important distinction between PyASN1 schema and value objects.
|
2649
|
+
The PyASN1 schema objects can only participate in ASN.1 schema-related
|
2650
|
+
operations (e.g. defining or testing the structure of the data). Most
|
2651
|
+
obvious uses of ASN.1 schema is to guide serialisation codecs whilst
|
2652
|
+
encoding/decoding serialised ASN.1 contents.
|
2653
|
+
|
2654
|
+
The PyASN1 value objects can **additionally** participate in many operations
|
2655
|
+
involving regular Python objects (e.g. arithmetic, comprehension etc).
|
2656
|
+
|
2657
|
+
It is sufficient for |ASN.1| objects to have all non-optional and non-defaulted
|
2658
|
+
components being value objects to be considered as a value objects as a whole.
|
2659
|
+
In other words, even having one or more optional components not turned into
|
2660
|
+
value objects, |ASN.1| object is still considered as a value object. Defaulted
|
2661
|
+
components are normally value objects by default.
|
2662
|
+
"""
|
2663
|
+
if self._componentValues is noValue:
|
2664
|
+
return False
|
2665
|
+
|
2666
|
+
componentType = self.componentType
|
2667
|
+
|
2668
|
+
if componentType:
|
2669
|
+
for idx, subComponentType in enumerate(componentType.namedTypes):
|
2670
|
+
if subComponentType.isDefaulted or subComponentType.isOptional:
|
2671
|
+
continue
|
2672
|
+
|
2673
|
+
if not self._componentValues:
|
2674
|
+
return False
|
2675
|
+
|
2676
|
+
componentValue = self._componentValues[idx]
|
2677
|
+
if componentValue is noValue or not componentValue.isValue:
|
2678
|
+
return False
|
2679
|
+
|
2680
|
+
else:
|
2681
|
+
for componentValue in self._componentValues:
|
2682
|
+
if componentValue is noValue or not componentValue.isValue:
|
2683
|
+
return False
|
2684
|
+
|
2685
|
+
return True
|
2686
|
+
|
2687
|
+
@property
|
2688
|
+
def isInconsistent(self):
|
2689
|
+
"""Run necessary checks to ensure |ASN.1| object consistency.
|
2690
|
+
|
2691
|
+
Default action is to verify |ASN.1| object against constraints imposed
|
2692
|
+
by `subtypeSpec`.
|
2693
|
+
|
2694
|
+
Raises
|
2695
|
+
------
|
2696
|
+
:py:class:`~pyasn1.error.PyAsn1tError` on any inconsistencies found
|
2697
|
+
"""
|
2698
|
+
if self.componentType is noValue or not self.subtypeSpec:
|
2699
|
+
return False
|
2700
|
+
|
2701
|
+
if self._componentValues is noValue:
|
2702
|
+
return True
|
2703
|
+
|
2704
|
+
mapping = {}
|
2705
|
+
|
2706
|
+
for idx, value in enumerate(self._componentValues):
|
2707
|
+
# Absent fields are not in the mapping
|
2708
|
+
if value is noValue:
|
2709
|
+
continue
|
2710
|
+
|
2711
|
+
name = self.componentType.getNameByPosition(idx)
|
2712
|
+
|
2713
|
+
mapping[name] = value
|
2714
|
+
|
2715
|
+
try:
|
2716
|
+
# Represent Sequence/Set as a bare dict to constraints chain
|
2717
|
+
self.subtypeSpec(mapping)
|
2718
|
+
|
2719
|
+
except error.PyAsn1Error as exc:
|
2720
|
+
return exc
|
2721
|
+
|
2722
|
+
return False
|
2723
|
+
|
2724
|
+
def prettyPrint(self, scope=0):
|
2725
|
+
"""Return an object representation string.
|
2726
|
+
|
2727
|
+
Returns
|
2728
|
+
-------
|
2729
|
+
: :class:`str`
|
2730
|
+
Human-friendly object representation.
|
2731
|
+
"""
|
2732
|
+
scope += 1
|
2733
|
+
representation = self.__class__.__name__ + ':\n'
|
2734
|
+
for idx, componentValue in enumerate(self._componentValues):
|
2735
|
+
if componentValue is not noValue and componentValue.isValue:
|
2736
|
+
representation += ' ' * scope
|
2737
|
+
if self.componentType:
|
2738
|
+
representation += self.componentType.getNameByPosition(idx)
|
2739
|
+
else:
|
2740
|
+
representation += self._dynamicNames.getNameByPosition(idx)
|
2741
|
+
representation = '%s=%s\n' % (
|
2742
|
+
representation, componentValue.prettyPrint(scope)
|
2743
|
+
)
|
2744
|
+
return representation
|
2745
|
+
|
2746
|
+
def prettyPrintType(self, scope=0):
|
2747
|
+
scope += 1
|
2748
|
+
representation = '%s -> %s {\n' % (self.tagSet, self.__class__.__name__)
|
2749
|
+
for idx, componentType in enumerate(self.componentType.values() or self._componentValues):
|
2750
|
+
representation += ' ' * scope
|
2751
|
+
if self.componentType:
|
2752
|
+
representation += '"%s"' % self.componentType.getNameByPosition(idx)
|
2753
|
+
else:
|
2754
|
+
representation += '"%s"' % self._dynamicNames.getNameByPosition(idx)
|
2755
|
+
representation = '%s = %s\n' % (
|
2756
|
+
representation, componentType.prettyPrintType(scope)
|
2757
|
+
)
|
2758
|
+
return representation + '\n' + ' ' * (scope - 1) + '}'
|
2759
|
+
|
2760
|
+
# backward compatibility
|
2761
|
+
|
2762
|
+
def setDefaultComponents(self):
|
2763
|
+
return self
|
2764
|
+
|
2765
|
+
def getComponentType(self):
|
2766
|
+
if self._componentTypeLen:
|
2767
|
+
return self.componentType
|
2768
|
+
|
2769
|
+
def getNameByPosition(self, idx):
|
2770
|
+
if self._componentTypeLen:
|
2771
|
+
return self.componentType[idx].name
|
2772
|
+
|
2773
|
+
class Sequence(SequenceAndSetBase):
|
2774
|
+
__doc__ = SequenceAndSetBase.__doc__
|
2775
|
+
|
2776
|
+
#: Set (on class, not on instance) or return a
|
2777
|
+
#: :py:class:`~pyasn1.type.tag.TagSet` object representing ASN.1 tag(s)
|
2778
|
+
#: associated with |ASN.1| type.
|
2779
|
+
tagSet = tag.initTagSet(
|
2780
|
+
tag.Tag(tag.tagClassUniversal, tag.tagFormatConstructed, 0x10)
|
2781
|
+
)
|
2782
|
+
|
2783
|
+
#: Set (on class, not on instance) or return a
|
2784
|
+
#: :py:class:`~pyasn1.type.constraint.ConstraintsIntersection` object
|
2785
|
+
#: imposing constraints on |ASN.1| type initialization values.
|
2786
|
+
subtypeSpec = constraint.ConstraintsIntersection()
|
2787
|
+
|
2788
|
+
#: Default collection of ASN.1 types of component (e.g. :py:class:`~pyasn1.type.namedtype.NamedType`)
|
2789
|
+
#: object imposing size constraint on |ASN.1| objects
|
2790
|
+
componentType = namedtype.NamedTypes()
|
2791
|
+
|
2792
|
+
# Disambiguation ASN.1 types identification
|
2793
|
+
typeId = SequenceAndSetBase.getTypeId()
|
2794
|
+
|
2795
|
+
# backward compatibility
|
2796
|
+
|
2797
|
+
def getComponentTagMapNearPosition(self, idx):
|
2798
|
+
if self.componentType:
|
2799
|
+
return self.componentType.getTagMapNearPosition(idx)
|
2800
|
+
|
2801
|
+
def getComponentPositionNearType(self, tagSet, idx):
|
2802
|
+
if self.componentType:
|
2803
|
+
return self.componentType.getPositionNearType(tagSet, idx)
|
2804
|
+
else:
|
2805
|
+
return idx
|
2806
|
+
|
2807
|
+
|
2808
|
+
class Set(SequenceAndSetBase):
|
2809
|
+
__doc__ = SequenceAndSetBase.__doc__
|
2810
|
+
|
2811
|
+
#: Set (on class, not on instance) or return a
|
2812
|
+
#: :py:class:`~pyasn1.type.tag.TagSet` object representing ASN.1 tag(s)
|
2813
|
+
#: associated with |ASN.1| type.
|
2814
|
+
tagSet = tag.initTagSet(
|
2815
|
+
tag.Tag(tag.tagClassUniversal, tag.tagFormatConstructed, 0x11)
|
2816
|
+
)
|
2817
|
+
|
2818
|
+
#: Default collection of ASN.1 types of component (e.g. :py:class:`~pyasn1.type.namedtype.NamedType`)
|
2819
|
+
#: object representing ASN.1 type allowed within |ASN.1| type
|
2820
|
+
componentType = namedtype.NamedTypes()
|
2821
|
+
|
2822
|
+
#: Set (on class, not on instance) or return a
|
2823
|
+
#: :py:class:`~pyasn1.type.constraint.ConstraintsIntersection` object
|
2824
|
+
#: imposing constraints on |ASN.1| type initialization values.
|
2825
|
+
subtypeSpec = constraint.ConstraintsIntersection()
|
2826
|
+
|
2827
|
+
# Disambiguation ASN.1 types identification
|
2828
|
+
typeId = SequenceAndSetBase.getTypeId()
|
2829
|
+
|
2830
|
+
def getComponent(self, innerFlag=False):
|
2831
|
+
return self
|
2832
|
+
|
2833
|
+
def getComponentByType(self, tagSet, default=noValue,
|
2834
|
+
instantiate=True, innerFlag=False):
|
2835
|
+
"""Returns |ASN.1| type component by ASN.1 tag.
|
2836
|
+
|
2837
|
+
Parameters
|
2838
|
+
----------
|
2839
|
+
tagSet : :py:class:`~pyasn1.type.tag.TagSet`
|
2840
|
+
Object representing ASN.1 tags to identify one of
|
2841
|
+
|ASN.1| object component
|
2842
|
+
|
2843
|
+
Keyword Args
|
2844
|
+
------------
|
2845
|
+
default: :class:`object`
|
2846
|
+
If set and requested component is a schema object, return the `default`
|
2847
|
+
object instead of the requested component.
|
2848
|
+
|
2849
|
+
instantiate: :class:`bool`
|
2850
|
+
If :obj:`True` (default), inner component will be automatically
|
2851
|
+
instantiated.
|
2852
|
+
If :obj:`False` either existing component or the :class:`noValue`
|
2853
|
+
object will be returned.
|
2854
|
+
|
2855
|
+
Returns
|
2856
|
+
-------
|
2857
|
+
: :py:class:`~pyasn1.type.base.PyAsn1Item`
|
2858
|
+
a pyasn1 object
|
2859
|
+
"""
|
2860
|
+
componentValue = self.getComponentByPosition(
|
2861
|
+
self.componentType.getPositionByType(tagSet),
|
2862
|
+
default=default, instantiate=instantiate
|
2863
|
+
)
|
2864
|
+
if innerFlag and isinstance(componentValue, Set):
|
2865
|
+
# get inner component by inner tagSet
|
2866
|
+
return componentValue.getComponent(innerFlag=True)
|
2867
|
+
else:
|
2868
|
+
# get outer component by inner tagSet
|
2869
|
+
return componentValue
|
2870
|
+
|
2871
|
+
def setComponentByType(self, tagSet, value=noValue,
|
2872
|
+
verifyConstraints=True,
|
2873
|
+
matchTags=True,
|
2874
|
+
matchConstraints=True,
|
2875
|
+
innerFlag=False):
|
2876
|
+
"""Assign |ASN.1| type component by ASN.1 tag.
|
2877
|
+
|
2878
|
+
Parameters
|
2879
|
+
----------
|
2880
|
+
tagSet : :py:class:`~pyasn1.type.tag.TagSet`
|
2881
|
+
Object representing ASN.1 tags to identify one of
|
2882
|
+
|ASN.1| object component
|
2883
|
+
|
2884
|
+
Keyword Args
|
2885
|
+
------------
|
2886
|
+
value: :class:`object` or :py:class:`~pyasn1.type.base.PyAsn1Item` derivative
|
2887
|
+
A Python value to initialize |ASN.1| component with (if *componentType* is set)
|
2888
|
+
or ASN.1 value object to assign to |ASN.1| component.
|
2889
|
+
If `value` is not given, schema object will be set as a component.
|
2890
|
+
|
2891
|
+
verifyConstraints : :class:`bool`
|
2892
|
+
If :obj:`False`, skip constraints validation
|
2893
|
+
|
2894
|
+
matchTags: :class:`bool`
|
2895
|
+
If :obj:`False`, skip component tags matching
|
2896
|
+
|
2897
|
+
matchConstraints: :class:`bool`
|
2898
|
+
If :obj:`False`, skip component constraints matching
|
2899
|
+
|
2900
|
+
innerFlag: :class:`bool`
|
2901
|
+
If :obj:`True`, search for matching *tagSet* recursively.
|
2902
|
+
|
2903
|
+
Returns
|
2904
|
+
-------
|
2905
|
+
self
|
2906
|
+
"""
|
2907
|
+
idx = self.componentType.getPositionByType(tagSet)
|
2908
|
+
|
2909
|
+
if innerFlag: # set inner component by inner tagSet
|
2910
|
+
componentType = self.componentType.getTypeByPosition(idx)
|
2911
|
+
|
2912
|
+
if componentType.tagSet:
|
2913
|
+
return self.setComponentByPosition(
|
2914
|
+
idx, value, verifyConstraints, matchTags, matchConstraints
|
2915
|
+
)
|
2916
|
+
else:
|
2917
|
+
componentType = self.getComponentByPosition(idx)
|
2918
|
+
return componentType.setComponentByType(
|
2919
|
+
tagSet, value, verifyConstraints, matchTags, matchConstraints, innerFlag=innerFlag
|
2920
|
+
)
|
2921
|
+
else: # set outer component by inner tagSet
|
2922
|
+
return self.setComponentByPosition(
|
2923
|
+
idx, value, verifyConstraints, matchTags, matchConstraints
|
2924
|
+
)
|
2925
|
+
|
2926
|
+
@property
|
2927
|
+
def componentTagMap(self):
|
2928
|
+
if self.componentType:
|
2929
|
+
return self.componentType.tagMapUnique
|
2930
|
+
|
2931
|
+
|
2932
|
+
class Choice(Set):
|
2933
|
+
"""Create |ASN.1| schema or value object.
|
2934
|
+
|
2935
|
+
|ASN.1| class is based on :class:`~pyasn1.type.base.ConstructedAsn1Type`,
|
2936
|
+
its objects are mutable and duck-type Python :class:`list` objects.
|
2937
|
+
|
2938
|
+
Keyword Args
|
2939
|
+
------------
|
2940
|
+
componentType: :py:class:`~pyasn1.type.namedtype.NamedType`
|
2941
|
+
Object holding named ASN.1 types allowed within this collection
|
2942
|
+
|
2943
|
+
tagSet: :py:class:`~pyasn1.type.tag.TagSet`
|
2944
|
+
Object representing non-default ASN.1 tag(s)
|
2945
|
+
|
2946
|
+
subtypeSpec: :py:class:`~pyasn1.type.constraint.ConstraintsIntersection`
|
2947
|
+
Object representing non-default ASN.1 subtype constraint(s). Constraints
|
2948
|
+
verification for |ASN.1| type can only occur on explicit
|
2949
|
+
`.isInconsistent` call.
|
2950
|
+
|
2951
|
+
Examples
|
2952
|
+
--------
|
2953
|
+
|
2954
|
+
.. code-block:: python
|
2955
|
+
|
2956
|
+
class Afters(Choice):
|
2957
|
+
'''
|
2958
|
+
ASN.1 specification:
|
2959
|
+
|
2960
|
+
Afters ::= CHOICE {
|
2961
|
+
cheese [0] IA5String,
|
2962
|
+
dessert [1] IA5String
|
2963
|
+
}
|
2964
|
+
'''
|
2965
|
+
componentType = NamedTypes(
|
2966
|
+
NamedType('cheese', IA5String().subtype(
|
2967
|
+
implicitTag=Tag(tagClassContext, tagFormatSimple, 0)
|
2968
|
+
),
|
2969
|
+
NamedType('dessert', IA5String().subtype(
|
2970
|
+
implicitTag=Tag(tagClassContext, tagFormatSimple, 1)
|
2971
|
+
)
|
2972
|
+
)
|
2973
|
+
|
2974
|
+
afters = Afters()
|
2975
|
+
afters['cheese'] = 'Mascarpone'
|
2976
|
+
"""
|
2977
|
+
#: Set (on class, not on instance) or return a
|
2978
|
+
#: :py:class:`~pyasn1.type.tag.TagSet` object representing ASN.1 tag(s)
|
2979
|
+
#: associated with |ASN.1| type.
|
2980
|
+
tagSet = tag.TagSet() # untagged
|
2981
|
+
|
2982
|
+
#: Default collection of ASN.1 types of component (e.g. :py:class:`~pyasn1.type.namedtype.NamedType`)
|
2983
|
+
#: object representing ASN.1 type allowed within |ASN.1| type
|
2984
|
+
componentType = namedtype.NamedTypes()
|
2985
|
+
|
2986
|
+
#: Set (on class, not on instance) or return a
|
2987
|
+
#: :py:class:`~pyasn1.type.constraint.ConstraintsIntersection` object
|
2988
|
+
#: imposing constraints on |ASN.1| type initialization values.
|
2989
|
+
subtypeSpec = constraint.ConstraintsIntersection(
|
2990
|
+
constraint.ValueSizeConstraint(1, 1)
|
2991
|
+
)
|
2992
|
+
|
2993
|
+
# Disambiguation ASN.1 types identification
|
2994
|
+
typeId = Set.getTypeId()
|
2995
|
+
|
2996
|
+
_currentIdx = None
|
2997
|
+
|
2998
|
+
def __eq__(self, other):
|
2999
|
+
if self._componentValues:
|
3000
|
+
return self._componentValues[self._currentIdx] == other
|
3001
|
+
return NotImplemented
|
3002
|
+
|
3003
|
+
def __ne__(self, other):
|
3004
|
+
if self._componentValues:
|
3005
|
+
return self._componentValues[self._currentIdx] != other
|
3006
|
+
return NotImplemented
|
3007
|
+
|
3008
|
+
def __lt__(self, other):
|
3009
|
+
if self._componentValues:
|
3010
|
+
return self._componentValues[self._currentIdx] < other
|
3011
|
+
return NotImplemented
|
3012
|
+
|
3013
|
+
def __le__(self, other):
|
3014
|
+
if self._componentValues:
|
3015
|
+
return self._componentValues[self._currentIdx] <= other
|
3016
|
+
return NotImplemented
|
3017
|
+
|
3018
|
+
def __gt__(self, other):
|
3019
|
+
if self._componentValues:
|
3020
|
+
return self._componentValues[self._currentIdx] > other
|
3021
|
+
return NotImplemented
|
3022
|
+
|
3023
|
+
def __ge__(self, other):
|
3024
|
+
if self._componentValues:
|
3025
|
+
return self._componentValues[self._currentIdx] >= other
|
3026
|
+
return NotImplemented
|
3027
|
+
|
3028
|
+
def __bool__(self):
|
3029
|
+
return bool(self._componentValues)
|
3030
|
+
|
3031
|
+
def __len__(self):
|
3032
|
+
return self._currentIdx is not None and 1 or 0
|
3033
|
+
|
3034
|
+
def __contains__(self, key):
|
3035
|
+
if self._currentIdx is None:
|
3036
|
+
return False
|
3037
|
+
return key == self.componentType[self._currentIdx].getName()
|
3038
|
+
|
3039
|
+
def __iter__(self):
|
3040
|
+
if self._currentIdx is None:
|
3041
|
+
raise StopIteration
|
3042
|
+
yield self.componentType[self._currentIdx].getName()
|
3043
|
+
|
3044
|
+
# Python dict protocol
|
3045
|
+
|
3046
|
+
def values(self):
|
3047
|
+
if self._currentIdx is not None:
|
3048
|
+
yield self._componentValues[self._currentIdx]
|
3049
|
+
|
3050
|
+
def keys(self):
|
3051
|
+
if self._currentIdx is not None:
|
3052
|
+
yield self.componentType[self._currentIdx].getName()
|
3053
|
+
|
3054
|
+
def items(self):
|
3055
|
+
if self._currentIdx is not None:
|
3056
|
+
yield self.componentType[self._currentIdx].getName(), self[self._currentIdx]
|
3057
|
+
|
3058
|
+
def checkConsistency(self):
|
3059
|
+
if self._currentIdx is None:
|
3060
|
+
raise error.PyAsn1Error('Component not chosen')
|
3061
|
+
|
3062
|
+
def _cloneComponentValues(self, myClone, cloneValueFlag):
|
3063
|
+
try:
|
3064
|
+
component = self.getComponent()
|
3065
|
+
except error.PyAsn1Error:
|
3066
|
+
pass
|
3067
|
+
else:
|
3068
|
+
if isinstance(component, Choice):
|
3069
|
+
tagSet = component.effectiveTagSet
|
3070
|
+
else:
|
3071
|
+
tagSet = component.tagSet
|
3072
|
+
if isinstance(component, base.ConstructedAsn1Type):
|
3073
|
+
myClone.setComponentByType(
|
3074
|
+
tagSet, component.clone(cloneValueFlag=cloneValueFlag)
|
3075
|
+
)
|
3076
|
+
else:
|
3077
|
+
myClone.setComponentByType(tagSet, component.clone())
|
3078
|
+
|
3079
|
+
def getComponentByPosition(self, idx, default=noValue, instantiate=True):
|
3080
|
+
__doc__ = Set.__doc__
|
3081
|
+
|
3082
|
+
if self._currentIdx is None or self._currentIdx != idx:
|
3083
|
+
return Set.getComponentByPosition(self, idx, default=default,
|
3084
|
+
instantiate=instantiate)
|
3085
|
+
|
3086
|
+
return self._componentValues[idx]
|
3087
|
+
|
3088
|
+
def setComponentByPosition(self, idx, value=noValue,
|
3089
|
+
verifyConstraints=True,
|
3090
|
+
matchTags=True,
|
3091
|
+
matchConstraints=True):
|
3092
|
+
"""Assign |ASN.1| type component by position.
|
3093
|
+
|
3094
|
+
Equivalent to Python sequence item assignment operation (e.g. `[]`).
|
3095
|
+
|
3096
|
+
Parameters
|
3097
|
+
----------
|
3098
|
+
idx: :class:`int`
|
3099
|
+
Component index (zero-based). Must either refer to existing
|
3100
|
+
component or to N+1 component. In the latter case a new component
|
3101
|
+
type gets instantiated (if *componentType* is set, or given ASN.1
|
3102
|
+
object is taken otherwise) and appended to the |ASN.1| sequence.
|
3103
|
+
|
3104
|
+
Keyword Args
|
3105
|
+
------------
|
3106
|
+
value: :class:`object` or :py:class:`~pyasn1.type.base.PyAsn1Item` derivative
|
3107
|
+
A Python value to initialize |ASN.1| component with (if *componentType* is set)
|
3108
|
+
or ASN.1 value object to assign to |ASN.1| component. Once a new value is
|
3109
|
+
set to *idx* component, previous value is dropped.
|
3110
|
+
If `value` is not given, schema object will be set as a component.
|
3111
|
+
|
3112
|
+
verifyConstraints : :class:`bool`
|
3113
|
+
If :obj:`False`, skip constraints validation
|
3114
|
+
|
3115
|
+
matchTags: :class:`bool`
|
3116
|
+
If :obj:`False`, skip component tags matching
|
3117
|
+
|
3118
|
+
matchConstraints: :class:`bool`
|
3119
|
+
If :obj:`False`, skip component constraints matching
|
3120
|
+
|
3121
|
+
Returns
|
3122
|
+
-------
|
3123
|
+
self
|
3124
|
+
"""
|
3125
|
+
oldIdx = self._currentIdx
|
3126
|
+
Set.setComponentByPosition(self, idx, value, verifyConstraints, matchTags, matchConstraints)
|
3127
|
+
self._currentIdx = idx
|
3128
|
+
if oldIdx is not None and oldIdx != idx:
|
3129
|
+
self._componentValues[oldIdx] = noValue
|
3130
|
+
return self
|
3131
|
+
|
3132
|
+
@property
|
3133
|
+
def effectiveTagSet(self):
|
3134
|
+
"""Return a :class:`~pyasn1.type.tag.TagSet` object of the currently initialized component or self (if |ASN.1| is tagged)."""
|
3135
|
+
if self.tagSet:
|
3136
|
+
return self.tagSet
|
3137
|
+
else:
|
3138
|
+
component = self.getComponent()
|
3139
|
+
return component.effectiveTagSet
|
3140
|
+
|
3141
|
+
@property
|
3142
|
+
def tagMap(self):
|
3143
|
+
""""Return a :class:`~pyasn1.type.tagmap.TagMap` object mapping
|
3144
|
+
ASN.1 tags to ASN.1 objects contained within callee.
|
3145
|
+
"""
|
3146
|
+
if self.tagSet:
|
3147
|
+
return Set.tagMap.fget(self)
|
3148
|
+
else:
|
3149
|
+
return self.componentType.tagMapUnique
|
3150
|
+
|
3151
|
+
def getComponent(self, innerFlag=False):
|
3152
|
+
"""Return currently assigned component of the |ASN.1| object.
|
3153
|
+
|
3154
|
+
Returns
|
3155
|
+
-------
|
3156
|
+
: :py:class:`~pyasn1.type.base.PyAsn1Item`
|
3157
|
+
a PyASN1 object
|
3158
|
+
"""
|
3159
|
+
if self._currentIdx is None:
|
3160
|
+
raise error.PyAsn1Error('Component not chosen')
|
3161
|
+
else:
|
3162
|
+
c = self._componentValues[self._currentIdx]
|
3163
|
+
if innerFlag and isinstance(c, Choice):
|
3164
|
+
return c.getComponent(innerFlag)
|
3165
|
+
else:
|
3166
|
+
return c
|
3167
|
+
|
3168
|
+
def getName(self, innerFlag=False):
|
3169
|
+
"""Return the name of currently assigned component of the |ASN.1| object.
|
3170
|
+
|
3171
|
+
Returns
|
3172
|
+
-------
|
3173
|
+
: :py:class:`str`
|
3174
|
+
|ASN.1| component name
|
3175
|
+
"""
|
3176
|
+
if self._currentIdx is None:
|
3177
|
+
raise error.PyAsn1Error('Component not chosen')
|
3178
|
+
else:
|
3179
|
+
if innerFlag:
|
3180
|
+
c = self._componentValues[self._currentIdx]
|
3181
|
+
if isinstance(c, Choice):
|
3182
|
+
return c.getName(innerFlag)
|
3183
|
+
return self.componentType.getNameByPosition(self._currentIdx)
|
3184
|
+
|
3185
|
+
@property
|
3186
|
+
def isValue(self):
|
3187
|
+
"""Indicate that |ASN.1| object represents ASN.1 value.
|
3188
|
+
|
3189
|
+
If *isValue* is :obj:`False` then this object represents just ASN.1 schema.
|
3190
|
+
|
3191
|
+
If *isValue* is :obj:`True` then, in addition to its ASN.1 schema features,
|
3192
|
+
this object can also be used like a Python built-in object (e.g.
|
3193
|
+
:class:`int`, :class:`str`, :class:`dict` etc.).
|
3194
|
+
|
3195
|
+
Returns
|
3196
|
+
-------
|
3197
|
+
: :class:`bool`
|
3198
|
+
:obj:`False` if object represents just ASN.1 schema.
|
3199
|
+
:obj:`True` if object represents ASN.1 schema and can be used as a normal
|
3200
|
+
value.
|
3201
|
+
|
3202
|
+
Note
|
3203
|
+
----
|
3204
|
+
There is an important distinction between PyASN1 schema and value objects.
|
3205
|
+
The PyASN1 schema objects can only participate in ASN.1 schema-related
|
3206
|
+
operations (e.g. defining or testing the structure of the data). Most
|
3207
|
+
obvious uses of ASN.1 schema is to guide serialisation codecs whilst
|
3208
|
+
encoding/decoding serialised ASN.1 contents.
|
3209
|
+
|
3210
|
+
The PyASN1 value objects can **additionally** participate in many operations
|
3211
|
+
involving regular Python objects (e.g. arithmetic, comprehension etc).
|
3212
|
+
"""
|
3213
|
+
if self._currentIdx is None:
|
3214
|
+
return False
|
3215
|
+
|
3216
|
+
componentValue = self._componentValues[self._currentIdx]
|
3217
|
+
|
3218
|
+
return componentValue is not noValue and componentValue.isValue
|
3219
|
+
|
3220
|
+
def clear(self):
|
3221
|
+
self._currentIdx = None
|
3222
|
+
return Set.clear(self)
|
3223
|
+
|
3224
|
+
# compatibility stubs
|
3225
|
+
|
3226
|
+
def getMinTagSet(self):
|
3227
|
+
return self.minTagSet
|
3228
|
+
|
3229
|
+
|
3230
|
+
class Any(OctetString):
|
3231
|
+
"""Create |ASN.1| schema or value object.
|
3232
|
+
|
3233
|
+
|ASN.1| class is based on :class:`~pyasn1.type.base.SimpleAsn1Type`,
|
3234
|
+
its objects are immutable and duck-type :class:`bytes`.
|
3235
|
+
When used in Unicode context, |ASN.1| type assumes
|
3236
|
+
"|encoding|" serialisation.
|
3237
|
+
|
3238
|
+
Keyword Args
|
3239
|
+
------------
|
3240
|
+
value: :class:`unicode`, :class:`str`, :class:`bytes` or |ASN.1| object
|
3241
|
+
:class:`bytes`, alternatively :class:`str`
|
3242
|
+
representing character string to be serialised into octets (note
|
3243
|
+
`encoding` parameter) or |ASN.1| object.
|
3244
|
+
If `value` is not given, schema object will be created.
|
3245
|
+
|
3246
|
+
tagSet: :py:class:`~pyasn1.type.tag.TagSet`
|
3247
|
+
Object representing non-default ASN.1 tag(s)
|
3248
|
+
|
3249
|
+
subtypeSpec: :py:class:`~pyasn1.type.constraint.ConstraintsIntersection`
|
3250
|
+
Object representing non-default ASN.1 subtype constraint(s). Constraints
|
3251
|
+
verification for |ASN.1| type occurs automatically on object
|
3252
|
+
instantiation.
|
3253
|
+
|
3254
|
+
encoding: :py:class:`str`
|
3255
|
+
Unicode codec ID to encode/decode
|
3256
|
+
:class:`str` the payload when |ASN.1| object is used
|
3257
|
+
in text string context.
|
3258
|
+
|
3259
|
+
binValue: :py:class:`str`
|
3260
|
+
Binary string initializer to use instead of the *value*.
|
3261
|
+
Example: '10110011'.
|
3262
|
+
|
3263
|
+
hexValue: :py:class:`str`
|
3264
|
+
Hexadecimal string initializer to use instead of the *value*.
|
3265
|
+
Example: 'DEADBEEF'.
|
3266
|
+
|
3267
|
+
Raises
|
3268
|
+
------
|
3269
|
+
~pyasn1.error.ValueConstraintError, ~pyasn1.error.PyAsn1Error
|
3270
|
+
On constraint violation or bad initializer.
|
3271
|
+
|
3272
|
+
Examples
|
3273
|
+
--------
|
3274
|
+
.. code-block:: python
|
3275
|
+
|
3276
|
+
class Error(Sequence):
|
3277
|
+
'''
|
3278
|
+
ASN.1 specification:
|
3279
|
+
|
3280
|
+
Error ::= SEQUENCE {
|
3281
|
+
code INTEGER,
|
3282
|
+
parameter ANY DEFINED BY code -- Either INTEGER or REAL
|
3283
|
+
}
|
3284
|
+
'''
|
3285
|
+
componentType=NamedTypes(
|
3286
|
+
NamedType('code', Integer()),
|
3287
|
+
NamedType('parameter', Any(),
|
3288
|
+
openType=OpenType('code', {1: Integer(),
|
3289
|
+
2: Real()}))
|
3290
|
+
)
|
3291
|
+
|
3292
|
+
error = Error()
|
3293
|
+
error['code'] = 1
|
3294
|
+
error['parameter'] = Integer(1234)
|
3295
|
+
"""
|
3296
|
+
#: Set (on class, not on instance) or return a
|
3297
|
+
#: :py:class:`~pyasn1.type.tag.TagSet` object representing ASN.1 tag(s)
|
3298
|
+
#: associated with |ASN.1| type.
|
3299
|
+
tagSet = tag.TagSet() # untagged
|
3300
|
+
|
3301
|
+
#: Set (on class, not on instance) or return a
|
3302
|
+
#: :py:class:`~pyasn1.type.constraint.ConstraintsIntersection` object
|
3303
|
+
#: imposing constraints on |ASN.1| type initialization values.
|
3304
|
+
subtypeSpec = constraint.ConstraintsIntersection()
|
3305
|
+
|
3306
|
+
# Disambiguation ASN.1 types identification
|
3307
|
+
typeId = OctetString.getTypeId()
|
3308
|
+
|
3309
|
+
@property
|
3310
|
+
def tagMap(self):
|
3311
|
+
""""Return a :class:`~pyasn1.type.tagmap.TagMap` object mapping
|
3312
|
+
ASN.1 tags to ASN.1 objects contained within callee.
|
3313
|
+
"""
|
3314
|
+
try:
|
3315
|
+
return self._tagMap
|
3316
|
+
|
3317
|
+
except AttributeError:
|
3318
|
+
self._tagMap = tagmap.TagMap(
|
3319
|
+
{self.tagSet: self},
|
3320
|
+
{eoo.endOfOctets.tagSet: eoo.endOfOctets},
|
3321
|
+
self
|
3322
|
+
)
|
3323
|
+
|
3324
|
+
return self._tagMap
|
3325
|
+
|
3326
|
+
# XXX
|
3327
|
+
# coercion rules?
|